But they’d rather you not really see through the product abstraction layer anymore. The Product People want to control the full image of the product and it’s just safest to de-humanize it in case that list is too big or people on that list become undesirables or whatnot.
I’m thinking about what this might look like today. Maybe a neat Easter egg in my iPhone that every time I activate it, it shows me a few people at random who played a role in development. I’d love it, but I imagine this would offend the high tastes of the Product People.
Oh, and you would get a red mark on your "HR P&D record" for the 'Secure Software Policy' violation.
(Shit.. I hated myself writing the above, but it's true)
In 2001 though, we would all laugh if we would have 'caught' the devs doing something cool like this!
I hope we do shrink software companies down to the mythical "1-person unicorns" so we can be done with this madness.
I prefer the taste of small auteurs to the consensus of product orgs and their politicking. (Add to that whatever design refreshes we are faced with when the designers declare a new design language.)
They will, often enough, find ways to go on being successful without you, but at least you can cart your cardboard box away with a clear conscience.
Those same techniques can also be used for mischief, if you prefer.
What a time to be alive.
sounds like a great way to burn out. if you do not take care of yourself properly, how are you expected to take care of anything else?
edit: oops late reply, but oh well
In a past life I did technical writing and slipped all sorts of fun things into my documentation: Multiple 4/20 references, my birthday, in-jokes from the team that I was working with, even the occasional proper meme. When I needed a link? Something funny from the official corporate channel on YouTube that I could get away with. Needed a company name? I checked every trademark we had on file to find Something.
Never be afraid to hide something wonderful in your code. The header for UFS2 contains the author's birthday [0] and OpenVMS has several interesting exit code states [1]
[0] https://en.wikipedia.org/wiki/Marshall_Kirk_McKusick [1] https://www.parsec.com/os/openvms/undocumented.php?page=13
In your own code or in your employer's code?
Because having some engineer years down the line spend hours figuring out some mystery WTF code, jut to realize it was some undocumented easter egg of another engineer who left years ago, would piss everyone off.
Easter eggs had their place when engineering teams would basically stay the same and work on the same product for years, so it would be like an inside joke the whole team was in on, but when teams are constantly changing with people job-hopping all the time, easter eggs are liabilities.
Be careful what you wish for, lest a special hotkey on a new Mac brings up a fullscreen portrait of Craig Federighi in his full mighty hairy-chested glory with “infinite” zoom into the chest (available as a 5GB download).
I don’t know if the message was edited, but GP addressed this with “Maybe… it shows me a few people at random who played a role in development.” Anyway, you could also show thousands of names/faces rapidly but still meaningfully, or let the user explore them slowly. Feels like the other responses are more accurate than it simply being about the quantity of people.
I think it's what I pick up on when I feel annoyed at the emulated soul they try to instil with their design/branding/commercials.
I think another example, sibling to easter eggs, would be April Fools. Mind you I hate April Fools, but the soul was sterilized as they Risk Managed their way to jokes/pranks that were guaranteed to be safe.
https://www.folklore.org/Signing_Party.html
So no "of course" about it.
Note also that Microsoft had a "no easter eggs" policy starting in the early 2000s. It's not really a Jobs thing.
- the effects of it are clear
- there's basically no chance of unexpected side effects (I suppose in theory it could structurally weaken the case if the signatures were carved too deeply...)
- if a user stumbles upon it the intention is pretty clear and obviously harmless
- it's not something that might get snuck in without approval of senior management, because it's not hidden in that sense, so there is a limiter on how many of them accumulate and how complicated they might get
which help to explain why you might by policy forbid software easter eggs while still being an advocate for "signing your work".
What people will put up with in a hobbyist and small business environment is very different to what's acceptable in enterprise and beyond. It's all fun and games until someone has to sell to the US government...
Note that this was in the aftermath of a summer with multiple major XP security issues.
It seems kinda harsh but it's important to remember the context: at the time, the security situation in Windows and Office was dire and it was (probably correctly) perceived as an existential threat to the company. I think "no Easter eggs" was as much for optics as for its actual effect on the codebase, a way to signal "we know about and stand behind every line of code that gets written; nothing is unaccounted for".
imagine your easter egg introduced a vulnerability. a blanket policy like that is literally the first document leadership signs and sends out.
There's a grain of truth to the grandparent comment but it is distorted by Occupy Wall Street ideology.
"... Steve Jobs reportedly banning them in 1997 when he returned to Apple ..."
It was probably driven by the same kind of pragmatic business drivers as the later Microsoft ban, i.e. the perception by the market of how "serious" Apple was as a company.
---
Edit: According to Gizmodo in 2012:
> He justified the credits ban as a way to avoid headhunters and other companies trying to poach Apple engineering talent. At a time when Apple was sinking rapidly, he said that it made no sense to make the life of the competition easier. He also argued that they were all responsible of the stuff they created in Cupertino. This was a complete change from the 1980s.
It's unlikely Jobs, having returned to an Apple in crisis, personally knew about some obscure ROM image, its location buried in secret assembly code. More likely, one of those "real people" removed it doing some cleanup.
Jobs routinely and publicly spoke about the amazing people who work for Apple. He spoke with Walt Mossberg about how important it is to build a great team and foster creativity.
“NewWorld” started with the iMac: only Open Firmware was in ROM and the classic Mac OS ROM was just a file on disk.
When a HW/SW team is shipping a new Mac and burning a ROM, that feels like an occasion to put in a picture of the team. When you’re not burning a ROM and the picture would take up space on everyone’s disk…not so much.
https://github.com/elliotnunn/HFSPlusBackport/blob/master/re...
when it comes to meta salaries, the old Mad Men scene about getting personal recognition for work comes to mind: "that's what the money is for!"
If I sell a cake for $3 that cost me $2 in ingredients/electricity/etc. to make, how is my $1 profit the theft of unpaid labor?
https://arstechnica.com/gadgets/2007/12/amiga-history-part-5...
https://raw.githubusercontent.com/tirrenotechnologies/tirren...
Now that I wonder where I could learn RE? Where do I even start? Got any recommendation of online tutorial or book or something?
Reversing more modern software is tricky. I wrote a couple articles a while back about hacking a Gamecube game that you might enjoy:
https://www.smokingonabike.com/2021/01/17/hacking-super-monk...
https://www.smokingonabike.com/2021/02/28/hacking-super-monk...
Accompanying HN discussion: https://news.ycombinator.com/item?id=26315368
A lot of the times, it just happens that someone was the first person that even bothered trying digging into the code. Specially after decompilation became much more accessible for less popular architectures with Ghidra. Give it a try, there's plenty of low hanging fruit! I've submitted another case some time ago.
Also luckily, considering other OS easter eggs, it doesn't seem like there was any obfuscation involved, like "chained xor stored in bitmap resource of badly supported executable format": https://x.com/mswin_bat/status/1504788425525719043
People often really deify Steve Jobs, but I dunno. I really like the years the Mac spent wandering the desert. I read things like this and feel like - even if it was a net win - Apple's culture and identity really ended up losing something with his return.
However, there were many wonderful things about this era. Jean Louis Gassée fought for expandable Macs, and his influence helped lead to the Macintosh II, which started a long series of expandable Macs that went unbroken until the “trash can” 2013 Mac Pro was released. System 7 might not have been the most reliable OS, but it had a wonderful UI. Don Norman and Bruce Tognazzini promoted solid UI/UX principles and guidelines. HyperCard is from this time period. Apple’s Advanced Technology Group with Larry Tesler, Alan Kay, and many others worked on very interesting projects such as the Dylan programming language and the SK8 environment. OpenDoc was an interesting attempt at making a component-based software platform.
There was also this cozy, whimsical feeling of the classic Mac OS that got lost during the transition to Mac OS X, though I’m greatly appreciative of Mac OS X.
I’m a fan of “interregnum” Apple and also 1997-2011 Apple when Steve Jobs returned, but I’m not much of a fan of Tim Cook’s Apple. This is when I felt Apple has changed dramatically from its roots. Apple is financially the most successful it’s ever been, but the Mac no longer has the same feeling it once had back in the 1990s or the 2000s. Apple has gone from the Mac company to the iPhone company now.
Yes. It was so personal and so fun to be able to customize things like sounds and window colors, and to have Oscar the Grouch sing every time you emptied the trash. That whimsy and wonder is exactly what's missing in modern computing; the devices are more personal, yet more sterile.
The whole "services company" characterization gets thrown around as a way to emphasize how many products Apple still has. But this is how it starts; less investment in disruption and more money funneled into new AppleTV+ episodes or publishing on Apple Arcade. Apple Car, Airpower and arguably Vision Pro are all buried in shallow graves, with AI becoming the heir apparent to Apple's technical sheen. The message is clear: selling you software is Apple's goal.
I'm still twitching 30 years later... what a piece of shit mine was. Spent more time in AppleCare than in my possession being used.
I use to try it in any tool tools I was playing around with (I use to try lots of software just to see what they do) and often found something here.
These stopped being a thing at some point and I eventually stopped looking for these.
I doubt there will be anyone digging through the EFI or whatever of a MacBook Air in 30 years. If there’s even something there to be found.
But that's the thing right there. We won't know until someone does the search.
So you can see that "The Team" is indeed a single string, starting with the length of 8 (encoded as 0x08), followed by the string "Break at Event Match - Native" with length of 29 (encoded as 0x1D)
0: https://stackoverflow.com/questions/25068903/what-are-pascal...
These people are Computing Archeologists - I don't know if that is a formal category but that is how I think of them. They go deeper into software and hardware of the past and bring back such gems before those are lost forever to the tides of e-waste.
For some reason I really enjoy "computer archeology" about Super Mario 3 and 64. There is even a total decompile of 64.
But I suppose also there's less fun allowed, the article mentions this easter egg was removed in 1997 when Jobs returned.
- modern screens are higher resolution, and so require much larger image resources.
- modern OSes contain all translations in them. In the 90s it was common to have language-specific versions that only contain that language and maybe English.
In the specific case of macOS, it also contains double the code it needs because it runs on both x86 and ARM.
I just did a "ncdu -x --exclude Volumes --exclude Users /" on my 15.5 (side rant: why the hell is the exclusion necessary to prevent ncdu going into an infinite recursion loop? -x should keep it on the same filesystem, no crossing mountpoints)... and well.
800 MB in printer drivers (/Library/Printers), 425 MB in audio loops (/Library/Audio/Apple Loops), probably 500 MB in various AI models in /System/Library/PrivateFrameworks (/MediaAnalysis.framework, /CoreSceneUnderstanding.framework, /CVNLP.framework, /TextRecognition.framework, /CoreHandwriting.framework), around 2 GB of other AI models in /System/Library/AssetsV2 (/com_apple_MobileAsset_LinguisticData, /com_apple_MobileAsset_UAF_Siri_Understanding, /com_apple_MobileAsset_Trial_Siri_SiriTextToSpeech), 800 MB in /System/Library/LinguisticData, a whopping 550 MB in fonts in /System/Library/Fonts (of which Apple Color Emoji.ttc alone consumes 180 MB of data?!).
So it's at least 2.5 GB of AI models alone. Crazy. I mean, props to Apple for offering local models that work without internet, that's far from a given these days (sad enough). But the lowest-spec MBA clocks in at 256 GB disk space... having to waste 1% on AI alone and more on all the other stuff? That's ridiculous.
I don’t think 2.5 GB is a lot nowadays. Xcode is over 12 GB, iMovie over 4 GB, MS Word 2 over GB
> having to waste 1% on AI alone
Is that ‘having to’? I thought those models only get downloaded after you give permission to do so.
Same for some other stuff, I think. /Library/Printers is 12 MB on my system, for example and /Library/Audio 584 kB.
Word is ridiculous, agreed. Xcode isn't mandatory (although I'd LOVE to have it ship without tons of mandatory SDKs, emulators and god knows what else makes up the 12 GB) and I'm not sure if iMovie is.
> Is that ‘having to’? I thought those models only get downloaded after you give permission to do so.
I can't remember having ever given macOS the permission to install Siri and the likes.
> /Library/Printers is 12 MB on my system, for example and /Library/Audio 584 kB.
Indeed, tried on another machine, no printer drivers there. Probably the culprit is HP, their drivers suck balls. /Library/Audio however, that's just the same size on my M2 MBA as it is on my 2019 MBP.
On Windows, you typically have to install language packs to get more languages.
Also, how many image resources does Windows-the-OS have, and how large are they? There are some, but the largest I can think of right off are the device icons in the hardware & printers screen. And most of those get installed later since they are part of the driver.
Probably a good call. Whenever I see an Easter Egg in software, part of me thinks “cool! That’s fun and harmless!” And the other part of me, the professional part who is responsible for releasing working software on time and minimizing risks, gasps and thinks “what if it wasn’t harmless? What if it triggered a subtle bug that had to be patched and put an entire device’s shipping timeline at risk!” What are you going to write in that postmortem that justifies adding unnecessary code (risk) to the product, just so you could be cool and fun?
I know this is an unpopular opinion here, but there are great, appropriate places for fun and whimsy, like personal hobby projects, not your company’s multimillion dollar product.
...now do the Black Monolith.