[HN Gopher] The cats sitting on a fence in early builds of Windo...
       ___________________________________________________________________
        
       The cats sitting on a fence in early builds of Windows 8
        
       Author : luu
       Score  : 497 points
       Date   : 2022-02-23 06:26 UTC (16 hours ago)
        
 (HTM) web link (devblogs.microsoft.com)
 (TXT) w3m dump (devblogs.microsoft.com)
        
       | Melatonic wrote:
       | I really hated windows 8 and if they had left this cat shit in I
       | would have felt a lot better
        
       | wzeyiseggmind_ wrote:
       | That's a good way of knowing if the shell is running Too bad it
       | was removed
        
       | thriftwy wrote:
       | This is when they did the usability disaster, BolgenOS quality
       | Windows 8 which mistaken laptop for a tablet which was something
       | nobody has asked for.
       | 
       | Millions of hours of our moms wasted combatting this one.
        
         | mdoms wrote:
         | Man this article is just a bit of fun. Why do you have to be
         | like this?
        
           | netmare wrote:
           | It's bitterness from having your dreams crushed. I used to
           | read Raymond's blog and share his passion for correctness and
           | efficiency, but it seems like mockery now.
        
       | aasasd wrote:
       | You'd think that Win used Unicode fonts by that time, and surely
       | some mono-width replacement characters can be found in Unicode.
        
       | fsckboy wrote:
       | you can make ascii art with a variable pitch font, you only have
       | to do it once and it's static after that, use a font that was
       | going to be rendered anyway.
        
       | k_sze wrote:
       | Are we sure those cats aren't Luna and Artemis from Sailor Moon?
        
         | Mezzie wrote:
         | It's more likely to be a reference to Goodnight Moon. The book
         | has cats at the end saying 'Goodnight, Moon!'
         | 
         | Also there is no point in the series where Luna and Artemis
         | actually stare at the moon together in this fashion, and the
         | cat on the left is wearing a collar. Neither Luna nor Artemis
         | is collared.
         | 
         | ...
         | 
         | I was a six year old girl when Sailor Moon premiered in
         | America. I know WAY too much about that show.
        
           | k_sze wrote:
           | Haha. I'm a guy and used to watch Sailor Moon with one of my
           | best friends (also a guy) back in university.
        
             | Mezzie wrote:
             | Good TV is good TV!
        
       | jabbany wrote:
       | Huh, reading the first half I almost expected them to have a
       | debugging system where the cats on the fence were composited by
       | each layer drawing only part of the scene on top of things below
       | (fence, then one cat, then the other etc.) so you'd see different
       | things if different parts failed.
       | 
       | Plenty cute though.
        
         | exikyut wrote:
         | This sort of strategy feels to me* like it would be ideal in a
         | gamedev sort of environment - considering the nontrivial
         | practical distance between each of the layers in this scenario,
         | I can totally see each layer occasionally showing up out of
         | alignment, or rendered in the wrong font, etc. My (very
         | abstract and non-practical) impression is that the rendering
         | pipeline in a game is typically much tighter/cohesive than an
         | entire desktop shell.
         | 
         | * I could be wrong; I'm just spouting naive hot air with no
         | practical experience at either end of this spectrum :)
        
         | p_l wrote:
         | AFAIK SAGE computers had diagnostic programs that were written
         | in such way that they drew a "pinup girl" on the console (there
         | supposedly was another, more risque animated image too).
         | 
         | If there was a malfunction, the graphics would be malformed.
        
           | bitwize wrote:
           | Ah, the times when toxic masculinity was accepted in the
           | workplace...
        
             | LudwigNagasena wrote:
             | What?
        
           | teakettle42 wrote:
           | The full story and a photo of the display:
           | 
           | https://www.theatlantic.com/technology/archive/2013/01/the-n.
           | ..
        
       | makach wrote:
       | ahaha, excellent. I wrote a similar script, displaying on my
       | terminal a cat looking over a fence, eyes flicking from side to
       | side waiting for a certain web-service to become available in
       | which the cat would be gone.
       | 
       | the waiting game is real for most developers/coders.
        
       | johndfsgdgdfg wrote:
       | It's great to see there are real human beings with passion and
       | interests are developing Windows at MS. Whereas Google has no
       | human face. People have their accounts closed and don't get any
       | response from a human being on a support forum.
        
         | tonmoy wrote:
         | I fail to see how an Easter egg absolves MS of not-being-human.
         | If we took stock, Google probably would have more Easter eggs.
        
       | opminion wrote:
       | The local newspaper I read as a kid used pictures of cats,
       | presumably to fill empty space.
        
       | ComputerGuru wrote:
       | > You see, ASCII art uses a monospace font, and the cats screen
       | was the only part of the startup sequence that used a monospace
       | font.
       | 
       | But iirc, Windows 8 introduced Segoe Mono and the kernel text
       | mode interface is/was using that font, too?
        
         | laumars wrote:
         | Microsoft likely didn't create that art. So I suspect a bigger
         | reason for removing it was licensing, with "optimisation" being
         | a strong excuse for not spending resource on creating original
         | assets.
        
           | Brian_K_White wrote:
           | Joan G Stark
        
         | fredoralive wrote:
         | The kernel text mode font is probably baked into the kernel and
         | not accessible from user space / Win32?
        
         | exikyut wrote:
         | I * _think_ * this was part of the shell layer. Which is why
         | it's fascinating how the performance team wanted to prune it
         | out; presumably the fonts were mapped into memory elsewhere and
         | thus deduplic...oh, maybe Windows doesn't have mmap page
         | dedupe.
        
           | raverbashing wrote:
           | Edit: I don't think the kernel would render TTF and/or use
           | the full graphical stak so that's probably the main
           | difference
           | 
           | It probably has, but maybe not between kernel and userspace
        
             | formerly_proven wrote:
             | > Edit: I don't think the kernel would render TTF and/or
             | use the full graphical stak so that's probably the main
             | difference
             | 
             | Oh but it does. Most (all?) text rendering on Windows
             | happens in the kernel.
        
               | raverbashing wrote:
               | I stand corrected then! (Unless this changed recently)
               | 
               | https://googleprojectzero.blogspot.com/2016/06/a-year-of-
               | win...
        
               | zinekeller wrote:
               | I mean, in recent version of Windows it's now on the
               | user-space, but because Microsoft retains bug-for-bug
               | compatibility Windows 8 will be stuck with a kernel font
               | rasteriser*
               | 
               | * DirectWrite and WPF have been always user-space.
        
               | fredoralive wrote:
               | AFAIK stuff like .net's WPF and the GPU accelerated
               | DirectWrite do font rendering in userspace. It's ye olde
               | GDI that is in the kernel, because NT didn't run well on
               | a 486[1]. Yes, Windows has about 5 different ways to
               | render fonts, and no, they don't seem to render fonts the
               | same way.
               | 
               | (In the case of this kernel text mode / BSOD code, I do
               | wonder does it use the GDI font rendering, or does it
               | have its own separate mini renderer just for those
               | screens?)
               | 
               | [1] Probably a bit of a simplification, I know.
        
               | formerly_proven wrote:
               | I don't know anything about DirectWrite, but there seems
               | to be a DirectWrite kernel component due to CVE-2020-1577
               | (DirectWrite leaking kernel memory "by convincing a user
               | to visit an untrusted webpage", which I'm not sure
               | whether the exploit route would be in TTF/OTF processing,
               | e.g. due to webfonts, or the text rendering itself).
        
           | monocasa wrote:
           | NT's VFS cache does a decent enough job at sharing pages to
           | actual data for the same file, even between kernel space and
           | user space; the problems start around FS metadata caching.
        
       | Brian_K_White wrote:
       | And comments are closed so you can't ask where jgs's signature is
       | to credit her where both the original MS developer and this
       | blogger neglected to.
        
       | AceJohnny2 wrote:
       | When I worked on an early SoC with a display on the dev-board,
       | our test software didn't do anything with the display. Depending
       | on the last state of the system, the display usually had a bunch
       | of ugly LCD noise on it.
       | 
       | Eventually I got around to implementing a rudimentary framebuffer
       | to send to the display. Wondering what to display, I figured I'd
       | compute a Mandelbrot fractal!
       | 
       | People liked it, and I was happy to have made our dev systems a
       | little less ugly.
       | 
       | I went to work on other things for a few months. When I came
       | back, they had replaced my fractal with the company logo :\
       | 
       | (I suspect, but don't know the codec, that the jpeg used to store
       | the company logo ended up using more space and cycles-per-pixel
       | than my fractal)
        
         | registeredcorn wrote:
         | Although frustrating and disappointing to hear, that certainly
         | sounds like the perfect sort of opportunity to surreptitiously
         | upload _slightly_ altered versions of the company logo.
         | 
         | Slightly mismatched colors.
         | 
         | Bassic mispelings.
         | 
         | Logo rotated by 4 to 5 degrees.
         | 
         | Overlay a semi-transparent competitor logo for a single frame.
         | 
         | Etc.
        
           | futharkshill wrote:
           | > Overlay a semi-transparent competitor logo for a single
           | frame.
           | 
           | I have to ask: is this serious or not? While extremely funny,
           | are you guys all working for places where this is not
           | potentially billions in damages?
        
             | scrumbledober wrote:
             | Sounds like it was only on dev boards, not going out to
             | production.
        
               | admax88qqq wrote:
               | Dev work often finds curious ways to production.
        
               | junon wrote:
               | _Famous_ last words.
        
           | Damogran6 wrote:
           | We had a call center with an 18 screen Hiperwall. The manager
           | was a little OCD. Each viewport was completely configurable
           | and modifiable.
           | 
           | I may have left it for awhile with each viewport rotated by a
           | degree...maybe two.
        
         | bsedlm wrote:
        
         | duxup wrote:
         | I put googly eyes on the men and women figures on the bathroom
         | signs once.
         | 
         | HR sent out a series of painful to read HR speak emails where
         | they chastised whomever did it, implied just about everything
         | you could imagine ... all while saying nothing at all.
         | 
         | Whimsy can be dangerous.
        
           | Melatonic wrote:
           | Those ANIMALS drawing attention to our definitely not weird
           | signs!
        
           | 908B64B197 wrote:
           | > HR sent out a series of painful to read HR speak emails
           | where they chastised whomever did it, implied just about
           | everything you could imagine ... all while saying nothing at
           | all.
           | 
           | If HR cares and has time to do that it's a sign, there's fat
           | to trim in the organization. I'm sure your investors would be
           | thrilled to learn that.
        
           | subsubzero wrote:
           | We need more whimsy in life in general and at the office
           | more-so.
        
             | jfengel wrote:
             | We do, but it's easy for whimsy to go too far. Googly eyes
             | on a poster is cute. Graffiti everywhere isn't.
             | 
             | When one person does it, it's a clever surprise. When many
             | people do it, it quickly becomes tedious and repetitious.
             | It's interesting only when it's done judiciously. It's even
             | worse when it escalates, such as with vandalism, or
             | cruelty, or shock. And one person's "whimsy" can easily
             | become "what, can't you take a joke?"
             | 
             | So I can see why an HR department would want to say, "Yes,
             | the was very cute, the first time. Please don't turn it
             | into a problem".
        
       | wffurr wrote:
       | Somewhere there is a Windows shell programmer who debugged one
       | too many "not even a crash" shell issues. He's got a 1000 yard
       | stare and all he can say about it is he "saw the cats". Seeing a
       | cat on a fence to this day stops him cold.
        
       | rendall wrote:
       | I love whimsy and Easter eggs in our industry, and I add them
       | whenever possible. There is always a reason to take them out
       | (performance, potential user confusion, grumpy devs, whatever),
       | but prioritizing them says a lot of good about the team and
       | project.
       | 
       | In most cases, in my experience, I can tell what generation an
       | engineer comes from based on attitude to whimsy. Younger devs
       | almost always don't like them. Too much effort, too much
       | potential for trouble. Older devs, especially past retirement,
       | almost always like them. This industry started with a sense of
       | humor and fun.
        
         | Jaruzel wrote:
         | > _This industry started with a sense of humor and fun._
         | 
         | It did, then what the hell happened? :(
         | 
         | Like every other industry, the fun is all gone, and the bean-
         | counters and moronic managers have taken control.
        
           | stavros wrote:
           | Sounds like you need https://imgz.org
        
             | Jaruzel wrote:
             | 1. The great and infamous Stavros has replied to _me_ !
             | 
             | 2. Why do I need your image hosting program?
        
               | the-dude wrote:
               | The fun is somewhere within you. Search and you will
               | find.
        
               | Vinnl wrote:
               | Specifically, by clicking the link, reading it, then
               | clicking around some more.
        
               | stavros wrote:
               | 1. Hahaha what
               | 
               | 2. You don't need it, but you _want_ it
        
           | Jaruzel wrote:
           | Hmm, I'm guessing the bean-counters and moronic managers
           | didn't like me calling them out?
        
             | LadyCailin wrote:
             | Or perhaps there is more nuance to the problem, and you
             | painting with such a broad brush is overly reductive?
        
           | PretzelPirate wrote:
           | The auditors started telling me that I couldn't build Easter
           | eggs into my systems if I wanted to pass and meet compliance
           | requirements.
        
             | dzqhz wrote:
             | In the case of Microsoft, putting an easter egg in code is
             | grounds for immediate termination.
        
           | croniev wrote:
           | The argument that everything got more complex and bugs are
           | harder to find now, so fun is avoided, does seem convincing,
           | but I believe it does not account for everything. For a
           | philosophical take: the kind of positive effects that easter
           | eggs have, such as joy at work, team cohesion, flimflam -
           | they are not physically measurable. They are immaterial. And
           | the managers who are interested in making a profitable
           | product will be focused on material measures, since at the
           | end of the day that is what seems to be whats important on
           | the market. To put it briefly, I believe that the
           | materialistic world-view inspired by natural sciences and
           | inscribed into our economies is not able to deal with more
           | abstract benefits such as fun.
        
           | dhosek wrote:
           | But also black-hat hackers, spammers and all sorts of other
           | nefarious sorts making a lot of the openness that was
           | possible in the 80s and early 90s much less practical.
        
           | [deleted]
        
         | Angostura wrote:
         | Sounds like we need WAAS
        
           | amelius wrote:
           | https://en.m.wikipedia.org/wiki/BonziBuddy
        
             | chiph wrote:
             | Clippy's problem was his suggestions were hardly ever
             | helpful or relevant.
             | 
             | Today, we could power his suggestions with a fleet of AIs
             | running in over 200 Azure data centers around the globe.
             | 
             | Rumors that he would become self-aware are unsubstantiated.
        
               | ajmurmann wrote:
               | Mankind being eradicated by a self-aware Clippy seems
               | prescient, deserved and a fitting end to the story.
        
         | plushpuffin wrote:
         | My first programming-related job was for a company that handled
         | instructor evaluations for colleges. The UI we showed to the
         | instructors when setting up their evaluation questions for
         | their students included a demo table showing some fake courses.
         | Rather than something boring like "Calc 101", "Bio 201", etc, I
         | decided to go with themes/settings from the Alien movie
         | franchise, so there was a table like this:
         | 
         | > Instructor, Course Name, etc
         | 
         | > Ripley, Interstellar Ore Hauling
         | 
         | > Ripley, Terraforming 101
         | 
         | > Ripley, Criminal Justice Reform
         | 
         | > Ripley, Military Bio-Weapons Projects
         | 
         | It stayed up for a few years until my boss made me change it
         | because one of the instructors got confused, complaining that
         | they didn't teach any of these courses.
        
           | Nition wrote:
           | But using semi-believable generic courses would make that
           | problem even worse!
        
             | plushpuffin wrote:
             | I don't remember exactly what we did but I think we used
             | even more obviously fake course names like "FAKE COURSE"
             | and "THIS IS A DEMO"
        
         | ryandrake wrote:
         | Unpopular opinion, but I'm very much against Easter Eggs, at
         | least in SeriousProjects(tm). Hear me out. When I was younger,
         | I used to find them funny and lighthearted, but after years of
         | having to debug other people's unnecessarily clever code,
         | undocumented code paths, and corners of applications that had
         | absolutely no reason to exist, I've changed my mind. Even
         | though none of what I had to debug were technically Easter
         | Eggs, they were unnecessary, and thus time spent working
         | on/around them was wasted.
         | 
         | The best reason to not add Easter Eggs is simply: they add
         | unnecessary (albeit tiny) risk to a project. Technical risk and
         | schedule risk. They are not part of the software's
         | requirements, and they are likely going to be undocumented.
         | Every line of code we add increases risk. Part of our jobs as
         | developers is ensuring every line we add contributes more value
         | than risk. Easter Eggs don't do this. Sorry to be Mr. Serious
         | Raincloud, but please leave Easter Eggs for personal, non
         | business-critical software.
        
           | ghostbrainalpha wrote:
           | We all hate debugging unnecessary and pointless code.
           | 
           | But over the very LONG TERM projects I see with Easter Eggs
           | tend to have had developers who cared more about the project
           | and were having fun, which leads to an overall higher code
           | quality. (Your own experience may be different).
        
           | cpeterso wrote:
           | > The best reason to not add Easter Eggs is simply: they add
           | unnecessary (albeit tiny) risk to a project.
           | 
           | A perfect example from the article: the performance and
           | memory impact on Windows startup due to loading the ASCII
           | cats' monospace font.
        
           | wizzwizz4 wrote:
           | In well-architectured code, easter eggs are free. Removing
           | them is trivial, but you don't need to because they don't
           | cause problems. They add value, not only because they're
           | great, but because they force you to make your system more
           | extensible than it otherwise would be - but if they break, no
           | harm done. (You might even get bug reports from users, if
           | they stop working! But the users won't mind, because the
           | easter egg isn't why they were using the program.)
        
           | [deleted]
        
         | pwdisswordfish9 wrote:
         | Ah, so that's where those come from!
         | 
         | https://i.imgur.com/mHIvkeQ.png
        
           | glenneroo wrote:
           | Exactly... and even worse, the 404 "bot" laden with whatever
           | garbage my teenage brain came up with at 3am back in the 90s:
           | https://glenneroo.org/404.html
        
             | reaperducer wrote:
             | Commodore 64-themed 404:
             | 
             | https://www.chicagoarchitecture.info/404.php
        
         | voidfunc wrote:
         | > In most cases, in my experience, I can tell what generation
         | an engineer comes from based on attitude to whimsy. Younger
         | devs almost always don't like them. Too much effort, too much
         | potential for trouble. Older devs, especially past retirement,
         | almost always like them. This industry started with a sense of
         | humor and fun.
         | 
         | Yea man, because most of us are just trying to get through the
         | career part of our life to money and retire. Save your whimsy
         | for your hobby projects. Nobody wants to debug production code
         | with subtle easter egg behaviors.
        
           | jorgesborges wrote:
           | You don't need to invest inordinate time and energy to create
           | cute little things at work. But this is your life! Don't just
           | "try to get through" parts you don't like. Enjoy it if you
           | can. You're not some corporate koolaid-drinking drone if you
           | try to have fun at work.
        
           | Kalium wrote:
           | Sooner or later, one person's subtle easter egg becomes
           | another's mission-critical behavior. Speaking solely and
           | strictly for myself, I do not enjoy having to support niche
           | undefined behavior because someone thought it was cute.
        
         | notjustanymike wrote:
         | The last time I introduced an Easter eggs into a system it made
         | the national news. I tend to stay away from them these days.
        
           | dzdt wrote:
           | Story time! What was your famous easter egg?
        
             | notjustanymike wrote:
             | "Newsweek reports on the zombie invasion of New York".
             | 
             | I buried a Konami code in the ad integration JavaScript (no
             | one wants to code review that) which flipped all the
             | stories on the homepage for zombie invasion stories. The
             | authors were all members of the dev and project manager
             | teams. You can still Google it.
             | 
             | I did not get fired, for a couple reasons. One, I disabled
             | all the ads, so there was no negative brand association.
             | Two, we'd just launched a redesign and our homepage traffic
             | skyrocketed from 45,000 views / day to 750,000 views a day.
             | My personal highlight was receiving a mention on NPR
             | morning edition.
             | 
             | My general manager "scolded" me in public, but privately
             | was thrilled at the several hundred thousand dollars worth
             | of free marketing. I figured I'd hang my hat up there.
        
               | subsubzero wrote:
               | This is awesome, it must be this story then?
               | 
               | https://www.forbes.com/sites/firewall/2010/06/15/newsweek
               | -re...
        
               | notjustanymike wrote:
               | That's the one! A fun two days of my life tracking all
               | the places it popped up. There was a lot of speculation
               | at the time that it was a marketing ploy by the company,
               | which is definitely not the case. Newsweek was a very old
               | school company run by people not good at or willing to
               | understand the Internet. A shame, because the people who
               | reported to them were full of great ideas.
        
         | AceJohnny2 wrote:
         | Systems were simpler, side-effects were better understood and
         | contained.
         | 
         | Now I work on systems that have more complexity in their I/O
         | controllers than the devices I had started on, and no-one
         | understands the full stack. When something goes wrong, the
         | whimsy is the first thing that goes out the window in trying to
         | find the root cause.
        
           | saagarjha wrote:
           | Amusingly, an easter egg helped in the investigation of a
           | tricky bug recently. The launch path of Twitter's iOS app
           | logs a "just setting up my twttr" (which is a reference to
           | the first tweet, of course) and it was quite useful in when
           | trying to find the root cause for a particular crash, because
           | the system had silently changed the launch process for apps
           | in an OS update and we could use its presence in the logs to
           | figure out how far along we were in the startup code.
           | 
           | (To round out the anecdote, I'm a performance engineer on the
           | younger side, so we're not _all_ bad :P)
        
           | rendall wrote:
           | > _Systems were simpler, side-effects were better understood
           | and contained._
           | 
           | I'm going to disagree, here. Things were as difficult as they
           | ever have been since. Systems and side-effects are better
           | understood only in hindsight.
           | 
           | Coding in assembly because higher-order language wasn't
           | invented yet. Coding in a text editor because IDEs were not a
           | thing. Searching linked lists because what's a data-base, not
           | to mention SQL. Needing to keep things lean because 32kb was
           | an ungodly waste.
           | 
           | In that light, things are easier than ever.
           | 
           | One can be both professional and whimsical. In fact, I'd
           | argue that true mastery will only come with a sense of fun
           | and interest in your craft.
           | 
           | Applying whimsy can be an engineering decision. Using 418
           | when any error code will do, for example, if it affects
           | nothing else.
        
             | [deleted]
        
             | int_19h wrote:
             | These were all solved problems in the 90s already - we had
             | plenty of high-level languages, including those with
             | integrated IDEs and even databases (dBase comes to mind!).
             | SQL was already around. 32Kb was something from another
             | era.
        
             | patmorgan23 wrote:
             | There's like 4 or 5 extra layers of abstraction/frame works
             | in most systems these days.
        
               | TuringTest wrote:
               | So what? If your tech stack is worth its salt, those
               | layers will be mostly removed at compilation. Reductions
               | in performance often are due to developers mixing up
               | their layers of abstraction and repeating work among
               | several of them, rather than by having several layers
               | adding more powerful abstractions.
               | 
               | It's good that a developer has cursory knowledge of how
               | those layers work (e.g. to avoid re-adding checks at the
               | upper layers of something that is already guaranteed by
               | the lower ones), but there's no need to be an expert at
               | all them.
        
               | int_19h wrote:
               | Can you give an example of a tech stack worth its salt by
               | these criteria?
        
           | robocat wrote:
           | > Systems were simpler, side-effects were better understood
           | and contained.
           | 
           | But debugability was far harder, you could not do it
           | remotely, and there was no stackoverflow etcetera to help
           | you.
           | 
           | Example: Installed in another country is an embedded
           | controller talking RS232 to devices. The controller is
           | resetting, probably due to a watchdog timeout. The controller
           | software uses a custom RTOS, with no spare hardware timers
           | and it is hard to get logs back, which restricted in size to
           | some kilobytes. You make educated guesses as to what is
           | happening, but are failing. Many weeks of work later, you
           | design your own process profiling technique using a hardware
           | logic analyser and from that you find the root cause. Easily
           | over a man-month of work.
        
           | Ma8ee wrote:
           | I think that this is the problem. No one understands what is
           | going on. So instead of trying to find the root cause of
           | anything, they add another tool or another layer. And then we
           | have 45 micro services running on a lot of expensive hardware
           | (somewhere) doing less and with worse performance than what
           | we used to do 15 years ago in a monolith on a single server.
        
             | mschuster91 wrote:
             | > And then we have 45 micro services running on a lot of
             | expensive hardware (somewhere) doing less and with worse
             | performance than what we used to do 15 years ago in a
             | monolith on a single server.
             | 
             | And yet, the "expensive" hardware of now is cheaper than
             | your single server from over a decade if you look at the
             | whole picture... a _lot_ of development trends are based on
             | capitalism incentives:
             | 
             | - Outsourcing stuff like server hardware management to AWS
             | is 1-3 FTEs less on your payroll, plus saving of datacenter
             | related cost (climate control, UPS maintenance, Internet
             | uplink, redundant equipment/spare parts)
             | 
             | - "DevOps" aka "let people who have never heard of Unix
             | cobble together Docker containers and CI pipelines until it
             | works Good Enough" is yet another saving of specialized
             | expert staff (SysOp / SRE)
             | 
             | - "microservices" got popular because it's easier to
             | onboard developers and treat them like disposable cogs if
             | your work packages can be really small, with clearly
             | defined interfaces
        
               | bluedino wrote:
               | > "DevOps" aka "let people who have never heard of Unix
               | cobble together Docker containers
               | 
               | I saw a script written by a devops employee where they
               | zeroed out all the partitions when they added a new web
               | server.
        
               | Bellyache5 wrote:
               | If this web server was running on AWS EC2 with attached
               | EBS volumes then zeroing out a new partition was actually
               | AWS' recommended practice to initialize the disk for
               | performance reasons. EBS no longer requires this.
               | 
               | https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-
               | init...
        
               | bluedino wrote:
               | These were just plain-jane docker images, but it's
               | interesting that this could be the source of it.
        
               | Ma8ee wrote:
               | We are currently paying quite much more than I'm used to,
               | and our throughput is a small fraction. I don't mind
               | managed servers, it just that we didn't use to need so
               | much of it.
               | 
               | Unix isn't that hard. And Docker containers and CI/CD
               | pipelines open other cans of worms, and since no one
               | seems to understand what is going on under the surface
               | (because no one wants to touch Unix), they just add more
               | monitoring tools and scaling.
               | 
               | But we suddenly need five times as many developers
               | because 80% of the code is just dealing with interfaces
               | and communication and handling race conditions and
               | recovering from failed network calls.
        
               | hnlmorg wrote:
               | > _" DevOps" aka "let people who have never heard of Unix
               | cobble together Docker containers and CI pipelines until
               | it works Good Enough" is yet another saving of
               | specialized expert staff (SysOp / SRE)_
               | 
               | There's plenty of us old UNIX greybeards working in
               | DevOps. And frankly in most fields of IT you're going to
               | see your fair share of younger engineers because that's
               | literally how life works: people get old and retire while
               | younger people look for work. Moaning that kids don't
               | know the tech they don't need to know is a little like
               | trying to piss in the wind: you might get some short term
               | relief but ultimately you're only going to soil yourself.
               | 
               | edit: It's also funny that you moan about AWS as
               | outsourcing while saying "people don't remember Unix" yet
               | Unix itself comes from a heritage of time sharing
               | services which are the same basic principles of cloud
               | computing.
               | 
               | If you're old enough you'll eventually see all trends in
               | computing repeat themselves.
        
               | TheOtherHobbes wrote:
               | I know people who were running commercial sites from an
               | average PC in a spare bedroom over ADSL in the early
               | 2000s.
               | 
               | A bit graphic design, a bit of PHP, a bit of email
               | management, MySQL, a "pay now" page imported from a
               | payment provider, and they were making good money for a
               | minimal startup cost. All the code written by one or two
               | people, often some external help with the graphics, and
               | sometimes the business concept was someone else's idea.
               | 
               | Obviously the services weren't scalable, they didn't have
               | hundreds of millions of users, and they didn't operate
               | globally.
               | 
               | But they didn't need to. And that's still true of many
               | startups today.
               | 
               | A few of them sold up for large sums.
        
               | Pamar wrote:
               | Yeah, and outsourcing sw development to India is a great
               | idea, until ...
        
               | pjmlp wrote:
               | I agree with everything, just wanted to nitpick that
               | microservices have been a thing at enterprise level since
               | Sun RPC.
               | 
               | The "microservice" name just seems to be the modern way
               | to make all forms of distributed RPC hipster fashionable.
        
               | Ma8ee wrote:
               | Distributed systems is certainly not new. But the whole
               | notion that we need to use them for absolutely everything
               | is new.
        
               | pjmlp wrote:
               | Not really, that was the whole premise behind BPEL
               | (Business Process Execution Language), and SOA (Service
               | Oriented Architecture) from early 2000's.
        
               | Ma8ee wrote:
               | I'm so old so I consider everything this millennium kind
               | of new ;)
        
               | int_19h wrote:
               | CORBA and DCOM, then?
        
           | reaperducer wrote:
           | _Systems were simpler,_
           | 
           | This is a HN trope that gets trotted out every time a subject
           | like this comes up. It's gone from amusing cliche to just
           | boring and false.
           | 
           | Yes, the hardware was simpler. But the knowledge wasn't.
           | 
           | For example, when I first started with ray tracing in the
           | 1990's, you used something like Turbo Pascal and had to
           | actually know and understand all of the math behind what you
           | were doing. Today it's just #include some random other
           | person's library and you're off to the races.
           | 
           | Today if a developer wants to display a new font, they just
           | add it to the massive tire fire pile of other abstractions
           | they've copied from the internet. Back in the supposedly
           | "simpler" days, you plotted out a font on graph paper, then
           | actually did the math of converting those pixels into bytes
           | for storage and display. And did the extra math to find ways
           | to do it in the most efficient way possible.
           | 
           | The knowledge has changed, but the amount of knowledge
           | hasn't.
           | 
           | Things are much simpler _now_ than they were then. That 's
           | why programmers today think it's OK to waste so much of their
           | computing resources. With the supercomputer power we have in
           | our pockets, this should be a golden age of computing, but
           | instead we use that power to feed people's vanity and
           | addictions.
           | 
           |  _side-effects were better understood and contained._
           | 
           | If that was true, then retro computer enthusiasts wouldn't
           | still be discovering features and capabilities today.
        
             | Mezzie wrote:
             | The first web pages I made I had to type into the OG
             | Notepad. And there were no tools to help, and you had to
             | support 3 resolutions + at least 2 browsers. This was
             | before responsive design (or indeed any kind of HTML/CSS
             | design practices) or media queries, so for _each page of
             | content_ I had to write six different pages. There were no
             | guides to help with understanding Netscape vs. IE, no 24-hr
             | tech updates /phones (so you'd take a vacation for a week,
             | IE would update, and you'd come back to sad emails about
             | how the site is broken), etc. Maintenance and upgrading was
             | a nightmare.
             | 
             | Luckily, we quickly stopped doing that, but the idea that
             | things were easier back then is because people _learned_
             | from what we were doing. In 20 years, people will talk
             | about how easy it was to make things in 2022.
        
             | ajmurmann wrote:
             | I think what you say is true in a way but also gets to the
             | difference between simple and easy. Pulling in a library
             | that does a lot of heavy lifting is definitely easier. The
             | resulting system most likely isn't gonna be simpler though.
             | You are now trying on a lot of code you don't understand
             | and there is probably also lots of code that you aren't
             | even using. This has very little downside to it till
             | something goes wrong. Is it going wrong because you are
             | using the library wrong or because the library has a bug?
             | This isn't gonna be a big deal and gonna be obvious for the
             | majority of cases, but the weird edge cases are gonna be
             | what wakes you up at night.
        
             | hnlmorg wrote:
             | You're arguing different points on the same broader topic.
             | 
             | The GP was talking about how much of the stack we don't
             | know. Ie if something fails in an abstraction underneath
             | what we develop in, then we're often fscked. And there are
             | so many layers to the stack now that the simplicity of
             | debugging the entire stack has gotten harder -- this is a
             | true statement.
             | 
             | However you are talking about the barrier for entry in
             | software development. It has gotten easy. This is also a
             | true statement but it doesn't make the former statement
             | untrue either.
             | 
             | By making it easier to write higher level code we end up
             | obfuscating the lower layers. Which makes it harder to
             | inspect the lower layers of the stack. So it's literally
             | both simpler and more complex, depending on the problem.
             | 
             | > > _side-effects were better understood and contained._
             | 
             | > _If that was true, then retro computer enthusiasts wouldn
             | 't still be discovering features and capabilities today._
             | 
             | This is a grossly unfair statement because you make a claim
             | for one side of the argument and, without comparing it to
             | the other side (ie are we still discovering features and
             | capabilities of modern systems?) draw a conclusion that the
             | original statement is false.
             | 
             | So lets look at the other side of argument: in fact the
             | reality is people are routinely finding optimizations in
             | modern systems. For example you often see submissions on HN
             | where hashing algorithms, JSON serialization, and such like
             | have been sped up using ASM tricks on newer processors.
             | 
             | Another example is some of the recent Rust code released
             | that outperforms their GNU counterparts.
             | 
             | It is also worth noting that modern hardware is fast so
             | people generally optimize code for developer efficiency (a
             | point you made yourself) rather than CPU efficiency. So
             | fewer people are inclined to look for optimizations in the
             | capabilities of the hardware. However once current gen
             | becomes "retro", you might start seeing a shift were people
             | are trying to squeeze more out of less.
        
         | dhosek wrote:
         | Things were also a lot more innocent in the old days. I created
         | one of the first (if not first) comprehensive TeX archives on
         | the internet by pointing the FTP server on a math department
         | VAX to the actual live application tree that was in use. I
         | never asked permission to do that. Deploying software generally
         | involved just putting stuff in the system directories. And I
         | had open telnet access to all kinds of machines at various
         | institutions. I can't imagine having things that open in the
         | contemporary world.
        
         | Minor49er wrote:
         | The closest thing I get to Easter eggs in professional work is
         | leaving references to people or things I like in testing data.
         | Not anything worthy for a spot on The Easter Egg Archive [1],
         | but more plentiful and certainly better than nothing.
         | 
         | [1] https://eeggs.com/items/47205.html
        
           | layer8 wrote:
           | I had a coworker who named all the StringBuffer variables
           | "buffy" (as in the vampire slayer). While being a Buffy fan
           | myself, I found this quite annoying.
        
           | bentcorner wrote:
           | I've done this. A long time ago I did QA for a layout product
           | and a lot of the issues were along the lines of "place this
           | square next to this text in this certain way, see the
           | attached screenshot for what it looks like".
           | 
           | The square could have been anything but I had a very cute
           | picture of my toddler so I used a photo of them instead. So
           | now somewhere in a database there are hundreds of reports
           | with a picture of my kid in them :)
        
         | mark-r wrote:
         | Microsoft eventually had to remove Easter eggs entirely,
         | because of government contracts that specified there could be
         | no undocumented behavior in their software.
        
           | layer8 wrote:
           | They couldn't just document them instead? ;)
        
           | reaperducer wrote:
           | I tried Google, but nothing came up. Do you have a source for
           | this?
        
             | mark-r wrote:
             | I might have been a little off on the reason, but they
             | really did remove Easter eggs: https://web.archive.org/web/
             | 20171123041231/https://blogs.msd...
        
               | Lammy wrote:
               | > One of the aspects of Trustworthy Computing is that you
               | can trust what's on your computer. Part of that means
               | that there's absolutely NOTHING on your computer that
               | isn't planned.
               | 
               | Yeah, like _NSAKEY. Much planned. Very trustworthy.
               | https://en.wikipedia.org/wiki/NSAKEY
        
             | kingaillas wrote:
             | No source, just memories from when I was there.
             | 
             | As I recall, Brian Valentine sent an email to the Windows
             | division and basically said that easter eggs made the
             | product look bad. Customers don't want to be patching their
             | systems constantly (I was there circa 2000 so in the
             | NT4/2000/XP era, so back when windows update was a website
             | you visited, and the original NT4/2000 bug fix delivery
             | mechanism was the service pack and various rollups) and
             | then also hear it contained easter eggs for funsies.
             | 
             | Microsoft also licensed the source out to companies,
             | governments, universities, etc and it wasn't a professional
             | look. Easter eggs in games - that's fine. Easter eggs in
             | your operating system, that licensees could see - not a
             | good look when the previous product (NT4) didn't have a
             | great stability reputation and Microsoft wanted to pursue
             | businesses with new SKUs like Windows Enterprise,
             | Datacenter, with features like clustering.
             | 
             | BV recognized programmers wanted to insert a little bit of
             | credit so for Win2000 the easter egg replacement was either
             | a link to a webpage (that listed the names of the Windows
             | team members) or a rolling display of those members. Sorry
             | I can't quite remember which it was... I think it was a
             | link to a webpage to keep as much out of the OS as
             | possible.
             | 
             | Remember this was around the time that Excel 97 had an
             | easter egg flight simulator, Word 97 had a pinball game,
             | and Windows NT 4 had one or two easter eggs maybe more (one
             | was the opengl screensaver would 1% of the time draw a
             | teapot at an intersection; the other was a scrolling list
             | of windows team members that I don't remember how it was
             | invoked. So due to this I'm 98% sure what he let into
             | Win2000 was a webpage link). By now, the URL is probably
             | long decayed.
        
               | wrs wrote:
               | I was there and remember the government contract reason
               | too, but also have no primary source.
               | 
               | (For the curious: Wikipedia has an article listing lots
               | of old MSFT Easter eggs.)
        
         | tomc1985 wrote:
         | > I can tell what generation an engineer comes from based on
         | attitude to whimsy. Younger devs almost always don't like them.
         | 
         | Oh they do, it's just its more of a preference for some cute
         | thing out of marketing. "Made with love" etc etc
        
       | exikyut wrote:
       | I'm pretty sure I've seen _jgs_ in other ASCII art elsewhere.
        
         | bonergarage wrote:
         | https://en.wikipedia.org/wiki/Joan_Stark
         | 
         | > Joan G. Stark, also known by her pseudonym Spunk or her
         | initials jgs, is an American ASCII artist.
         | 
         | See 'cats on a fence 8/98' for the missing risque frames:
         | https://web.archive.org/web/20091028023559/http://www.geocit...
        
           | Wang0618 wrote:
           | Here is a more relative one: https://web.archive.org/web/2000
           | 0307060602/http://geocities....
           | 
           | Once, I collected some ascii art and made a online gallery
           | (https://ascii-art.pywebio.online/#0_joan_stark.cat_love),
           | "cats on a fence " is one of them
        
       | rob74 wrote:
       | I always thought these "two cats sitting on a fence" scenes were
       | inspired by Garfield (e.g.
       | https://static.wikia.nocookie.net/garfield/images/d/d5/2010-...),
       | but maybe Garfield based that on something even older?
        
         | jimmaswell wrote:
         | Pretty sure I've seen it done in some classic Tom and Jerry.
        
       | TuringTest wrote:
       | Younglings may not remember, but Mozilla browser used to include
       | a kitchen sink[1], as a joke on the number of functions that were
       | added to it as an internet suite beyond being just a browser[2].
       | 
       | [1] https://www-archive.mozilla.org/docs/web-
       | developer/samples/k...
       | 
       | [2] https://bugzilla.mozilla.org/show_bug.cgi?id=122411
        
         | Melatonic wrote:
         | I wish they left this shit in
        
           | sebazzz wrote:
           | There is still about:robots though, which has been maintained
           | and updated in the new style over the years.
           | 
           | And of course, about:mozilla is still present.[0]
           | 
           | [0]: The Beast continued its studies with renewed Focus,
           | building great Reference works and contemplating new
           | Realities. The Beast brought forth its followers and acolytes
           | to create a renewed smaller form of itself and, through
           | Mischievous means, sent it out across the world.
           | 
           | from The Book of Mozilla, 6
        
       | mjg59 wrote:
       | I can only aspire to this level of beautiful whimsy - it's
       | unfortunate that it triggered a codepath that could be measured,
       | because that is by far the easiest excuse to remove something
       | beautiful and rarely seen. The closest I've managed is:
       | 
       | $ grep -o --text U+1F4A9 vmlinux
       | 
       | U+1F4A9
       | 
       | and while there may be an argument that this is whimsical, I
       | don't think there's an argument that it's beautiful.
       | 
       | (U+1F4A9 should be the literal Unicode PILE OF POO glyph, but HN
       | strips it, so)
        
         | stavros wrote:
         | But those bytes could randomly be in anything, doesn't mean
         | they're interpreted as Unicode, no?
        
           | mjg59 wrote:
           | Oh absolutely - as far as the code is concerned they're just
           | bytes, the fact that interpreting them as UTF-8 is
           | entertaining is not something the kernel cares about at all.
        
             | stavros wrote:
             | Ah OK, I thought it was implying that the kernel displayed
             | a pile of poo somewhere.
        
         | mjg59 wrote:
         | Although the fact that I've since encoded the "UUID" that this
         | is contained within into other codebases such that Linux can't
         | remove it without breaking some deployed u-boot builds is
         | definitely something I'm proud of.
        
           | Jaruzel wrote:
           | Your mention of UUID, reminded me that the GUIDs for
           | Microsoft office products in the Windows Registry all end
           | with '0FF1CE' - that's a nice Easter egg I think that doesn't
           | impact anything.
        
             | dspillett wrote:
             | I use ABAD1DEA somewhere in UUIDs in experiments/examples &
             | proof of concept code/data. And for a while one was
             | floating about in production where it would appear in URLs
             | for anyone who cared to look to see1, because someone else
             | took a bit of my PoC work and shoved it where it didn't yet
             | belong without review...
             | 
             | [1] not just in the middle of a sea of otherwise arbitrary
             | hex either, something like 00000000-0000-ABAD-
             | IDEA-000000000000 so it was easily visible as a "test"
             | value.
        
               | reaperducer wrote:
               | _I use ABAD1DEA somewhere in UUIDs in experiments
               | /examples & proof of concept code/data._
               | 
               | DEADBEEF shows up regularly if you work on projects that
               | have only a seven-segment display.
        
       | throwawayninja wrote:
       | > You see, ASCII art uses a monospace font, and the cats screen
       | was the only part of the startup sequence that used a monospace
       | font. Drawing the backstop window was forcing the rasterization
       | of an entirely new font, which was costing time and memory for
       | something that shouldn't ever be seen in the first place.
       | 
       | Wow, I never thought an entire operating system could be crippled
       | by font load times. Must be a problem I'm too linux & vector font
       | to understand.
        
         | forbiddenlake wrote:
         | The article makes no mention of crippling the entire operating
         | system. "costing time and memory" can be true without implying
         | a large magnitude.
        
         | junon wrote:
         | Most fonts are vector, except for bitmap fonts which are
         | typically only used in BIOS/VESA output. Not sure what the brag
         | is here.
        
       | jpgvm wrote:
       | TIL: Performance team are a bunch of heartless cat haters. /s
       | 
       | These sorts of articles are awesome though. I love hearing all
       | the stories that go on behind the scenes of huge projects like
       | this that otherwise never see the light of day.
        
         | registeredcorn wrote:
         | If you have the time, I highly recommend checking out the
         | NCommander's video talking about Space Cadet Pinball.
         | https://www.youtube.com/watch?v=3EPTfOTC4Jw
         | 
         | He references the same blog, and goes into some pretty
         | incredible detail about the history of what happened to pinball
         | coming pre-installed on Windows.
        
       | mark-r wrote:
       | I'll bet if you rendered those screens as 2-color GIFs, the
       | compression would make them similar in size to the ASCII text.
       | Then you wouldn't need fonts.
        
       | scubbo wrote:
       | Fun! In one of my early roles, there was a script passed named
       | `cat-art` that includes some images that are presumably
       | references to this - see https://pastebin.com/hhv0nXsm
        
         | jug wrote:
         | Yes, in fact their first frame looks identical to the second to
         | last one there as for the specific placement of characters and
         | the characters themselves.
        
         | Sniffnoy wrote:
         | References to this, or drawing from the same souce as it? The
         | comment about "jgs" would suggest the latter.
        
           | boomboomsubban wrote:
           | Kinda shitty they seem to have cut out her signature.
        
           | ramses0 wrote:
           | jgs- relatively a heavyweight in the world of ascii art.
           | 
           | https://www.asciiart.eu/animals/dolphins
           | 
           | I usually put a random ascii art animal in the `motd` of
           | random servers that I work with, and have seen tons of pieces
           | with a "jgs" sig.
        
         | laumars wrote:
         | ...or a Microsoft engineer used that existing cat art. I can't
         | imagine they'd be afforded much time to spend designing ASCII
         | art for a debug screen.
        
           | Cthulhu_ wrote:
           | > I can't imagine they'd be afforded much time to spend
           | designing ASCII art for a debug screen.
           | 
           | It's something to doodle while waiting for the compiler I
           | reckon. I can't imagine OS development to be a fast iterative
           | process.
        
             | laumars wrote:
             | I can't imagine ASCII art to be the quickest thing to
             | doodle.
             | 
             | But that aside, someone else has now linked to the source
             | and it wasn't MS.
        
               | allannienhuis wrote:
               | ASCII editors are a thing :)
               | 
               | eg: https://asciiflow.com/
        
               | laumars wrote:
               | At risk of stating the obvious, drawing a flowchart,
               | which is ostensibly just drawing boxes, is a whole
               | different level of difficulty to drawing pictures.
               | 
               | I will grant you that there are tools that will generate
               | ASCII art using letter shading (based on the number of
               | pixels that letter lights up) but that also is very
               | different to using the characters themselves to draw the
               | shape of the image (like with emoticons). That still
               | relies on raw human creativity...well maybe AI could now
               | do it but that wasn't around 15 years ago when Win 8 was
               | in development, let alone back when those images were
               | created.
        
       ___________________________________________________________________
       (page generated 2022-02-23 23:02 UTC)