[HN Gopher] Before the iPhone, I worked on a few games for what ...
       ___________________________________________________________________
        
       Before the iPhone, I worked on a few games for what were called
       "feature phones"
        
       Author : tosh
       Score  : 483 points
       Date   : 2021-05-20 13:12 UTC (9 hours ago)
        
 (HTM) web link (twitter.com)
 (TXT) w3m dump (twitter.com)
        
       | acdha wrote:
       | I remember BREW but barely used more than the demos: we were in
       | San Diego and Qualcomm was trying to get local developers
       | interested. We had a few clients considering it but the terms we
       | were getting were eye-watering: if memory serves, it was $50k or
       | more _per carrier_ just to be listed for sale, plus a big chunk
       | of the purchase price, and that was just a floor -- the carriers
       | wanted to adjust up based on your perceived ability to pay. We
       | had some household name clients but just having money didn't mean
       | they would entertain the idea of adding so much fixed cost to the
       | project just to see if it'd eventually become popular enough to
       | break even.
        
       | andrepd wrote:
       | I had a blast spinning up J2ME Loader on my phone (it's on
       | f-droid) and playing games I had on my Sony Ericsson W595 back in
       | the day :)
       | 
       | Worms, Zombie Infection, Sims, loads of Fishlab games, a silly
       | GTA clone... Massive nostalgia hit
       | 
       | I expected it just to be the nostalgia, but actually those games
       | hold up pretty well especially considering the limitations of the
       | platform! Certainly they are a breath of fresh air compared to
       | the microtransaction/ads/spin-the-wheel/spyware - ridden games
       | for mobile platforms today.
        
       | shpongled wrote:
       | I remember playing Orcs and Elves on an old flip phone! Such a
       | fun title.
        
       | [deleted]
        
       | pizzabearman wrote:
       | GC feels like this magic box. Does great things for you without
       | having to worry about memory leaks, which is great. But like
       | anything that is magical you give up some control. I guess it's a
       | tradeoff
        
         | eru wrote:
         | Well, malloc and free are black boxes as well. And in typical
         | implementations can potentially take arbitrary amounts of time
         | to run, too. (Though they usually don't.)
        
           | Agingcoder wrote:
           | It depends on your allocator - ptmalloc, the default linux
           | allocator - is open source, and there's plenty of very robust
           | open allocators (jemalloc, mimalloc, tcmalloc, etc).
           | Understanding how your allocator works can be very important
           | in certain contexts.
           | 
           | On windows I'd expect the default allocator to be a black
           | box, but I might be wrong.
           | 
           | For garbage collection I strongly recommend this book (on top
           | of the source code of your gc if available!)
           | https://gchandbook.org/
        
             | MaulingMonkey wrote:
             | > On windows I'd expect the default allocator to be a black
             | box, but I might be wrong.
             | 
             | The UCRT is at least "source available" on Windows, up to a
             | point, and distributed with the Windows SDK. The release
             | heap codepath is a bit boring:                   malloc:
             | C:\Program Files (x86)\Windows
             | Kits\10\Source\10.0.19041.0\ucrt\heap\malloc.cpp
             | _malloc_base: C:\Program Files (x86)\Windows
             | Kits\10\Source\10.0.19041.0\ucrt\heap\malloc_base.cpp
             | HeapAlloc:    (kernel32.dll alias for
             | ntdll.dll!RtlAllocateHeap() on my machine)
             | 
             | The debug codepath is a bit more interesting:
             | malloc:                  C:\Program Files (x86)\Windows
             | Kits\10\Source\10.0.19041.0\ucrt\heap\malloc.cpp
             | _malloc_dbg:             C:\Program Files (x86)\Windows
             | Kits\10\Source\10.0.19041.0\ucrt\heap\debug_heap.cpp
             | heap_alloc_dbg:          C:\Program Files (x86)\Windows
             | Kits\10\Source\10.0.19041.0\ucrt\heap\debug_heap.cpp
             | heap_alloc_dbg_internal: C:\Program Files (x86)\Windows
             | Kits\10\Source\10.0.19041.0\ucrt\heap\debug_heap.cpp
             | HeapAlloc
             | 
             | HeapAlloc itself is a bit more of a black box (AFAIK), and
             | contains a lot of the fun details about the actual process
             | of heap allocation - although there's a bunch of hooks,
             | debug functions, documentation, articles, alternative
             | implementations (ReactOS), etc.
        
               | Agingcoder wrote:
               | Thanks! I was wrong then.
        
             | alex_smart wrote:
             | Wouldn't the garbage collection for most common runtimes
             | also be open source?
        
               | MaulingMonkey wrote:
               | Technically, but they tend to be much harder to hack on.
               | 
               | It's trivial to replace malloc/free with
               | my_malloc/my_free - and integrating libraries that
               | replace malloc/free as-is without renaming also tends to
               | be straightforward. In C++, you can overload new/delete
               | to use my_* with little hassle, or placement new to
               | instantiate classes on previously allocated memory
               | directly.
               | 
               | Meanwhile, C# and Java provide absolutely no means of
               | creating instances of their classes via anything other
               | than their built-in GCs. You can't just distribute a .exe
               | or .jar with a replaced GC - instead, you need to
               | create/distribute/install an entirely new runtime, and
               | even that doesn't really provide any sane means of having
               | multiple GCs living side by side. This is all
               | theoretically technically possible, but orders of
               | magnitude more work.
        
               | pjmlp wrote:
               | C# has structs and support for native heap management,
               | and as of C# 9 very few features missing versus something
               | like Modula-3 or even D.
               | 
               | You can provide your own GC on .NET via the COM API.
               | 
               | https://github.com/Potapy4/dotnet-
               | coreclr/blob/master/Docume...
               | 
               | Just like Java since version 10,
               | https://medium.com/@unmeshvjoshi/writing-your-own-
               | garbage-co...
        
       | intsunny wrote:
       | John Carmack writes:
       | 
       | > Unlike most emulator projects, Kemulator turned out to be
       | closed source abandonware
       | 
       | It is amazing that in the past two decades most emulators
       | transitioned from closed source closely guarded secrets to open
       | sourced and often under a popular license.
       | 
       | The preservation is unparalleled.
        
         | meibo wrote:
         | Mind that this doesn't mean that they are not commercialized -
         | modern console emulators make a _lot_ of money on patreon(in
         | some cases up to $80k a month) for  "private builds" that can
         | run certain games, especially newer ones, better, and online
         | features in some cases.
        
           | nexuist wrote:
           | Which is how it should be, IMO - the base model is available
           | to anyone for free. If you want extra features after using
           | the base model, then a small donation to the developers for
           | their time is a worthwhile tradeoff.
        
             | kelnos wrote:
             | The problem is that it then gives the developer weird
             | incentives. If someone in the community decides to build
             | the same feature that the main developer kept as a paid
             | feature, then the main developer won't want to merge it
             | into their version.
             | 
             | Then you're stuck: the community member could certainly
             | fork the project with their new feature, or maintain a
             | patchset and forward-port to each new version of the
             | original software, but both of those things are a ton of
             | work.
             | 
             | Meanwhile, users are the ones who lose out; someone decided
             | to build the feature and give it away for free, but users
             | have to jump through hoops to use it.
             | 
             | As someone who has done a lot of open source work over the
             | past ~20 years, I don't think anyone is entitled to find a
             | business model in there. Sure, if you can find a way to
             | work on your project full time but still support yourself,
             | that's great. But often the ways people do so make for some
             | (IMO) bad trade offs and perverse incentives.
             | 
             | I like the dual-licensing approach, where commercial users
             | need to pay, but that's not workable for all projects.
        
               | soylentgraham wrote:
               | Or once the new feature is paid for... then release it.
               | Someone has paid for your time (to develop the feature).
               | They get their feature, (which they need enough to part
               | with money), the community gets it too (whether they need
               | it or not)
               | 
               | It doesnt benefit from the massive scale revenue, but if
               | it's paid for your time...
        
               | selfhoster11 wrote:
               | > The problem is that it then gives the developer weird
               | incentives. If someone in the community decides to build
               | the same feature that the main developer kept as a paid
               | feature, then the main developer won't want to merge it
               | into their version.
               | 
               | See VirtualBox, and to some extent Chrome. For
               | VirtualBox, I'm sure that the Extension Pack could be
               | covered with an open-source effort by the community, and
               | in the case of Chrome, their refusal to accept *BSD
               | patches.
        
               | renox wrote:
               | I remember reading recently about a "Firefox bug" caused
               | by a buggy "portability" patch of one of their
               | dependencies.
               | 
               | Accepting 'portability patch' isn't free..
        
           | jbjbjbjb wrote:
           | Could you give examples? I can't picture the use cases, I
           | don't game often.
        
             | Deathmax wrote:
             | yuzu, a Switch emulator, had introduced network play
             | support a while ago that was gated behind Patreon
             | subscriptions but was subsequently removed. https://yuzu-
             | emu.org/entry/yuzu-x-raptor/
             | 
             | IIRC, for a while cemu (a Wii U emulator) had builds with
             | support for Breath of the Wild gated behind Patreon early
             | access as well.
        
               | BEEdwards wrote:
               | It wasn't so much that builds with support for it were
               | behind paywall, more that the latest build which
               | supported BOTW more were.
               | 
               | BOTW would still play just worse, then they'd release the
               | next version on patreon and make the last one free.
               | 
               | Now it just runs well.
        
             | jonny_eh wrote:
             | One I'm aware of is: https://www.patreon.com/rileytestut
        
         | DistressedDrone wrote:
         | It surprises me the number of people who thought they could
         | make money selling emulators, in what is and has always been
         | almost exclusively dedicated to piracy.
        
           | pjmlp wrote:
           | Not at all, emulators are also a way to keep old games alive.
           | 
           | Like still being able to watch that old VHS movie on BluRay
           | HD, or listening to Swing records from 1920 in 2021.
        
             | wtetzner wrote:
             | They're also a way to help developers write new games for
             | old platforms.
        
           | scraft wrote:
           | It surprises me that people think that it isn't possible to
           | make money selling emulators.
           | 
           | https://play.google.com/store/apps/details?id=com.dsemu.dras.
           | ..
           | 
           | Over one million downloads, price PS4.99
           | 
           | ;)
        
             | DistressedDrone wrote:
             | You got me there! It shows the kind of market that can
             | emerge when piracy is less practical than purchasing the
             | software.
             | 
             | My point still stands though for emulators on PC where I
             | believe software piracy remains popular.
        
           | cat199 wrote:
           | There are, "and always have been" commercial emulators for
           | keeping old software running when the original system no
           | longer exists (PDP, VAX, etc)
        
           | neurostimulant wrote:
           | Well, I remember the moment No Cash suddenly had some cash
           | after making the latest version of his popular emulator paid-
           | only.
        
           | renrutal wrote:
           | Well, some emulator devs are making huge sums of money
           | nowadays in "donations"/crowdfunding, to much chagrin of
           | others in the emudev scene.
           | 
           | It seems they got the business model right this time.
        
           | newman8r wrote:
           | 3dSen seems to have done a decent job monetizing - but they
           | added a lot of value.
        
           | bennysomething wrote:
           | I pretty much only play emulators these days as having a load
           | of consoles and cables under my TV is a pain in the ass.
           | 
           | I recently paid five dollars for redream Dreamcast emulator.
           | Totally worth it. There's a free version that doesn't run hi
           | Res and that's fine.
        
             | mkw2k wrote:
             | The premium Redream is definitely worth the $
        
           | amalcon wrote:
           | I'm sure that Nintendo's Virtual Console emulator series has
           | made them quite a bit of money.
        
             | thaumasiotes wrote:
             | Well, they stopped doing it, so perhaps not.
        
               | ascagnel_ wrote:
               | They don't offer emulated games as standalone purchases
               | anymore (and, frankly, the idea that they charged
               | repeatedly for games is insane to me) -- instead, now
               | it's tied to the Switch Online subscription service.
        
               | jefft255 wrote:
               | The library of retro games on Switch Online is laughably
               | small and is one of my biggest gripe with the Switch
               | compared to the Wii (U).
        
               | thaumasiotes wrote:
               | > and, frankly, the idea that they charged repeatedly for
               | games is insane to me
               | 
               | I've been curious whether Switch libraries will follow
               | you to whatever the next Nintendo console is. They
               | haven't done that in the past, but online purchases might
               | be so common now that they can no longer get away with
               | not doing it.
        
           | AnIdiotOnTheNet wrote:
           | I will admit to paying for Bleem! in the long long ago. I
           | still have the CD. Frankly, it was pretty damned amazing.
        
             | crtasm wrote:
             | Did burned game CDs work with Bleem? I assumed it made some
             | check for an official disc.
        
               | tombert wrote:
               | I never had the PC version of Bleem, but I can confirm
               | that a burned copy of Metal Gear Solid worked for the
               | Bleemcast port of it.
               | 
               | My parents wouldn't let me buy M-rated games, so the
               | easiest way for me to play MGS was on my Dreamcast with a
               | copy of Bleemcast that I found used at Gamestop for four
               | dollars with a pirated copy of the game.
        
               | AnIdiotOnTheNet wrote:
               | I'm afraid I don't recall. I feel like it probably did if
               | it was possible, as a defense against being called a
               | piracy tool, but I'm not sure if there was any way for a
               | consumer CDROM to check for the wobble groove. I owned a
               | PlayStation and official games so I only recall using
               | those.
               | 
               | P.S.: Some googling suggests that it played "backups"
               | just fine.
        
             | tmccrary55 wrote:
             | The CD Key
        
           | someperson wrote:
           | Your comment is completely wrong. There is a cottage industry
           | of emulation developers funding their development through
           | Patreon. There is a huge number of emulation enthusiasts who
           | are adults with high levels of disposable income willing to
           | fund the development of emulators they enjoy using. Some of
           | the larger emulators get tens thousands of dollars per month
           | on Patreon.
           | 
           | Checkout the following links:
           | 
           | https://www.patreon.com/yuzuteam
           | 
           | https://www.patreon.com/cemu
        
             | tylerhou wrote:
             | They are not completely wrong. Crowdfunding a product is
             | not the same as purchasing that product because often
             | people only decide to donate _because_ the resulting
             | product is free. (For example, I give $5 a month to
             | Lichess, but I am unwilling to pay for a Chess.com
             | subscription.)
        
       | tinus_hn wrote:
       | Strange, if the software expects this little memory wouldn't it
       | be better to just limit the JVM to less memory?
        
         | MaxBarraclough wrote:
         | mukesh610 had the same thought. [0] I think papercrane's
         | response is correct: it makes more sense to disable explicit
         | GC. Running a full GC cycle every frame is going to severely
         | undermine a modern generational garbage collector. Disabling
         | explicit GC, and using a modern low-pause GC, seems like the
         | way to go.
         | 
         | [0] https://news.ycombinator.com/item?id=27222631
        
       | ezoe wrote:
       | Invoking GC on every frame has different performance
       | characteristic on old feature phone and modern PC.
       | 
       | Reminds me of a technical document of Doom 3 BFG edition.
       | 
       | https://fabiensanglard.net/doom3_documentation/DOOM-3-BFG-Te...
       | 
       | In 2004, it was a best practice to keep data on memory. in 2012,
       | CPU and GPU performance was increased a lot but memory
       | performance wasn't increased much so calculating the necessary
       | data on demand is faster than keeping it on memory and retrieving
       | it.
        
         | kmeisthax wrote:
         | Also reminds me of all those framerate pacing hacks people put
         | into old Flash movies. They literally spin in a loop until the
         | current time advances to the next frame. AFAIK Ruffle
         | explicitly pads out the time scripts see just to defeat this
         | particular coding antipattern.
        
       | mbb70 wrote:
       | Had the same fix to a wildly different situation. A long running
       | Spark job that accepts 100s of jars and runs 1000s of stages over
       | its lifetime was having intermittent massive GC pauses. Too
       | intermittent as it happens, practically periodic. Turns out Spark
       | runs System.GC() every 30 minutes by default. DisableExplicitGC
       | fixed everything right up.
        
       | SNosTrAnDbLe wrote:
       | I used Qualcomm brew in grad school to create an accelerometer
       | based app to detect falls for senior people. I remember the first
       | time it detected a simulated fall !! I was new to such
       | sophisticated phones and it felt like an amazing achievement. I
       | remember talking to a Qualcomm engineer who helped me with the
       | internal API and the whole setup. Fun times!!
        
       | ingenieroariel wrote:
       | I worked on a J2ME app that needed to access location on phones
       | without GPS, I was in touch with the operator and got a list of
       | cell ids with lat, lon.
       | 
       | With that I created a daemon in Symbian that would query the cell
       | id and open up a socket server to give it to the J2ME app.
       | 
       | With that we developed an app to request a taxi service, but none
       | of the taxi companies wanted it. Some of the complaints were:
       | 
       | 1. GPRS data plans were too expensive for end users 2. No one
       | would put an expensive Sony Ericsson touch phone on a windshield,
       | the windshield would be broken by thieves to steal it. 3. Looking
       | at a screen on the windshield while driving was never going to be
       | approved by authorities.
        
         | [deleted]
        
         | umeshunni wrote:
         | To be fair, all 3 of those are valid complaints.
         | 
         | #1 was true all the way till ~10 years ago when 3G became
         | popular.
         | 
         | #2 is still true is most 'urban' areas. People just take their
         | phones with them when they get out of their cars.
         | 
         | #3 is interesting - I think some regions had tried to ban
         | mounting phones on the dashboard, but at this point, they must
         | have given up
        
           | zepearl wrote:
           | Confirming #2: I live in Switzerland (low crime rate etc...)
           | but I would not even dream of leaving my phone visible in the
           | car.
           | 
           | Btw. in the 90' I used to detach each-single-time that I
           | parked the car the front panel of the car's radio to then
           | carry it with me (leaving the storage box in front of the
           | passenger seat open, to show that I didn't just put it in
           | there) to discourage people from breaking into the car to
           | extract the radio (front panel & main car radio were
           | individually coded to only work together, that's at least
           | what I believed).
           | 
           | What a silly thing to do, hehe, but to be fair the price of a
           | fancy radio at that time was similar to today's phones
           | ("Pioneer" and "Sony" were high on my list - some models had
           | quite complex display animations/colors/equalizers/etc &
           | sound modes).
        
             | zerocrates wrote:
             | The detachable faceplate for anti-theft reasons was (is?) a
             | very common feature for aftermarket radios/head-
             | units/whatever in the US. Built-in ones have just
             | increasingly moved to not being a discrete, accessible,
             | interchangeable component, another way around.
             | 
             | I still remember when my dad had bought an aftermarket
             | tape-deck-only radio, a Sony I believe, well into the era
             | of the ubiquitous CD player (he just wanted a working tape
             | deck). Someone broke into the car at some point and stole
             | it and I can only assume they were very disappointed after
             | looking closer.
        
         | grishka wrote:
         | > a daemon in Symbian that would query the cell id and open up
         | a socket server to give it to the J2ME app
         | 
         | Why not just make the entire app native in Symbian if you
         | require it anyway? Or did the Symbian SDK suck even more than I
         | remember?
        
         | jazzsax wrote:
         | what product was this?
        
         | mwcampbell wrote:
         | > 3. Looking at a screen on the windshield while driving was
         | never going to be approved by authorities.
         | 
         | The solution to that seems so obvious: make the phone speak to
         | the driver instead. Was turn-by-turn navigation not feasible
         | back then? Or what else am I missing?
        
           | blakes wrote:
           | Back in the before times, taxi drivers knew how to navigate a
           | city just by memory. Give them an address and they'd probably
           | know how to find it.
           | 
           | Most likely this app was not navigation. Remember, feature
           | phone, probably had less than a couple hundred MB of memory
           | for the entire device. I assume the app would just give the
           | taxi driver address details and what not.
        
             | jmkb wrote:
             | Dispatch knowing drivers' locations in realtime would have
             | made this a killer app imo. Car services used to assign
             | pickups based on drivers reporting their location by radio.
        
             | mwcampbell wrote:
             | Oh, even easier then; the phone would just have to read the
             | address aloud. Symbian phones were able to run text-to-
             | speech as far back as 2002; my best friend is blind and
             | used a Nokia phone with a screen reader back then.
        
           | surfsvammel wrote:
           | This is me guessing: This sounds like before turn-by-turn
           | navigation was possible. If they had to approximate location
           | via a set list of cell ids, then that doesn't give very
           | precise location data. Also, back then, I am guessing, there
           | where not as good map data available, especially not that
           | would fit in a phone. I would also think that this was before
           | synthesised speech was really possible to do on a phone.
           | 
           | The world is a different place today.
        
             | asdff wrote:
             | GPS navigation is 90s tech, though. I had garmin barking
             | turns at me in the early 2000s same as siri today. In fact
             | usually better reception than my cell phone if it was a
             | clear day, since cell coverage is still terrible where you
             | really need need it out in the boonies where gas stations
             | are miles and miles apart.
        
               | pbhjpbhj wrote:
               | Devices like the Garmin [0] were chunky though, weren't
               | they, like a few cm thick, even compared to phones of the
               | times they were big. And to my [limited and shaky]
               | recollection people had car mounted antennae for GPS (in
               | the late 90s) because they worked poorly without it?
               | 
               | The first retro-fittable GPS was in 1997, the Alpine
               | CVA-1005 [1], which weighed >3kg and had a display of
               | 26cm across; it connects for nav to a CDROM drive
               | containing base unit [2]; here's the wiring diagram [3].
               | 
               | [0] https://spectrum.ieee.org/consumer-
               | electronics/gadgets/the-c... [1]
               | https://ndrive.com/brief-history-gps-car-navigation/ a
               | good review of early GPS [2]
               | https://www.ebay.co.uk/itm/Alpine-NVA-N751A-Navigation-
               | Syste... [3] https://elektrotanya.com/alpine_cva-1005_wir
               | ing_diagram.pdf/...
        
               | sithadmin wrote:
               | GPS nav hasn't improved much since the 90s, but
               | smartphone nav relying on multiple positioning methods
               | has improved remarkably in even the past 5-6 years. It
               | used to be neither a dedicated GPS device nor a
               | smartphone could handle dense urban areas (where
               | buildings cause satellite interference) if you were
               | moving much faster than a pedestrian.
        
               | excalibur wrote:
               | True, but also your phone utilizes the same GPS signals.
               | It's all about the maps. Your Garmin typically had maps
               | for the whole country preloaded, your phone typically
               | downloads them on the fly. So in the boonies your phone
               | knows exactly where it is in terms of longitude and
               | latitude, but hasn't a clue where anything else is.
        
         | flir wrote:
         | "Good idea but before it's time" crashed so many mobile
         | startups pre-iPhone.
        
         | asdff wrote:
         | Point 2 and 3 are baffling to me. Garmins mounted on the
         | windshield have been a thing in vehicles since the early 2000s
         | at least.
        
           | sneak wrote:
           | A lot of people have entirely different perceptions of risk
           | than actual risk exposure.
        
           | tannhaeuser wrote:
           | Can confirm. Had a Garmin/Palm handheld (iQue 3200 or sth)
           | with Garmin mapping software for Windows to prepare/preload
           | map tiles onto SD cards, plus a complex setup involving
           | VirtualPC and NoMachine NX to make it run on my PowerBook.
        
           | drewmol wrote:
           | Regarding point 2: When I worked for a valet parking company
           | not too many years ago it would astonish me how many people
           | would 'remember' they must secure their GPS in the glove box,
           | despite leaving much more expensive items like
           | iphones/laptops/purses/wallets in plain sight strown around
           | within their vehicle. They were an easy and common theft
           | target at one time I guess .
        
             | wearywanderer wrote:
             | In 2009 somebody smashed my car's window to steal my
             | garmin. Even if the GPS is worth little, they are worth
             | hiding because thieves are morons who will smash your
             | window for it anyway.
        
       | awaaz wrote:
       | Oh man, do I have fond memories of developing on feature phones!
       | 
       | Started wayyy back in 2007, and was a cofounder of a startup that
       | made popular J2ME games available for free to people by wrapping
       | it in our proprietary ad serving software. We launched more or
       | less the same time that AbMob did, invented more or less the same
       | stack (ad delivery to mobile phones), but we focussed on the
       | product (games) whereas they focussed on the platform (ad
       | delivery). A few years later AdMob was acquired for mega $$$ by
       | Google, whereas we just kind of limped along and died a slow,
       | natural death! Many years later I discovered that my cofounder
       | just let our 4 letter domain expire (www.hovr.com) and I think
       | it's up for sale now :(
       | 
       | Also remember developing games on the BREW platform by Qualcomm,
       | circa 2005. Whereas I was in India which mostly had GSM J2ME
       | phones, BREW was much more popular on North American CDMA
       | handsets. I, along with a friend, developed one of the first
       | real-time multiplayer games called Blingster Battle, which was on
       | top of Verizon's charts for a brief period of time! Truly
       | groundbreaking stuff at that time..
       | 
       | The most amazing bit, though, was when we made some BREW apps
       | around 2013. By then iOS and Android had firmly taken over the
       | smartphone market, and all the cool kids were downloading
       | apps/games on them. However there was a very significant portion
       | of the market - primarily composed of the elderly - who were
       | still hanging on to their old CDMA feature phones and were still
       | interested in buying new apps. We made a couple of quiz types
       | games, that actually generated a couple of thousand dollars in
       | revenue every month till _last year_ , until Qualcomm finally
       | pulled the plug on BREW!
        
       | mukesh610 wrote:
       | Is there any disadvantage to limiting the emulator's JVM heap
       | size to match the original execution environment (in this case
       | what seems to be 128k), instead of explicitly disabling GC?
        
         | papercrane wrote:
         | Ultimately it's just as complicated as disabling explicit GC
         | calls, and since we have a lot more RAM to use now you'll get
         | better performance if you just let Java have a bigger heap.
         | 
         | To be clear as well, the flag he added doesn't explicitly
         | disable GC, it disables asking for GC explicitly, e.g. it makes
         | "System.gc()" a no-op. The JVM will still garbage collect when
         | it's heuristics decide it should.
        
           | chongli wrote:
           | _Ultimately it 's just as complicated as disabling explicit
           | GC calls, and since we have a lot more RAM to use now you'll
           | get better performance if you just let Java have a bigger
           | heap._
           | 
           | Will you get better performance? Or will it end up using a
           | large amount of memory and then having a long GC pause that
           | causes your game to drop a frame every now and then?
        
             | papercrane wrote:
             | Every application is different, but I'd wager it would
             | strictly be better. The current GC implementions are very
             | good, especially ZGC for pause times, I'd be surprised if a
             | j2me game had a max GC pause time over 1ms with ZGC.
        
             | kaba0 wrote:
             | The JVM heuristics are quite good, and the GCs are state-
             | of-the-art and a beast, so I doubt you would have frame
             | drops because of GC. More often than not you are better off
             | not tuning the JVM.
        
       | mraza007 wrote:
       | Yesterday i just ordered myself a feature phone and now I see
       | this tweet about game development on feature phones
       | 
       | What a coincidence !!! Anyways has anyone still using feature
       | phone, i would love to hear your experience
        
         | yjftsjthsd-h wrote:
         | What feature phones can get on modern networks? I thought LTE
         | "needed" a smartphone for some reason
        
           | jonny_eh wrote:
           | https://www.thelightphone.com/
        
           | mraza007 wrote:
           | Nokia latest phones offer 4g I'm not sure about LTE but they
           | do get the job done
        
           | INTPenis wrote:
           | No way. There are plenty of dumb phones. I never heard the
           | term feature phone before but when I google it I see it
           | described as dumb phones.
           | 
           | I have a great Alcatel dumb phone with dual sims and NO OTHER
           | FEATURES. :D That's exactly what you want from a dumb phone.
           | It works just fine on any mobile network today in Sweden. It
           | cost the equivalent of 24 USD.
        
       | EarthLaunch wrote:
       | I worked at a startup, Javaground [1], where we ported and
       | developed games for J2ME phones. We had a room full of dressers
       | full of all the different mobile phones of the day.
       | 
       | Each phone had different implementation quirks, such as variable
       | audio delay when playing a file, audio/image formats that were
       | faster/slower, odd button events (some used press, some used
       | ondown, some had no ondown, etc). A lot of our work was learning
       | all of these quirks and implementing them into the automated
       | porting platform.
       | 
       | Then the iPhone came out and started to build momentum.
       | 
       | I still have my old flip phone, the one with the least quirks,
       | with some of our games on it.
       | 
       | 1: https://en.wikipedia.org/wiki/Javaground
        
         | meheleventyone wrote:
         | My very first industry job was making J2ME games and oh my god
         | does it still give me nightmares.
        
           | pjmlp wrote:
           | If you miss it, just try Android, contrary to Google
           | arguments against J2ME, the fragmentation experience is kept
           | unchanged.
        
             | throwaway894345 wrote:
             | Especially with respect to Bluetooth quirks. Every single
             | phone has a different set of bugs in its bluetooth
             | components, and none of those sets are remotely empty. In
             | the end, we decided we could only afford to support the 5
             | most popular models of the day and if you don't have that
             | phone, then too bad for you.
        
               | viraptor wrote:
               | That one doesn't seem like purely on Android. I've never
               | seen a device without Bluetooth bugs. The protocol is so
               | complicated and implementation relies so much on chips
               | that never get fixes that I'm surprised it works
               | anywhere.
        
               | throwaway894345 wrote:
               | I wasn't criticizing _Android_ , I was criticizing
               | _Android phones_. I 'm sure iPhone doesn't implement the
               | protocol perfectly either, but we certainly observed
               | fewer issues. Whether that's because our BT stack vendors
               | did more testing with Apple devices or because Apple has
               | fewer bugs or both, I'm not sure.
        
               | grishka wrote:
               | But then they still insist on removing the headphone
               | jacks because "wireless is better".
        
               | selfhoster11 wrote:
               | Don't get me started on programming with BLE on Android.
               | *shudders*
        
               | throwaway894345 wrote:
               | Our management kept asking us to fix these issues with
               | software. We tried things like transparently rebooting
               | our BT module and prompting the user to do common fixes
               | (e.g., "turn your phone off and on again") but most of
               | the time these wouldn't work, unsurprisingly.
        
             | grishka wrote:
             | It's gotten much much better in the modern times. Android
             | 2.x would break your app in many spectacular ways, but
             | Google has been steadily adding more coverage to its
             | "compliance test suite" that a device must pass to be
             | eligible for Play Services preinstall. On 4.x, there were
             | some Chinese phones, like Xiaomi and Meizu, that meddled
             | with notifications, action bars and list views, sometimes
             | to the point of making your app crash, and I do remember
             | having to work around them. But if you support Android
             | 6.0+, like many new apps do these days, you don't have to
             | worry much about device compatibility.
        
             | moshmosh wrote:
             | It's not as bad as it used to be. The "drawers full of
             | devices", all terrible and broken in unique ways, gave me
             | flashbacks to the Android 2.x days.
        
             | m45t3r wrote:
             | We have many more issues supporting multiple versions of
             | iOS than supporting multiple versions of Android. But
             | neither are not even close to the nightmare that was J2ME.
        
               | pjmlp wrote:
               | Another one that wasn't blessed with OEM deviations from
               | AOSP.
        
               | m45t3r wrote:
               | We have "been blessed" with OEM deviations from AOSP (we
               | have a big number of clients and most of them are using
               | Android because of regional characteristics), but still
               | we have way more issues with customers using out-dated
               | iOS versions than users on those devices. For comparison,
               | we have way more iOS issues than Android ones, even if
               | Android is the vast majority of our user base (~70% of
               | our customers).
               | 
               | Anyway, even including those cases it is still very far
               | from J2ME days.
        
               | pjmlp wrote:
               | - Bluetooth issues
               | 
               | - Camera is hit and miss, even after the renewed API
               | 
               | - Apps randomly killed on the background
               | 
               | - Intents that don't launch as expected
               | 
               | - NDK debugging that cannot attach to the server running
               | on the device
               | 
               | - Unstable GPGPU drivers
               | 
               | - Keyboard handling
               | 
               | - Perfectly working code that needs to be rewritten just
               | because
               | 
               | Yeah so much better than J2ME.
        
               | m45t3r wrote:
               | You know, even if you're right we still see much more
               | issues in iOS. For example, a simple Xcode minor upgrade
               | can randomly break some flows.
               | 
               | > - Perfectly working code that needs to be rewritten
               | just because
               | 
               | This issue is much more frequently on iOS than Android,
               | since iOS deprecates features much faster and there is no
               | compatibility layer between versions.
        
               | EvilEy3 wrote:
               | > - Bluetooth issues
               | 
               | Aren't they rewriting this thing in Rust?
               | 
               | > - Camera is hit and miss, even after the renewed API
               | 
               | Give it time. CameraX is already vastly better than what
               | we had before.
               | 
               | > - Apps randomly killed on the background
               | 
               | Up to OEMs.
               | 
               | > - Intents that don't launch as expected
               | 
               | ?
               | 
               | > - NDK debugging that cannot attach to the server
               | running on the device
               | 
               | Welp.
               | 
               | > - Keyboard handling
               | 
               | Fixed.
               | 
               | > - Perfectly working code that needs to be rewritten
               | just because
               | 
               | ?
        
               | pjmlp wrote:
               | - Devices never see updates, other than a select few
               | flagship models
               | 
               | - It does not matter if the blame is on Google or OEMs,
               | it is still fragmented
        
         | SLWW wrote:
         | > Java be like, "we are cross-platform" > mobile manufacturers,
         | "hold my phone"
         | 
         | The problem with cross-platform development in a nutshell.
         | Still to this day writing an Android/iOS app using PCL code is
         | a headache
        
           | viraptor wrote:
           | At least adapting to another private API was easier because
           | the scope was pretty small. It's probably lost forever now,
           | but I had a project which repacked jars to add a few wrapper
           | classes to convert Nokia-specific j2me games to be compatible
           | with my Siemens.
        
         | tauntz wrote:
         | Ah, it's nostalgia-a-clock. I worked on Skype for J2ME with a
         | 3-4 person dev team. Custom UI kit, 128x128 screens, 128kb
         | available memory and other fun limitations.. I think we re-
         | wrote our text rendering/styling/wrapping code more times than
         | there were actual releases of the app :)
         | 
         | I honestly miss these times - it sparked so much creativity
         | when one needed to achieve something in such a limited
         | environment.
        
           | Andrew_nenakhov wrote:
           | Also that version of Skype was way better than this hot
           | steaming pile of manure currently shipped by Microsoft.
        
           | mgkimsal wrote:
           | > I honestly miss these times - it sparked so much creativity
           | when one needed to achieve something in such a limited
           | environment.
           | 
           | As someone from the c64/apple][/atari generation... it was
           | constantly amazing to see how much people could push a single
           | device. Lots of creativity, as you say. But... we seemed to
           | hit a wall with the whole j2me-era of "just get creative to
           | work around things!" mindset. Because, IIRC, there were
           | dozens of different devices that all didn't work the same way
           | - you'd have to get really creative to get things to work in
           | 128k, but then do it again and again and again for each
           | target device.
           | 
           | There were millions of C64 units in people's hand in, say,
           | 1986. And similar for Apple ][ units. You could be assured of
           | a decent audience/sales/users if you ported to that platform,
           | even if there was a lot of 'creativity' to deal with. The
           | j2me device world always seemed a lot more fragmented to me
           | (but maybe it wasn't?). But just saying "this runs on a java
           | device" was different from distribution - allowing 'regular'
           | people to get something in to a centralized
           | store/distribution point seemed another big win for the
           | iPhone world.
           | 
           | EDIT: fwiw, this made me spend a few minutes in youtube
           | looking at old c64 and apple and Atari demos. what people
           | ended up doing with those devices - years after they were
           | mainstream - is still crazy to me.
        
             | TacticalCoder wrote:
             | > fwiw, this made me spend a few minutes in youtube looking
             | at old c64 and apple and Atari demos. what people ended up
             | doing with those devices - years after they were mainstream
             | - is still crazy to me.
             | 
             | The craziest ever, to me, is the following in 256... bytes.
             | Bytes (including the music ofc, which is the whole point).
             | 
             | https://youtu.be/sWblpsLZ-O8
        
         | usertrjx wrote:
         | I worked with a few people from JG. I also worked on a bunch of
         | J2me games. It was an interesting time to be in mobile.
        
       | kwanbix wrote:
       | Here: https://threadreaderapp.com/thread/1395089205986988043.html
        
       | ineedasername wrote:
       | I'm not sure that in the present day of massive teams and > $100
       | million budgets that there's much room for new celebrity game
       | developers to emerge on that scale. Pretty much every gamer knows
       | who he is.
       | 
       | Now, even the biggest breakthrough indie game with a 5 person dev
       | team wouldn't become a household name. These days it's the
       | studios themselves that get most of the credit. Which may only be
       | fair: When there's 100+ people on a project, it's such a group
       | effort that singling out a handful doesn't really represent the
       | achievement.
        
         | pie420 wrote:
         | Cliff Bleszinski worked on $100M+ projects, Martin O'Donnell
         | did, so did Notch. Definitely still possible.
        
         | cm2012 wrote:
         | ConcernedApe with StarDew valley has more revenue than any sega
         | genesis game had back in the day.
        
         | the_lonely_road wrote:
         | I think you are right. The closest I can come to a modern
         | example would be Darkest Dungeon (made by 2 people) and Slay
         | the Spire/Stardew Valley (both made by single devs) however
         | owing to your point I don't remember their names despite
         | reading about them at least a few times. I would recognize John
         | Carmacks face in a crowded room not to mention obviously
         | unlikely to ever forget his name.
        
           | IggleSniggle wrote:
           | Now that you mention it, I know the names of a few of the
           | roguelikes I play. I think part of this stems from it being
           | the work of very small teams that ALSO do all their own game
           | marketing, so your "representative" for the game is the
           | creator themselves.
           | 
           | Dwarf Fortress comes to mind, and I know it's made by Tarn
           | and his brother, but I don't know their last name...but I
           | guess it's not exactly modern.
           | 
           | Similarly, Kyzrati/Josh Ge, of Cogmind & REXpaint fame, and
           | pender/Brian Walker.
           | 
           | To the point above about "who does the representing," even
           | though I happen to know their names, I think of them by their
           | monikers, pender and Kyzrati, not their real-world names.
        
           | twright0 wrote:
           | I believe Megacrit, which built Slay the Spire, is two
           | people, Casey Yano and Anthony Giovannetti. But to the
           | broader point I knew the name of the studio off the top of my
           | head while I needed to look up the names of the individuals.
        
           | sizediterable wrote:
           | Toby Fox and Undertale also comes to mind
        
           | m4rtink wrote:
           | Dwarf Fortress?
        
         | rblatz wrote:
         | It's not as recent as it seems in my mind, but Notch is a
         | relatively well known game dev. And in the younger crowd he may
         | be even well known than Carmack.
        
           | mcphage wrote:
           | He hasn't really done much--or completed anything--since
           | selling Minecraft. At one point, yes, I'd agree, but I don't
           | think that is the case anymore.
        
           | lostgame wrote:
           | Notch ruined his popularity tho by being a total bigot and
           | jerk. :/
        
             | cryptoz wrote:
             | https://en.wikipedia.org/wiki/Markus_Persson#Controversy
             | 
             | He's said some truly awful things. It's too bad people are
             | downvoting you - this is part of the story of gamedev.
             | Carmack would never say these kinds of things. Persson did.
             | One is a famous and well-known and loved developer, the
             | other is relegated to parroting talking points of alt-
             | right/Nazi discussion boards and does not associate much
             | with the rest of society.
             | 
             | Notch could have been more famous and well-loved than
             | Carmack even, but his personality and hatred of minorities
             | stopped that from happening.
        
           | albrewer wrote:
           | Ever since Mojang was sold to MS in 2014, I'd say his
           | notoriety has dropped quite a bit. Most people that would
           | have been familiar with him are now in their mid teens at the
           | youngest.
        
             | kllrnohj wrote:
             | Even before Notch left I'd say others like Jeb or
             | Dinnerbone were more commonly known in the Minecraft
             | communities as they were more active in the community &
             | posting about upcoming things.
             | 
             | (then of course Notch went off the deep end and most
             | communities rapidly began distancing themselves from
             | him...)
        
               | ineedasername wrote:
               | And the fame associated with these names was only
               | possible because they canes from a small indie group that
               | broke through to the mainstream so massively successful
               | that I can't think of any other example on that scale in
               | the last decade.
               | 
               | In the 90's and early 00's, many big names practically
               | _were_ studio, the brand.
        
               | kllrnohj wrote:
               | There are definitely still "well known names" in the
               | indie scene. They may not hit mainstream success, but
               | there's for example there's some pretty well known
               | members of the Factorio team in the Factorio community
               | (kovarex & Klonan come to mind). There's people like
               | Maddy Thorson of Towerfall & Celeste fame. If they decide
               | to embrace it I imagine one of the very few people on the
               | team behind Valheim would also fit this, but it doesn't
               | seem like they are interested in that.
               | 
               | There are still small indie groups that make breakout or
               | successful games that hit mainstream awareness (Untitled
               | Goose Game anyone?), but it seems like many prefer to use
               | a company branded twitter than make their own name(s)
               | public or just let the game stand on its own.
        
         | omega3 wrote:
         | It happened recently with Markus Persson and Jonathan Blow.
        
           | klohto wrote:
           | Jonathan is definitely not on the same scale as Notch. There
           | is only a brief period where Jonathan was well known and
           | mainly due to Indie Game: The Movie
        
             | pjmlp wrote:
             | Most people on AAA studios certainly know Jonathan, if
             | nothing else for his contributions at GDC.
        
           | ineedasername wrote:
           | That wasn't a dev coming out of a major studio though, which
           | is what I think is significantly harder these days. Notch got
           | there only because it was a small indie team that hit a black
           | swan event to hit the mainstream in a massive way, at the
           | same time that it caught fire on YouTube with many current
           | game streamers and channels having their roots in the early
           | days of Minecraft videos.
           | 
           | Had Minecraft come from a major studio, even hitting it just
           | as big, I don't think we associate it nearly as much with
           | particular devs, and I can't think of another indie hitting
           | it like that in the last decade. But if big names do still
           | emerge, I think it will be from small breakthrough indie
           | teams.
        
         | adamrezich wrote:
         | well yeah there's less crucial core stuff to pioneer these days
        
           | VRay wrote:
           | nobody's figured out a UX for VR yet so far as I know
        
             | adamrezich wrote:
             | it's a much bigger problem space with lots of different
             | ways to do things based on hardware capability etc.
        
         | sumedh wrote:
         | I guess you remember the names who make history. You remember
         | the names of the astronauts who first went to the moon but no-
         | one knows the names of the other people who went to the moon.
        
         | blackoil wrote:
         | Don't know about the person or his work/fame, but Brendan
         | Greene is PlayerUnknown(PU) in PUBG.
        
         | meheleventyone wrote:
         | Fame in gaming has largely moved into "content creators". The
         | most famous game developers are almost certainly YouTubers
         | first and game developers second. There are some fairly big
         | channels now that produce memey content about making games in
         | nearly exactly the same way as people make memey content about
         | Minecraft or Fortnite.
         | 
         | People like danidev:
         | https://www.youtube.com/channel/UCIabPXjvT5BVTxRDPCBBOOQ
        
       | bluedino wrote:
       | Related .plan update:
       | 
       | http://fabiensanglard.net/fd_proxy/doom3/pdfs/johnc-plan_200...
        
       | ricardobayes wrote:
       | I tried running games from 2004 earlier this week and all failed
       | in a spectacular fashion. I thought Windows was all about
       | supporting legacy 32-bit applications.
        
         | neurostimulant wrote:
         | You might have better luck running those old games under Wine
         | or Proton.
        
           | jonny_eh wrote:
           | There's a Windows version of Wine?
        
         | galgalesh wrote:
         | You might have more luck running them in Proton or Wine.
        
           | practice9 wrote:
           | Also ScummVM
        
       | nicetryguy wrote:
       | GC every frame? Jesus. Gamedevs jump though hoops to avoid it.
        
         | __s wrote:
         | Probably added after profiling on that system found that the GC
         | pauses would fit within frame budget, whereas not running it
         | every frame would have a long pause eventually drop frames
        
           | jonny_eh wrote:
           | This! If you GC every frame, you can almost guarantee that it
           | runs fast enough to not cause a frame skip.
        
             | kaba0 wrote:
             | Only true for Java runtimes at the time. With modern JVMs
             | with generational GCs, it is detrimental even. Profile it,
             | and only let allocation rate increase to an acceptable
             | level that can be reclaimed easily. Or nowadays one can use
             | a low latency GC as well.
        
         | zlynx wrote:
         | Your other choices are:
         | 
         | - Never GC via using object pools. This code is nastier than
         | C++ because Java is not intended to be used this way.
         | 
         | - GC whenever needed randomly. The game will just pause
         | occasionally. Very annoying as a player.
         | 
         | - Write the actual game in C++. Make a few JNI calls here and
         | there. On feature phones I only remember this being possible
         | for some vendor apps.
        
           | kaba0 wrote:
           | Depends on when. If we are talking about modern day JVM, than
           | even the non-latency optimized default GC would have <10ms
           | stop-the-world pauses for up to gigantic allocation rates,
           | much less for the presumably minor one of a simple game. And
           | then there are two latency optimized ones, Shenandoah and
           | ZGC, with the latter having <1ms, meaning that your OS
           | introduces more latency with thread switches.
           | 
           | So I think writing a game while profiling allocation rates
           | and paying a bit of attention to not spam new everywhere, one
           | should get decent performance without any framedrops. At
           | most, optimize the hot loops with primitives, arrays.
        
           | banana_giraffe wrote:
           | If these phones were still around, I'd imagine there'd be
           | another option now:
           | 
           | - Write your game in C++ and transpile it to Java using some
           | fancy framework that dances around never using GC.
        
             | kllrnohj wrote:
             | You'd have to do something like allocate a single byte[]
             | for everything you'll ever need, and reading & writing data
             | would just be a constant tax since you can't just in-place
             | cast that to an int or whatever. It wouldn't be very fun.
        
               | zlynx wrote:
               | But it would be transpiled so the programmer would never
               | need to look at the very ugly stuff. The idea reminds me
               | of the original asm.js
        
         | kalleboo wrote:
         | These phones had like 1 MB, 2 MB, 4 MB of RAM. And these were
         | 3D-accelerated games running on them. A GC language was
         | definitely the wrong choice for the platform, but J2ME was the
         | industry standard because portable. So if you're allocating a
         | dozen objects in a frame it's best to GC them in the same frame
         | or you're going to lose tens of frames later.
         | 
         | Even in modern times, for the longest time Android Java apps
         | had laggy scrolling due to GC hitches that the refcounting iOS
         | Obj-C apps avoided.
        
           | pjmlp wrote:
           | Refcounting has glitches as well.
        
         | CodeArtisan wrote:
         | These games are turn and grid based like Legend of Grimrock or
         | Chess where input lag is much less important.
        
       | joenathanone wrote:
       | Imagine having John Carmack randomly contribute a patch to your
       | project, pretty awesome stuff.
        
         | fmax30 wrote:
         | Would absolutely blow my mind, I would even merge it without
         | multiple approves. :D And add a new contributors section in the
         | readme with John Carmack at the top.
        
           | Retr0spectrum wrote:
           | John Carmack is awesome, but I find this level of deification
           | (of any individual) kinda creepy - it just feels unhealthy.
           | Would you like to be treated that way, in Carmack's position?
           | 
           | I realize that your comment was likely made in jest, but it
           | still bugs me.
        
             | BTCOG wrote:
             | Eh, well while I agree, he's far better than Bezos, Musk,
             | or Zuckerberg COMBINED, and look at all the idolatry those
             | guys receive.
             | 
             | Purely in terms of a programmer. Things he's created.
             | 
             | Everyone should be able to have heroes. You don't need to
             | necessarily elevate them to the level of Gods, but John is
             | very readily a video game real life hero.
        
             | moosebear847 wrote:
             | Interesting, yeah it's probably hard for a famous person to
             | connect with you on a real level if you're busy groveling
             | and kissing the ground they walk on.
        
             | bombcar wrote:
             | I think the joke is that you write a program, and someone
             | well known like Carmack or Linus submits a minor patch, and
             | you from then on say "Linus and I wrote ..."
        
               | sharken wrote:
               | Yeah it's all in good fun, kind of like you have the
               | Chuck Norris memes.
        
             | zdragnar wrote:
             | If the attention bothered him, the simple solution is to
             | create another account under an alias. I do it to keep the
             | worlds apart, and I am not even famous.
             | 
             | Given all that he has accomplished and the influence his
             | work has had on multiple generations of computer and gaming
             | nerds, I don't see the celebrity status as terribly
             | unwarranted.
        
               | Retr0spectrum wrote:
               | So if people wish to be treated like normal human beings,
               | they must hide behind pseudonyms?
               | 
               | That may be the current reality of the situation, but it
               | doesn't mean we have to keep it that way.
               | 
               | I'm not saying he doesn't deserve his status, I'm just
               | saying let's not get too fanatical about it.
        
               | gmadsen wrote:
               | fame and fame admiration is as old as civilization. And
               | yes, using pseudonyms has been used for 100s of years for
               | the same reason. You are complaining about something that
               | is deeply human in nature.
               | 
               | I don't think the comment was fanatical at all, it was a
               | lighthearted joke.
        
               | Retr0spectrum wrote:
               | Just because it appeals to nature, doesn't make it good.
               | 
               | While I agree it was likely lighthearted, that does not
               | exempt it from criticism.
        
               | abnercoimbre wrote:
               | You've had several HN readers suggest your criticism is
               | unwarranted. I agree as well. Seriously, nothing from the
               | OP indicates anything fanatic or out of the ordinary.
        
               | sbarre wrote:
               | No one is doing pilgrimages to his house or stealing his
               | garbage or following him around here..
               | 
               | We're just acknowledging that he is an exceptional
               | contributor to our industry, and that his work has
               | inspired a TON of people.
               | 
               | To have someone of that stature contribute to your
               | project is exciting! There's nothing strange or creepy
               | about that, and if people want to celebrate that in their
               | own way like printing a Git commit or something,
               | whatever!
               | 
               | Imagine being an indie film director and having Kathryn
               | Bigelow show up on set one day to give you some notes and
               | feedback on your film. You might frame that piece of
               | paper.
               | 
               | Imagine being a local chef in a restaurant and having
               | Julia Sedefdjian stop by for a meal and compliment your
               | food. You might get a photo to keep on the wall in your
               | kitchen..
               | 
               | Nothing wrong with any of that, I think you are
               | characterizing things to an unwarranted extreme here.
        
               | Turing_Machine wrote:
               | I wouldn't bet that it's "no one".
               | 
               | Carmack, while not Cardi B or whoever, is famous enough
               | that I'd bet he has at least a few extreme worshipers and
               | extreme haters.
               | 
               | That said, if Carmack contributed to one of my projects,
               | yeah, I'd be sure to let people know that. :-)
        
               | Retr0spectrum wrote:
               | I don't take issue with anything listed in your comment.
               | The comment I was originally replying to described:
               | 
               | a) Bypassing their own code review processes.
               | 
               | b) Creating a contributors list, just so they can put
               | Carmack at the top of it (what about all the other
               | contributors?!)
               | 
               | IMHO this crosses a line. Not in a big way, but one
               | worthy of comment.
        
               | texasbigdata wrote:
               | If he breaks something just go fix it. Would be a funny
               | story.
        
               | garbagetime wrote:
               | Sure, it's a simple solution, but it comes at a cost.
               | There are a lot of reasons to use one's own name when
               | writing.
        
             | Rolpa wrote:
             | Something tells me Mr. Carmack himself wouldn't approve of
             | such engineering practices, no?
        
             | tmccrary55 wrote:
             | I think I'd have to find at least one thing to have him
             | fix, haha.
        
             | fmax30 wrote:
             | Of course, I made the comment in jest. But it certainly
             | would be an honor for anyone nonetheless.
             | 
             | (if it did happen for real the most I would do is print out
             | the commit hash with his name next to it :D, because he is
             | one of the people I look up to in CS, others being Knuth
             | and Tarjan among others, I would do the same for them, but
             | then again I don't think they are active open source
             | contributors)
             | 
             | Nonetheless, Carmack is still one of the most impactful
             | programmer of the modern era.
        
         | duxup wrote:
         | I'd take a screenshot and hang it up on my wall like a trophy.
        
           | ComodoHacker wrote:
           | Worth introducing a bug that would annoy him enough. /s
        
       | max_ wrote:
       | I played my first games on my brother's Nokia 2600 C.
       | 
       | I played titles like Assassin's Creed, and found them way mir
       | entertaining than current smartphone titles.
        
       | nanna wrote:
       | Must be fun being related to John Carmack.
        
         | corpMaverick wrote:
         | Just a fun question. If you had a choice; would you rather be
         | John Carmack or Tony Hawk?
        
           | mikestew wrote:
           | For the general case, it's going to be a lot easier when
           | you're 80 years doing Carmack stuff than it will be Hawk
           | stuff.
        
             | morelisp wrote:
             | 80? Tony thinks he recently did his last ever 540 - at
             | "only" 53.
             | 
             | https://twitter.com/tonyhawk/status/1372425655913123840
        
           | typon wrote:
           | Jim Keller. He looks like Tony Hawk but is technical like
           | Carmack.
        
           | diegoperini wrote:
           | Amount of injuries Tony Hawk had to take to become this good
           | is horrifying. That is enough for me make me choose John.
        
       | lsllc wrote:
       | I love the way John uses \ as a continuation character to the
       | next tweet -- ever the C/C++ programmer!
        
       | hnjst wrote:
       | In the same vein I remember the first time I was able to use a
       | phone to access "internet" from a computer. The "internet access"
       | that the phone had to offer was called "WAP" and I was
       | communicating with the phone via infrared (wireless \o/), you had
       | to dial cabalistic symbols from the computer and to be really
       | careful using their proxy to avoid sell-an-organ level out of
       | plan charges.
       | 
       | After that Android's deceptively straightforward tethering
       | feature was almost saddening...
        
         | Tijdreiziger wrote:
         | > After that Android's deceptively straightforward tethering
         | feature was almost saddening...
         | 
         | Ha - you should've seen early iPhone tethering. Back in those
         | days, net neutrality wasn't a legal right yet (at least here in
         | the Netherlands), so the carriers would push a profile to your
         | phone that disabled tethering. The solution, of course, was to
         | jailbreak your phone and install a tweak that turned it back
         | on.
        
         | jdlyga wrote:
         | I used to love WAP on my flip phone. It was perfect for
         | scrolling through bash.org
        
         | m4rtink wrote:
         | I remember using infraport tethering from my Sony Ericsson 68i
         | to my Palm Tungten T and it worked fine - good enough for ICQ,
         | telnet and IIRC some lightweight webbrowsing. Also you could
         | feel finally living the future. :)
         | 
         | Even though I never did get a Sharp Zaurus in the end, I
         | migrated directly from Palm TX Neoo FreeRunner and to Nokia
         | N900 and the rest is history. And I'm running Sailfis OS on my
         | Xperia X now. :)
        
       | dgritsko wrote:
       | "Well, we are programmers, we should be able to fix it."
       | 
       | What an awesome "beginner's mind" perspective. It's too easy to
       | write off a potential solution as difficult or impossible - but
       | why not adopt this attitude, and at least try?
        
         | EvilEy3 wrote:
         | > It's too easy to write off a potential solution as difficult
         | or impossible - but why not adopt this attitude, and at least
         | try?
         | 
         | You forgot the part where dude in question is a programming
         | Jesus.
        
         | draw_down wrote:
         | Beginner's mind, you say.
        
         | sharken wrote:
         | Absolutely, and having 30+ years of troubleshooting experience
         | on a wide range of hardware and software platforms also help :)
         | 
         | It's very inspiring to read about a problem and having the
         | solution explained as matter-of-factly as here.
        
           | neurostimulant wrote:
           | "it's either off by one error or caching problem" -- Carmack
           | probably
        
       | BEEdwards wrote:
       | I really want to play the Doom RPGs again, I've never gotten them
       | to work in emulator.
       | 
       | Maybe I should try again with the GC off.
        
       | ziggus wrote:
       | So, the bytecode instrumentation as post-compilation functional
       | modification tool is pretty interesting. More info here:
       | https://blogs.sap.com/2016/03/09/java-bytecode-instrumentati....
       | 
       | I wonder if there's any 'defense' against this kind of thing.
        
         | stonemetal12 wrote:
         | For as long as I can remember there has been the capability to
         | sign jars. So you can detect tampering, though not prevent it.
        
       | amelius wrote:
       | > Before the iPhone, I worked on ...
       | 
       | Did Carmack work on the iPhone? Or should I parse this
       | differently?
        
         | Narishma wrote:
         | Working on the iPhone means writing apps for it.
        
         | kevinmchugh wrote:
         | Before the iPhone existed, there were feature phones, and
         | Carmack wrote games for feature phones.
        
         | Andrew_nenakhov wrote:
         | I think this means that after the iPhone appeared, j2me phones
         | went extinct.
        
       | hulahoof wrote:
       | Worst part about decent Feature Phone games was the device /
       | carrier lock in.
       | 
       | I was always upset as a massive FF7 fan that there was a
       | canonical game only released for certain (one?) feature phones
       | tied to a Japanese telecom, and despite my best efforts I was
       | unable to obtain a phone with a copy of all episodes downloaded
       | (though I did find some translated transcripts that I could read
       | for the story).
       | 
       | Very happy that it will now be included as a part of Ever Crisis.
        
       | TechHypes wrote:
       | <a href="https://www.techhypes.com/the-5-best-wireless-keyboard-
       | in-20... article is very helpful</a>
        
       | blt wrote:
       | It blows my mind that a garbage collected language without
       | aggregate value types was the language of choice for games on
       | these tiny phones.
        
         | tenebrisalietum wrote:
         | Qualcomm MSM chipsets in feature phones probably all had ARM
         | CPUs with the extensions that had the JVM acceleration
         | instructions.
        
         | sjansen wrote:
         | It makes more sense if you lived through the marketing hype.
         | 
         | I'd compare "Java as solution to everything" to the more recent
         | "web scale" and "NoSQL" crazes, but with the backing of a PR
         | firm instead of Internet echo chambers.
        
       | marcodiego wrote:
       | Two friends of mine used to work on projects that depended on
       | BREW. Brazilian videogame console (zeebo) was also dependent on
       | it. At the time they didn't spoke negatively about it. With my
       | free software roots, I had a very negative view on proprietary
       | platforms and dev tools.
       | 
       | A few years forward, no zeebo game can be played on non-original
       | hardware that is no longer manufactured for about a decade. These
       | games will become unplayable and unsalvageable too. Although not
       | spectacular, losing part of history is always a dent on culture
       | preservation.
       | 
       | Basically the same happens with the BREW software that won't run
       | anywhere else and brew devices that simply became unusable
       | because they require signatures.
       | 
       | Locked down platforms should be regulated or laws should exist to
       | force companies to open specifications after some time and
       | release signatures.
        
       | MaxBarraclough wrote:
       | The chain all in one place, such that it's readable:
       | 
       | > Before the iPhone existed, I worked on a few games for what
       | were called "feature phones": Doom RPG 1&2, Orcs&Elves 1&2, and
       | Wolfenstein RPG. Qualcomm's native-code BREW platform had better
       | versions, but I haven't seen any emulators and archives for it,
       | so they may be lost at this point. The J2ME (java mobile)
       | versions are still floating around, and can be emulated.
       | 
       | > My son wanted to get O&E2 running, so we set out on a little
       | adventure. Kemulator ran the game, but audio was glitchy and it
       | hung after you died in game. Well, we are programmers, we should
       | be able to fix it. Unlike most emulator projects, Kemulator
       | turned out to be closed source abandonware, so we moved over to
       | freej2me, which is a live github project.
       | 
       | > The hang didn't happen, but audio was even worse. Missing sound
       | effects was a simple bug fix -- MIDI sounds weren't seeking to
       | the start on replays. We will submit a patch. Still, everything
       | was glitchy with audio underruns. We noticed that the emulator
       | was taking an absurd amount of CPU, despite the game being built
       | for <100 MHz mobile CPUs.
       | 
       | > We spent a frustrating afternoon exploring java profiling
       | tools, but finally, Flight Recorder and JDK Mission Control
       | pointed out the root cause: explicitly invoked garbage
       | collection. A vague memory of having to call system.GC() every
       | frame to avoid problems on some mobile phones bubbled up. We
       | couldn't change the source on the game, but the jvm has a handy
       | option -XX:+DisableExplicitGC that fixed everything right up.
       | 
       | > This is an interesting case where an operation is >10x slower
       | on a modern computer.
       | 
       | > A GC sweep on a phone with 128k of heap is a very different
       | thing than a desktop with a multi-GB heap.
       | 
       | > Some old writing about the early cell phone work:
       | https://web.archive.org/web/20060502175605/http://www.armadi...
        
         | ups101 wrote:
         | You could also insert the Carmack'y "ah-ehm" between tweets :-)
        
         | CodeGlitch wrote:
         | I wish John would move over to a proper blogging site like
         | medium, rather than a Frankenstein string of tweets.
         | 
         | He has enough material to gain a good following.
        
           | theandrewbailey wrote:
           | He used to use Facebook for these things, back when he worked
           | there.
        
           | IvyMike wrote:
           | Bring back .plan files!
        
           | posharma wrote:
           | Yes, I've wondered if there's any advantage to using twitter
           | if you've to say something more than a single tweet. Is there
           | any blocker to using good old blogs for this? There's no rule
           | that a blog should be at least a page long; it can be short.
        
         | brianberns wrote:
         | Thank you. Twitter's user experience is the worst.
        
           | [deleted]
        
           | david422 wrote:
           | Has someone written an extension to aggregate tweets into 1
           | large tweet yet?
        
             | iudqnolq wrote:
             | nitter.com is an alternative ui that shows the whole thread
             | on one page without needing js
        
               | 0-_-0 wrote:
               | For example:
               | 
               | https://nitter.42l.fr/ID_AA_Carmack/status/13950892107097
               | 866...
        
               | RaoulP wrote:
               | The correct link seems to be nitter.net
        
               | iudqnolq wrote:
               | Whoops
        
             | leetrout wrote:
             | Dunno about an extension but there are apps
             | 
             | https://threadreaderapp.com/thread/1395089205986988043.html
        
             | beaconstudios wrote:
             | Yeah, @threadreaderapp
        
               | bonoboTP wrote:
               | The worst is when lots of people each reply "unroll
               | thread!" to a thread. So much noise and junk.
        
               | abnercoimbre wrote:
               | It's unfortunate. I'm guessing it's because people need
               | that dopamine hit of getting a notification, just for
               | them.
        
           | mestoslaw wrote:
           | They are working on it
        
           | ricardobayes wrote:
           | Although there is no reason why he didn't post on say medium
           | and post the link. He chose to use a 140-char-limit site to
           | write a novel.
        
             | judge2020 wrote:
             | 280 now ;)
             | 
             | But I'd rather him use Twitter than the centralized broken
             | mess that is medium.
        
               | genericone wrote:
               | Better the centralized broken mess you know than the
               | centralized broken mess you don't
        
           | ComodoHacker wrote:
           | Is it really Twitter or the habit to write everything there,
           | even lengthy posts?
        
             | ALittleLight wrote:
             | It's interesting to think about why that habit exists. It
             | seems like a low barrier to entry to me. If Carmack had
             | wanted to post to Medium or something he would've had to
             | write and edit the whole essay and get people to come read
             | it.
             | 
             | On Twitter Carmack posts a paragraph as it comes to him.
             | Could do the whole thing at once. Could take days to
             | complete the thread or longer. It could be as long as he
             | wants. One tweet or one thousand. No real expectations of
             | edits. No one would be surprised if it's only a three
             | paragraph thought whereas going to read an essay that might
             | feel a little brief. Nobody expects really profound or
             | serious insight, just the thoughts on top of his head.
             | 
             | Readers also have the same low barrier to entry. No need to
             | go to a separate page or app. Look at the first or first n
             | paragraphs. Scroll by anytime.
             | 
             | The user experience for something like this may not be
             | perfect on Twitter, but I think Twitter has a lot to
             | recommend itself as the appropriate tool for sharing
             | thoughts like this.
        
               | UnpossibleJim wrote:
               | Reading Carmack's thought to text style writing (a la
               | Joyce's Ulysses) might be the only thing the get me to
               | wade into the sess pool that is Twitter .... Holy crap,
               | that was the most arrogant, self agrandizing post I've
               | ever made =( I wish I didn't feel that way, but I do =)
        
         | sidewinder128 wrote:
         | Awesome thank you!
        
         | delecti wrote:
         | I'm curious how the UI looks to other people, because "all in
         | once place" isn't really a complaint I can understand about the
         | Twitter UI I'm seeing. There's buttons and stuff between
         | tweets, but with 280 characters per tweet (140 was definitely
         | less readable) they're not significantly more difficult to read
         | on Twitter than they are in the paragraphs you posted.
        
           | stefan_ wrote:
           | The Twitter web UI if you are not logged in is purposefully
           | broken. Every so often, it will just show you "access denied"
           | or "you don't have permission". It is the peak of dark
           | patterns.
        
             | garaetjjte wrote:
             | It seems to require randomly from 1 to 5 page refreshes to
             | display anything (and don't be fooled by helpful retry
             | button, it won't work, you need to use browser refresh). I
             | thought it was just broken, but you say it works when
             | logged in? WTF.
        
               | tyingq wrote:
               | Try copy/paste of the URL into a brand new browser tab.
               | Works for me, every time. Which means it's probably
               | something to do with the Referer header being set? Anti-
               | flooding/hotlinking maybe?
        
               | darkwater wrote:
               | Most probable explanation: logged and notlogged requests
               | go through a different path in the infrastructure and the
               | not logged one doesn't work that good and they have no
               | pressure in fixing it. Maybe it's not a dark pattern but
               | it smells like one for sure.
        
             | anonymousab wrote:
             | This happens regardless of whether you are logged in or
             | not. IIRC it's some weird implementation bug with how they
             | use webworkers. There was an HN thread on it a couple of
             | months ago that prescribed some fixes. It varies by
             | browser, browser version and some other things like what
             | chrome may be a/b testing for you. The fixes are temporary,
             | though.
             | 
             | Dunno why Twitter seems to have completely deprioritized
             | the issue though. They change the error message every once
             | in a while but nothing else.
        
             | simias wrote:
             | On top of that this particular chain is quite egregious
             | because Carmack didn't even bother editing his text to be
             | twit-friendly. It just breaks in the middle of sentences.
             | 
             | It's pretty amusing to me that this modern, high-res,
             | multi-megabyte page has worse usability than when we could
             | just "finger" Carmack's .plan from a terminal 20 years ago.
             | 
             | Maybe we should try to bring finger back. We could pretend
             | that it uses the blockchain to drive adoption.
        
               | dan1234 wrote:
               | We just need to sell an NFT each time a .plan changes.
        
             | tempest_ wrote:
             | It has been like that for years too.
             | 
             | I basically wont read Twitter threads because of it,
             | perhaps I am better off for it.
        
             | delecti wrote:
             | That's entirely possible. I don't really ever browse it
             | without being logged in.
        
             | tyingq wrote:
             | I noticed it almost never happens if you copy/paste the url
             | into a browser. Seems related to navigating in with a
             | Referer header set.
        
             | wlesieutre wrote:
             | I think this is a bug rather than deliberately blocked. The
             | on-page retry button will continuously fail, but if you go
             | up to the address bar and keep hitting enter it will
             | eventually work.
             | 
             | Still embarrassing for a tech company of twitter's size.
             | Displaying a tweet to a logged out user should be the
             | single simplest job their service has, but it's usually
             | broken.
        
               | thrdbndndn wrote:
               | >embarrassing for a tech company of twitter's size
               | 
               | I'm a heavy user of Twitter. They have the most
               | ridiculous bugs all the time
               | 
               | Let me list a few I can remind in recent two years:
               | 
               | 1. A serious bug that makes the private lists' name,
               | member count, and description visible to everyone for
               | half a way
               | 
               | 2. ANOTHER private list exposure bug after a year
               | 
               | 3. Lots of their features are semi- or totally broken,
               | the most obvious example being Moments. Some minor ones
               | are like "twitter anniversary" etc.
               | 
               | 4. Media files being totally lost/404, especially for
               | some older tweets
               | 
               | 5. UI: "Checked" mark for adding people to lists being
               | invisible for at least a week
               | 
               | 5.1. UI: some UI elements suddenly become black for a few
               | weeks regardless what theme you use
               | 
               | 6. Outage: Like function broken for almost a day
               | 
               | 7. Outage: Timeline broken (no update) for half day
               | 
               | 8. This probably isn't a bug but a "shadow block"
               | feature, but I can't follow some accounts (and their
               | following/follower count doesn't show) if my IP is in
               | certain region.
               | 
               | 9. Huge feature disparity between web and app, or iOS and
               | Android
               | 
               | And needless to say, their support is beyond unhelpful,
               | and they don't really have a proper place to report
               | technical issues/bugs of their service.
        
               | madeofpalk wrote:
               | I was surprised by being able to see a tweet from a user
               | who had blocked me after someone mentioned it in my
               | replies.
        
               | Lorin wrote:
               | Don't forget videos appearing as a blocky mess for the
               | majority of playback time no matter how good your
               | internet connection is.
        
               | Pulcinella wrote:
               | Yeah Twitter's video compression is practically a parody
               | of bad video compression.
        
               | jaypeg25 wrote:
               | The fact that threaded tweet links like this don't work
               | on non-official apps (I use Talon on Android), to me, is
               | a sign that this is deliberate.
        
               | supercheetah wrote:
               | Thinking that it was intentionally made broken, or
               | deliberately broken at some point is rather presumptuous.
               | As has been said before, don't assume maliciousness when
               | incompetence is a better explanation.
               | 
               | That said, I would buy that ignoring and any fix for it
               | is deliberate.
        
               | thrdbndndn wrote:
               | https://github.com/klinker-apps/talon-for-twitter-
               | android/is...
               | 
               | Twitter's thread/reply API has been changed a lot. It
               | definitely works better now.
               | 
               | I will also be honest, Talon basically isn't really
               | updated any more.
               | 
               | I remembered the last time I used it, it has a bug that
               | it will always re-save/re-compress the image when you
               | download, which is very easy to fix, but the author
               | didn't do anything about it. I just checked, the bug is
               | still there..
               | 
               | https://github.com/klinker-apps/talon-for-twitter-
               | android/is... and https://github.com/klinker-apps/talon-
               | for-twitter-android/is...
        
               | newsclues wrote:
               | They need users, they rather avoid non-users that just
               | want the content.
               | 
               | Twitter is a private company but it has also become a
               | public space for political discourse.
               | 
               | The need for profits and open free speech are butting
               | heads.
        
               | speedgoose wrote:
               | Twitter has not fixed this bug for many many months. I
               | think they are very happy to have it because I do not
               | believe Twitter cannot fix it if they want to.
        
               | hamburglar wrote:
               | Years. I've never used a Twitter app, but this bug has
               | occurred a high percentage of the time I view a tweet in
               | the browser of every smartphone I've ever owned.
        
               | teucris wrote:
               | Thank you! I had given up on reading any HN post from
               | Twitter because of this issue.
        
           | thrdbndndn wrote:
           | Yeah, I prefer threadreaderapp over Twitter's native UI for
           | reading long threads all day everyday, but don't find the
           | native one difficult to read.
           | 
           | My only complaint is when the thread is long, Twitter will
           | start not showing it all at once. You have to click the last
           | tweet to see anything after it.
           | 
           | But again, threadreaderapp itself also has trouble to feed
           | all the parts of a super long thread.
        
             | flanbiscuit wrote:
             | Thank you for this! I have seen this before but I forgot
             | the name. Bookmarking it and I'll probably create a simple
             | bookmarklet so that I can quickly open it up on the current
             | tweet
             | 
             | edit: in case anyone is interested, here's the code for the
             | bookmarklet to turn the current tweet into a threadapp
             | thread. This is not very deeply tested but it worked with
             | the current tweet above so YMMV:
             | javascript:(function(){window.location.href =
             | 'https://threadreaderapp.com/thread/' +
             | window.location.pathname.split('/').pop(); })();
        
           | bonoboTP wrote:
           | And you have to click on "Show this thread" at the end to see
           | more, otherwise you only see some of the tweets.
           | 
           | And yes, it's absolutely horrible that there are all those
           | buttons and a repeated profile pic intruded at random points
           | in the text, like _in the middle of a damn word_.
           | 
           | I get that you need to tweet to get views and nobody reads
           | blogs any more but this "Twitter thread" concept is a UX
           | horror.
        
             | aeyes wrote:
             | And "Show this thread" takes me to the comments first, I
             | have to scroll up to see other messages by the author and
             | the order seems incorrect.
        
       | scld wrote:
       | Not being a programmer, I never have any idea what Carmack is
       | talking about, but I'm always enthralled.
        
         | corysama wrote:
         | https://m.imgur.com/xA8LLRu
         | 
         | Is a reference to both the many enthralling presentations
         | Carmack has given and to
         | https://www.youtube.com/watch?v=X68Mm_kYRjc
        
         | kleiba wrote:
         | A lot of times, even being a programmer, you never have any
         | idea what Carmack is talking about...
        
         | underyx wrote:
         | In case you want a simple explanation for this story: he tried
         | to run an old pre-iPhone mobile game on a computer. The game
         | runs very slow on computers, which is surprising considering
         | the performance difference between these old phones and a
         | modern computer.
         | 
         | The reason turned out to be that the game runs a memory
         | cleaning command to avoid bugs arising from lack of space.
         | Since modern computers have 10000x more memory to clean up,
         | these commands now take way more time to complete, and thus
         | slow the whole game down.
        
           | jandrese wrote:
           | It seems kind of crazy to me that people were using a GC
           | language on a device with 128kB of memory. John even mentions
           | how he was forced to run the GC on every frame to avoid
           | problems. I would think when you are that constrained you
           | would be closely tracking your memory usage. It's probably a
           | miracle that those games weren't constantly hitching and
           | crashing due to slamming up against the memory limits.
        
             | tannhaeuser wrote:
             | Best practice was to pre-allocate everything, or at least
             | not allocate insane amounts of objects per-frame if at all
             | possible such that System.gc() would become a no-op up to
             | tracing and maybe defragmentation anyway.
        
             | munificent wrote:
             | Garbage collection was invented for Lisp, which initially
             | ran on a machine with 18,432 bytes of RAM.
        
             | kllrnohj wrote:
             | > It seems kind of crazy to me that people were using a GC
             | language on a device with 128kB of memory.
             | 
             | Look up JavaCard which apparently is a thing that still
             | exists. It uses the Java language _without a GC_ - that
             | programming environment is truly miserable to work with.
        
           | xNeil wrote:
           | That was very helpful, thank you!
        
           | chitowneats wrote:
           | I'd follow a Twitter alt dedicated to ELI5-style summaries of
           | John Carmack tweets.
        
           | kllrnohj wrote:
           | > Since modern computers have 10000x more memory to clean up
           | 
           | The understated insane part of this is that emulating a
           | 100mhz ARM CPU with 128kb of RAM apparently takes gigabytes
           | of RAM to accomplish. What on earth is that emulator doing?
        
             | nolok wrote:
             | Given the details in the tweet, it might be simply
             | translating GC run from emulated to host context. Not what
             | you would ever want to do but it's abandonware from years
             | ago after all, it might have been "slow but bearable" back
             | when it was being developed.
        
       | gyulai wrote:
       | Hmm. Although they were not actually called feature phones.
       | Feature phones was what we started calling phones that weren't
       | smartphones after smartphones came to be a thing/word.
        
       | Yuioup wrote:
       | I played some of those games back in the day. Smooth and very fun
       | to play.
        
       ___________________________________________________________________
       (page generated 2021-05-20 23:00 UTC)