to your HTML Add class="sortable" to any table you'd like to make sortable Click on the headers to sort Thanks to many, many people for contributions and suggestions. Licenced as X11: http://www.kryogenix.org/code/browser/licence.html This basically means: do what you want with it. */ var stIsIE = /*@cc_on!@*/false; sorttable = { init: function() { // quit if this function has already been called if (arguments.callee.done) return; // flag this function so we don't do the same thing twice arguments.callee.done = true; // kill the timer if (_timer) clearInterval(_timer); if (!document.createElement || !document.getElementsByTagName) return; sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/; forEach(document.getElementsByTagName('table'), function(table) { if (table.className.search(/\bsortable\b/) != -1) { sorttable.makeSortable(table); } }); }, makeSortable: function(table) { if (table.getElementsByTagName('thead').length == 0) { // table doesn't have a tHead. Since it should have, create one and // put the first table row in it. the = document.createElement('thead'); the.appendChild(table.rows[0]); table.insertBefore(the,table.firstChild); } // Safari doesn't support table.tHead, sigh if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0]; if (table.tHead.rows.length != 1) return; // can't cope with two header rows // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as // "total" rows, for example). This is B&R, since what you're supposed // to do is put them in a tfoot. So, if there are sortbottom rows, // for backwards compatibility, move them to tfoot (creating it if needed). sortbottomrows = []; for (var i=0; i
Tennis players looking to improve their game have a challenge. It's not always possible to find someone you can play or practice with when you have the time to go to the court.
Traditionally, this problem has been solved with the tennis ball machine. These tend to be pretty big machines that hold lots of tennis balls that are gravity fed one at a time into a tube. When the ball gets to a certain point in the tube, it encounters a set of fast-spinning rollers that accelerate and fire it out over the net where the practicing player can then return it. Fancy machines can alter the direction and the timing between ball launches.
Amazon features a number of portable tennis ball machines, the price of most of which starts around $1,000 and gets higher from there for all but the smallest and least capable machines. Given their bulky size and their cost, many players who use tennis ball machines will rent them.
But what if it you could shrink the size of a tennis ball machine enough that it could fit into a backpack? Or more ingeniously, is a backpack. One with a clever enough design that can hold as many as 100 tennis balls and your rackets? That could become an affordable option for a casual tennis player or a very useful kit for an enthusiastic player.
Hong Kong-based Nisplay Sports has done just that with their Y1 model, for which they've launched a Kickstarter campaign. The following video features tennis coach Henry So unboxing the Nisplay Y1 and demonstrating it. We've queued the video to start at the demonstration part:
As of 6 February 2026, the campaign has less than 30 days left to go, but has already well surpassed its goal. The campaign's Super Early Bird special is still available for HK $4,282, which is about US $549.
Labels: technology
Welcome to the blogosphere's toolchest! Here, unlike other blogs dedicated to analyzing current events, we create easy-to-use, simple tools to do the math related to them so you can get in on the action too! If you would like to learn more about these tools, or if you would like to contribute ideas to develop for this blog, please e-mail us at:
ironman at politicalcalculations
Thanks in advance!
Closing values for previous trading day.
This site is primarily powered by:
The tools on this site are built using JavaScript. If you would like to learn more, one of the best free resources on the web is available at W3Schools.com.