10 ms·
A useful program, 0 bytes long
- lubujackson 13y agoThat is kind of genius.
- deleted 13y ago[deleted]
- fendrak 13y agoThis is a perfect example of selling something for what it's worth, rather than for what it costs to build.
- BHSPitMonkey 13y agoI found it amusing that customers were annoyed with the author for charging for "nothing". If the author didn't solve your problem, or if you could have done it yourself with no help, why did you buy it?
- Contero 13y agoI think an interesting implication of this is that people may feel satisfied having purchased something useless that seems to have enough "stuff" in it.
- joesb 13y agoAlso the same old argument used to justify piracy, that it costs next to nothing to copy bytes. And that the product is so not worth the price that those who pirates "wouldn't have bought it anyway", yet there they are using the pirated product, movie and music.
- StavrosK 13y agoIt's because people mainly perceive marginal costs in the goods they buy, and they don't consider fixed costs. In extreme cases like software, news, etc, they think "this extra copy didn't cost anything to produce, therefore it should be free", even though the initial fixed cost was substantial. This leads to some things like perceiving less competent workers' time to be worth more than more competent ones' (because they take longer to do a task, therefore they should be paid more), etc.
- icebraining 13y agoI don't agree this was the case here. They were perfectly happy to pay for a copy of the software, even though making another copy - as you rightly point out - costs nothing. They were annoyed because nothing had actually been copied. It's like paying for a product and getting an empty shipping box in the mail.
- StavrosK 13y agoSure, if the product you're paying for is an empty box.
- icebraining 13y agoBut they didn't know it was, which is why they felt cheated. It's not because of the marginal costs.
- BHSPitMonkey 13y agoWell, an inode was "copied".
- venomsnake 13y agoExcept not ... the cost to build was substantial. He had to educate himself how the machine and the OS work in detail. That is time and opportunity cost.
- greenyoda 13y agoThis reminded me of the old story about the engineer who fixed a complicated machine: http://www.deoluakinyemi.com/knowing-where-to-tap http://www.deoluakinyemi.com/knowing-where-to-tap
- mef 13y agoSeems to be down. Mirror: http://web.archive.org/web/20121017013957/http://peetm.com/blog/?p=55 http://web.archive.org/web/20121017013957/http://peetm.com/b...
- JeremyMorgan 13y agoIt's not down, it's Cloudflare. I used to get tons of false positives from that service. Junk.
- Semaphor 13y agoCloudflare is starting to get annoying. So often they want me to solve captchas to open a site -.-
- hjay 13y agoA great example of how important it is for us as developers to recognize the value we provide to businesses/users instead of measuring it all solely in terms of algorithmic complexity and LOC. Side note: Tatung makes some pretty amazing rice cookers. My family has used the same one for over 40 years now, and it still cooks as well as ever.
- philsnow 13y agoWe bought one of their electric pressure cookers, an "instant pot", and love the crap out of it. It's especially nice for cooking on hot days since it doesn't heat up the kitchen much at all.
- Steko 13y agoIt looks like they've switched to some less reliable technology based on Amazon reviews: http://www.amazon.com/Tatung-Tac-11kn-Stainless-Steel-Cooker/product-reviews/B004FWL3UA/ref=cm_cr_dp_see_all_btm?ie=UTF8&showViewpoints=1&sortBy=bySubmissionDateDescending http://www.amazon.com/Tatung-Tac-11kn-Stainless-Steel-Cooker... I grew up with Tatung rice cookers. They used to last forever - only get replaced when owners get tired of looking at them or they become too dirty. I replaced mine with this stainless steel rice cooker about 1.5 years ago thinking it will really last forever since it's stainless steel (the old ones were made out of aluminum). Unfortunately, it stopped working a few days ago. I just couldn't believe it, I opened it up (I am a hand-on electrical engineer) and found the heating element to be the culprit. Tatung no longer uses solid metal heating element, instead, Tatung uses a much inferior heating element made out of a sandwich of 3 to 4 layers of thin circular heat-resistant cardboard. With metal wires (the heating element) looped around these circular cardboard. After probing a bit, I found where the metal wire broke. Called Tatung customer support and was told that they can't sell heating element because of liability issue. It'll cost $40 for them the repair it but I will need to ship it to them. Side note: curse Wade and Giles for making everyone mispronounce this company's name.
- nsns 13y agoPinyin: "Datong".
- js2 13y agoTangent: just to give an idea how popular WordStar was, my Apple ][ had a CP/M coprocessor card [1] just so we could run WordStar. [1] manufactured by Microsoft - http://en.wikipedia.org/wiki/Z-80_SoftCard http://en.wikipedia.org/wiki/Z-80_SoftCard
- zwieback 13y agoMe too, the other CP/M programs I ran a lot on my (knockoff) Z80 card were TurboPascal and f80, the Microsoft Fortan compiler. It always felt like a tiny betrayal running Z80 code, though, I was a 6502 man through and through.
- mixedbit 13y agoWow, not only was this program infinitely profitable, it could also be transmitted over the network infinitely fast, and even without a network connection.
- lifeformed 13y ago"Installation instructions: - No download necessary - Create a file called GO.COM - Done!"
- Stratoscope 13y agoBest hack ever! Infinitely better than any other hack.
- deleted 13y ago[deleted]
- dorfsmay 13y agoHa! That's hilarious! I'm sure a lot of people remember the old joke: -can you assume that any program out there can be reduce by one line? -can you assume that any program out there has a least one bug? If yes, it means that, by mathematical induction, every program can be reduce to one zero byte, and it's buggy!
- anonymous 13y agoWhich means that the first two assumptions are wrong, leading us to conclude that there exist minimal perfect programs for every specification.
- Falling3 13y agoNo. If we negative dorfsmay's premises, it still does not lead to your conclusion.
- dmoney 13y agoThere's a bug in this zero-byte program: the other program might not leave its memory in a correctly runnable state when it shuts down.
- dorfsmay 13y agoQ.E.D.!!!
- nathan_long 13y agoThe issue is whether "any program out there" is taken to mean "any existing" or "any possible". It may be true that no programs actually exist that couldn't be shorter or more correct (though I doubt it), but one would reach a minimum length and bugginess eventually.
- spc476 13y agoIEFBR14 was a one-byte program from IBM that had a bug. The history of the program makes for some cool reading: http://en.wikipedia.org/wiki/IEFBR14 http://en.wikipedia.org/wiki/IEFBR14
- zht 13y agodivision by zero is undefined. c/x as x approaches 0 from the right is infinity.
- derleth 13y agoJust for fun, what is 0/0? Mathematicians often assign definitions to things that are undefined in other contexts to make things more self-consistent. The fact there is a good case to be made that c/0 is undefined for all c doesn't mean it must always be so in every possible instance.
- dantillberg 13y agoYou could look at it as `limit of x/x as x approaches 0`, which would be 1. Or you could look at it as `limit of -x/x as x approaches 0`, which would be -1. Or you could look at it as `limit of x/0 as x approaches 0`, which would be +/- infinity, depending on which side you approach 0 from. Or you could look at it as `limit of 0/x as x approaches 0`, which would be 0.
- CJefferson 13y agoInterestingly, this is the second useful empty program I have seen. The other is /bin/true, as discussed at http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html . That file is not quite empty, due to trying to comment and copyright an empty file!
- deleted 13y ago[deleted]
- timClicks 13y agoI love how Sun bumped the version number up to 1.6 in 1989 from the original AT&T code.
- jkn 13y agoI remember that two bugs were filed in Debian for this implementation of /bin/true (one for the slow execution and one for the memory use IIRC) but I cannot find them. Two bugs for 0 lines of code...
- fuzzix 13y agoThat would be GNU coreutils true, which is a little more complex. Some discussion of that over here : http://forums.thedailywtf.com/forums/t/3779.aspx http://forums.thedailywtf.com/forums/t/3779.aspx
- dps 13y ago"(a TSR; if the reader knows what such a thing is!)" Oh dear, I can't imagine not knowing what a TSR is. Feel old. The wikipedia page is pretty good http://en.wikipedia.org/wiki/Terminate_and_Stay_Resident http://en.wikipedia.org/wiki/Terminate_and_Stay_Resident
- mgkimsal 13y agoI've mentioned before something like "Yeah, I feel old, cause I know what a TSR is (was?)" and some younger kid in the room said "oh, my uncle used to have a TRS80, yeah, those were crap.". The LOL was strong with that one, but not for the reasons he thought.
- D9u 13y agoOne of my favorite TSR programs was Qedit, by SemWare. I have yet to find another editor that I like better, and wish that I could find something similar which runs on unix-like operating systems. Qedit had the ability to drop to a command prompt to execute external commands and then return to the editor just as "GO.COM" does and I wonder if any of the author's code found its way into the SemWare editor. I also got a kick out of the .com filename extension reference and wondered how many HN readers remember that .com used to stand for "COMMAND" instead of today's "Commercial." Judging by the amount of comments here the number is fairly small. Thanks for the trip down memory lane!
- philsnow 13y agoCould you get what you want with Unix job control? From inside e.g. emacs, hit control-z, and it should suspend the emacs process and you'll be back at the shell you started emacs from. When youre ready for more emacs (woo!), tell bash to "fg" and you'll be back in emacs.
- glurgh 13y agoSuspend, leave emacs!?! Blasphemy and apostasy!
- leephillips 13y agoI love this story. It gives a strong impression of having interesting philosophical implications, but I have no idea what they are. I hope I can offer a little advice without being too annoying: if you are going to use justified text, especially with narrow columns, you need to implement some kind of hyphenation. There are JS libraries that do this now, I think.
- rhengles 13y agoBetter yet, just use soft hyphens! http://en.wikipedia.org/wiki/Soft_hyphen http://en.wikipedia.org/wiki/Soft_hyphen
- leephillips 13y agoI suggested the JS library approach as an alternative to manually inserting soft hyphens. Do you know of an automated way to do this?
- evincarofautumn 13y agoPerl and a hyphenation dictionary?
- raymondh 13y agoPython's __init__.py files are useful and can be zero bytes long.
- icebraining 13y agoThey're hardly "programs" though, just components of a larger one.
- rbanffy 13y agoThe old "SAVE 0 X.COM" trick... Brings back good memories.
- sage_joch 13y agoI thought he was going to say a Flashlight app.
- tricolon 13y agoPrevious discussion: https://news.ycombinator.com/item?id=1025294 https://news.ycombinator.com/item?id=1025294
- anigbrowl 13y agoIt's not really infinitely profitable, because cost isn't measured in bytes. His cost was the time to conceive of, test, and implement the idea as a product. I can't say I've ever thought about the value of a program how much storage space it takes up.
- Qantourisc 13y agoMarvellous idea ! :)
- gliter 13y agocooool!
- simula67 13y agox/0 is not equal to infinity in ordinary arithmetic (which is what author attempts here) :). http://en.wikipedia.org/wiki/Division_by_zero http://en.wikipedia.org/wiki/Division_by_zero