I had a couple of coworkers who had them. I vaguely remember it being based on a ~$35k value in 1997 dollars, so definitely out of my price range as a new graduate earning only a little more than that in a year.
On top of that I'm pretty sure the unit economics were firmly in the negative, even discounting the R&D costs.
They were pretty remarkable though—I got a chance to drive a pre-production one at a ride-and-drive a year before and was super impressed.
Pre-Tesla EV companies were kind of stuck in a catch-22, where they couldn't enter the low end of the market (because the tech was still super costly) and they couldn't enter the high end of the market (because either the performance was lacking or they didn't have the resources to scale production).
But with a combination of throwing a lot of money at the problem, being in the right place at the right time, and good execution, they managed to scale up the high end of the market enough to eventually move (somewhat) down-market.
My favorite memory is following a map to a small isolated hot spring off of some random gravel road in the middle of nowhere. It consisted of a hot-tub-sized pool and a shower.
Whoever was there before had left the shower running. We were the only people there, and hadn't seen anyone pass us on the (dead end) road, so it must have been on for quite a while.
Only when I went to for my pre-soak shower did I realize that it didn't actually have any kind of user-accessible way to turn it off.
Showering in hot water is one of the more energy-intensive things people do on a daily basis. I have a 14.4 kW on-demand heater that just barely keeps up with a 1.5 gallon (~6 liter) per minute shower head with 50°F/10°C incoming water.
On a per-minute basis that's comparable to highway driving in a smallish electric car.
From that article it looks like all you need to establish a secure connection with the passport is some data that is printed in plaintext on the photo page.
It seems (again, if I'm reading correctly) that you only really need a private key in order to issue a passport.
Yes, that's correct. There have been apps on iOS and Android that can read your passport via NFC for ages. As you noted, all you need is the plaintext information printed on the photo page to generate the Basic Access Control key, which will let you connect to the passport's NFC chip.
Issuing a passport is a different issue entirely, since you need a country's document signing key.
quick note -- I believe you need a separate key to get biometric data out of the passports, but it's been a while since I looked at passport digital infrastructure.
Isn't this just seeing a slippery slope and deciding to build a terrace[1], in that the existence of a digital ID doesn't automatically lead to mandate to carry one—any more than the existence of a physical ID card does?
A physical ID can, depending on the validation process.
Digital ID doesn't have to report your location either, depending on the implementation. It's not like it's a given a digital ID system has to give your location.
An SSH key is a digital ID. Does it report your location when you use it? A GPG key can be a digital ID. Does it report your location when you sign something?
Rounding to a nickel has the advantage that's it's both simple (1, 2, 6, and 7 round down; 3, 4, 8, and 9 round up) and fair (there's no systematic bias in favor of the buyer or seller).
Dimes need to deal with how to round numbers ending in 5, making them unfair, or (with a more elaborate system of looking at both digits) complicated.
Quarters (being an odd value) are fair, but kind of a nightmare to memorize all of the values that round up or down (1–12, 26–37, 51–62, and 76–87 round down; 13–24, 38–49, 63–74, and 88–99 round up; and I'm not even sure I don't have an error in those numbers).
Also it's awkward if a higher-valued coin (e.g. quarters) isn't divisible by the least valuable coin (e.g. a dime)
I think business-logic-in-JavaScript is something cross-platform folks shouldn't snooze on either, with the usual caveats of not doing anything performance-critical or where an asynchronous API would be awkward (to be clear, using JavaScriptCore or QuickJS or the like, not just running in a WebView)
But it'll run on iOS (v7.0+), Android (I think more recently) and of course web and server-side. And most importantly, it's hot-reloadable, as long as you don't run afoul of platform gatekeepers (i.e. use it for bug fixes and minor behavior changes, not like whole new features).
One of the frustrating things about mobile development is that once you ship a version, that version will almost certainly be running on at least someone's device indefinitely without being upgraded. My day job is even on step further back in that we have to get our customers to update the version of our SDK that they're integrating (which for many of them means contracting out because they don't have an in-house mobile dev team), before they ship an app update, which then needs to be installed by end-users, whose device might not even support the new deployment target…
(I've been trying to sell this to the bosses for the last 9 years or so, and never gotten the go-ahead, so there could be aspects I'm missing, but it always seemed like a huge missed opportunity).
OTA updates are definitely nice to have and I'm surprised there's not a way to do so with native iOS since RN and Flutter already support it. Technically it is possible with dynamic frameworks.
In practice though it's somewhat easy to workaround the lack of OTA with dynamic server configuration for clients.
This is not actually true. It’s allowed as long as you don’t make significant alterations to the app as a way to get around the App Store review process. It’s confusing because there are 2 areas of the policy that seem contradictory on this matter, but it is allowed.
no one in their right mind wants to bundle Chromium with every app install, and every Discord user hates mobile Discord app, which is, guess what? uses Chromium!
For JS driving the business logic you do not need a browser to run it. On iOS there is JavaScriptCore and there are other Javascript runtimes out there that are quite small.
That said, it is true that Javascript may not be the right choice for every app and some developers may be used to better language features and performance than that.
It’s more complex now since they shipped the new renderer, but essentially serializes the react UI tree to JSON and passes it to native which parses and renders native components
This would have been super helpful like 20 years ago when I was on the data center floor trying to debug rack-mount (headless) Linux servers. The center had like one KVM "crash cart" that needed to be plugged into a spare outlet in the rack that wasn't always easy to come by.
I'm sure we could have improved on that setup but we were an inexperienced skeleton crew on a shoestring budget and not the best management.
I always thought it would be great to have a "laptop without a motherboard" to manage these, and this is close enough given the price of the redundant hardware now.
> I always thought it would be great to have a "laptop without a motherboard"
That's basically what a rack console is. At 1U it was skinnier than laptops from prior decades. They're not exactly a laptop form factor, but to get them smaller you would have had to accept a much lower screen resolution, which would risk some systems not being able to display (e.g. your server may have booted-up to 1280x1024 while your laptop could only do 800x600), or would have needed to be quite expensive to add an ultra-high DPI screen.
Still, at various times there were briefly devices like that available for purchase at closeout prices... like the failed "Motorola ATRIX lapdock":
I'd say the USB-HDMI capture card is a better solution all-around. I even prefer it to USB "crash carts" because you aren't dependent on the manufacturer keeping their proprietary software software updated for each subsequent Windows/Linux/Mac release.
We actually HAD literally that - I don't recall which model it was, but someone found a laptop that internally had PS/2 and VGA I believe, and had rewired it to have cables hanging out of it.
Advantage - battery still somewhat worked so you could get a few minutes (often all you needed) with just that.
For just straight up assembly of one-sided SMT boards (i.e. not reclaiming components from a donor board), a $30 plug-in electric skillet and a solder paste stencil from the PCB manufacturer (or patience and a solder paste syringe) works far better than it has any right to. https://www.instructables.com/Simple-Skillet-Surface-mount-S...
The hot air station is called a "rework station" because it's very helpful for rework, too.
Using a hot plate to reflow boards is fine if you already know everything is correct. Having a real hot air station is very important if you need to change any parts or even fix reflow problems.
Kapton tape is your friend for hot air. It's cheap and you can get by with scissors.
Tape out anything that you're not reworking, use tweezers and push down the edges against the board to seal as best you can, and then flux it and blow.
It'll hold things in place and wick away the heat from anything you're not trying to rework. I went from a near 0% success rate to near 100% with it.
To protect larger areas, you can use aluminium foil. It's usually best to hold the hot air pencil at a right-angle to the board; if you angle it like a soldering iron, the excess heat all goes in one direction and you're much more likely to blow off small adjacent components.
To be fair, it takes a little practice IMO and until you learn how to use flux correctly etc., it can seem very unattainable to ever learn well.
I got a huge confidence boost from one of the old engineers with rubbish eyesight. Thinking “If HE can see well enough to do 0603 and smaller, then so can I!” :D
A few hours practice on scrapped electronics made a big difference for me.
You don't have to 'keep flipping the board over' when doing through hole either. Just stick all of the components in, fold over two legs on chips and passives, then solder all of them in one go.
If you're blowing off stuff, your pressure setting is too high. I usually start at the lowest setting, and only go up if I need to deliver a lot of heat to an area.
On top of that I'm pretty sure the unit economics were firmly in the negative, even discounting the R&D costs.
They were pretty remarkable though—I got a chance to drive a pre-production one at a ride-and-drive a year before and was super impressed.