10 ms·
Never Missing the Train Again
- nvader 2y agoI want to mention this beautiful physical led sign of the BART map: https://www.designrules.co/ https://www.designrules.co/
- deleted 2y ago[deleted]
- fatnoah 2y agoI 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 2y agoSuper cool. I did the same kind of thing with my tidbyt display: https://github.com/pkulak/tidbyt 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 2y agoNice. 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 2y agoYou 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-screensaver.html https://blog.notfaqs.com/2018/06/kindle-e-reader-disable-scr... [2] https://www.mobileread.com/forums/showthread.php?t=198334 https://www.mobileread.com/forums/showthread.php?t=198334
- cptcobalt 2y agoIt 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 2y ago(author here) I've also been thinking about this - I've since built out a Rust library (https://github.com/lily-mara/kindling 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 2y agoThat 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 2y agoNo 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.
- pimlottc 2y agoThe CTA (in Chicago) has a nice customizable “next train screen” web app that’s perfect for this: https://www.transitchicago.com/developers/diydisplay/ https://www.transitchicago.com/developers/diydisplay/
- ramses0 2y agoR.I.P. Pebble: https://developer.rebble.io/developer.pebble.com/community/apps/caltrain/index.html 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://www.uber.com/blog/pebble-smartwatch/ https://pebble-help-legacy.rebble.io/help.getpebble.com/customer/en/portal/articles/1993192-uber-app6d9c.html?b_id=8309 https://pebble-help-legacy.rebble.io/help.getpebble.com/cust... Buttons, people! Buttons!
- hiatus 2y agoWe'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 2y agoI'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 2y agoA. "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_ 2y agoYeah, 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 2y agoThe 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_ 2y ago> 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 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+the+buses&year_start=1900 https://books.google.com/ngrams/graph?content=the+busses%2C+... https://books.google.com/ngrams/graph?content=multiple+busses%2C+multiple+buses&year_start=1900 https://books.google.com/ngrams/graph?content=multiple+busse... https://books.google.com/ngrams/graph?content=took+buses%2C+took+busses&year_start=1900 https://books.google.com/ngrams/graph?content=took+buses%2C+...
- clin222 2y ago[dead]
- 43920 2y agoNot 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/ 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 2y agoYou can also bring up a station's departure board in CityMapper by clicking on its marker in the map view.
- julesallen 2y agoLike that there's no ads but it's a big no on the "data shared with third parties". Assuming this is how they make money? I'd rather wait 10 more mins for the bus I just missed.
- Schiendelman 2y agoAnd Apple Maps has a built-in nearby transit button that does similar.
- mmoustafa 2y agoIf 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.
- julesallen 2y agoAndroid here. Have you looked at the amount of data this shares with third parties? No ads but holy hell. No thanks.
- alsodumb 2y agoThis 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/ 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 2y agoTo 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 2y agoOh 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.
- mattegan 2y agoPlugging my own project here [1] for SF's Muni to say I 100% agree with you - the phone is a trap! There's something so charming about having a thing you know you can look at anytime and __no matter what__ it's doing exactly what you expect it to be doing. [1]: https://github.com/mattegan/muniscreen https://github.com/mattegan/muniscreen
- parl_match 2y agothats a cool project! i would kill for the transit app experience, with an eink display, and battery measured in weeks
- spuz 2y ago
- echoangle 2y agoI 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 2y ago“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 2y agoIn truth I rarely ever miss a train, a bus, or a plane. They miss me though because they are delayed.
- m463 2y agoI 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.
- rsynnott 2y agoThat works when it's high frequency enough. If it's every five minutes, no problem. If it's every 20, this doesn't work quite as well. If it's every hour it's unworkable.
- alilleybrinker 2y agoIt 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.
- deleted 2y ago[deleted]
- RicoElectrico 2y agoThere 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 2y agoI 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 2y agoyes they are: https://www.waveshare.com/product/displays/e-paper.htm?___SID=U&limit=80 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 2y agoThey 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)
- Aeolun 2y agoI 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.
- FrecklySunbeam 2y agoI don't blame Node/JS for the reliability issues of the first version at all, they're simply not the tools that I prefer to work in. > Each of the seven sections on the image represents a browser tab that Puppeteer needs to keep open in order to fetch screenshots. Remember that the Node.js server was running on a Raspberry Pi, it didn’t have an excess of memory to operate in and Chrome is not known for its svelte-ness. > I picked Node.js for the first server because I was using Puppeteer. I don’t particularly like Javascript, so given the ability to start from scratch I happily pivoted to Rust. > Next, since we’re not relying on a browser engine to render the display, we will be using a 2D graphics library to render a PNG directly. This should have a much lower resource cost than using an entire browser engine, at the cost of some decreased flexibility.
- doesnt_know 2y agoI don't think they really blamed node and js? They seemed pretty aware that it was the overall arch of the thing that made it non-viable. > Each of the seven sections on the image represents a browser tab that Puppeteer needs to keep open in order to fetch screenshots. Remember that the Node.js server was running on a Raspberry Pi, it didn’t have an excess of memory to operate in and Chrome is not known for its svelte-ness. So then figuring they had to effectively redo it from scratch with a new solution, they then switched over to a language and stack they enjoyed, which seems completely reasonable. > I picked Node.js for the first server because I was using Puppeteer. I don’t particularly like Javascript, so given the ability to start from scratch I happily pivoted to Rust. edit: Just beaten and directly from the author it seems. :)
- philipwhiuk 2y agoIf you're in the UK you can buy a depature board that mimics a station departure board: https://ukdepartureboards.co.uk/store/product/desktop-departures/ https://ukdepartureboards.co.uk/store/product/desktop-depart...
- rjh29 2y agoThere's also https://departureboards.mobi/departures/BTH https://departureboards.mobi/departures/BTH which mimics the departure boards used in some stations.
- itohihiyt 2y agoIs there a bus version? This is excellent.
- dspillett 2y agoYou could make your own if you are sufficiently crafty: the data needed in the UK is available from public sources, https://www.bus-data.dft.gov.uk/ https://www.bus-data.dft.gov.uk/ being the main one (I discovered this when checking the data sources of bustimes.org, which they helpfully list on an easy to find page: https://bustimes.org/data https://bustimes.org/data).
- imp0cat 2y ago> Note: Please review product dimensions before purchase to avoid any surprises LOL, this must happen quite a lot to them.
- withinboredom 2y agoLet me tell you about the time my wife ordered some cheap furniture on Amazon once ... it was all doll-house furniture. The photos and title did make it seem life-size, and it was super high-quality furniture at that. Just the wrong size...
- lostlogin 2y ago
- bckr 2y agoThis was wonderful. Extremely hackery. I did skim the last half, because it’s largely code.
- andbberger 2y agoBART's on a takt now though. so you just have to memorize like 3 times for your local station
- anamexis 2y agoThat’s only true if they reliably follow their schedule.
- Animats 2y agoBART and MUNI both support the General Transit Feed Specification.[1] There's a standard way to obtain this data. [1] https://gtfs.org/documentation/overview/#gtfs-realtime https://gtfs.org/documentation/overview/#gtfs-realtime
- culopatin 2y agoDo you know how reliable is the realtime info? I find that Google maps very often says “bus coming in 4 min” as im watching the bus drive away. Or “delayed by 5 min” and it’s early by 2, etc.
- sameoldtune 2y agoThe app is very clear when a time is based on gps vs the schedule. You can even watch the gps like you can on Uber. No one can predict the traffic but in my daily experience it is reliable to the minute
- rsynnott 2y agoIME Google's realtime data in many places isn't very good; even where it _claims_ to have realtime data (there's a little radio symbol beside the bus), it sometimes disagrees with both the local operator's own realtime data, and, well, consensus reality. > Or “delayed by 5 min” and it’s early by 2, etc. This, in particular, you can never really trust, especially for buses, no matter who's telling you it. If a bus is delayed 5 minutes, and has the opportunity to make up the time, it will. If a bus is delayed by five minutes, but there's no-one at the next five stops and no-one wants to get off there, it may well be on time by the time it gets to the next stop. In many bus systems, buses will sometimes just stop to avoid getting too far _ahead_ of schedule, though.
- crazygringo 2y agoIt depends on the specific transit system. In my experience in NYC, the subway data is extremely accurate in terms of the minimum time until the next train. The subway virtually never arrives "early". Buses seem to have a problem where their location transmission sometimes fails for a few minutes. The system always assumes the bus is still stuck at its last reported location rather than moving. That's why you get a bus arriving when the feed says it's 4 minutes away. A good rule of thumb is that if you see the minutes away change, e.g. from 7 to 6 minutes, it's accurate. If it's not changing (e.g. just sits at 7), it might be because it's genuinely stuck in traffic, or because it's stopped transmitting. (Which explains the "delayed by" situation you describe.)
- beeflet 2y agoits interesting that the author is using rust and is also trans. its kind of a trend with these blog posts
- ketzo 2y agoI say this completely unironically: trans women programmers w/ blogs are a critical pillar of the OSS ecosystem, it rules
- userbinator 2y ago[flagged]
- edfungus 2y agoI also live in SF and made an iOS app (A Better Ride) to solve this exact problem. Just shows you departure times of transit for stops around you. The goal is to make transit less stressful by making it predictable and explorable. It’s just a passion project I work on in my free time with zero monetization
- mattegan 2y agoYour app is stunning! Love the real-time map! I'm working on some hardware in this space (I've been up to my eyeballs in GTFS lately) and I can tell just how much went into parsing and presenting the transit data. If you're willing, I would love to chat about some of the UX decisions you made - specifically in summarizing and grouping the trips available at each stop, and your backend!
- brendannee 2y agoThis app is fantastic - nice job! It is unique among transit apps in that it shows you only the routes near you and where they go. This lets you explore all the places you could travel to without dealing with transfers.
- jrhizor 2y agoThat's really great! So many nice touches, like how it shows the side of the street and the overall direction of transit!
- aaronbrethorst 2y agon.b. I'm the executive director of the non-profit behind OneBusAway, which is an open source project used by millions of people every day to find out where their buses, trains, trams, and funiculars are, and when they'll be arriving. If you live in a city that already has a OneBusAway server[1], you can use one of our brand new SDKs to build your own custom app experience: https://github.com/onebusAway/?q=sdk&type=all&language=&sort= https://github.com/onebusAway/?q=sdk&type=all&language=&sort... If you live in a city that DOES NOT have a OneBusAway server, we've spent a ton of time and energy this year building Docker images and OpenTofu configurations[2], which will allow you to take GTFS and GTFS-RT feeds and turn them into an easy to use REST API. I know that BART provides GTFS and GTFS-RT feeds: https://mobilitydatabase.org/feeds/mdb-53 https://mobilitydatabase.org/feeds/mdb-53. Similarly, every other transit agency in the United States should now be publicly sharing at least their static schedule data as GTFS due to a newish federal rule. Also, if you're interested in hacking on software like what I described above, or on our end user-focused software, we always need more developers to pitch in—all skill levels and essentially any language. In particular, we desperately need an iOS developer to help our 250,000 daily users get some much needed improvements. My email address is aaron@onebusaway.org. Reach out! ---- [1] New York, Seattle, Washington, D.C., San Diego, Alexandria, Victoria, Adelaide, Buenos Aires, etc. [2] Docker: https://github.com/OneBusAway/onebusaway-docker https://github.com/OneBusAway/onebusaway-docker and OpenTofu: https://github.com/OneBusAway/onebusaway-deployment https://github.com/OneBusAway/onebusaway-deployment
- deleted 2y ago[deleted]
- jgrahamc 2y agoIf you live in a city that already has a OneBusAway server How do you find a list of places it's deployed. I tried Googling "onebusaway cities" which got me this page https://onebusaway.org/onebusaway-deployments/ https://onebusaway.org/onebusaway-deployments/ but that doesn't list cities like Adelaide that you mention.
- fx1994 2y agohad to install app to check, only USA and only few places... so basically useless
- nox101 2y agoMaybe I'm not understanding the use case. I don't want to "take the train". I want to get from A to B. If the train is broken, the workers are on strike, the route is blocked between 1pm and 4pm, or it's outside of operating hours then I want an alternative. So for me, I actually want what Google Maps gives me (or tries to give me). I do not just want to know about trains. Maybe I want to get from the Ferry Building to Oakland and maybe the Bart is broken so i'd be better to take the ferry. Maybe it's late so my only option is a taxi/uber. Alternatives are especially important in other cities. In Tokyo if I want to go from Shibuya to Azabujuban I can take * Ginza Line->Namboku line - advantages, (1) Ginza line starts at Shibuya so guaranteed a seat if I wait for the next train - though only for 4 stops where I have to switch (2) both lines are same train company so $1 cheaper * Hanzomon Line->Oedo line - advantages, fastest * Yamanoto line->Namboku line * #6 bus - advantages: no changes, disadvantage, slowest * taxi - advantage: fastest if there's no line for taxis or if I'm confident I can find one quickly Extra considerations. Each line's station and the bus stop are 3 to 8 minutes walk from each other so if I'm closest to one that would weigh on my choice. Speed matters too, if I'm late. If I have large or heavy packages I'd be more likely to take the cab. Etc....
- bongodongobob 2y ago[flagged]
- nox101 2y agowithout more info you can't know that. further. I want to go to one app. If I want to go to Geary and 24th, there is no train. I don't want to have to take the extra step of thinking about where I want to go and then having to choose the appropriate app. one app will do
- inejge 2y ago> Maybe I'm not understanding the use case. I don't want to "take the train". The use case is routine. A lot of people, most of the time, do indeed want to "take the train". Heroic feats of real-time planning have their place, and it's great to have tools that help you with that, but routine can be covered with much simpler tools just as well. Even in the Tokyo scenario you gave (which is fascinating -- thank you!) Google gives 30-40 min. for most public transit options, so for rough planning they're all equivalent. Taxi is faster, and bicycle is almost at par.
- AStonesThrow 2y agoWhen realtime information was first available from my public transit system, it was via an SMS system that was widely advertised at every bus stop and train station, wherein each received a five-digit ID code. So you'd text that code to a special number, and it'd reply with the "NextRide" timings. Unfortunately, it was wildly inaccurate. Every time I queried it, it said the bus had already left (I'd been standing there 10 minutes) or it didn't take into account active detours, or something. The only thing it was good for was determining the headways between buses (15, 20, 30 minutes?) and then you could at least calculate your longest wait at that stop. The next iteration involved installing the bespoke and quite buggy app provided by the transit authority themselves. Now this theoretically depended on the same GPS trackers in the coaches as the SMS system had. But I had major troubles with the app, and I didn't like it, and it barely did anything else, and so I uninstalled it. And I did without it for a while longer. Now the app is improved, and it's got QR pass technology included, so I reinstalled it, and I use it more. But, for tracking the buses, I prefer Google Maps. Our transit authority graciously shares 100% real-time tracking info with Google, and you can track any bus in Maps, including crowdsourced info, such as "How crowded? Is security aboard?" It works really well, and really accurate; displays every delay and updates by-the-minute as buses or trains pass each stop. Sometimes I pass the time just sitting there and watching my bus make its way down the street.
- physhster 2y agoReally timely, I'm currently writing Arduino code to get my bus departure times displayed on a cheap TFT screen. There's so many projects around this, but it's the first time I see it on a Kindle. Awesome!
- brendannee 2y agoI made this BART arrival display website designed to just show upcoming departure times for a specific stop. The idea was that this could be used on a wall mounted display so you could glance at it on your way out the door to help you know how fast to walk. https://bart.blinktag.com https://bart.blinktag.com
- avhception 2y agoI'm kind of surprised that no one in here seems to have mentioned https://oeffi.schildbach.de/index.html https://oeffi.schildbach.de/index.html so far. It does exactly what seems to be wanted here.
- Moru 2y agoWow, I had no idea something like that would work out in the deep forests of north sweden, With live updating times! Thankyou! So much better than the official app, it directly shows exactly what is most needed, closest bus-stop with live times for next busses.
- deleted 2y ago[deleted]
- rsynnott 2y agoThere are a bunch of things that do broadly this, though largely not on a kindle on a wall, of course :)
- Tijdreiziger 2y agoThese are also worth a mention: https://play.google.com/store/apps/details?id=nl.skywave.ovinfo https://play.google.com/store/apps/details?id=nl.skywave.ovi... / https://apps.apple.com/nl/app/ovinfo/id1144468923 https://apps.apple.com/nl/app/ovinfo/id1144468923 https://drgl.nl/ https://drgl.nl/ https://www.rijdendetreinen.nl/ https://www.rijdendetreinen.nl/ https://spoorkaart.mwnn.nl/ https://spoorkaart.mwnn.nl/
- bambax 2y agoI love this kind of observation: > like most truly useful things we need to build it ourselves but I was surprised that the author insists on displaying an image on the Kindle. The last third of the post is dedicated to building that PNG file. Is it possible to send text? It would be easier but maybe it's not possible...?
- FrecklySunbeam 2y agoIt's the easiest way to display complex graphics on the Kindle which take over the entire screen. Yes, I could use HTML and the browser, but there's a header and footer that I don't want to see (plus I'm not convinced the Kindle would stay awake). I could have sent text, but the renderer available at the CLI is extremely limited. I'm not sure if I could have tapped into a mobi/pdf renderer to make it show up similarly to an e-book, but I'm doubtful if I could have made a mobi file show up in landscape like this. I was also building on several other tutorials that use PNG files, so it just made sense to do this.
- benjaminfh 2y agoI love the premise and I felt that a lot in SF. The transport system is not really a complex enough network that I need to be shown routing options. Just wanted to know when to leave the house and not stand at the stop for 20 minutes :’( (In a highly networked place like London, seeing all options is helpful)
- kfarber 2y agoI really enjoyed this read. I've been wanting to tackle a side project that uses old hardware and this has been inspiring! I also didn't know that skia had rust bindings and it seemed pretty easy to setup. It's been a nightmare to try setup in c++.
- jessekv 2y agoCool! I made something like this on an old netbook in university. I plotted bus locations in matplotlib, which was what I knew at the time. The busses would clump up where I lived, so it was helpful to know if I should rush breakfast to catch a burst of busses or just wait for the next wave.
- scary-size 2y agoNice! Much more sophisticated than my Raspi Zero version from 7 years ago [1]. [1] https://github.com/Scarysize/transit-pi https://github.com/Scarysize/transit-pi
- bev-erage 2y ago[dead]
- esrh 2y agoYeah, i wish more programs worked like this. I wrote something similar on a smaller scale for the keihin-kyuukou line in japan: https://rail.esrh.me https://rail.esrh.me. Now I live in tokyo and there's several transit options closeby so I would love to have some always on display like this in my room. Unfortunately, while public transit in the US and Europe seem to be tracked by services with developer friendly APIs, this is not the case in Japan as far as i know -- not that much of a problem back then, i just needed to do some light web scraping. I wrote all of the scraping/data and processing/frontend code in clojure and clojurescript, and wrote a small blog post about it here: https://esrh.me/posts/2023-03-23-clojure https://esrh.me/posts/2023-03-23-clojure
- Hnrobert42 2y agoGiven the post's title, I hoped it would work with trains. In Washington, DC, it works with buses but not trains. What help would you need to make it work with trains?
- FrecklySunbeam 2y agoIt's really just a question of the transit provider giving you access to the data. My display shows mostly light rail schedules with a few buses. If your transit provider has real-time data for trains you can display it, if not you can't.
- mhh__ 2y agoHaven't finished reading yet but a transport version of a bloomberg terminal would be great. If anything goes wrong with a train journey I find it useful to have as much information as possible.
- deleted 2y ago[deleted]
- rgoldfinger 2y agoI made a (free and ad free) app for BART that tells you if you need to run to catch your train or not. Instantly upon opening the app, without needing to tap anything, it automatically figures out which train you want and helps you hurry, just a little bit, to make the next one rather than wait. Feedback appreciated! https://apps.apple.com/us/app/should-i-run/id933717076 https://apps.apple.com/us/app/should-i-run/id933717076
- meindnoch 2y agoWhy render a PNG when the Kindle already has a perfectly workable web browser? And don't even get me started on using Rust for parsing a JSON...
- javajosh 2y agoWow what a cool writeup. Two things stuck out for me (I'm only halfway so forgive me if you address these issues). I have two comments on processing the 511.org data. First, you generally want to use a streaming parser rather than one that allocates memory to the entire response. Second, you should filter out the most data first (in this case, dropping the stops you don't care about) and then filter the least data second (dropping the fields you don't care about). This idea is similar to how, in SQL, you want to order your WHERE clauses such that the most impactful comes first. This may not be strictly required by your use-case at this scale - 27MB of data is not a lot, after all. And the filter ordering performance is probably trivial given its all in memory (I'd be curious to see a benchmark!) However, a) efficiency is always good, especially on a Pi, and b) if you make the code more efficient it makes it easier to scale later if you want to. Also, regarding the BOM problem you had, wouldn't it be nice if all APIs had a "developer feedback" mode built into it? That is, you can send feedback to the ppl who own the API endpoint by...posting to the endpoint. In this case you could send "Please remove the BOM. k thanks."
- luxuryballs 2y agoFeels like a feature Google could make by using the same data they use for traffic monitoring. They know where the train shaped mass of people is.