[HN Gopher] Never Missing the Train Again
       ___________________________________________________________________
        
       Never Missing the Train Again
        
       Author : thimabi
       Score  : 129 points
       Date   : 2024-10-23 11:00 UTC (1 days ago)
        
 (HTM) web link (lilymara.xyz)
 (TXT) w3m dump (lilymara.xyz)
        
       | fatnoah wrote:
       | I love this. As a formerly car-free resident of Boston, I cobbled
       | together something far cruder to handle the cases of there being
       | many ways for me to get from point A to point B, but the "best"
       | way depended on time and any stops I'd make along the way.
       | 
       | For example, I walked my son to school before heading to work,
       | and sometimes I got breakfast after dropoff. Having the "next
       | departure" view let me have a more fluid experience that handled
       | the non-deterministic nature of walking with a 4 year old in a
       | very interesting place, or deciding whether to hustle to get the
       | train because missing it hit a schedule gap, etc.
        
       | pkulak wrote:
       | Super cool. I did the same kind of thing with my tidbyt display:
       | 
       | https://github.com/pkulak/tidbyt
       | 
       | My local transit agency (Trimet) is _really_ good with their api.
       | It's public, and a single HTTP GET to get the ETA on every bus
       | that serves a given stop, so it wasn't event that much work.
        
       | sofixa wrote:
       | Nice. I have something similar with a repurposed Lenovo
       | ThinkSmart View tablet/conference room device, with Home
       | Assistant and its integration to my local transit authority. The
       | advantage is that it's much more out of the box (okay, I did have
       | to flash a custom Android ROM on the Lenovo, but still), it can
       | show whatever I want, and I can also use it to control stuff like
       | my lights or robot vacuum.
        
       | crazygringo wrote:
       | You don't have to jailbreak your Kindle, or render images.
       | 
       | You can just point its web browser at any webpage you design, and
       | disable the Kindle's "screensaver" (its ads or sleep screen) with
       | debug commands [1, 2].
       | 
       | You'll be stuck with a browser bar along some edge of the Kindle
       | (you can rotate the device orientation to put it at the bottom or
       | right edge), but it's a small price to pay for being able to
       | write your weather/transit/news screen in easy HTML/CSS/JS and
       | whatever backend language you want, and run it on a cheap
       | DigitalOcean $4 instance or whatever.
       | 
       | [1] https://blog.notfaqs.com/2018/06/kindle-e-reader-disable-
       | scr...
       | 
       | [2] https://www.mobileread.com/forums/showthread.php?t=198334
        
         | philips wrote:
         | I am almost certain disable screensaver was removed for later
         | Kindles.
        
           | crazygringo wrote:
           | I didn't seem to be last I checked -- the older Kindles
           | require the sequence:                 ;debugOn
           | ~disableScreensaver       ;debugOff
           | 
           | while newer ones only require:                 ~ds
           | 
           | I know that for some ad-supported Kindles it doesn't work
           | unless you pay to remove the ads (for obvious reasons), but
           | if you pay then it will.
           | 
           | But last I checked was a couple of years ago. I'd be very
           | curious if anyone can report it not working. (Also note the
           | command doesn't survive reboot, you have to re-disable after
           | rebooting.)
        
             | laserlight wrote:
             | Unfortunately, ~ds was disabled by a firmware update a few
             | years ago.
        
               | crazygringo wrote:
               | Ugh, that sucks. Any idea how to determine which ones are
               | affected? I.e. what firmware version, or which models it
               | started affecting?
               | 
               | Older models still support ~disableScreensaver -- at some
               | point Amazon just stopped issuing firmware updates for
               | them, I have to assume.
        
         | cptcobalt wrote:
         | It would be even cooler if Amazon also encouraged and built a
         | "Kiosk mode" browser view of the kindle for this sort of
         | display hacking.
        
           | FrecklySunbeam wrote:
           | (author here) I've also been thinking about this - I've since
           | built out a Rust library (https://github.com/lily-
           | mara/kindling) for scaffolding the server piece of this and
           | I've been considering creating a Kindle client app that
           | integrates with it. This is possible but would require using
           | the Kindle Java SDK, which does not fill me with excitement.
        
             | stavros wrote:
             | That would be fantastic, although even just the way you've
             | done this here is great. I've got a few old Kindles that
             | would be good to convert to displays, and if I could just
             | install a server and a client, it would take a lot of the
             | work out of it.
        
               | FrecklySunbeam wrote:
               | No matter what, jailbreaking would be the most difficult
               | step in the process, but the library I linked above takes
               | a lot of the work out of it. It's entirely undocumented
               | atm (I am surely the only one using it), but it comes
               | with an install script you can run on the Kindle to do
               | the setup once you have the jailbreak done.
        
           | crazygringo wrote:
           | They really ought to, it's a fantastic reuse mechanism.
           | 
           | Like I totally understand why they wouldn't for new Kindles,
           | since I assume part of their ebook sales help subsidize the
           | hardware, but if they enabled it once a device hit 5 years
           | old or something, I don't see what they'd have to lose.
        
         | DannyPage wrote:
         | I looked into this with my 4th generation Kindle; it seems like
         | it won't be able to use any HTTPS website due to invalid
         | certificate. However, setting it up to talk to a server on my
         | local network would be the way to go. Thanks for the idea!
        
       | pimlottc wrote:
       | The CTA (in Chicago) has a nice customizable "next train screen"
       | web app that's perfect for this:
       | 
       | https://www.transitchicago.com/developers/diydisplay/
        
       | ramses0 wrote:
       | R.I.P. Pebble:
       | 
       | https://developer.rebble.io/developer.pebble.com/community/a...
       | 
       | """ Caltrain is a Pebble app that displays upcoming trains at a
       | station, and where those trains will stop along the remainder of
       | each of their routes.
       | 
       | Finally, it uses PebbleKit JS to retrieve your location on
       | launch. If it gets a response before you manually choose a
       | station, it will automatically show the station closest to you.
       | """
       | 
       | ...you could literally map that "applet" to long-press on a
       | button, and get the info in like 5 seconds.
       | 
       | For extra "dick tracy" spice, call an uber from your wristwatch
       | with 3-4 clicks (long-press, ok, next, ok => "your uber will
       | arrive in __ minutes"). Actually, reviewing the app docs, it
       | looks like it was only two long-presses to request $LAST_USED_CAR
       | to $CURRENT_LOCATION.
       | 
       | https://www.uber.com/blog/pebble-smartwatch/
       | 
       | https://pebble-help-legacy.rebble.io/help.getpebble.com/cust...
       | 
       | Buttons, people! Buttons!
        
         | hiatus wrote:
         | We've really taken steps backwards since pebble. We used to be
         | able to respond to messages by talking into our wrists, for
         | ~$100. I switched to Garmin after using rebble for a bit, and
         | that's the feature I miss most.
        
           | ramses0 wrote:
           | I'm the reverse, I never wanted to "input" to the wrist, but
           | really appreciated the notifications, Bluetooth disconnect
           | warnings, "the timeline" interface, and the necessarily
           | limiting interface of 4 buttons (specifically: music control
           | while in the shower... play/pause, next track, pick a station
           | from a list, etc).
           | 
           | Totally understand how some loved the ability to
           | compose/respond to messages, but that never made sense to me.
           | 
           | Garmin, Amazfit, and BangleJS comes close, but #buttons,
           | #battery, and #b&w (well, always on, transflective, sunlight
           | readable)
        
       | sourcepluck wrote:
       | A. "Busses" should be "buses", I think? Or am I stepping into a
       | holy war... Maybe it's a British vs American English thing, but a
       | quick look says that Merriam-Webster agrees. Maybe it's a choice
       | by the author, in which case, fair enough. If I was the author,
       | I'd prefer knowing, anyway.
       | 
       | B. Super cool article! I've an old Nook somewhere being neglected
       | which I am now moving up my list of devices to do some messing
       | with and find a use for. Excellent stuff.
        
         | Terr_ wrote:
         | Yeah, IMO the plural noun is "buses", while "busses" is a
         | conjugated verb, ex:
         | 
         | "When the regular buses aren't running, he busses people around
         | in the minivan."
        
           | BalinKing wrote:
           | The OED says that "busses" is an acceptable plural in
           | American English (I haven't read the article though, so I
           | don't know what dialect the author speaks/writes).
        
             | Terr_ wrote:
             | > You might see the plural busses, but that form is so rare
             | that it seems like an error to many people. [...] When the
             | word bus was new, the two plurals were in competition, but
             | buses overtook busses in frequency in the 1930s, and today
             | is the overwhelming choice of writers and editors.
             | 
             | -- https://www.merriam-webster.com/grammar/plural-of-bus
             | 
             | Went ahead and used Google Ngram viewer to show the
             | popularity difference, with some context-words to ensure
             | it's comparing cases where a plural noun is being used:
             | 
             | https://books.google.com/ngrams/graph?content=the+busses%2C
             | +...
             | 
             | https://books.google.com/ngrams/graph?content=multiple+buss
             | e...
             | 
             | https://books.google.com/ngrams/graph?content=took+buses%2C
             | +...
        
               | sourcepluck wrote:
               | Ooh nice, I didn't know that Ngram tool! I've heard
               | references to word frequency but didn't know where to do
               | it. Thanks for jumping in with a bit of analysis.
               | 
               | Of course, if USA-based anglophones want to continue
               | using a particular spelling or pronunciation, we know we
               | don't have the power to stop them. I bow out of this one.
        
       | 43920 wrote:
       | Not to diminish OP's project, but the stated goal of "know when
       | each transit line has an upcoming train/tram/bus" is probably
       | already achieved by https://transitapp.com/ - the default view
       | when you open the app is a list of nearby transit lines, sorted
       | by distance and showing the next departure for each.
        
         | n4r9 wrote:
         | You can also bring up a station's departure board in CityMapper
         | by clicking on its marker in the map view.
        
       | mmoustafa wrote:
       | If you want a transportation app built for locals I highly
       | recommend Transit. When you open the app it shows you the transit
       | options closest to you, where they're heading, and when the next
       | one arrives. Never have to put in a destination.
        
       | alsodumb wrote:
       | This sounds like a fun project, but there are existing apps whose
       | default page is "when is the next bus/train coming up on stops
       | near me"
       | 
       | Transit App (https://transitapp.com/) is one of them and I
       | freaking love their interface overall. This app's default view
       | shows you the next bus (in either directions) at the 3-4 transit
       | stops closest to your current location. And you can customize/add
       | favs too. It's a beautiful app, also allows for multi/mixed-modal
       | route planning (part walking, part bike, part bus).
        
         | parl_match wrote:
         | To be honest, I found having something physical and on the wall
         | and always present _really_ helpful. When the train/bus comes
         | every 15 minutes, being able to casually look and see if you
         | should make a dash for it is way better than pulling out your
         | phone, bringing up an app, and entering your destination.
        
           | alsodumb wrote:
           | Oh yeah of course, I personally have a physical screen that
           | shows live feed from my local transit agency's GTFS real time
           | feed. I was just pointing out the app for those who don't
           | have the time/interest to build something physical.
        
       | echoangle wrote:
       | I always want to get into rust but examples like this always make
       | me reconsider. Every time I want to code something and start with
       | rust, I switch to python 5 minutes later because it's just so
       | much easier (for me at least). The code to build exactly this
       | dashboard would probably be less than 100 lines of python. Rust
       | is much better for performance (and maybe runtime correctness,
       | but most errors here would be parser errors anyways) of course,
       | but for this application, I don't think it really matters.
        
       | PaulHoule wrote:
       | "where are you and where are you going?" Is a delusional question
       | for a transit system but it's a good question for Uber.
       | 
       | When I was involved with the Green Party we were thinking of
       | "just doing" the things the local government wasn't doing and I
       | think we set a fire under the bus company's butt to fix a large
       | number of usability problems that we were going to fix for them
       | (and stick our logo everywhere.)
       | 
       | The bus company was very negative on us extracting schedules from
       | their web site because they wanted to see what people were
       | searching for -- hypothetically they could have added new service
       | somewhere if there was demand for it but (1) it seemed hard to
       | believe they'd really do it because changes are so infrequent and
       | (2) they never showed any sign of caring what people thought, why
       | would they start now?
        
       | pugworthy wrote:
       | In truth I rarely ever miss a train, a bus, or a plane. They miss
       | me though because they are delayed.
        
         | m463 wrote:
         | I think travel by bus/train is more friendly when they have
         | "headway".
         | 
         | Instead of a specific schedule, there is a bus/train every "n"
         | minutes.
        
       | alilleybrinker wrote:
       | It ought to be easier to get a blank slate of a small device with
       | some compute power and a screen, like the Kindle here, without
       | having to jailbreak something.
        
         | RicoElectrico wrote:
         | There is one, it's called the Raspberry Pi ecosystem, but due
         | to the small volume and the target audience largely being not-
         | my-own-money (think educational institutions), the price is
         | quite detached from the production cost.
        
           | 6gvONxR4sf7o wrote:
           | I think more of the issue might be the eink screens. As far
           | as I can tell, there just aren't 5+ inch eink screens for
           | cheap.
        
             | GeoAtreides wrote:
             | yes they are: https://www.waveshare.com/product/displays/e-
             | paper.htm?___SI...
             | 
             | A 4.37inch E-Paper in 3 colors is $24, problem is need you
             | to program yourself (they have code sample in python, for
             | raspberry pi), and you need a raspberry pi, case, cables,
             | etc.
             | 
             | Also, these cheap epaper displays are, of course, of lower
             | quality (slower, lower resolution) than an kindle display.
        
               | 6gvONxR4sf7o wrote:
               | They jump up in price pretty quickly as size goes up. The
               | cheapest 5+ inch display I found at your link was over
               | $40, and it's about 100PPI. It's certainly not
               | prohibitive, but certainly priced high compared to "just
               | jailbreak a kindle" for any remotely kindle-comparable
               | display, right? (remotely comparable in size and
               | resolution)
        
               | FrecklySunbeam wrote:
               | I imagine the Kindle is sold as a loss leader, plus
               | whatever economies of scale/negotiating Amazon does
               | pushes the price down heavily vs buying a single unit
               | from an electronics retailer
        
       | nvader wrote:
       | I want to mention this beautiful physical led sign of the BART
       | map: https://www.designrules.co/
        
       | Aeolun wrote:
       | I love how they blamed the flake on node and Javascript, then
       | switched to Rust and also changed the whole approach, which had a
       | hundred times more effect than changing the language did.
        
       ___________________________________________________________________
       (page generated 2024-10-24 23:00 UTC)