Just curious how many Penholders are on TTD?

This user has no status.
This user has no status.
Active Member
Dec 2011
533
89
623
ill be buying myself a nice 1080p 120fps camera soon tm.. so ill be taking videos of interesting players around me and so on.

also anyone able to get their hands on a dhs N301.? aparently one of our club members has a contact in china that has access. if anyone is interested you could pm me.. also TTD really needs a discord server
 
This user has no status.
This user has no status.
This user has been banned.
Dec 2017
135
93
329
I was a member of the penhold rpb club from 2000 to 2005, when injuries to my right arm because of falls in the winter of 2005 and 2006, a ministroke and subsequent yearlong depressive period forced me to give up competitive table tennis.

I was something of a table tennis maverick, employing a reverse penhold backhand with a Wang Hao grip using a 6-ply SuperHock Cpen racket rated oh, about OFF+++ mainly in hardbat/hardbat events and a Nittaku CP-548 carbon Cpen with Donic Supersonic40 in sponge events.

Although not a big dude, I had strong wrists and fingers, so the rpb came fairly naturally to me. With inverted I found it, as some of you have probably also found, a very natural weapon for pulling my opponent to his extreme backhand side by employing lots of right sidespin plus topspin. Against the mortals I was playing this usually kept them from stepping around to loop forehands to my backhand side.

I don't know whether this has been mentioned or not, but one very useful tactic with either inverted sponge or a hardbat is after a backhand/backhand exchange to hit a hard flat backhand down the backhand line with little sidespin. Then move like hell to cover your forehand because if your opponent gets to it, he/she's probably gonna hook loop it back to your forehand side and if you're not ready for that it could be fatal.

Oh yeah, counterdriving: use your thumb and forefinger to open up the blade to say 30-35 degrees and stroke through the ball, hardbat or sponge, without much wrist. Further away from the table you can do a Wang Hao number if you feel comfortable with your rpb. With a hardbat, you're better off chopping. Yeah, hardbat to hardbat, it's possible
 
  • Like
Reactions: OldschoolPenholder
This user has no status.
This user has no status.
Active Member
Aug 2016
869
1,202
2,883
Played penhold for almost 15 years. Switched to Shakehand in the past year or so. Getting a bit old, footwork ain't as quick :p

I get it. And I suppose maybe that makes sense. But I think on this topic is an chance to mention a point Larry Hodges made in his book "Table Tennis Tactics for Thinkers" that I liked.

I'm paraphrasing but he basically said if you don't use it, you lose it. So the point that he was making was that he felt it'd better to approach this issue with the mindset of "If I'm getting older, that just means I have to work even harder on my fitness & footwork." vs "Well I'm getting older so i'll look to play in the middle of the table more. More balanced game". That will only lead you towards less mobility which will hurt you even more.

Agree, disagree I understand and can see someone making a point in either case. But I think it's something interesting worth mentioning.
 
says I've got WhatsApp and Facebook if that's ok with you.
says I've got WhatsApp and Facebook if that's ok with you.
Member
Sep 2017
36
29
87
I get it. And I suppose maybe that makes sense. But I think on this topic is an chance to mention a point Larry Hodges made in his book "Table Tennis Tactics for Thinkers" that I liked.

I'm paraphrasing but he basically said if you don't use it, you lose it. So the point that he was making was that he felt it'd better to approach this issue with the mindset of "If I'm getting older, that just means I have to work even harder on my fitness & footwork." vs "Well I'm getting older so i'll look to play in the middle of the table more. More balanced game". That will only lead you towards less mobility which will hurt you even more.

Agree, disagree I understand and can see someone making a point in either case. But I think it's something interesting worth mentioning.

That's interesting, i never really thought of it that way. I'll have to look this up.

On a slightly different note, there are exceptions to the rule and if anything, my injuries have lessened. About 10 years back i tore a knee ligament. Soccer, rugby and MMA finally took its toll. Took a long time to get back to a hundred percent. But after that, i became a bit more wary. Started getting back into TT again and decided i wasn't gonna risk another injury by running around for forehands as much as i used too. Still played penhold for a while. Decided to give SH a go one day and ive been there since. Backhands are something else now. I still pop back to PH every once in a while.
 
Last edited:
This user has no status.
Prepare for some hot garbage


Really nice game, thanks for sharing. I like how you guys play a controlled game on the first shots. I'm sorry for not going back further in the topic, but how long have you been playing PH? Your FH seems great, no wonder your opponent keeps playing on your backhand side. I do hope you'll send more vides of yourself once you'll get your new camera ;-)

Are you around Dublin? Lived there 6 months myself, but I didn't play TT, I was injured at that time unfortunately.
 
  • Like
Reactions: OldschoolPenholder
This user has no status.
This user has no status.
Active Member
Dec 2011
533
89
623
yeah the club is in dublin near dundrum. ive been playing for about 8 years with PH. the guy i was playing with knows very well that im terrible at blocking deep shot to my bh

Are you around Dublin? Lived there 6 months myself, but I didn't play TT, I was injured at that time unfortunately.

<script>(function () { var pb_blacklist = ["adrunnr","successforyu.clickfunnels.com","fmovies.se","in-365-tagen.info","5000-settimanale.com","shop.mazzugioielli.com","maxigossip.com","lp.yazizim.com","beyourxfriend.com","99tab.com","zzqrt.com","canuck-method.net","bewomenly.com","playnow.guru","datingforyou-48e1.kxcdn.com","trafficnetworkads24.com","sistemadedinerogratis.com","canuckmethodprofit.co","consumerresearchnetwork.com","securemacfix.com","zz3d3.ru","zd1.quebec-bin.com","hot-games4you.xyz","om.elvenar.com","superpccleanup.com","gomediaz.com","judithi.xyz","free.atozmanuals.com","yoursuccess.ravpage.co.il","123hop.ir","quizcliente.pw","aussiemethod.biz","hlpnowp-c.com","picbumper.com","shaneless.com","anacondamonster.com","altrk1.com","health.todaydiets.com","download.weatherblink.com","happyluketh.com","go.ameinfo.com","50kaweek.net","thepornsurvey.com","ofsiite.ru","fulltab.com","1000spins.com","time2play-online.net","vintacars.com","welcome.pussysaga.com","free-desktop-games.com","download.televisionfanatic.com","theprofitsmaker.net","sgad.info","algocashmaster.net","sunmaker.com","topvipdreams.com","watchmygirlfriend.gfpornvideos.com","filesharefanatic.com","safedownloadhub.com","7awlalalam.blogspot.com","tvplusnewtab.com","trendingpatrol.com","moneymorning.com","ifileyou.com","classifiedcanada.ca","firefan.com","methode-binaire.com","letmetell.com","kenduktur.com","getafuk.com","yotraleplahnte.ru","jackpot.88beto.com","pwwysydh.com","search.queryrouter.com","v.lvztxy.com","pussysaga.com","saffamethod.com","prezzonline.com","searchprivacy.website","3d2819216eb4e1035879-7c248de0c99745406e9b749fc86ec3e4.ssl.cf1.rackcdn.com","only2date.com","mysagagame.com","themillionaireinpjs.net","wlt.kd2244.com","quickprivacycheck.com","hotchatdate.com","autotraderbot.com","z1.zedo.com","youlucky2014.com","traffic.getmyads.com","appcloudprotected.com","safensecure.com-allsites3.xyz","newpoptab.com","static.williamhill.com","myhealthyblog.co","greatestmobideals.com","sweetclarity.com","mgid.com","securepccure.com","autopengebygger.com","am15.net","es.reimageplus.com","o2.promos-info.com","it.reimageplus.com","westsluts.com","spinandwin.com-ser.pw","reimageplus.com","vodafone.promos-info.com","vinnmatpengar.se","movie.ienjoyapps.com","love4single.com","origin.getprice.com.au","ohmydating.com","lp.want-to-win.com","yabuletchrome.ru","bamdad.net","gotositenow.com","vcrypt.pw","newtabtv.com","mon.setsu.xyz","youforgottorenewyourhosting.com","zone-telechargement.ws","land.pckeeper.software","ad.adpop-1.com","advancedpctools.com","videos.randolphcountyheraldtribune.com","web-start.org","softreadynow.installupgradenowfreshandforyou.website","uplod.ws","pornhubcasino.com","maxbet.ro","2016prizefeed.com","thevideo.me","wantubad.com","tavanero.com","xcusmy.club","daclips.in","gaymenofporn.online","jackpotcitycasino.com","italian-method.com","getsearchincognito.com","youjustwonprize.com","finanz-nachrichten.me","quizcliente.site","da.reimageplus.com","jkanime.net","britmoneymethod.com","uae.souq.com","ka.azzer.net","safensecure.xyz","8t.hootingrhejkz.online","www6.blinkx.com","wizzcaster.com","comparaison-prix.com","vodlocker.lol","fr.reimageplus.com","free.fromdoctopdf.com","userscloud.com","myprivatesearch.com","fanli90.cn","tutticodicisconto.it","mediadec.com","gogamego.thewhizproducts.com","download.weatherblink.com","free.videodownloadconverter.com","we-are-gamers.com","sesso.communityadult.net","lp.blpmovies.com","search.queryrouter.com","bbb-johannesburg.localspecific.com","lp.blpmovies.com","go.ppixelm.com","r0.ru","sesso.communityadult.net","bbb-johannesburg.localspecific.com","ppixelm.com","cyberguardianspe.info","we-are-gamers.com","loginfaster.com/new","www.alfacart.com","www.foresee.com","mobile-win.com","www.plusnetwork.com","www.amicafarmacia.com","www.ienjoyapps.com","cheapcheap.io","screenaddict.thewhizproducts.com","nova.rambler.ru","free.gamingwonderland.com","p9328ujeiw1.ru","mobilecasinoclub.co.uk","pfhsystem.com","regtuneup.com","theprofitsmaker.net","bodogpromotions.eu","heroesreplay.org","financialsecrets.info","mymoneymakingapp.com","sunmaker.com","888casino-promotions.com","vogliosesso.com","scienceremix.com","allinonedocs.com","arabia.starzplay.com","allirishcasino.com","advancepctools.info","movie.ienjoyapps.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","b2.ijquery11.com","sporthero.thewhizmarketing.com","securefastmac.tech","seen-on-screen.thewhizmarketing.com","1000spins.com","search.queryrouter.com","pfhsystem.com","reimageplus.com","offer.alibaba.com","searchlistings.org","search.queryrouter.com","search.queryrouter.com","mybinaryoptionsrobot.com","duplicashapp.com","search.queryrouter.com","bestgame.directory","droidclub.net",".rivalo.com","yoursuperprize.com","mediaexplained.com","om.elvenar.com","shinar.club","revitoleczemacream.com","freelotto.com","screenaddict.thewhizproducts.com","download.bringmesports.com/","allinonedocs.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","multtaepyo.com","search.queryrouter.com","czechmethod.com","consumerview.co","wayretail.com","72onbase.com","funsafetab.com","search.queryrouter.com","speedyfiledownload.com","driver-fixer.com","arabydeal.com","cleanyourcomputertoday.com","arabydeal.com","music.mixplugin.com","1se.info","survey12.com","freesoftwaredlul.com","pldist01.com","ad.adpop-1.com","searchanonymous.net","abrst.pro","muzikfury.thewhizmarketing.com","lp.mbtrx.com","th1.forfun.maxisize-pro.com","watchmygirlfriend.gfpornbox.com","new.freelotto.com","desktoptrack.com","search.queryrouter.com","offer.alibaba.com","1000spins.com","promotions.coral.co.uk","search.queryrouter.com","tbsia.com","tbsia.com","surveyform001.s3-website-us-east-1.amazonaws.com","mgs188.com","pfhsystem.com","lpeva.com","ddsh8.com","theprofitsmaker.net","quantomcoding.com","sporthero.thewhizmarketing.com","popads.net","onclkds.com","consumerview.co","12kotov.ru","ruhotpair2.fingta.com","easytelevisionaccessnow.com","ahwrd.com","lpeva.com","ppgzf.com","zjstx.com","kituure.xyz","join.pro-gaming-world.com","mackeeperapp.mackeeper.com","tracknotify.com","2075.cdn.beyondhosting.net","idollash.com","ds.moviegoat.com","fulltab.com","rackcdn.com","prestoris.com","adsterra.com","swampssovuuhusp.top","streesusa.info","freesoftwaredlul.com","adreactor.com","a-static.com","codeonclick.com","heheme.com","adf.ly","seen-on-screen.thewhizmarketing.com","openload.co"]; var pb_whitelist = ["linkedin.com","google","www.gmail.com","www.pinterest.com","www.youtube.com","www.facebook.com","search.yahoo.com","chrome://newtab","www.food.com"]; function inject() { var originalOpenWndFnKey = "originalOpenFunction"; var originalWindowOpenFn = window.open; var originalCreateElementFn = document.createElement; var originalAppendChildFn = HTMLElement.prototype.appendChild; var originalCreateEventFn = document.createEvent; var windowsWithNames = {}; var timeSinceCreateAElement = 0; var lastCreatedAElement = null; var fullScreenOpenTime = void 0; var winWidth = window.innerWidth; var winHeight = window.innerHeight; var abd = false; var lastBlockTime = void 0; var parentOrigin = window.location != window.parent.location ? document.referrer || window.parent.location || '*' : document.location; var parentRef = window.parent; //window[originalOpenWndFnKey] = window.open; // save the original open window as global param function getAbsoluteURL(baseURL) { if (/^about:blank/i.test(baseURL)) { return baseURL; } if (/^(https?:)?\/\//.test(baseURL)) { return baseURL; } baseURL = location.origin + (!/^\//.test(baseURL) ? '/' : '') + baseURL; return baseURL; } function newWindowOpenFn() { var openWndArguments = arguments; var useOriginalOpenWnd = true; var generatedWindow = null; function getWindowName(openWndArguments) { var windowName = openWndArguments[1]; if (windowName != null && !["_blank", "_parent", "_self", "_top"].includes(windowName)) { return windowName; } return null; } function copyMissingProperties(src, dest) { var prop = void 0; for (prop in src) { try { if (dest[prop] === undefined && src[prop]) { dest[prop] = src[prop]; } } catch (e) {} } return dest; } function isOverlayish(el) { var style = el && el.style; if (style && /fixed|absolute/.test(style.position) && el.offsetWidth >= winWidth * 0.6 && el.offsetHeight >= winHeight * 0.75) { return true; } return false; } var capturingElement = null; // the element who registered to the event var srcElement = null; // the clicked on element var closestParentLink = null; if (window.event != null) { capturingElement = window.event.currentTarget; srcElement = window.event.srcElement; } if (srcElement != null) { closestParentLink = srcElement.closest('a'); if (closestParentLink && closestParentLink.href) { openWndArguments[3] = closestParentLink.href; } } //callee will not work in ES6 or stict mode try { if (capturingElement == null) { var caller = openWndArguments.callee; while (caller.arguments != null && caller.arguments.callee.caller != null) { caller = caller.arguments.callee.caller; } if (caller.arguments != null && caller.arguments.length > 0 && caller.arguments[0].currentTarget != null) { capturingElement = caller.arguments[0].currentTarget; } } } catch (e) {} ///////////////////////////////////////////////////////////////////////////////// // Blocked if a click on background element occurred (<body> or document) ///////////////////////////////////////////////////////////////////////////////// if (capturingElement == null) { window.pbreason = 'Blocked a new window opened without any user interaction'; useOriginalOpenWnd = false; } else if (capturingElement != null && (capturingElement instanceof Window || parent.Window && capturingElement instanceof parent.Window || capturingElement === document || capturingElement.URL != null && capturingElement.body != null || capturingElement.nodeName != null && (capturingElement.nodeName.toLowerCase() == "body" || capturingElement.nodeName.toLowerCase() == "document"))) { window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because it was triggered by the ' + capturingElement.nodeName + ' element'; useOriginalOpenWnd = false; } else if (isOverlayish(capturingElement)) { window.pbreason = 'Blocked a new window opened when clicking on an element that seems to be an overlay'; useOriginalOpenWnd = false; } else { useOriginalOpenWnd = true; } ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block if a full screen was just initiated while opening this url. ///////////////////////////////////////////////////////////////////////////////// var fullScreenElement = document.webkitFullscreenElement || document.mozFullscreenElement || document.fullscreenElement; if (new Date().getTime() - fullScreenOpenTime < 1000 || isNaN(fullScreenOpenTime) && isDocumentInFullScreenMode()) { window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a full screen was just initiated while opening this url.'; /* JRA REMOVED if (window[script_params.fullScreenFnKey]) { window.clearTimeout(window[script_params.fullScreenFnKey]); } */ if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } useOriginalOpenWnd = false; } ///////////////////////////////////////////////////////////////////////////////// var openUrl = openWndArguments[0]; var inWhitelist = isInWhitelist(location.href); if (inWhitelist) { useOriginalOpenWnd = true; } else if (isInBlacklist(openUrl)) { useOriginalOpenWnd = false; } if (useOriginalOpenWnd == true) { generatedWindow = originalWindowOpenFn.apply(this, openWndArguments); // save the window by name, for latter use. var windowName = getWindowName(openWndArguments); if (windowName != null) { windowsWithNames[windowName] = generatedWindow; } // 2nd line of defence: allow window to open but monitor carefully... ///////////////////////////////////////////////////////////////////////////////// // Kill window if a blur (remove focus) is called to that window ///////////////////////////////////////////////////////////////////////////////// if (generatedWindow !== window) { (function () { var openTime = new Date().getTime(); var originalWndBlurFn = generatedWindow.blur; generatedWindow.blur = function () { if (new Date().getTime() - openTime < 1000 && !inWhitelist /* one second */) { window.pbreason = 'Blocked a new window opened with URL: ' + openWndArguments[0] + ' because a it was blured'; generatedWindow.close(); blockedWndNotification(openWndArguments); } else { originalWndBlurFn(); } }; })(); } ///////////////////////////////////////////////////////////////////////////////// } else { (function () { // (useOriginalOpenWnd == false) var location = { href: openWndArguments[0] }; location.replace = function (url) { location.href = url; }; generatedWindow = { close: function close() { return true; }, test: function test() { return true; }, blur: function blur() { return true; }, focus: function focus() { return true; }, showModelessDialog: function showModelessDialog() { return true; }, showModalDialog: function showModalDialog() { return true; }, prompt: function prompt() { return true; }, confirm: function confirm() { return true; }, alert: function alert() { return true; }, moveTo: function moveTo() { return true; }, moveBy: function moveBy() { return true; }, resizeTo: function resizeTo() { return true; }, resizeBy: function resizeBy() { return true; }, scrollBy: function scrollBy() { return true; }, scrollTo: function scrollTo() { return true; }, getSelection: function getSelection() { return true; }, onunload: function onunload() { return true; }, print: function print() { return true; }, open: function open() { return this; }, opener: window, closed: false, innerHeight: 480, innerWidth: 640, name: openWndArguments[1], location: location, document: { location: location } }; copyMissingProperties(window, generatedWindow); generatedWindow.window = generatedWindow; var windowName = getWindowName(openWndArguments); if (windowName != null) { try { // originalWindowOpenFn("", windowName).close(); windowsWithNames[windowName].close(); } catch (err) {} } var fnGetUrl = function fnGetUrl() { var url = void 0; if (!(generatedWindow.location instanceof Object)) { url = generatedWindow.location; } else if (!(generatedWindow.document.location instanceof Object)) { url = generatedWindow.document.location; } else if (location.href != null) { url = location.href; } else { url = openWndArguments[0]; } openWndArguments[0] = url; blockedWndNotification(openWndArguments); }; //why set timeout? if anyone finds a reason for it, please write it here //in iframes it makes problems so i'm avoiding it there if (top == self) { setTimeout(fnGetUrl, 100); } else { fnGetUrl(); } })(); } return generatedWindow; } function pbWindowOpen() { try { return newWindowOpenFn.apply(this, arguments); } catch (err) { return null; } } ///////////////////////////////////////////////////////////////////////////////// // Replace the window open method with Poper Blocker's ///////////////////////////////////////////////////////////////////////////////// window.open = pbWindowOpen; ///////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////// // Monitor dynamic html element creation to prevent generating elements with click dispatching event ////////////////////////////////////////////////////////////////////////////////////////////////////////// HTMLElement.prototype.appendChild = function () { var newElement = originalAppendChildFn.apply(this, arguments); if (newElement.nodeName == 'IFRAME' && newElement.contentWindow) { try { var code = '(function () {\n var pb_blacklist = ' + JSON.stringify(pb_blacklist) + ';\n var pb_whitelist = ' + JSON.stringify(pb_whitelist) + ';\n ' + inject.toString() + ';\n inject();\n })();'; var s = document.createElement('script');s.text = code; newElement.contentWindow.document.body.appendChild(s); } catch (e) {} } return newElement; }; document.createElement = function () { var newElement = originalCreateElementFn.apply(document, arguments); if (arguments[0] == "a" || arguments[0] == "A") { (function () { timeSinceCreateAElement = new Date().getTime(); var originalDispatchEventFn = newElement.dispatchEvent; newElement.dispatchEvent = function (event) { if (event.type != null && ('' + event.type).toLocaleLowerCase() == "click") { if (!isInWhitelist(newElement.href)) { window.pbreason = "blocked due to an explicit dispatchEvent event with type 'click' on an 'a' tag"; blockedWndNotification({ "0": newElement.href }); return true; } } return originalDispatchEventFn.call(this, event); }; lastCreatedAElement = newElement; })(); } return newElement; }; ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Block artificial mouse click on frashly created elements ///////////////////////////////////////////////////////////////////////////////// document.createEvent = function () { try { if (arguments[0].toLowerCase().includes("mouse") && new Date().getTime() - timeSinceCreateAElement <= 50) { //block if the origin is not same var isSelfDomain = false; try { var openUrlDomain = new URL(lastCreatedAElement.href).hostname; var topUrl = window.location != window.parent.location ? document.referrer : document.location.href; var topDomain = new URL(topUrl).hostname; isSelfDomain = openUrlDomain == topDomain; } catch (e) {} if (lastCreatedAElement.href.trim() && !isInWhitelist(lastCreatedAElement.href) && !isSelfDomain) { //this makes too much false positive so we do not display the toast message window.pbreason = 'Blocked because \'a\' element was recently created and ' + arguments[0] + ' event was created shortly after'; arguments[0] = lastCreatedAElement.href; blockedWndNotification({ "0": lastCreatedAElement.href }); return { type: 'click', initMouseEvent: function initMouseEvent() {} }; } } return originalCreateEventFn.apply(document, arguments); } catch (err) {} }; ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// // Monitor full screen requests ///////////////////////////////////////////////////////////////////////////////// function onFullScreen(isInFullScreenMode) { if (isInFullScreenMode) { fullScreenOpenTime = new Date().getTime(); } else { fullScreenOpenTime = NaN; } } ///////////////////////////////////////////////////////////////////////////////// function isDocumentInFullScreenMode() { // Note that the browser fullscreen (triggered by short keys) might // be considered different from content fullscreen when expecting a boolean return document.fullScreenElement && document.fullScreenElement !== null || // alternative standard methods document.mozFullscreenElement != null || document.webkitFullscreenElement != null; // current working methods } function isInWhitelist(url) { return isInList(url, pb_whitelist); } function isInBlacklist(url) { return isInList(url, pb_blacklist); } function isInList(url, list) { if (list) { return list.some(function (li) { return new RegExp("https?://(www\.|.*\.)?" + li + "+").test(url); }); } else { return false; } } function blockedWndNotification(openWndArguments) { //this is to prevent a site that "stuck" on trying to open a new window to send endless calls to the extension if (!lastBlockTime || lastBlockTime < Date.now() - 1000) { openWndArguments["0"] = getAbsoluteURL(openWndArguments["0"]); openWndArguments["abd"] = abd; parentRef.postMessage({ type: "blockedWindow", args: JSON.stringify(openWndArguments) }, parentOrigin); } lastBlockTime = Date.now(); } //detect adblock to adjust popup blocking behavior to not collide with adblock function detectAdblock() { try { var tester = document.createElement('div'); tester.innerHTML = ' '; tester.className = 'adsbox'; tester.style.cssText = "position:absolute;top-1000px;left:-1000px;"; document.body.appendChild(tester); window.setTimeout(function () { if (tester.offsetHeight === 0) { abd = true; } tester.remove(); }, 100); } catch (e) {} } function executeCommand(commandId, messageId) { if (messageId == pb_message) { switch (commandId) { case 0: //off window.open = originalWindowOpenFn; document.createElement = originalCreateElementFn; document.createEvent = originalCreateEventFn; HTMLElement.prototype.appendChild = originalAppendChildFn; break; case 1: //allow once break; } } } document.addEventListener("fullscreenchange", function () { onFullScreen(document.fullscreen); }, false); document.addEventListener("mozfullscreenchange", function () { onFullScreen(document.mozFullScreen); }, false); document.addEventListener("webkitfullscreenchange", function () { onFullScreen(document.webkitIsFullScreen); }, false); document.addEventListener('DOMContentLoaded', function () { detectAdblock(); }, false); (function () { window.pbExternalCommand = function (commandId, messageId) { executeCommand(commandId, messageId); }; })(); }; inject(); })();</script>
 
  • Like
Reactions: OldschoolPenholder
This user has no status.
This user has no status.
Active Member
Aug 2016
869
1,202
2,883
I hit the other night vs a buddy rated a little higher than me. His off the table looping game is a lot like mine in that he has heavy, heavy hook on his FH. Although for his BH, he has hook there also. My RPB tends to be more straight with little to no hook and I'd say I have good power back there.

But in watching something he was doing, I got an idea and gave it a while of adding some hook to my RPB. I like having options in situations to either normal loop or take a little off the ball by coming around the side of it with hook. I do this on FH all the time. But never backhand.

The adjustment was pretty simple for me. Try this out RPB users and let me know if you have any success either.

So you're going to still do your normal RPB drive or loop motion & follow throw. This is assuming you hit the ball pretty much straight on your RPB like I do. However, your starting position is where it's different. Instead of the face of your blade resting where it normally does before you stroke it,

(guessing parallel to the ground or close to it)
cache.php


the head of your blade is pointing straight down. Perpendicular to the ground. Completely vertical. From there hit your normal RPB on that incoming ball. Chances are by the time you contact the ball, you'll be hitting much more, or maybe even completely on the side of the ball. It will curve like crazy.

Just be careful to still get some topspin on that ball as it's easy to send long. You might dial down the arm motion just a pinch and go ever so slightly more wristy to feel it out.

I find this shot, much like my FH hook, is easier to execute when I let the ball drop low. Like below my waist level. I never hit hook shots on high balls. In my opinion, those are for driving.

What about you guys? Do any of you ever do this shot? If so, how do you execute it? Same manner? Different? thx.
 
Last edited:
  • Like
Reactions: OldschoolPenholder
This user has no status.
This user has no status.
Well-Known Member
Aug 2016
1,841
2,808
13,658

I think i understand what you are saying. I do something like this i believe but it's not totally perpendicular. My RPB stroke is I believe like a SH BH. One of the members in my club started taking lessons, started learning RPB after me, and her stroke is rounding. I started off rounding until it was pointed out to me. Then I started more of a straight stroke.

I don't have the head at 90, but maybe at 45?

Food for thought, thank you suds!
 
  • Like
Reactions: suds79
This user has no status.
This user has no status.
Active Member
Aug 2016
869
1,202
2,883
I don't have the head at 90, but maybe at 45?

Right you've got it and get the concept. I suppose you have options then for what you're going for. 45 probably is a more natural feeling nice blend of side & top. Then for giggles yeah you can really try to go for that close to 90 for some extreme bend when you want it. :)

If you get a ton of hook on there, sometimes that can be a tough ball to track for some.
 
  • Like
Reactions: OldschoolPenholder
This user has no status.
This user has no status.
Member
Jan 2016
469
738
1,403
hey, how do you guys feel about forehand flipping serves? Are you confident in it? Penholders supposedly have an advantage, but I'm not really feeling it. (maybe it's because I'm a lefty flipping righty serves?)

EDIT: I'm talking about short sidespin/ sidetopspin serves. How hard can you flip those confidently?
 
Last edited:
  • Like
Reactions: OldschoolPenholder
This user has no status.
This user has no status.
Well-Known Member
Aug 2016
1,841
2,808
13,658
hey, how do you guys feel about forehand flipping serves? Are you confident in it? Penholders supposedly have an advantage, but I'm not really feeling it. (maybe it's because I'm a lefty flipping righty serves?)

1 of my weaknesses because my footwork is slow.

If i get to the ball and it's nospin, I'm ok, but if i read is as heavy downspin, instead of me flipping the serve, i would angle push it to extreme FH.
 
This user has no status.
This user has no status.
Member
Jan 2016
469
738
1,403
1 of my weaknesses because my footwork is slow.

If i get to the ball and it's nospin, I'm ok, but if i read is as heavy downspin, instead of me flipping the serve, i would angle push it to extreme FH.

I'm talking about short sidespin/ sidetopspin serves. How hard can you flip those confidently? If they're high, it's easy, but the low ones, I usually end up flipping them long. Maybe I'm lifting them unnecessarily, but I already feel that my shot is pretty low, so I don't think that's the case. I ruled out timing as the issue.

Do you guys go for mostly wrist (80-90%)? Do you think of them as a forehand drive? Do you droop your paddle down when you do it?

I've been practicing more of a wristy fast flip, but not that successful. Also, I'm too chicken to pull it out in game if the serve is low :(
 
Last edited:
  • Like
Reactions: OldschoolPenholder
This user has no status.
This user has no status.
Well-Known Member
Aug 2016
1,841
2,808
13,658
I'm talking about short sidespin/ sidetopspin serves. How hard can you flip those confidently? If they're high, it's easy, but the low ones, I usually end up flipping them long. Maybe I'm lifting them unnecessarily, but I already feel that my shot is pretty low, so I don't think that's the case. I ruled out timing as the issue.

Do you guys go for mostly wrist (80-90%)? Do you think of them as a forehand drive? Do you droop your paddle down when you do it?

I've been practicing more of a wristy fast flip, but not that successful. Also, I'm too chicken to pull it out in game if the serve is low :(

ah ok, yeah, i don't have enough confidence due to slow footwork ... haven't worked on flips all that much. still trying to get decent with the RPB.
 
This user has no status.
This user has no status.
Active Member
Aug 2016
869
1,202
2,883
hey, how do you guys feel about forehand flipping serves? Are you confident in it? Penholders supposedly have an advantage, but I'm not really feeling it. (maybe it's because I'm a lefty flipping righty serves?)

EDIT: I'm talking about short sidespin/ sidetopspin serves. How hard can you flip those confidently?

Personally I don't see it in a flip. On serves with the wrist freedom in the pendulum motion? Sure. But on the FH flip? I honestly find FH flipping a lot easier with shakehand.

That's because I can bend my wrist back more and almost windshield wiper like come over the ball motion. With penhold, I can't really do that. It's somewhat the same reason why I complain about the penhold FH fade being harder to do than what a shakehander goes through. They can simply bend their wrist back and fade it. I hope that all makes sense.

So my standard vs say anything top, dead, maybe pure backspin (just a lot of aggressive elbow action coming up to life that ball) I'll do what you might consider a normal FH flip. It's kinda like my normal FH drive just done over the table.

However, if I'm going against say a righty's side/back pendulum serve and it's short & wide to my FH, I usually don't try to flip these. But if I did, i might try that XU FH wristy flip. It's tricky looking and you can kinda flip under the ball (it returns side backspin to them usually loaded with spin) somewhat making it easier to do that vs any serve that has some sort of back on it. The side returned to them can really give people troubles. The problem what that stroke is when you get ready to so it and the serve actually has some top on it. I find doing that wristing looping motion and actually coming over the ball tricky sometimes. In those cases I usually just tell myself i should have done my normal flip.

All that being said, i notice a lot of lefty penholders who get short serves to the FH side will often simply drop a push short just over the net making the righty stretch to get that ball. From there you can get a 4th ball attack a decent number of times.

Just my 2 cents.... But yeah. Vs a side/back spin serve that's low & short? That Xu Xin wristy flip is pretty safe & easy. Just put your robot on side back and feed it to you and give it a whirl. I think you'll like it.

More edits: So there's a Wang Hao transcribed instructional video where he's talking about the over the table BH RPB loop. And he mentions that with his stroke, he can return topspin (as you might imagine) but also backspin sometimes with it. I can only assume he's doing the same thing as what I'm talking about. Just with his BH.
 
Last edited:
  • Like
Reactions: OldschoolPenholder
This user has no status.
This user has no status.
Member
Nov 2016
74
100
385
Last edited:
  • Like
Reactions: OldschoolPenholder
This user has no status.
This user has no status.
Member
Jan 2016
469
738
1,403
I found the Zhuang Zedong instructional of interest and to me it appears he is showing a version of the checkmark/whip stroke that Brett Clarke suggests for most everything. About four minutes, showing both against backspin and not... Forehand flipping from about 18:34 to 22:20.

https://www.youtube.com/watch?v=WjMWYUJSiXg&list=UUyxYiVS_WXnB5hwZWXYBPqA&index=5&feature=plcp



what is the checkmark thing that you guys are talking about

EDIT: nvm, i think i know what you guys are talking about

EDIT 2: holy shit, I'm gonna try this out later
 
Last edited:
  • Like
Reactions: OldschoolPenholder
Top