Software quickly gets outdated and re-written all the time. Sometimes the whole product is shutdown. I was just curious about products/modules that you had coded that has stood the test of time!
There's an entire community of video game hackers (smwcentral.net) using a cross-assembler I wrote in 2001 named xkas. I added a few minor patches and by early 2004 I had released the final version, v06.
I never really intended for anyone to use it seriously. I made it for myself, but went ahead and posted it online anyway. It is a 1500-line single-file, nearly-commentless, nearly-spaceless abomination of code with no documentation, and an endless list of critical bugs that every user keeps encountering. They have elaborate workarounds for many of these bugs.
It became a negative feedback loop: "Why do we use xkas? Because everything else is written in xkas", and so now even more code was created and written in xkas. And so even though I've since written a proper assembler that's dozens of times nicer, no one can/will use it.
Lately, people have been writing their own versions (in addition to countless forks) that try to offer backward compatibility with all the crazy parsing errors and (mis)features of xkas, like left-to-right evaluation of math expressions, and the most convoluted macro evaluation system you've ever seen (one user proved it was Turing complete and wrote a Brainfuck parser in it.)
It's surreal. I feel terrible that so many people are stuck with this mess, but even I can't stop it anymore :/
> ...and by early 2004 I had released the finalversion, v06.
I wish more software had "final version", where possible [0] as opposed to endless churn and inevitable "is this project dead" question after a couple of weeks/months of inactivity. [1]
[0] Obviously some projects can't do this. E.g. there is no way youtube-dl would ever have a final version, etc..
"Newer versions have been released, however contain poor documentation, and removal of features that can be found in v0.06. Version 0.06 is still considered the best version available by most ROM hackers until the author addresses the shortcomings of subsequent versions."
I am the original author of LatexMk[1], a Perl script that runs Latex the correct number of times to ensure all cross-references and such were resolved. It can also run continuously with a previewer and several other goodies.
I wrote it around 1993 to scratch my own itch, adapting it from a little script called “Go” by David J. Musliner. At the time I was using a literate programming tool that generated Latex from C code. When I moved on from that job a couple of years later, I released a final version two, which documented that I was no longer planning to maintain it. Since then John Collins took up the cause and been doing a wonderful job from what I can tell from occasional ego searches through google and stackexchange.
Two amusing things: 1) It is the only piece of Perl code I have written, ever, and 2) I had reason to use Latex a few years later, and decided I really dislike the sheer complexity of it all. Despite that, it is surely the most enduring and widely used piece of code that I can claim credit to having a hand in.
/* TODO: get rid of this by adding fixed-point support to SampleFormat.
* For now, we allocate temporary float buffers to convert the fixed
* point samples into something we can feed to the WaveTrack. Allocating
* big blocks of data like this isn't a great idea, but it's temporary.
*/
I have the horrific horror (honour?) of knowing that a lot of my code is still live.
The oldest is the internal system for a record label written in 1997 and I still occasionally get emails asking how such and such works (and I have little idea, it was in PERL).
Through to code that processes video and audio snippets for most of the UK Football League premium content sites. Authored in 2000 (mostly VBScripts that slice, encode, and distribute media files and the metadata).
Parts of btinternet.com still appear to use my horrible CMS... written in 1999... though gladly it's now very few parts and I suspect these are just cached outputs rather than the CMS still being in production.
Most worryingly would be the UK Home Office, and most UK banks and some heavy manufacturing companies that I wrote project management reporting software for over a decade ago, and as they manage 20 year projects I believe that stuff has at least another decade in production. At least all of these systems are not internet connected (then again, they'll never be updated either).
My code isn't terrible clever or pretty, those requirements got dropped a long time ago. But I have learned to make code that is simple to read, easy to maintain and tweak, and that can sprintf debug with the best of them (debug tools of choice have come and gone in the time my code has been live).
I wrote a hacky bash script back in 2000 to manage HalfLife dedicated servers (start, stop, edit basic config stuff) for a friend. This script (I initially called "hl.sh") is later renamed into "hl-monster.sh", and finally to "hl-monster-extended.sh" with ~15000 LOC, supporting 120+ different Games and is running on ~2000 really big servers around the world. This script is the core of a big international company now. I joined this company 3 years ago and since then, we try to replace this script, but it is so deeply merged into all systems.
I wrote a data recovery POSIX compliant command line app in C in 2003 that runs under OS X, Windows, and linux. It's still selling well, and has been all these years. Over time it's generated millions in revenue as it's been used by several different competing apps, and I have only recompiled it about twice in the last 15 years, each time only making a (very) minor change. It went a good decade without a recompile and continued selling well and being widely used.
The reason I'm happy to say this publicly is because
a) it took years to write, full time. Data recovery is a hell of a lot more complex then I'd ever imagined.
b) data recovery is no longer possible on SSD's (if they have TRIM enabled, as they do in all major OS's) so it's a declining market. Anyone would be nuts to be trying to enter it at this point.
Cool stuff. You are the same person that built a OS X file access filtering app but didn't publish it, right? I think you were considering open sourcing it, any news on that?
I designed some of the electronics and wrote some firmware code for the Bell AH-1S Cobra in 1978 1979. The system is still flying as I see the external parts of the system in news clips. Does that count? Beat that!
Late 70's. I wrote the operating system for the Control Pak EM system sold as the Barber Colman Network Supervisor building automation system. Thousands of systems were installed and many are still in use. By cracky. Er, what was the question again?
In 1999, I created the r_waterripple variable in Quakeforge which has propagated to most subsequent Quake ports. The implementation may or may not vary, but all projects seem to have carried the variable name. I also contributed pk3 unpacking and resurrected the Solaris port, either of which may have code circulating.
Also between 1999 and 2001, I was involved in the LiViD project where I worked on a port to PowerPC. I don't recall any patches actually landing into LiViD because it turned out that the bug was in GCC itself, a bug I was told must have existed since the mid-eighties. I didn't directly write the GCC patch, but did debug the compiler error and worked with the GCC team on the fix. This directly resulted in a port of Xine to PowerPC. (LiViD and Xine are early projects for multimedia and DVD playback on Linux) Xine exists today, but it's unlikely any of my code is in it. While the GCC fix is not my code, the fix itself still endures and exists because of my interaction with the project.
It's a newer example, but code I wrote simply as a demo for the Cairo graphics project back in 2004 became integrated into Tuxpaint and is still used today for rasterizing SVG graphics into stamps.
When I left my former employer in 2014, they were still attempting to get their invoices off a FileMaker database and into Quicken or something of the sort. That particular database was in service when I started 10 years prior, running in FileMaker 3 on a Mac clone. It's been upgraded over the years, and was running in a Windows VM when I left - but it's likely still there.
The smaller the userbase, the more likely the code is to remain in service forever. The oldest code I've written is http://www3.amherst.edu/~scrutiny/about.php, which has gotten a facelift since I wrote it in 2004, but otherwise seems to have the same functionality and code backing it.
Pretty much everything professional is gone...hell, the only employer of mine that is still in business is Google. When I left them in 2014, about 3% of the code I'd written for them was still in production, and following the rule above, it's silly stuff that nobody ever sees, like https://www.google.com/search?q=deubogpiegpj&tbs=qdr:h (that's the no-results page when a tool is selected).
Holy Smokes! I Loved ToneLoc. I use to leave it running for days at a time hidden in my closet. I can still hear the clicks from the modem, as it cycled thru numbers hours after hours.
I stopped using it after realizing all the misconfigured PBX's in my area were usually car dealerships.
P.s. I just bought a modem not too long ago. I use it to read CallerID and try to determine if a call if friendly, or a robocall. It doesn't click tho. :( I miss the click.
I posit if you want to make sure your code survives you, write video game code.
Nevertheless, my own examples are all non-games. In the early nineties I wrote a program in Turbo Pascal to manage grades and print report cards, I heard one elementary school in my home town was using this until 2012.
On one of my first web programming jobs, I made a cold fusion-like template interpreter and ecommerce engine in C, that was about 1998. One completely online-based company that we launched with this software kept on running on it until it was sold two years ago.
In the early 2000s, my startup produced a web content management system that I wrote most of the code for, and sometimes I still get usage questions about it even today (to be honest, knowing that code is still used in production is not a good feeling).
Oh, I just remembered: around that time I wrote some microcontroller code that went into a certain brand of PA systems for TV studios, I'm pretty sure that's still in use...
My oldest personal project is a chat place where RPG players can meet up and roll dice, I think that launched around 2003 in some incarnation and though it's getting updates and extensions from time to time, the core code is almost unchanged: https://rolz.org
> I posit if you want to make sure your code survives you, write video game code.
I dunno, firmware seems like a pretty safe bet too. I wrote seek algorithm firmware for Quantum's Atlas series of SCSI disk drives in the late 1990s, I suspect there are still a few of those spinning out there somewhere.
In 1990, during a summer internship at GE, I wrote a program that scheduled electric motor production at like 7 factories around the country. You would download the next weeks worth of orders from their timeshare system, which seemed ancient then. Someone had done a time-motion study of each motor model and determined how much time each motor needed in different stations. They wanted each day's schedule to use roughly the same amount of time in each station.
This was after my first year of college and I really knew nothing about algorithms. I wrote a horrific program in BASIC on a PC that did what I know now is a greedy bin packing solution. It created a least squares metric and tried moving and swapping orders until nothing improved the metric.
I was shocked to hear that 20 years later they were still using that same program.
No, not a BBS door, but an actual door, written in Second Life's LSL (Linden Scripting Language). You'd think making a door should be pretty simple, but as the engine had no 3D primitive (prim) that had an axis on one of its edges, doors were often pretty awkward workarounds, either involving linking the door to a cylinder or worse, rotating and then moving when the door was opened or closed.
This script when dropped into a basic cube prim shapes it into a door, applies a texture and most importantly, cuts the prim in half so that the Z-axis ends up on the side and it can rotate around and act like a door in only one prim (the prim allowance was limited, so this mattered).
The script also has several workarounds for engine funkyness, including one where it automatically moves back into position after every cycle to counteract "drift" - otherwise, due to accumulated floating point error, the doors would slowly drift out of position when opened and closed many times.
I know it is still in use, because Second Life still forwards messages to my account to email, so occasionally I get gems such as this:
> [16:04] distresseddamsel: hi there, i just purchased your wooden slave kennels and i can't get into it. I tried to follow your istructions on how to change the group, but when i edit the door, the option for group is greyed out.
Apparently my doors have been used in all sorts of items...
People still play the Warcraft III map I made in 2006, mostly in Russia. It relied heavily on an extension of the scripting language called vJass created by a genius eastern european hacker named Vexorian and was one of the most advanced of its type for a while.
It was also ported to the DotA 2 engine, where it has millions (!) of subscribers.
If we're talking maps as code, then I have a few Quake2 maps out there bundled into some map packs, those are probably still getting some playtime somewhere...
Oddly, one of the maps ended up being used by some guys for a academic paper they wrote on latency in multiplayer games:
I also did some gfx stuff for Quake2 & 3 , but got a cease and desist letter from iD Software, so had to take them down - didn't stop it all ending up in many mods and pak files out there anyway.
Finally, I wrote a MUD Server for Windows, complete with a GUI based world building toolset, which got placed onto a CD-ROM, without my consent, that shipped with a 'How to write multiplayer games' type reference book (and had a section of the book dedicated to it) - I never did manage to get any recompense for that...
Now if only I'd bothered to finish coding and release all those great ideas I've had over the past 25 years...
Occasionally, users of a piece of $10 shareware I haven't updated since 2005 email me demanding a refund because this software they bought 10+ years ago has stopped working on El Capitan. I refund their money because it's not even worth my time to argue with them.
Instead of abandoning your program, why not open-source it? No money, no nagging customers. If someone wants to make it work, then they can. You can then deny responsibility for maintaining it.
In 2001, I wrote a tag balancer (for HTML input, it also did some rudimentary XSS filtering) in PHP and then translated it to Cold Fusion (I was applying for a CF job and figured it might be useful to actually learn it).
I believe that both variations are still running, the CF version on Metafilter, and the PHP version was used in B2, which became WordPress. A few years ago, I was asked by the WP team to relicense the code from GPLv2 to GPLv2+ and sure enough, it lives on with relatively few modifications in WordPress: https://github.com/WordPress/WordPress/blob/b1804afeaf07eb97...
Perhaps most notable, is that I wrote it w/o having taken a compilers class or having much (any) understanding of stack-based parsing, but it still lives on, so I guess it was good enough to get the job done.
> Perhaps most notable, is that I wrote it w/o having taken a compilers class or having much (any) understanding of stack-based parsing, but it still lives on, so I guess it was good enough to get the job done.
I have the luck of having written GPU code on the base pixel shader on a title (Halo 4) that sold on the order of 10 million copies, first game I ever worked on. A back of the envelope calculation for how many times this code has been executed since 2012:
A section of macro assembler written in 1983/84 that I wrote that validated the MICR encoding on the bottom of a cheque ran as far as I know every day without error until at least 2007 processing 30-40% of the daily cheques in a European country It may still be running but all the guys I knew are gone! I'm the reason banks have technical debt. They'd track me down every 10 years or so when a major change was required. I also have a C++ system I architected and built in 1992 still running round the world. The codebase has been refactored to some extent as it was originally designed for Investment Banking but it now runs on line gambling, who'd have thought it?
[+] [-] near|9 years ago|reply
I never really intended for anyone to use it seriously. I made it for myself, but went ahead and posted it online anyway. It is a 1500-line single-file, nearly-commentless, nearly-spaceless abomination of code with no documentation, and an endless list of critical bugs that every user keeps encountering. They have elaborate workarounds for many of these bugs.
It became a negative feedback loop: "Why do we use xkas? Because everything else is written in xkas", and so now even more code was created and written in xkas. And so even though I've since written a proper assembler that's dozens of times nicer, no one can/will use it.
Lately, people have been writing their own versions (in addition to countless forks) that try to offer backward compatibility with all the crazy parsing errors and (mis)features of xkas, like left-to-right evaluation of math expressions, and the most convoluted macro evaluation system you've ever seen (one user proved it was Turing complete and wrote a Brainfuck parser in it.)
It's surreal. I feel terrible that so many people are stuck with this mess, but even I can't stop it anymore :/
[+] [-] aexaey|9 years ago|reply
> ...and by early 2004 I had released the final version, v06.
I wish more software had "final version", where possible [0] as opposed to endless churn and inevitable "is this project dead" question after a couple of weeks/months of inactivity. [1]
[0] Obviously some projects can't do this. E.g. there is no way youtube-dl would ever have a final version, etc..
[1] https://www.google.com/search?q=is+this+project+dead+site:gi...
[+] [-] Rainymood|9 years ago|reply
Okay. That is hilarious.
[+] [-] shthed|9 years ago|reply
"Newer versions have been released, however contain poor documentation, and removal of features that can be found in v0.06. Version 0.06 is still considered the best version available by most ROM hackers until the author addresses the shortcomings of subsequent versions."
[+] [-] pc86|9 years ago|reply
Of course they did
[+] [-] logicallee|9 years ago|reply
[+] [-] anotherevan|9 years ago|reply
I wrote it around 1993 to scratch my own itch, adapting it from a little script called “Go” by David J. Musliner. At the time I was using a literate programming tool that generated Latex from C code. When I moved on from that job a couple of years later, I released a final version two, which documented that I was no longer planning to maintain it. Since then John Collins took up the cause and been doing a wonderful job from what I can tell from occasional ego searches through google and stackexchange.
Two amusing things: 1) It is the only piece of Perl code I have written, ever, and 2) I had reason to use Latex a few years later, and decided I really dislike the sheer complexity of it all. Despite that, it is surely the most enduring and widely used piece of code that I can claim credit to having a hand in.
[1] https://www.ctan.org/pkg/latexmk/?lang=en
[+] [-] haberman|9 years ago|reply
Amusingly, a TODO I put is still there:
"temporary" indeed. :)[+] [-] buro9|9 years ago|reply
The oldest is the internal system for a record label written in 1997 and I still occasionally get emails asking how such and such works (and I have little idea, it was in PERL).
Through to code that processes video and audio snippets for most of the UK Football League premium content sites. Authored in 2000 (mostly VBScripts that slice, encode, and distribute media files and the metadata).
Parts of btinternet.com still appear to use my horrible CMS... written in 1999... though gladly it's now very few parts and I suspect these are just cached outputs rather than the CMS still being in production.
Most worryingly would be the UK Home Office, and most UK banks and some heavy manufacturing companies that I wrote project management reporting software for over a decade ago, and as they manage 20 year projects I believe that stuff has at least another decade in production. At least all of these systems are not internet connected (then again, they'll never be updated either).
My code isn't terrible clever or pretty, those requirements got dropped a long time ago. But I have learned to make code that is simple to read, easy to maintain and tweak, and that can sprintf debug with the best of them (debug tools of choice have come and gone in the time my code has been live).
[+] [-] fu86|9 years ago|reply
What have I done?
[+] [-] Toenex|9 years ago|reply
[+] [-] blubb-fish|9 years ago|reply
[+] [-] feelix|9 years ago|reply
The reason I'm happy to say this publicly is because
a) it took years to write, full time. Data recovery is a hell of a lot more complex then I'd ever imagined.
b) data recovery is no longer possible on SSD's (if they have TRIM enabled, as they do in all major OS's) so it's a declining market. Anyone would be nuts to be trying to enter it at this point.
[+] [-] mistermann|9 years ago|reply
Considering the rise of SSD's, what's your prediction of how quickly your revenue will decline?
[+] [-] blub|9 years ago|reply
[+] [-] user_rob|9 years ago|reply
Mean looking image of a parked up one - the red bag covers part of the system: http://www.vaq136.com/misawa/cobra73418-017b.jpg
[+] [-] fdavison|9 years ago|reply
http://www.controlpak.com/network.htm
[+] [-] ewindisch|9 years ago|reply
Also between 1999 and 2001, I was involved in the LiViD project where I worked on a port to PowerPC. I don't recall any patches actually landing into LiViD because it turned out that the bug was in GCC itself, a bug I was told must have existed since the mid-eighties. I didn't directly write the GCC patch, but did debug the compiler error and worked with the GCC team on the fix. This directly resulted in a port of Xine to PowerPC. (LiViD and Xine are early projects for multimedia and DVD playback on Linux) Xine exists today, but it's unlikely any of my code is in it. While the GCC fix is not my code, the fix itself still endures and exists because of my interaction with the project.
It's a newer example, but code I wrote simply as a demo for the Cairo graphics project back in 2004 became integrated into Tuxpaint and is still used today for rasterizing SVG graphics into stamps.
[+] [-] zer00eyz|9 years ago|reply
I built a file maker database, for a school system.
They have tried to retire it twice. Both projects failed miserably.
For the last 10 years it has been maintained by the same office admin. She still calls me every now and again to ask questions.
[+] [-] btgeekboy|9 years ago|reply
[+] [-] amadvance|9 years ago|reply
[+] [-] nostrademons|9 years ago|reply
Pretty much everything professional is gone...hell, the only employer of mine that is still in business is Google. When I left them in 2014, about 3% of the code I'd written for them was still in production, and following the rule above, it's silly stuff that nobody ever sees, like https://www.google.com/search?q=deubogpiegpj&tbs=qdr:h (that's the no-results page when a tool is selected).
[+] [-] Q6T46nT668w6i3m|9 years ago|reply
[+] [-] adamconroy|9 years ago|reply
[+] [-] clamprecht|9 years ago|reply
https://en.wikipedia.org/wiki/ToneLoc
People still have modems???
[+] [-] celly|9 years ago|reply
I stopped using it after realizing all the misconfigured PBX's in my area were usually car dealerships.
P.s. I just bought a modem not too long ago. I use it to read CallerID and try to determine if a call if friendly, or a robocall. It doesn't click tho. :( I miss the click.
[+] [-] brndn|9 years ago|reply
[+] [-] ryanmarsh|9 years ago|reply
[+] [-] jlgaddis|9 years ago|reply
[+] [-] Udo|9 years ago|reply
Nevertheless, my own examples are all non-games. In the early nineties I wrote a program in Turbo Pascal to manage grades and print report cards, I heard one elementary school in my home town was using this until 2012.
On one of my first web programming jobs, I made a cold fusion-like template interpreter and ecommerce engine in C, that was about 1998. One completely online-based company that we launched with this software kept on running on it until it was sold two years ago.
In the early 2000s, my startup produced a web content management system that I wrote most of the code for, and sometimes I still get usage questions about it even today (to be honest, knowing that code is still used in production is not a good feeling).
Oh, I just remembered: around that time I wrote some microcontroller code that went into a certain brand of PA systems for TV studios, I'm pretty sure that's still in use...
My oldest personal project is a chat place where RPG players can meet up and roll dice, I think that launched around 2003 in some incarnation and though it's getting updates and extensions from time to time, the core code is almost unchanged: https://rolz.org
[+] [-] mosburger|9 years ago|reply
I dunno, firmware seems like a pretty safe bet too. I wrote seek algorithm firmware for Quantum's Atlas series of SCSI disk drives in the late 1990s, I suspect there are still a few of those spinning out there somewhere.
[+] [-] wscott|9 years ago|reply
This was after my first year of college and I really knew nothing about algorithms. I wrote a horrific program in BASIC on a PC that did what I know now is a greedy bin packing solution. It created a least squares metric and tried moving and swapping orders until nothing improved the metric.
I was shocked to hear that 20 years later they were still using that same program.
[+] [-] Joof|9 years ago|reply
[+] [-] sdfjkl|9 years ago|reply
No, not a BBS door, but an actual door, written in Second Life's LSL (Linden Scripting Language). You'd think making a door should be pretty simple, but as the engine had no 3D primitive (prim) that had an axis on one of its edges, doors were often pretty awkward workarounds, either involving linking the door to a cylinder or worse, rotating and then moving when the door was opened or closed.
This script when dropped into a basic cube prim shapes it into a door, applies a texture and most importantly, cuts the prim in half so that the Z-axis ends up on the side and it can rotate around and act like a door in only one prim (the prim allowance was limited, so this mattered).
The script also has several workarounds for engine funkyness, including one where it automatically moves back into position after every cycle to counteract "drift" - otherwise, due to accumulated floating point error, the doors would slowly drift out of position when opened and closed many times.
I know it is still in use, because Second Life still forwards messages to my account to email, so occasionally I get gems such as this:
> [16:04] distresseddamsel: hi there, i just purchased your wooden slave kennels and i can't get into it. I tried to follow your istructions on how to change the group, but when i edit the door, the option for group is greyed out.
Apparently my doors have been used in all sorts of items...
[+] [-] Tossrock|9 years ago|reply
It was also ported to the DotA 2 engine, where it has millions (!) of subscribers.
[+] [-] Jaruzel|9 years ago|reply
Oddly, one of the maps ended up being used by some guys for a academic paper they wrote on latency in multiplayer games:
https://pdfs.semanticscholar.org/d72f/e6af66a73af303c75fd92f...
I also did some gfx stuff for Quake2 & 3 , but got a cease and desist letter from iD Software, so had to take them down - didn't stop it all ending up in many mods and pak files out there anyway.
Finally, I wrote a MUD Server for Windows, complete with a GUI based world building toolset, which got placed onto a CD-ROM, without my consent, that shipped with a 'How to write multiplayer games' type reference book (and had a section of the book dedicated to it) - I never did manage to get any recompense for that...
Now if only I'd bothered to finish coding and release all those great ideas I've had over the past 25 years...
[+] [-] gear54rus|9 years ago|reply
Being russian I can only name this as something with millions of subscribers and is not dota.
[+] [-] Veratyr|9 years ago|reply
[+] [-] shade23|9 years ago|reply
[+] [-] aardshark|9 years ago|reply
I've noticed he's often high up in the leaderboards in Google Code Jam.
[+] [-] aaronbrethorst|9 years ago|reply
http://www.chimpsoftware.com/irooster/
[+] [-] trymas|9 years ago|reply
I would just ignore them, or if point to the relevant point of license agreement and/or law (if there is such point/law).
[+] [-] peterburkimsher|9 years ago|reply
[+] [-] lhl|9 years ago|reply
I believe that both variations are still running, the CF version on Metafilter, and the PHP version was used in B2, which became WordPress. A few years ago, I was asked by the WP team to relicense the code from GPLv2 to GPLv2+ and sure enough, it lives on with relatively few modifications in WordPress: https://github.com/WordPress/WordPress/blob/b1804afeaf07eb97...
Perhaps most notable, is that I wrote it w/o having taken a compilers class or having much (any) understanding of stack-based parsing, but it still lives on, so I guess it was good enough to get the job done.
[+] [-] eru|9 years ago|reply
Isn't that the story of PHP itself, too?
[+] [-] Cyph0n|9 years ago|reply
[+] [-] Det_Jacobian|9 years ago|reply
1e7 copies * 10 hours * 60 minutes * 60 seconds * 30fps * 1280 * 720 ~~ 300 quadrillion
[+] [-] slazaro|9 years ago|reply
[1] https://www.wolframalpha.com/input/?i=1e7+*+10+*+60+*+60+*+3...
[+] [-] lostdiaspora|9 years ago|reply
[+] [-] brokenmachine|9 years ago|reply