11 ms·
The Cursed Computer Iceberg Meme
- universenz 6y agoHaha whoa, I didn’t realise at one point EVE Online released an update that deleted the Boot.ini file. (Below the Iceberg) [0]: https://www.eveonline.com/news/view/about-the-boot.ini-issue https://www.eveonline.com/news/view/about-the-boot.ini-issue
- jmillikin 6y agoIt was big news at the time. CCP released a short video about it at a convention later: https://www.youtube.com/watch?v=msXRFJ2ar_E https://www.youtube.com/watch?v=msXRFJ2ar_E
- bombcar 6y agoThat response is a well done description of how these things should be handled: 1. mitigate ASAP (pull or fix the update) 2. Make customers whole (anyone affected should be fixed no matter the hassle or cost - paying for Geek Squad is brilliant) 3. Determine how testing could have caught it and didn’t (does your CI include rebooting? Nonstandard configurations?) 4. Remove overlapping filenames 5. Be open about all the above
- gbuk2013 6y agoThe OpenPGP SKS vulnerability gist was a sad read https://gist.github.com/rjhansen/67ab921ffb4084c865b3618d6955275f#a-personal-postscript https://gist.github.com/rjhansen/67ab921ffb4084c865b3618d695...
- bombcar 6y agoGiven the extent of the issue they got off quite easy, in my estimation. Immutable distributed histories are all susceptible to the “encoded illegal content” and I don’t know how they’ll end up resolving it.
- InsOp 6y agoI found the "basilisk collection" (at the bottom of "bottom of the iceberg") the most fascinating one . I have the feeling that the whole iceberg only exists for us to click on this very article (as both share the same domain)
- wayvey 6y agoWow, I went to read the article and completely forgot you said "same domain". I was fooled for a while and couldn't believe I'd never heard of it before. Very facinating indeed. It'd be pretty wild if that stuff was real :)
- simias 6y agoIt took me a while to understand that it was fiction too. I spent a few minutes anxiously pondering if I could somehow have overlooked one of the most important cryptographic event in decades. It's very well made.
- DaiPlusPlus 6y agoBefore I read the SCP-like article, I thought it might be a reference to Roko’s Basilisk: an unrelated, but equally unsettling, proposition.
- fanf2 6y agoRoko’s Basilisk is just the same as Pascal’s Wager.
- ralfd 6y agoThe twist of Rokos Basilisk is that it is an info hazard: it only is dangerous if one knows about it. Like a dark cult of Cthulhu who only conjures the elder god so they have the mercy to be eaten first. I think it is silly, but there are people anxious about it, which is not true about Pascals Wager.
- 6y ago
- erk__ 6y ago"unicode on punch cards" in the Abyss, should clearly point to UTF-EBCDIC [0] and not just EBCDIC [1]. UTF-EBCDIC is probably one of the most exotic unicode formats, and I don't believe it is used much anymore, if it ever were. [0]: https://en.wikipedia.org/wiki/UTF-EBCDIC https://en.wikipedia.org/wiki/UTF-EBCDIC [1]: https://en.wikipedia.org/wiki/EBCDIC https://en.wikipedia.org/wiki/EBCDIC
- jmillikin 6y agoUnicode encoding is a rich source of strange behavior. A couple that come to mind: Decoders that try to restart on unexpected byte sequences: https://john-millikin.com/%F0%9F%A4%94/case-report-surugaya-mojibake https://john-millikin.com/%F0%9F%A4%94/case-report-surugaya-... GHC 7.2 using Unicode to represent file paths on Linux (where paths are arbitrary bytes), an approach which was further explored in GHC 7.4 by using reserved codepoints. \u vs \U escapes in languages that added Unicode support before the codepoint space was expanded beyond 16 bits.
- DaiPlusPlus 6y agoCorrectly referred to as WTF-EBCDIC.
- Jabbles 6y agoMissing https://blogs.ei.columbia.edu/2021/03/12/iceberg-really-float/ https://blogs.ei.columbia.edu/2021/03/12/iceberg-really-floa...
- tripa 6y ago"fonts can be malicious" (on iceberg) and "font hinting is Turing complete" (middle of iceberg) are the same.
- deleted 6y ago[deleted]
- simias 6y ago"Fonts can be malicious" made me think of security vulnerabilities in font engines that can be exploited remotely by untrusted websites through things like webfonts. That doesn't necessarily involve Turing completeness, just some bogus memory handling in a font library written in C for instance.
- nxpnsv 6y agoDas ist ein gameboy is remarkable
- skytreader 6y agoI really didn't get this and Google search comes up with nichts. Maybe cause I'm in Germany so it doesn't ring a special bell to Google. Explainer someone?
- dEnigma 6y agoThe text on the iceberg is linked to whatever it is talking about so you can simply click on it to get to the source.
- DaiPlusPlus 6y agoAh, thanks! I’m on my iPad so there’s no :hover hints... at least until Apple adds support for off-screen finger detection.
- lordgrenville 6y agoJust from the context, looks like just the fact that it's a serious-looking medical device which is literally a case around a GBA. (More here: https://www.theverge.com/circuitbreaker/2017/9/21/16339122/ecg-powered-game-boy-advance https://www.theverge.com/circuitbreaker/2017/9/21/16339122/e...)
- swiley 6y agoSearching on English google from the US also just brings up a bunch of German articles about the Gameboy.
- bombcar 6y agoThere are a large number of specialized devices that used to have custom touchscreens - and many MANY of them are much more reliable now that they just have an iPad stuck in there instead. Seeing it done with a GBA is not surprising.
- deleted 6y ago[deleted]
- strogonoff 6y agoAfter reading “There’s no elegant solution to FizzBuzz”, immediately had to check how I might try to be unnecessarily clever if I had to do it in Python and arrived at: for i in range(1, 100): divisible_by_3 = i % 3 == 0 divisible_by_5 = i % 5 == 0 fizz = 'Fizz' if divisible_by_3 else '' buzz = 'Buzz' if divisible_by_5 else '' num = '' if divisible_by_3 or divisible_by_5 else i print "{0}{1}{2}".format(fizz, buzz, num) (In reality, of course, I would likely have had to look up the modulo operator first.)
- Zarel 6y agoJavaScript can eliminate all repetition thanks to how its || operator works: for (let i = 1; i <= 100; i++) { console.log( (i % 3 == 0 ? "Fizz" : "") + (i % 5 == 0 ? "Buzz" : "") || i ); } Whether or not you consider this more elegant is a matter of taste, though.
- strogonoff 6y agoWhile I like to think the opposite, I can see myself using || with an empty string occasionally (at least with TS, where I can be reasonably sure the variable will definitely be a string at runtime). However, concatenating strings with + is a bit implicit to my taste.
- yarcob 6y agoMaybe the fact that there is no elegant solution makes it useful.
- xoudini 6y agoHere's a (perhaps "unnecessarily clever") Python 3 version I wrote a while back, for some reason: import functools def fizzbuzz(n): if not n % 3: yield (r := "fizz") if not n % 5: yield (r := "buzz") if not "r" in locals(): yield n compose = lambda f, g: lambda *args: f(g(*args)) functions = "".join, functools.partial(map, str), fizzbuzz transform = functools.reduce(compose, functions) print("\n".join(map(transform, range(1, 100))))
- 6y ago
- enriquto 6y agoNow I want a printed poster of this to hang on my lab.
- gsich 6y ago>Alexander Rhatushnyak broke Kolmogorov complexity and won 8000 euros I couldn't find that on the link?
- hansel_der 5y agosame here. i guess it's a joke
- ac42 6y agoOh, wow... I haven't felt so nerdy in a long, long time. Lovely :)
- nynx 6y agoThe Birth and Death of Javascript (near the end of the bottom of the iceberg) has played a big role in my life and I expect it to be relevant far into the future.
- weeboid 6y agoNo refs to lexicon, sysadmin from hell, LISP, or manual garbage collect. F-
- bear8642 6y ago>lexicon This the text editor? >LISP, or manual garbage collect This Lisp Machine garbage collection = reboot?
- Palomides 6y agowhy is alloca on this list? is it really that cursed?
- swiley 6y agoYes because you have no idea if it's going to result in the stack overwriting the heap. On many compilers it's just a macro that decrements the stack pointer by the value in the argument. You really shouldn't ever use it.
- Palomides 6y agodoesn't that apply to any other function call also? (though obviously alloca can let you do it really fast)
- majewsky 6y agoIIRC, there's a protected page between the stack and the heap, where any reads or writes will `kill -SEGV` the program. With regular function calls, you'll be advancing the stack pointer slowly enough to guarantee a hit on that page. With alloca(), you can move the stack pointer in larger steps, thus missing that page. (The lowest few pages of memory are protected in the same way to increase the likelihood that a NUL pointer correctly blows up in your face when you try to access its memory.)
- SubiculumCode 6y agoIs this like a "no true geek" test?
- Scuds 6y agonot sure what this is ordering
- ac42 6y agoResponses to the poll, I would presume?
- Sharlin 6y agoBy apparent obscurity of the reference. At the bottom there's a link to a poll whose results the ordering is presumably based on.
- lifthrasiir 6y agoI feel the order up to the Bottom of the iceberg is roughly correct, and anything below that is almost randomly ordered. For example I don't think GCJ-02 and Mario Wolczko's unix recovery is that obscure.
- ralfd 6y agoOff topic: The draw-an-iceberg game posted recently here taught me that icebergs do not look like that. That thing would float sideways!
- 1MachineElf 6y agoI was surprised to see "RAID write hole" so close to the bottom. Surely at least half or more users of ZFS are aware of that.
- ThisWasTaken 6y agooh god, I'll never forget /usr/bin/[. I wasted too many God damn hours trying to understand why nothing was working... To this day I still curse whoever decided to call it that way.