NHacker Next
login
▲Jokes and Humour in the Public Android APIvoxelmanip.se
247 points by todsacerdoti 19 hours ago | 137 comments
Loading comments...
coxley 7 hours ago [-]
For many years at FB, suffixing dangerous or really-deprecated tokens with `_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` was the standard. Everyone[^1] was in on the joke.

In the middle of the pandemic when ~50% of the workforce had started post-2020, it and other things became complaints for causing fear/uncertainty. We didn't do the best job on-boarding remote people and making them feel part of the culture at that time.

[^1]: It was a big company so this statement could only be true in the circles I had access to.

otras 5 hours ago [-]
I remember seeing this in React's __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, and I've always enjoyed similar lighthearted and unwieldingly-long names.

Unfortunately I see it too has fallen victim to defunnification: https://github.com/facebook/react/pull/28789

shkkmo 5 hours ago [-]
Fun names are OK, but only if they don't introduce ambiguity. In this case the change wasn't so much anti-fun as anti-ambiguity.
otras 4 hours ago [-]
That's a great call-out, and it (along with the change itself) underlines the importance of not letting fun get in the way of actual engineering improvements. Defunnification as a side effect, if you will.
tetromino_ 4 hours ago [-]
My favorite funny function in the Android source is android.os.Handler.runWithScissors() [1] - but (unfortunately) it is not part of the public API.

[1] https://android.googlesource.com/platform/frameworks/base/+/...

ROllerozxa 4 hours ago [-]
> @hide This method is prone to abuse and should probably not be in the API. If we ever do make it part of the API, we might want to rename it to something less funny like runUnsafe().

:D

Sohcahtoa82 2 hours ago [-]
I was looking for this in TFA. Sad it wasn't included, as it's one of my favorites.
Aransentin 11 hours ago [-]
For X11, from the top of my head:

The global variable that toggles a bunch of legacy cruft is called "party_like_its_1989": https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/di...

The changelog for the DRI2 extension is "Awesomeness!", "True excellence", "Enlightenment attained" etc: https://www.x.org/releases/X11R7.7/doc/dri2proto/dri2proto.t...

agildehaus 12 hours ago [-]
Reminds me of BeOS (and now Haiku), which have "is_computer_on()" and "is_computer_on_fire()" both with great descriptions.

https://www.haiku-os.org/legacy-docs/bebook/TheKernelKit_Sys...

vintagedave 11 hours ago [-]
Reminds me of Delphi -- it has an exception 'EProgrammerNotFound'.

https://docwiki.embarcadero.com/Libraries/Athens/en/System.S...

With a completely serious (though short) documentation page I read as very, very dry humour.

throw74848484 11 hours ago [-]
I know it is trying to be funny. But those states are quite normal in modern computer with advanced power management. OS should handle wakeups from deep sleep, or state where temperature of motherboard is 200 celsius.
mordae 11 hours ago [-]
Unlikely. Nothing is specced beyond 140 Celsius and many parts not beyond 80.
kxndnddn 5 hours ago [-]
That statement is far too general and also factually wrong e.g. HT83C51 is specced for operating temperatures of 225 deg Celsius
AlotOfReading 5 hours ago [-]
That's still not a chip where an OS would have to handle motherboard temperatures of 200C, like the original point though. An 8051 is going to be running bare metal. TI has some stuff in the C2000 line that can run FreeRTOS at 200C, but the overwhelmingly vast majority of chips on the market are rated to 150C max.
yomimiva 12 hours ago [-]
For the curious minds: https://github.com/haiku/haiku/blob/master/src/system/libroo...
tomn 6 hours ago [-]
looking around a bit, it's used as an example in the documentation:

https://github.com/haiku/haiku/blob/7d07c4bc739dbf90159a5c02...

This is actually a great reason to keep it around; it's as simple as possible, and nothing uses it so it's easy to find the relevant bits of code.

yoko888 9 hours ago [-]
I like that this sense of humor is still preserved in such a huge company code base. You won't notice it when you use the API, but when you look at the source code, these little Easter eggs will remind you that there are real people behind the code. Compared with the cold feeling of many software nowadays, this contrast makes people feel warm. Honestly, maybe we need more of this.
b0a04gl 1 hours ago [-]
these get into logs, metrics, API contracts. now you're explaining isUserAGoat() to a partner team in a quarterly review. nobody’s laughing then

funny thing is, linters catch unused vars but not unfunny ones. maybe we need a linter that flags joke names after 90 days. if it’s still funny, you keep it. else rename and move on

lelandfe 5 hours ago [-]
> a hidden column in the Chrome task manager that shows how many goats a browser process has teleported

Was very dissatisfied to find this no longer works. Here's an old post with a screenshot: https://www.100-geek.net/articles/goats_teleported?action=ar...

From 234 columns to 16, what a purge.

paxys 4 hours ago [-]
I miss the era of easter eggs in tech products. Kinda went away with the corporatization of everything.
rfrey 6 hours ago [-]
I want to make replying to this thread a requirement for anybody I'm interviewing to hire. Also for anybody interviewing me. Truly a "2 kinds of people in this world" moment.
owebmaster 5 hours ago [-]
Why? Googlers adding jokes to APIs is about as funny as dad jokes at Christmas dinner.
rfrey 5 hours ago [-]
So I know which of the 2 kinds of people in the world they are.
TrianguloY 13 hours ago [-]
If you want to test the isUserAGoat and isUserAMonkey on you own device, I published this small app that does just that: https://play.google.com/store/apps/details?id=com.trianguloy...

Maybe I can add these other easter eggs...

ROllerozxa 5 hours ago [-]
That would be quite fun, especially if you would have some thing that checks the DISALLOW_FUN policy. While doing a quick search on GitHub while reading the blog post to see if any Android apps with available source code were using it, all that came up were repositories containing code for the system Settings app locking away the version easter egg based on it. You might become the first third-party to use it!
mixermachine 12 hours ago [-]
On my device with Android 15 I can't install your app. Google enforces a minimum compielSdk now. Maybe you can upgrade it in your build :)?
itsTyrion 6 hours ago [-]
If you check the app description, there's a GitHub link, which in turn has an f-droid link you can use.

But you're not missing out since `isUserAGoat()` will return false on Android >=11 anyway and `isUserAMonkey()` will return true if and only if you're using the monkey test suite.

theletterf 12 hours ago [-]
This means jokes and humour in technical documentation. While it's often frowned upon, I love a bit of humour in docs. I wrote about this here:

https://passo.uno/experiment-humour-documentation/

pugworthy 46 minutes ago [-]
Love the Lost (TV show) reference as well as the value of the constant.
lawgimenez 13 hours ago [-]
How isUserAMonkey API came about: https://books.google.nl/books?id=68BZEAAAQBAJ&pg=PA96&lpg=PA...
rompic 12 hours ago [-]
To ensure that the monkey of a monkey test (an emulated user doing random taps) cannot do all possible actions.

https://books.google.nl/books?id=68BZEAAAQBAJ&pg=PA96&lpg=PA... "Bruce grew the lab over the years from an initial set of seven devices to more

than 400. He said there were some unanticipated problems to resolve over that time. "One day I walked into the monkey lab to hear a voice say, '911-What's your emergency?" That situation resulted in Dianne adding a new function to the API, isUserAMonkey(), which is used to gate actions that monkeys shouldn't take during tests (including dialing the phone and resetting the device)."

fredoralive 11 hours ago [-]
Interestingly, the original Mac had a similar MonkeyLives flag: https://folklore.org/Monkey_Lives.html
ROllerozxa 4 hours ago [-]
I assume that's the "The Monkey" testing tool for the original Mac that's mentioned in the footnotes in the Androids book. Supposedly goes back to the infinite monkey theorem that makes monkeys act as a metaphor for randomness, and it was also mentioned that one of the developers of Android had used the same kind of monkey testing for WebTV and Palm OS.
znpy 12 hours ago [-]
"image not available"
riffraff 12 hours ago [-]
that's because you're not a monkey
bertil 11 hours ago [-]
The `<blink>` tag was an official part of early HTML standard, until teenagers showed up online and sanity prevailed. I suspect this could have been there to maintain compatibility with older webpages.
tuveson 4 hours ago [-]
It actually seems like there’s another Easter egg if you google “blink tag”: https://www.google.com/search?q=blink+tag

(Doesn’t seem to trigger on iOS, but works in Chrome and Firefox on desktop)

ROllerozxa 4 hours ago [-]
Yeah that's where the concept of the blink tag originates, the now deprecated HTML tag. But what's covered in the blog post refers specifically to a hidden (and AFAIK undocumented) blink tag that exists in the Android XML layout view system, which is an independent thing from the system WebView browser (that I assume probably still contains some code for blink tags, but that wouldn't be a surprising discovery). I don't know if there are any other built-in tags in Android views that really map to HTML tags otherwise.
fredoralive 11 hours ago [-]
This blink is in a specific UI XML dialect, not HTML.
ninjaoxygen 7 hours ago [-]
True, it has never been in an HTML standard, however it was definitely a documented part of early HTML.

The blink element was in Netscape Navigator's HTML dialect in 1993/94, when early HTML was still just hitting IETF RFCs / DRAFTs, you can find blink in the Netscape HTML developer documentation from just after that era, DevEdge. It was never in NCSA Mosaic, the other big GUI browser of the era.

Later on in the process of being standardized, when it was more W3C than IETF albeit still mainly the same people, Netscape agreed to drop blink from the proposals if Microsoft dropped marquee, so in that sense yes, it was never in a standardized version of HTML, but many tags in active use at the time were never in a standards doc.

See here https://www.w3.org/People/Raggett/book4/ch02.html for some history from w3c, who went on to become the formal custodians of HTML after the IETF days.

Edit: here's the earliest Netscape Developer Docs I can see on archive.org https://web.archive.org/web/19961115043739/http://developer....

uncircle 9 hours ago [-]

  public static final String DISALLOW_FUN
The default value is false. [...] Type: Boolean [...] Constant Value: "no_fun"

Source: https://developer.android.com/reference/android/os/UserManag...

---

How the hell did this pass code review? Are booleans strings on Android?

objclxt 9 hours ago [-]
> How the hell did this pass code review? Are booleans strings on Android?

You are misreading the documentation, it's a key/value API.

`DISALLOW_FUN` is the string key you pass to `setUserRestriction`, which takes a boolean value.

uncircle 9 hours ago [-]
That makes more sense. Thanks.
izacus 8 hours ago [-]
Also this is an enterprise policy constant, so it gets sent (and configured) as string/string dictionary via REST API from MDM backend. That's mostly because the constants can be of mixed types (e.g. "MAX_PASSWORD_CHARS" : "1", "DISALLOW_NETWORK_SWITCHING: "true" - example, constants not actual).
stevepotter 7 hours ago [-]
Someone else pointed out the reason for the datatype. A more subtle problem is the use of double negatives. Boolean APIs like "disable" will throw off users of your API.
eej71 6 hours ago [-]
On OpenVMS, DCL (the shell and main scripting language of choice) had this as an exit code.

$ exit 2928 %SYSTEM-W-FISH, my hovercraft is full of eels

butz 5 hours ago [-]
Looks like they finally set DISALLOW_FUN to true by default in latest Android release.
khernandezrt 5 hours ago [-]
The Androids: The Team that Built the Android Operating System: link isn't working :(
ROllerozxa 5 hours ago [-]
oops, no idea why the link I put there didn't work. Just corrected it, ended up linking to the page about the book on Chet Haase's website instead: https://www.chethaase.com/androids
gyomu 12 hours ago [-]
Is there anything similar in the public iOS API?
neuroelectron 4 hours ago [-]
This is why I refuse to use android
londons_explore 13 hours ago [-]
Notice how pretty much none of these are added in the last 10 years?

Android's become 'more mature' - ie. Boring, and the joke to code ratio is dropping rapidly.

rendaw 5 hours ago [-]
If you're 10 hours into debugging something, or you're swamped with a horde of bug reports and bad reviews, and after digging in you find the bug is in upstream code laced with humor, it comes off as if upstream isn't serious about software development or is making light of the responsibility. Lots of things start small, but X11, Android, etc etc are now used by millions, in lots of different situations, and humor is highly contextual.
kube-system 4 hours ago [-]
> humor is highly contextual.

This is key. Writing jokes is easy, but it is much harder to guarantee that your joke is only displayed in appropriate contexts in the future. When what the author thought was a witty joke shows up in a new and inappropriate context, they no longer look very witty, but instead like a fool. What is funny in developer documentation on a normal Tuesday might not be funny in a negative article on the front page of the Wall Street Journal.

aaronbrethorst 13 hours ago [-]
Good, I hate ‘funny’ code. Just get to the point, I’m not here for someone’s notionally hilarious inside joke from 18 years ago.
girvo 12 hours ago [-]
Ah I see you're one of those who would enable `UserManager.DISALLOW_FUN`!

I personally quite enjoy a bit of whimsy in code. What we do (mostly) isn't that serious (modulo those, including me once upon a time, who work on literal life and death software)

izacus 8 hours ago [-]
I think that's a big line between people who work as software engineers becuase they enjoy the work and want to build something and folks who go there to punch the ticket and run back home as soon as possible.

The second group doesn't want to deal with "all the fun crap" and "distractions" that stand in the way of them marking a bug fixed (or, god forbid, actually getting extra bugs/work assigned because some "fun" code might break or cause confusion).

As teams and companies grow, the second group usually outgrows the first and the first group moves on to reform into smaller teams working on something else again.

sumtechguy 5 hours ago [-]
I have had my share of fun things I added to code/environment. Yet then we add 'the new guy'. They spend a long time arguing why that humor should not be there. One project it was a single line comment about new beginnings on the main procedure. That created a 2 hour rant about how unprofessional it was and months of unwarranted verbal abuse. It was literally the only piece of humor in the entire codebase. Super petty. Turned a fun functioning team into a slog of even wanting to go into work and all the rest of team reassigning themselves to other work. I use it as a litmus test these days of what I want to work with. Kind of tempted to add it to interview questions but have not found a proper way to do it.
AnimalMuppet 4 hours ago [-]
Better to reassign 'the new guy', rather than let him destroy the team.
sumtechguy 4 hours ago [-]
Exactly. However, that would mean the boss thought the same, as he was hired specifically for that team. By the time it had happened the boss had not even noticed. Despite the team basically telling him every day in 50 different nice ways. In this case I did not realize it was controlling and manipulative behavior. But I learned and can spot it off pretty quickly now and will make sure it does not happen again.
sdeframond 8 hours ago [-]
Things that seem fun when they are written are often not much so a few years later, without the initial context, when trying to actually "build something".

Fun is good when it is fresh. Fossilized fun is not that fun. It is more like that uncle who heavily tries to be fun at family parties.

owebmaster 8 hours ago [-]
Google is not fun and people that try to be funny from Google are cringe
acheron 3 hours ago [-]
Right? I like jokes in programming. I do not like jokes coming from the evil dystopian megacorp that ruined the Internet.
thorin 4 hours ago [-]
Harking back to the days when people at Apple, Microsoft, Google and Bell Labs had fun. It really happened, allegedly!
salawat 6 hours ago [-]
The young one speaks with enlightenment beyond their years. If only we could all be so blessed.
jrockway 12 hours ago [-]
I agree with you. The dinosaur game in Chrome is the classic example; turned off because schools threatened to not buy Chromebooks if kids could play a game in the browser. At least it seems to be a setting now, so your individual locality can decide if fun is allowed.
joshstrange 8 hours ago [-]
That’s quite different from what we’re talking about though. That’s adding games or fun into your product whereas in this specific sub-thread we’re talking about naming code concepts (functions, classes, variables, enums, etc) funny things.
notpushkin 7 hours ago [-]
When you’re building an API, it is your product.
potatolicious 5 hours ago [-]
Not to mention even just this article exposed a just-for-fun API that ended up having a negative effect and had to be removed:

`isUserAGoat` ended up allowing any caller to determine if a specific app is installed on the system, which is a privacy violation and allows fingerprinting against the user's consent.

I get the desire to make the job more fun than just implementing a spec, but many of the things we work on are very important and very complex, with oodles of real-world consequences. That unfortunately means everything we do has to be well-considered and not off-the-cuff.

pineappletooth 3 hours ago [-]
Well it was not an issue back then since any app was able to query certain arbitrary specific apps (and yes some apps used to query a big list).

They disabled the "fun" function in android 11 with the arrive of the QUERY_ALL_PACKAGES permission.

nlnn 10 hours ago [-]
I don't mind either personally, but I've had a few occasions where such things have caused issues with engineers that didn't have English as a 1st language.

A fair bit of time was wasted on trying to understand some joke/pun code and variable names, and on another occasion, spending the best part of a day working on something because they took some sarcasm in code/comments literally.

nick__m 8 hours ago [-]
English is not my native language yet I love pun and joke in doc. If those hypothetical developers are wasting time on this, maybe they should just get better at English because there are important nuances that will fly over theirs head.
joshstrange 8 hours ago [-]
I couldn’t agree more. I work in a codebase that has a handful of these “fun”-named functions/concepts and I hate it. It wasn’t funny the first time I came across it (just very confusing) and it’s not fun having to explain to new hires why a few things are named the way they are.

It needlessly complicates reading/following the code. Even if you explain the naming back at where you define the function/variable it add an extra click-through/hover to read that and an extra translation you have to do in your head when you read the “fun” variable name in the future.

One example is we have a flag called “dinnerbell”. What does that do? It tells the server receiving that flag to “come and get it”, “it” being the full data object instead of just getting a delta. It could have been called a whole slew of other things that would make more sense.

ramon156 12 hours ago [-]
Live a little. When you've passed away, was all the seriousness paid off?

That said, funny code should still work

aaronbrethorst 13 minutes ago [-]
Not having to understand someone's goofy inside joke gives me more time to spend on the things that matter the most to me. So: less funny code == living a little more.
magospietato 12 hours ago [-]
There's a middle ground for sure. I've left a few witty comments and loglines in my time.

But I've also had to debug a Delphi unit which returned error codes inspired by the magical supercomputer Hex from the Discworld novels.

"Divide by cucumber error" is not a decent enough representation of a module's internal state, no matter how funny you think you are.

tikhonj 11 hours ago [-]
But a wholly non-funny "Invariant Violated" message would be no better. The problem isn't that the message is funny, but that it does not contain the information you need to understand what's going on. The whimsy is just a distraction.
eptcyka 10 hours ago [-]
Do you find that distracting things help you debug shoddy code?
tikhonj 8 hours ago [-]
They don't hurt, and it's fun to come across them. If the funny thing is used in one place, it can be memorable and easier to search for. If it's the equivalent of "error [error]" or whatever, I honestly don't care.
arccy 9 hours ago [-]
if "divide by cucumber" is a unique string in the code base, then yes?
wiseowise 8 hours ago [-]
Right. And how many of those can your brain fit?
maccard 8 hours ago [-]
Doesn’t matter. The important thing is that I can look them up or resolve them easily. Without looking it up can you tell me the difference between HTTP 451 and 510? If not they’re no more useful than I’m a teapot. But I can identify both of those uniquely and figure out where they’re coming from.
tikhonj 3 hours ago [-]
This is a great example where humor can help: I love http.cat because the whimsy makes it easier to look up and remember status codes. Not exactly the same as jokes in code, but an example of how more humor can be better than less humor for practical, human-factors reasons.

https://http.cat/451 and https://http.cat/510 for reference

451 is a bit of a niche joke (took me a bit to realize it was Ray Bradbury), but 510 is definitely going to help me remember "not extended" :P

notpushkin 7 hours ago [-]
You can remember some of those by heart. Everybody knows what 404 means nowadays.

451 is also a bit whimsical btw – and that actually helps remember what it stands for (Unavailable For Legal Reasons).

dotancohen 8 hours ago [-]
"Divide by cucumber error" sounds like a great string to grep for - so actually helpful for developers to find the place in the code that threw it.
wiseowise 9 hours ago [-]
Who cares what happens after you’ve passed away. You’re dead.
Scarblac 8 hours ago [-]
Only the things that remain of you after death really matter, everything else will have gone completely then anyway.
wiseowise 8 hours ago [-]
No, even those don’t matter. You’re dead.
ahartmetz 8 hours ago [-]
There are other people in the world.

Similar to not caring at all about the rest of society when you're alive, not caring at all about the rest of society when you're dead makes for a shitty society. You are not the world, there is an external reality (with people in it!), and you have obligations to it. I'm not a religious person, but it seems to me that religion helps or used to help with such things.

AnimalMuppet 4 hours ago [-]
To me, now alive, those things that will endure after I die matter to me now, because they will endure after I die.
reaperducer 8 hours ago [-]
Who cares what happens after you’ve passed away.

Every single person who isn't you.

You are aware there are other people besides you, right?

wiseowise 8 hours ago [-]
The original comment said about doing it for yourself.
reaperducer 7 hours ago [-]
The point stands.
dkersten 8 hours ago [-]
Me too. Professional code isn’t the right place to insert your personality or sense of humour.
bmitc 8 hours ago [-]
I am in this camp as well. Even worse are cute error messages.

If software actually worked, then I'd be fine with more whimsy. But it doesn't, so I'm not.

doright 6 minutes ago [-]
I remember when the Steam "login from a new computer" auth flow shoved a big "Hi there!" in user's faces the moment it blocked access to their entire online functionality until they left to get a code from their email and came back. Sometime later they removed it and now it's just "please look for the confirmation code sent to <address>".

I think in the push to make computing "friendlier" by dressing up error messages, past a certain point they began to come off as condescending. I wish modern UX could focus on working for me instead of trying to be my friend all the time.

outime 8 hours ago [-]
It's even worse when you stumble upon a repo with already poor documentation, only to find it filled with silly jokes e.g. "You thought this would be easy, right? Well, that's what X thought too, but..." yeah, leave the storytelling aside please.
anal_reactor 12 hours ago [-]
I've noticed that modern life is in general less fun than it was 10 years ago. It might be me getting older, but I'm sure there are bigger societal changes too. BTW I used to browse tcrf.net and it was so interesting that video game developers would leave pieces of themselves in their work. Love letters, old memes, angry letters, random shit, whatever. Meanwhile modern programming is all about pRoFeSsIoAnALisM and MaXiMiZiNg PrOdUcTiViTy at all costs.
NewsaHackO 12 hours ago [-]
Yes, it like a rite of passage from a startup to “mature” company. It’s like Google’s or Reddit’s April Fools jokes. Actually, the novelty of April fools jokes can probably be a KPI of how corporatized a company is.
Sebb767 10 hours ago [-]
> BTW I used to browse tcrf.net and it was so interesting that video game developers would leave pieces of themselves in their work. Love letters, old memes, angry letters, random shit, whatever.

This is quite dependent on the games you play. Modern games are becoming larger, which makes the project overall more serious and makes it harder to hide easter eggs. That being said, Indie games with small teams still contain a lot of fun and even AAAs can still contain some goodies.

saidinesh5 10 hours ago [-]
I think it really is up to us to make things as fun as we want to see... There may be more minefields as we grow old (Can a senior pull a harmless prank on newly joined juniors without coming off as mean/threatening?), but at the same time these little joke comments/commit messages, pranks etc.. are what brought people closer together in every place I worked at so far...

I mean what other choice do we really have? let the fun police win?

7 hours ago [-]
dylan604 16 hours ago [-]
How is someone writing an article about Android source code node nerdy enough to know what a Tricoder is? I don’t buy it
kretaceous 15 hours ago [-]
They are in their early 20s and not American¹. Why is that so hard to grasp?

1: https://voxelmanip.se/about/

dylan604 14 hours ago [-]
Funny, when I was in my 20s and not British, I knew what a Dalek was because it was just part of the zeitgeist. Tricoders are frequently mentioned as one of the life imitating art type of things that modern tech is striving to take from sci-fi to IRL. I had never even seen an episode of Dr Who, but I was familiar with it because of all the other sci-fi/nerdy stuff I was into. Ironically, I did know what someone wearing an H on their forehead meant from watching Red Dwarf, but that’s a tangent. It just seems like a strange Venn diagram where source code android and Star Trek tricoder do not intersect would be a very odd diagram
perching_aix 13 hours ago [-]
I think you hit the nail on the head there, you and the author are simply from different cultural zeitgeists. I also remember Star Trek and Dr Who being a big deal, but I was entirely too young to care. And I continue not to care, since I don't watch live action shows much. Never seen an episode of Friends or Game of Thrones either for example. Just a starkly different generation and subculture.
ROllerozxa 5 hours ago [-]
Indeed. There is such an immense amount of media that is produced from decade to decade that nobody can ever know everything and understand "all" the references. Things that may seem like "things everyone know about" vary wildly between location and year ranges, and in the recent decades with the Internet there are just so many subcultures that all could be classified as "nerdy" but which lack a lot of overlap.

I suppose I'm too young to have watched Star Trek when it was really popular (and have all sorts of other blind spots when it comes to TV shows and other media even for people my age), but I've definitively heard about it. And I know some other references to it like Spock and the Vulcan salute, but the Tricorder had completely missed me until now.

Also, with something like GRAVITY_DEATH_STAR_I I could pretty easily tell it was a reference to something fictional (in that case Star Wars) since there is obviously no celestial body with that name. But with the Tricorder I was looking to actually make sure it's not some kind of actually real but vestigial hardware sensor thing that Android might have supported in the 00s, tangentially related to the Tricorder that was on Star Trek. I have certainly witnessed stranger coincidences.

Like Android still has functionality in the API for supporting trackballs, which I know used to be on some really early Android phones. So if that had been among the list as "there's this joke input device called a 'trackball' in the API, implying there are phones with a big physical ball you can roll around to move a cursor on the screen", that would be quite silly. Because it was a real and used thing in the past, even though nowadays it's more of a legacy feature (though might be a bad example as I assume you can connect input devices over USB or Bluetooth that may be treated as a trackball by Android).

eCa 13 hours ago [-]
> the other sci-fi/nerdy stuff I was into

I guess that’s your answer. People have different interests and as such there’s a virtually unlimited number of culture combinations that people can be into. And people can have white spots in places that are surprising to others, there’s only so much time.

13 hours ago [-]
jaoane 13 hours ago [-]
It’s tricorder not tricoder.
dylan604 6 hours ago [-]
Clearly, I was never a Trekkie.
IAmBroom 47 minutes ago [-]
Or your babelfish has a head cold.
kalleboo 6 hours ago [-]
The age makes sense, but Swedes are definitely into Star Trek https://en.wikipedia.org/wiki/S.P.O.C.K
sorenjan 9 hours ago [-]
I think you're underestimating how Americanized Swedes are.
matsemann 8 hours ago [-]
Who needs Star Trek when you have Vintergatan?
CobrastanJorji 12 hours ago [-]
My fellow old person, Deep Space Nine came out 32 years ago. It's not something the nerds of today need to know. All these great sources of nerd allusions will be lost in time, like tears in rain.
Agentlien 15 hours ago [-]
While I found it surprising at first I don't think it should be. Star Trek really doesn't seem to be as big as it used to be.
justsomehnguy 12 hours ago [-]
> Star Trek really doesn't seem to be as big as it used to be.

Hint: it was never big outside of the USA. If anything, Internet and the Hollywood reboots is the way most people outside of the USA learnt about it.

Also try to find Europe in the article: https://en.wikipedia.org/wiki/Cultural_influence_of_Star_Tre...

riffraff 12 hours ago [-]
Are you sure?

I'm Italian and we had Star Trek (all the films, all the shows, many of the books), and apparently the Star Trek Italian Club[0] was funded in 1982. I think Spock and Kirk were quite familiar to most people, and for sure as a nerd in the '00s everybody understood the joke of showing Bill Gates as a Borg on Slashdot.

[0] https://stic.it/

justsomehnguy 10 hours ago [-]
> , and for sure as a nerd in the '00s everybody understood the joke of showing Bill Gates as a Borg on Slashdot.

Everybody, Gates and Slashdot in one sentence.

kriro 12 hours ago [-]
Very big in Germany imo. I came back from school and always watched back to back TNG and MacGyver. TNG and DS9 were big and aired nationally. My father grew up with Kirk & Spock and most people who were children in that generation and had access to a TV know the show, because there was not much else on TV. He's not a nerd at all :)
pavlov 12 hours ago [-]
That’s just not true.

Both TOS and TNG aired in various European countries.

kalleboo 6 hours ago [-]
There's a Swedish Star Trek-themed band that has been continually active since 1988 and are popular enough that they still do festivals in Sweden, Germany and other European countries every year https://en.wikipedia.org/wiki/S.P.O.C.K
olvy0 9 hours ago [-]
Adding to the comments: Not an American, but like others here watched TNG every day after school, and TOS before that. Many other people my age did, for example my wife.

BTW, we have watched with our sons all of TNG and DS9 for the last 3 years, and our eldest is now deeply familiar with Star Trek as a result. Very few of his peers are familiar with it, though.

Agentlien 10 hours ago [-]
I was never a big Star Trek fan, but here in Sweden growing up I watched episodes of The Next Generation, Voyager, and Deep Space Nine when they happened to be on. There definitely always seemed to be some Star Trek series running in a decent TV slot and everyone seemed aware of it - even if its popularity was eclipsed by that of Star Wars.

From friends and family in Belgium it seems it was somewhat bigger there.

t_mahmood 11 hours ago [-]
It was aired even in Bangladesh (a tiny country in Asia), and I just fell in love with TNG, and the line: "Space the final frontier ..."
lynx97 12 hours ago [-]
> Hint: it was never big outside of the USA.

Really? I must have grown up in an alternative universe. Star Trek TOS and TNG were aired on our local TV station in the 80s and 90s, IIRC even in the afternoon. I would be extremely surprised if I'd meet a 30+ person who grew up here (European country) and didn't know Star Trek.

bigstrat2003 13 hours ago [-]
Probably because it was dormant for a long time. And then when it was brought back, it was brought back by people who have no clue what made Star Trek good so it has largely sucked.
ben_w 11 hours ago [-]
With the benefit of hindsight, I'd say that impression is more because every series is very different. TOS and TAS may have been similar to TNG seasons 1 and 2, but TNG got more thoughtful as it went on; DS9 was a very different show to both TOS and TNG, with long-term continuity and changes (beyond casting) that stuck, and far more shades of grey and where outright evil came with a smile and a charismatic speech rather than being a puddle of psychic oil; VOY had almost no continuity, making it the polar opposite of DS9, but most of the characters were interesting enough for a space soap opera; ENT was derided by many when it came out, because all the main plot arcs made no sense and they kept introducing old fan favourites that didn't make sense contextually because series set in the show's future had yet to meet the Borg, the Ferengi, etc. And while I've never seen Prodigy, I'm aware that was trying for a very different approach to exploring the cannon and had its own story to tell.

And famously, only the even-numbered films are any good (which doesn't mean all even films are good, e.g. Nemesis).

In this light: DIS throwing away an interesting premise and then going nuts; PIC being three seasons of "why did the scriptwriters put the Borg everywhere, when the main story is androids vs. Romulans, Q, and warcrimes(*?) against changelings leading to changeling terrorism?"; and the very much more pew-pew-lasers action films of Kelvin**… none of this is particularly shocking.

What's nice (for people like me) is that SNW and LD are both well-written and thoughtful — but again, very different shows.

SNW feels like it is trying to be the best of TOS, TNG, and DS9, even if it does have a bit of fan service with insufficiently justified presence of Kirk (James, the other one is fine).

LD is very very silly, but it works for me — not as a canonical set of events (Mariner is even less suitable a personality for a ship officer than is Burnham, and in the same way I can head-cannon all Q episodes as "Q is actually Barclay on the holodeck having a power fantasy", most of the main four cast feel to me like students LARPing trek on a holodeck), but rather I like it because the tries to "yes, and…" the show's existing cannon in ways that mostly work and the characters are fundamentally decent to each other 95% of the time (and when not, justified).

* Perhaps "crimes against humanity" would be a closer take, or whatever the term should be in a not-just-humans universe

** and Section 31 whose critical response is so low that I forgot it existed rather than watch it, and only remembered the existence of when looking at Wikipedia to check if Nemesis was even or odd

bigstrat2003 2 hours ago [-]
I think that while each show was different, all the Star Trek shows from TOS to VOY had a certain feel to them that made them feel consistent. Yes TOS was more swashbuckling and DS9 was more interested in continuity and shades of grey, but they all were similar in that they were thoughtful shows where teams of competent professionals solved problems in the context of a generally positive vision for humanity, all while trying to offer moral dilemmas for the viewer to wrestle with.

But modern Star Trek is by and large nothing like that. The Abrams movies I'm ok with, because to be honest the old Trek movies had plenty of "it's just a fun action movie" too. But DIS and PIC both seem to positively revel in a pessimistic vision of the future where everyone sucks. Where we once got stories where the writers were smart enough to let viewers draw their own conclusions and apply them to real life (mostly, there were preachy episodes too), the modern shows are a blatant soapbox for the writers to preach to us about their views on the world. Where we once had teams of competent professionals using their skills to solve problems, now we have characters who act like children and only know how to apply "hit it real hard" as a solution.

It is a very damning statement that the best (and for a while, only) modern show to live up to Star Trek is The Orville, which isn't even a Star Trek show! But say what you will about him, Seth MacFarlane gets Star Trek and he loves it (unlike Alex Kurtzman, may he never get another TV series). So he made something which (comedy tone aside) could easily be a successor to the Star Trek shows of old.

The only exception to the dismal trend is SNW, at least the first season. I haven't gotten around to watching more yet, but that show was what CBS should've been making all along instead of the garbage that was DIS and PIC. Suddenly we are explorers in the positive future, we are competent professionals again... it's actually a worthy Star Trek for once. I would say I think that some of the casting choices aren't always great (their Kirk is... not suited to the role), and I would enjoy if they could move further away from the action show tropes and have more thoughtful writing (though not preachy please, I'll take dumb action over the writers preaching to me). That is why I said Star Trek has largely sucked, because SNW is an exception. But in general I have felt like the current creative staff doesn't understand Star Trek at all and can't make a good show to save their lives.

ben_w 30 minutes ago [-]
> But modern Star Trek is by and large nothing like that. The Abrams movies I'm ok with, because to be honest the old Trek movies had plenty of "it's just a fun action movie" too. But DIS and PIC both seem to positively revel in a pessimistic vision of the future where everyone sucks. Where we once got stories where the writers were smart enough to let viewers draw their own conclusions and apply them to real life (mostly, there were preachy episodes too), the modern shows are a blatant soapbox for the writers to preach to us about their views on the world. Where we once had teams of competent professionals using their skills to solve problems, now we have characters who act like children and only know how to apply "hit it real hard" as a solution.

I've not noticed a difference in the preaching, TBH, but otherwise yes.

And also that PIC took many interesting side characters from TNG, and used them as redshirts. Maddox, Hugh, Icheb, Shelby… and both Picard and Data in season 1 — and worse for both. Data because Data was (a) brought back the wrong way (should've been him in B4's body properly and not the simulation), and (b) that version of him wasn't given an appropriate reason for seeking his own death, and they really could've done it quite easily by writing that Data to have a plot point of ~ "I don't want my friends to die, I will choose death again to save them". Picard because it was such a missed opportunity, not only to give Patrick Stewart the same makeup that Brent Spiner had had for all those years, but also because Q said he still had a synthetic body in season 2 and yet they had him getting a "neural stabiliser" for "his brain".

wiseowise 8 hours ago [-]
Nerds gatekeeping nerds. Truly old internet moment.
filoleg 5 hours ago [-]
Not every nerdy person is into Star Trek?

Star Wars is imo way more mainstream than Star Trek these days (especially with Disney pumping it), but even then there are tons of people in their 20s working in tech who haven’t seen it and have no interest in it.

I don’t think there was more than one person on my previous Android team who would’ve gotten the Tricoder reference, and I was the youngest person there (29 years old at the time; learned about Tricoder literally just from this thread myself).

If you picked a random person working on Android source code and asked me to guess whether they know about Tricoder (without knowing any additional info about them), I would have decisively guessed “no”.

u5wbxrc3 6 hours ago [-]
Not every interest comes with age. I am interesed in some antique stuff that's way older than me.
la_oveja 13 hours ago [-]
im 30 yo and i didnt know what a tricoder was
kallistisoft 12 hours ago [-]
I'm sorry... please take this adorable tribble as a consolation!
bigfishrunning 53 minutes ago [-]
sounds like trouble
DustinEgg 12 hours ago [-]
[dead]
readthenotes1 15 hours ago [-]
Right? It could be an attempt at humor, but it could also be someone who is naive of culture before 2003. I lost some respect for the author at that point...
snapcaster 8 hours ago [-]
This is so american/age centric please reconsider dispensing respect based on who watched the same TV shows as you growing up