Hacker Newsnew | past | comments | ask | show | jobs | submit | GeertB's commentslogin

For these devices the microcontroller needs to be super cheap. Microcontrollers like the Puya PY32 Series (e.g., PY32C642, PY32F002/F030) can cost in the $0.02 - $0.05 range for the kind of many-million volumes applicable for disposable vapes. These are 32-bit ARM Cortex M0 MCUs, running at a 24 MHz clock or similar, some with 24 KB of ROM and maybe 3 KB of RAM!

To put into context: this is 3x the ROM/RAM of the ZX81 home computer of the early 1980s. The ARM M0 processor does full 32-bit multiplication in hardware, versus the Z80 that doesn't even offer an 8-bit multiply instruction. If we look at some BASIC code doing soft-float computation, as was most common at the time, the execution speed is about 3 orders of magnitude faster, while the cost of the processor is 2 - 3 orders of magnitudes less. What an amazing time we live in!


Which is why when folks nowadays say "you cannot use XYZ for embedded", given what most embedded systems look like, and what many of us used to code on 8 and 16 bit home computers, I can only assert they have no idea how powerful modern embedded systems have become.

Now that it is a pity that when people talk about saving the planet everyone keeps rushing to dispoable electronics, what serves me to go by bycicle to work, be vegetarian, recicle my garbage, if everyone is dumping tablets, phones and magnificient thin laptops into the ground, and vapes of course.


> Which is why when folks nowadays say "you cannot use XYZ for embedded", given what most embedded systems look like, and what many of us used to code on 8 and 16 bit home computers, I can only assert they have no idea how powerful modern embedded systems have become.

Yet, I still need to wait about 1 second (!) after each key press when buying a parking ticket and the machine wants me to enter my license plate number. The latency is so huge I initially thought the machine was broken. I guess it’s not the chip problem but terrible programming due to developers thinking they don’t need to care about performance because their chip runs in megahertz.


There's no pressure to make a good product because nobody making this decision has to use the machine. Everywhere I've worked purchase decisions are made by somebody with no direct contact to the actual usage, maybe if you're lucky they at least asked the people who need the product what the requirements are, otherwise it's just whatever they (who don't use this product) thought would be good.

"Key presses are 15x slower than they should be" gets labelled P5 low priority bug report, whereas "New AI integration to predict lot income" is P0 must-fix because on Tuesday a sales guy told a potential customer that it'd be in the next version and apparently the lead looked interested so we're doing it.


Not just that, nobody chooses their parking spot based on the UI of the machine.

Banks and phone manufacturers now care about UI, because some of them started to do so, and people started switching to them en masse. US carriers were bleeding subscribers left and right when the iPhone was only available on AT&T, which was the first time people started switching plans to get a specific phone instead of the other way around.

People usually choose their parking based on where they want to go and how far it is from that place, and that trumps all other considerations. Paying more for programmers or parking machine processors would be a waste of money.


Interesting story; I went to park at a downtown lot in my local city (Vancouver BC) and the machine had an unusual UI. So I skipped the machine and scanned the QR code for the app. By the time I had taken the elevator up to the lobby of the building I had the app.

But then the usability on the app was so bad, that I actually could not figure out how to buy parking. The instructions were clear, but the latency on the app was unusable. The Internet connection was fine. It was the app. So I skipped the whole thing, went to dinner, and was happy when I found my car without a ticket.

"Unable to buy a ticket" would have been an interesting day in court.


I live in vancouver and cannot install such apps on my phone. While you may have found the machine's UI unusual, I use them quite often and I suspect that people like me would invalidate your claim... if it went to court. But parking lots aren't the purview of the courts -- enforcement of private parking happens privately, so your sorrows would likely fall on the hardened ears of a privately owned impound lot operator.

My partner and I frequently "race" at the parking game and I win at the "slow" machine nearly every time because the apps are so unresponsive and badly designed.


It wasn't one of the "Ziply" or "PayByPhone" machines - with which I have no problem, generally. These are much more common.

It was "Parkedin" at 745 Thurlow St, underground lot. I haven't encountered it anywhere else. Do me a favour, go park there and see for yourself.

Curious that you'd be willing to invalidate my claim without knowing what service it was.


> Paying more for programmers or parking machine processors would be a waste of money.

The rise of parking apps on mobile adds an interesting angle to this.

No doubt, many of us favour apps because the UX is so much better. Not quite sure if that affects the bottom line short-term, but long-term I’m sure it will.


I worked at a purchasing dept. where each commonly ordered part or service had a six digit item number that had to be entered. The CFO picked some company to do the new version of the software, and they decided to randomly assign new different item numbers which included 13 leading zeros to each item number. So now everyone had to learn the new item numbers and type in a the 13 leading zeros each time.

> There's no pressure to make a good product because nobody making this decision has to use the machine.

Most software sucks, even when people have to chose using it. Everything is buggy and slow, people are just used to software being bad.


While this is a decision-making problem, it is also an engineering incompetence problem. No matter what pointy haired boss is yelling about "priorities" ultimately software developers are the ones writing the code, and are responsible for how awful it is.

When it comes to priorities about what to write and what to focus on, the buck stops at management and leadership. When it comes to the actual quality of the software written, the buck stops at the developer. Blame can be shared.


Precisely this. We love to put our colleagues as competent victims of the system, but a competent engineer is unlikely to build an embeeded UI with high latency at their first try. It's a combination of cheap, underqualified labour and careless management.

To paraphrase Upton Sinclair: “It is difficult to get a man to prioritize something when his salary depends upon his not prioritizing it.”

Certainly one of the benefits of my "Fuck Off Fund" is that for a good many years now it has enabled me to be unburdened by concerns about whether I might get fired for saying what I think to management.

I'm at much lower risk than the imagined target of the "Fuck Off Fund" concept for things like inappropriate sexual contact or coercive control, but I find it really does lift a weight off you to know that actually I don't have to figure out whether I can say Fuck Off. The answer to that is always "Yes" which leaves only the question of whether I should say that. Sometimes I do.

And you know, on zero occasions so far have I been fired as a consequence of telling management to fuck off. But also, I had to think hard about that because, thanks to the fund, I had never worried about it. I've been fired (well, given garden leave, same thing) but I have no reason to think it's connected to telling anybody to fuck off.


This is only partially true.

If developers prioritize customer experience instead of velocity and cost in situations where that isn't warranted, the company they work for can no longer sell products as cheaply as their competitors do. This decreases their market share and their revenue, which means they'll employ fewer developers in the future.

This is almost an evolutionary process, many (but not all) markets choose for developers which don't care about such things.


You mean the developer hired by (and fired by) management?

> When it comes to the actual quality of the software written, the buck stops at the developer. Blame can be shared.

No. The quality is not prioritized by management. A dev that fails to ship a feature because they were trying to improve "quality" gets fired.

We have no labor power because morons spent the good times insisting that we don't need a professional organization to solve the obvious collective action problem.


The idea that workers are not responsible for their own competence or the quality of their work output is such a bizarre take that you really only see on HN. Just because nobody is forcing you to write quality code, doesn't mean you shouldn't. Nobody is forcing you to bathe or brush your teeth, either, so why do we do it?

Nobody here is writing that code.

My first guess was debouncing. They assume that the switches are worn out, deeply weathered, and cheaply made. Each press will cause the signal to oscillate and they're taking their sweet time to register it.

When the device is new this is an absurd amount of time to wait. As the device degrades over 10, 20 years, that programming will keep it working the same. Awful the entire time, yes, but the same as the day it was new.


I was late for a train at my local station and the parking machine was taking ages to respond to keypresses. I could see the training pulling up to the platform and I was still stuck entering the second digit of seven. In my shameful frustration I hit the machine fairly hard. While the button presses might take a while to register, the anti-tamper alarm has really low latency and is also quite loud.

You need to find the right person to complain to. Here we are sympathetic, but can't do anything.

The right person is the other riders on the train - but the hard part is to frame this such that they join you on a march to the the agency that owns that machines to complain. I wish you the best of luck figuring out how to do that (I don't know how to do it - and if I did there are might higher priority things that need to be fixed).


Well it was six years ago, I work from home now and take the train once a quarter, and they've augmented the machines with app parking now so I have nothing to complain about anymore :)

Debouncing would be smart, sure. But sometimes, these sorts of embedded machines are weirder than that.

At Kroger-brand gas stations near me, I get to interact with the buttons on gas pumps to select options and enter a loyalty ID.

Those buttons have visible feedback on a screen, and also audible feedback consisting of a loud beep. And there's always delays between button press and feedback.

Some combination of debounce and wear might explain that easily enough.

Except... the delay between pushing a button and getting feedback is variable by seemingly-random amounts. The delay also consistently increases if a person on the other side of the pump island is also pushing buttons to do their own thing.

It's maddening. Push button, wait indeterminate time for beep, and repeat for something like 12 or 13 button presses -- and wait longer if someone else is also using the machine.

I can't rationally explain any of that variability with debounce.


They are running it on a Java VM in a container - on a 386?

Over WiFi?


Perhaps.

Or perhaps the original programmers skipped the class on concurrency 25 years ago, and nobody has subsequently bothered to pay anyone to update that part of the software.


One time I decided to test whether these grocery story loyalty card XX cents off per gallon transactions were properly isolated, when my wife and I were both filling up vehicles at the same gas station at the same time. We both got the $0.50 discount per gallon with no problem. I'm sure there are lots of creative ways you can exploit the poor design of these things.

That's a good point. When I use them I assume they're making API calls to a central server to validate (or something) them.

Making API calls to a server to do button debouncing does sound like something so stupid a tech company would do it

in the worst case, they don't know they're doing it, because they've called some 'debounce.js' microservice wrapper and haven't audited it

One of the more inspired design choices of the parking ticket devices in my area is the inclusion of a key repeat feature.

If you keep your finger on the touchscreen for just long enough, it helpfully repeats the keystroke while you're entering a license plate.

Given the inevitable hardware issues, this means that what should be a single tap frequently becomes a burst of identical characters.

The programmers who worked on this probably would've liked to be game developers instead.


That's programmer incompetence. Unfortunately pervasive, especially with devices like parking meters, EV chargers, and similar, where the feedback loop (angry customer) is long (angry customers resulting in revenue decrease) or non-existent.

It could be a management problem instead also, while developers are just following instructions sent by management

And nobody with options would settle for the low pay and terrible working conditions, so the quality of the output also reflects that.

I disagree — developers are not sheep.

I agree ! But they could be stuck because of management

They also prefer you to use the mobile app so they can gather more data so they do not want the devices to work well in the first place.

It's a nice theory, but many of those terrible parking ticket machines predate smartphones, so it might be the case for machines built now, but it's really hard to imagine that that was the original intention

I work in an adjacent industry, and trust me when I say that a lot of older equipment companies just did not care much about the experience of using the equipment. It's much more important to tick all of the boxes in the back end accounting system than to have a high quality experience on the kiosk.

It's organizational incompetence driven by companies that see software development as a cost centre rather than a key asset.

It's usually clear when this has happened. Buggy bargain basement output.


Give it some slack, it's probably doing its best to inexplicably run windows.

Disagree. Windows for embedded runs extremely well, though can take a minute to boot.

My underpowered cash register that hadn't been updated in a decade could run POS on top of Windows 7 Embedded POSReady buttery smooth.

Occasionally they would start performing poorly, and it was always a network issue.


Or maybe they think they should be sending each keystroke to a server and waiting for the response.

A server on Mars?

Na each key press goes to a separate lambda invocation that gets submitted to a Kafka queue, and what happens after that is a mystery to all involved.

We can make crazy latency ourselves just fine, no space transmission necessary


No, not a mystery, in fact.

Each keypress is appended to an 80 line prompt (key name along with timestamp of keypress and current text shown on the screen) and fed to a frontier LLM. Some of the office staff banged on the keypad for a few hours to generate training data to fine-tune the LLM on the task of denouncing key presses.

Thanks to some optimizations with Triton and running multi-GPU instances, latency is down to just a few seconds per digit entered.

You see, we needed to hit our genAI onboarding KPIs this quarter…


Probably a Celeron-powered PC tower barely keeping up with Windows Server 2008 R2 in a closet of a public office ;)

Gotta have multiple AZs.

The server is probably running Python

lol it's the flask debug server, "don't use this in production" banner and all

Everyone was locked out in a building am staying at (40 something stories) for several hours. When I asked the concierge if I can have a look at the system, it turns out they had none. The whole thing communicated with AWS for some subscription SaaS that provided them with a front-end to register/block cards. And every tap anywhere (elevators/doors/locks) in the building communicated back with this system hosted on AWS. Absolute nightmare.

I wonder what happened to the building when us-east-1 went down.

As the parent said: “Everyone was locked out in a building am staying at (40 something stories) for several hours.”

Now I am waiting for time when they move us-east-1 physical security to run in us-east-1... Thus locking themselves out when needing some physical intervention on servers to get backup.

Facebook already got bit by this when their BGP setup pooped its pants on Oct 4, 2021


I wonder what happened to the building when the internet went down. How do you get into the room to reboot the router?

There’s usually a back door with a physical key. The problem can be getting ahold of one of the people with that key though!

There is probably a break-glass procedure for such cases, like, break the literal window.

A lot of modern glass is hard to break. In many cases this is a safety feature (if you can't break the glass you can't get shoved out the window in a fight...)

Is that why there is a brick next to the procedure manual?

That’s the emergency escape brick.

This is in SEA. They probably operate from ap-southeast-1 or 2. But yeah, if the internet goes down, the provider service goes down or AWS goes down they are cooked.

> Absolute nightmare.

Yes, but still probably a million times easier for both the building management and the software vendor to have a SaaS for that, than having to buy hardware to put somewhere in the building (with redundant power, cooling, etc.), and have someone deploy, install, manage, update, etc. all of that.


Easier maybe. But significantly worse. Parts of these systems have been build and engineered to be entirely reliable with automatic hand-overs when some component fails or with alternative routings when some connection is lost.

>than having to buy hardware to put somewhere in the building (with redundant power, cooling, etc.), and have someone deploy, install, manage, update, etc. all of that.

You don't need any of that. You need one more box in the electrical closet and one password protected wifi for all the crap in the building (the actual door locks and the like) to connect to.


And when that box fails, you're looking at how long with no access? Longer than any AWS outage.

The IT guy walks in and replaces/restarts the box instead of waiting for the gods of AWS to descent to earth and restart theirs. They have direct control vs. waiting for something magic to happen.

You also have real-time ETAs from an actual human local to the issue. Plenty of domains where your clients won't care if AWS is down for everyone.

The building has an onsite IT guy with enough spares to fix anything that could go wrong with the box?

Have you ever actually seen these systems in person? It's usually a microcontroller which already rules out a ton of stuff you're talking about. Serious places will buy 2-3 of them at the time of installation to have some spares. The ones here are "user-replaceable" as well (unplug these three cables, replace the box, plug them back in). It's not some mysterious bunch-of-wires-on-arduino-pins magic box that nobody dares to touch.

The one at my previous office even had centralized management through an RS232 connection to a PC. No internet and related downtime at all. And I don't recall us ever being locked out because of that.


If you buy hardware from HID Global / Assa Abloy the box never breaks.

Its absolutely possible to have both a SaaS based control plane and continue functioning if the internet connection/control plane becomes unavailable for a period. There's presumably hardware on site anyway to forward requests to the servers which are doing access control, it wouldn't be difficult to have that hardware keep a local cache of the current configuration. Done that way you might find you can't make changes to who's authorised while the connection is unavailable, but you can still let people who were already authorised into their rooms.

> with redundant power, cooling, etc

The doors the system controls don't have any of this. Hell, the whole building doesn't have any of this. And it definitely doesn't have redundant internet connections to the cloud-based control plane.

This is fear-mongering when a passive PC running a container image on boot will suffice plenty. For updates a script that runs on boot and at regular intervals that pulls down the latest image with a 30s timeout if it can't reach the server.


What updates? That would be on a local network and have no internet connection, if done right.

I am guessing the main attraction of such a system is that owners can set the cards remotely and get data about it (ie: who accessed and when)

And? That doesn't mean, especially for a system with security impact (like door access), that it should never be updated.

You know what else would suffice plenty? Physical keys and mechanical locks. They worked (and still work) without electricity. The tech is mature and well-understood.

The reason for moving away from physical keys is that key management becomes a nightmare; you can't "revoke" a key without changing all the locks which is an expensive operation and requires distributing new keys to everyone else. Electronic access control solves that.

You might find Matt Blaze's paper on vulnerabilities in master-keyed physical locks interesting:

https://eprint.iacr.org/2002/160.pdf


Those devices can be trivially power cycled, and won’t have as many issues with dodgy power. Some PC somewhere with storage is a bigger problem.

> Some PC somewhere with storage is a bigger problem

Both an embedded microcontroller and a PC have storage. The reason you can power-cycle a microcontroller at will is because that storage is read-only and only a specific portion dedicated to state is writable (and the device can be reset if that ever gets corrupted).

Use a buildroot/yocto image on the PC with read-only partitions and a separate state partition that the system can rebuild on boot if it gets corrupted and you'll have something that can be power-cycled with no issues. Network hardware is internally often Linux-based and manages to do fine for exactly this reason.


PCs are orders of magnitude more complex, with a lot more to break. Sounds like a whole lot of work for… what?

Assuming the internet connection and AWS work of course. Which they won’t always, then oops.


A large number of embedded micro controllers are just PCs running Yocto linux configured as GP said. You can save money with a $.05 micro controller, but in most cases the development costs to make that entire system work are more than just buying an off the shelf raspberry pi.

If you're relying on AWS you either way have a "PC" to relay communication between AWS and the keycard readers & door latches.

There are IoT libraries that don’t require that.

It's also easier to keep all the water for fighting fires in trucks that are remote, than to run high pressure water pipes to every room's ceilings, with special valves that only open when exposed to high heat. Imagine the overhead costs!

Cooling for a card access system?

A card access system requires zero cooling, it’s a DC power supply or AC transformer and a microcontroller that fits in a small unvented metal enclosure. It requires no management other than activating and deactivating badges.

There is no reason to have any of the lock and unlock functionality tied to the cloud, it’s just shitty engineering by a company who wants to extract rent from their customers.


The server running that system needs cooling, yes. You can't just shove it in a closet with zero thought and expect it to not overheat/shut down/catch fire, unless you live in the Arctic.

I have a little fanless mini PC that runs various stuff around my house, including homeassistant. The case is basically a big heat sink.

It started crashing during backups.

The solution was to stick a fan on it. :( This is literally a box _designed to not need a fan_. And yet. It now has a fan and has been stable for months. And it's not even in a closet - it's wall-mounted with lots of available air around it.


I'm guessing it's the HDD that's failing. Had such mysterious failures with my NVR (the Cloud Key thingie) from UniFi. Turns out, HDDs don't like operating in 60+ degree Celsius heat all the time - but SSDs don't mind, so fortunately the fix was just to swap the drive for a solid state one.

I think it was the DRAM on mine, oddly. It already uses an nvme ssd. Could have been the CPU, of course - the error was manifesting as memory corruption but that could well have been happening during read or write.

That is, in fact, exactly what we typically see in reality with local access control system head-ends.

At the doors, there might be keycards, biometrics and PINs (oh my!) happening.

But there's usually just not much going on, centrally. It doesn't take much to keep track of an index of IDs and the classes of things those IDs are allowed to access.


You must be young. We used to have handhelds and computers with no cooling at all.

>You can't just shove it in a closet with zero thought and expect it to not overheat/shut down/catch fire

Actually in almost all products meant for real companies doing real work, this is an explicit design requirement.

Every cash register runs off of a computer that sits in a tiny metal oven with no cooling and is expected to run 24/7 without fail.

The difference between a tech gadget and a real world, real purpose appliance.


There are card access systems that don’t require a computer, just a microcontroller. Perhaps if you need to integrate with multiple sites or a backend system for access control rules you can add computers, but card access systems are dead ass simple for a reason; they need to be reliable. The good systems that have computers still allow access in the event of a network failure.

Any access control system that fails in the event that it loses internet connectivity is poorly designed.


You're saying that as if we never had Z80-based microcontrollers doing all this without problems. Complete with centralized control and all.

The system was not built with resiliency in mind and had no care/considerations for what a shit-show will unfurl once the system or the link goes down. I wonder if exit is regulated (you can still fully exit the building from any point using the green buttons and I think these are supposed to activate/still work even if electricity is down).

> Yes, but still probably a million times easier for both the building management and the software vendor to have a SaaS for that, than having to buy hardware to put somewhere in the building (with redundant power, cooling, etc.)

A isolated building somewhere in the middle of the jungle dependent for its operation on some American data-center hundreds of miles away is simply negligence. I am usually against regulations but clearly for certain things we can trust that all humans will be reasonable.


In the US, the answer is that exit would have to work in the event that AWS is down or power is out. Some exceptions exist for special cases.

Only in America. America is deigned to make you mad that public common life isn't keeping up with whats in everybody's pocket.

Gently forcing the individual to choose sapient or insentient.


Whilst I can not see a motivation I refuse to accept that parking machines are not advisarial design. Why do they have haf a dozen things that look a bit like tap n pay if they are not trying to make it eaiser for card skimmers.

And the self service kiosks/checkouts at supermarkets. So infuriating! Like I'd have to try to make something that slow myself on purpose!

Besides the fact that scanning a barcode seems beyond much of the general population, they do it so sloooow.


Some of these are just dumb terminals with the entire state handled on a server. I've seen a bunch of them freeze at once where no UI would respond (but the interactions were buffered) and then when the network hiccup was over they all unfroze and reflected the input.

I found that checkouts in Belarus in cheap store are terrible. Checkouts in Latvia in cheap shop are slightly better.

Checkout in Rimi, premium Danish store are superb. Work well, UI clean and clear. No ads, no excessive clicks.


The self service kiosks are intentionally throttled when scanning barcodes, at a guess to prevent people accidentally scanning the previous/wrong item - I once had some problems with one and a staff member flipped it into supervisor mode at which point they were able to scan at the same rate you'd see at a manned checkout.

I think that's handled by the barcode scanner itself, at least on the ones I've used. The scanner will not recognize the same code immediately, but will immediately pick up a different code.

What's slow is that after each scan it needs to check the weight which means it lets the scales settle for one second before accepting another scan.


Now take that, and add someone in our Polish supermarket chain (Biedronka) having the dumb "insight" to disable "scan multiple" option. Until ~month ago, whenever buying something in larger quantity, I could just press "Scan multiple", tap in the amount, scan the barcode once, and move all the items of the same type to the "already scanned" zone. Now, I have to do it one by one, each time waiting for the scales to settle. Infuriating when you're buying some spice bag or candy and have to scan 12 of them one by one.

Idt that's it, at least in my experience.

I scan as fast as a manned checkout (I did my time in retail). And I can scan my groceries at the speed whilst the people next to me spend most of their time rotating an item to find the barcode.


Sorry to rant, but this kind of stuff is the only thing that triggers me. It's gotten so bad that my family makes me put a dollar in a 'complain jar' everytime I talk about how poor quality software has become.

Just one recent example: few months ago, I replaced a Bosch dishwasher with the latest version of the same model. Now, when I press the start button to initiate the cycle, it takes over 3 seconds for it to register! Like, what is going on in that 3 seconds?

How was it possible that even 'kind of good' developers like me were able todo much more with much less back in the 90s? My boss would be like, "Here's this new hardware thingy and the manual. Now figure out how to do the impossible by Monday." Was it because we had bigger teams, more focus, fewer dependencies?


I think we've been trained to accept bad software at this point, and a lot of people don't know anything different.

I suspect that a lot of it is caused by shoving Android onto underpowered devices because it is cheap and seems like an easy button. But I don't know for sure, that's just an impression. I have no numbers.

Could there be an opportunity here, for a specialized kiosk OS or something like that?


It could also be intentional UX design. Or a result of the keyboard hardware.

What can you expect, when people assume as normal shipping the browser alongside the "native" application, and scripting languages using an interpreter are used in production code?

Maybe that ticket machine was coded in MicroPython. /s


Interpreters don't have to be slow.

Forth is usually interpreted and pretty fast. And, of course, we have very fast Javascript engines these days. Python speed is being worked on, but it's pretty slow, true.


Classic Forth Dimensions article: Why Forth Isn't Slow

* https://www.forth.org/fd/FD-V06N5.pdf

Basically it is because Forth programs are fairly flat and don't go deep into subfunctions. So the interpreter overhead is not that great and the processor spends most of the time running the machine code that underlays the primitives that live at the bottom of the program.


It's not really "interpreted", in the way that for example BASIC or Java is.

It's a list of jumps to functions.


Some Forths are dog slow such as PFE compared to GForth. Meanwhile others running in really slow platforms such as subleq (much faster in muxleq) run really fast for that the VM actually as (almost something slightly better than a 8086).

- TCL/Tk slowish under P3 times, decent enough under P4 with SSE2. AMSN wasn't that bad back in the day, and with 8.6 the occasional UI locks went away.

- Visual Basic. Yes, it was interpreter, and you used to like it. GUI ran fast, good for small games and management software. The rest... oh, they tried to create a C64 emulator under VB, it ran many times slower than one created in C. Nowadays, with a P4 with SSE2 and up you could emulate it at decent speeds with TCL/Tk 8.6 since they got some optimized interpreter. IDK about VB6, probably the same case. But at least we know TCL/Tk got improved on multiprocessing and the like. VB6 was stuck in time.

- TCL can call C code with ease, since the early 90's. Not the case with Electron. And JS really sucks with no standard library. With Electron, the UI can be very taxing, even if they bundle FFMPEG and the like. Tk UI can run on a toaster.

- Yeah, there is C#... but it isn't as snappy and portable TCL/Tk with IronTCL, where it even targets Windows XP. You have JimTCL where it can run on scraps. No Tk, but the language it's close in syntax to TCL, it has networking and TLS support and OFC has damn easy C interops. And if you are a competent programmer, you can see it has some alpha SDL2 bindings. Extend those and you can write a dumb UI with Nuklear or similar in days. Speed? It won't win against other languages on number crunching, but for sure it could be put to drive some machines.


I worked on a startup that was mostly powered by Tcl, the amount of rewriting in C that we had to do between 1999 and 2003, when I left the company among all those dotcom busts, made me no longer pick any language without at least a JIT, for production code.

The founders went on creating OutSystems, with the same concepts but built on top of .NET, they are one of the most successful Portuguese companies to this day, and one of the few VB like development environments for the Web.


Anything that makes the world worse for car drivers is a huge bonus for The planet.

Plastic bottles are discarded because they can be replaced at low cost. Disposable vapes are possible because batteries became cheap enough: the chip is a rounding error.

The same market forces that gave us affordable electric vehicles gave us disposable vapes.

If it goes anything like plastic bottles, there will be a bitter fight for corporate accountability that goes nowhere. It’s especially difficult here because there isn’t a single monopoly like Coca-cola to hold responsible. What is the bottle bill equivalent for vapes?


Be heartened that your choices are meaningful. The impact of e-waste on ground contamination from landfills in the United States and Europe is negligible, and landfill capacity itself does not approach the level of emergency that planetary warming is for human civilizations.

Bicycling, transit usage, and switching to lower-carbon food sources significantly reduces your CO2 footprint. Your example influences others in your community, though it may not be personally apparent.


It is pretty hard to be a vegetarian in the US and eat low carbon food. If you grow it yourself or only buy from tiny farms maybe. AG in the US is petroleum based top to bottom.

Since all inputs to animals are coming from fertilizer-based crops, by definition meat is an order of magnitude more carbon intensive than simply eating plants.

Unless you assert that most animal feed is significantly less carbon intense than plants grown for human consumption, this holds. While grazing animals do exist, the vast majority of animal feed is farmed.


The idea that people are smoking arm chips makes me laugh.

Not smoking, vaping - better for your health but not RISC free.

Hey man, RISC architecture is gonna change everything

RISC is good.

it's literal vaporware

This is your brain. This is your brain on ARM.


It also stood out to me how little stuff is in there - there's the uC itself, 3 transistors for heating the flavor canisters, an op-amp for the microphones, but other than that I don't really see anything - no external oscillator, no vrm (though a charger/BMS circuit must be in there somewhere).

I see lots more cost-cutting corners they could take...

Vapes are probably made in enough quantity to warrant custom silicon. Then the mosfets and charge circuit could be on the same die. It could be mounted COB (black blob).

They could probably use a single 'microphone' (pressure sensor) and determine which setting based on a photodiode.

The PCB's could be replaced with a flex PCB which integrates the heating elements (Vegetable Glycerine boils at 290C, whereas Polyimide can do 400C for a short while). Construction of the whole device can then involve putting the PCB inside the injection moulding machine for the cavities, eliminating all assembly steps, joints and potential leaks, and reducing part count


There are many, many, many different types and designs of vapes. There are plentiful ASICS on the market specifically for vapes and e-cigarettes.

The cheapest variety is a tiny PCB built into the microphone. It's three wires for the battery and heater, and that's it. Sometimes they include a cheap and nasty battery charger. All in a single grain of sand for almost free.


> Vapes are probably made in enough quantity to warrant custom silicon

Not when the MCUs might cost a penny and the other parts aren’t much more.

Putting high power electronics and analog into the same custom silicon as a custom digital logic is nontrivial. They’re made on different processes.


But you need very very little digital logic... The same kind of quantity to do the little power indicator LED's on a battery bank (which are charlieplexed btw), and thats done in the same ASIC that also has the 5V boost power supply (multi-amp gnd isolated n type mosfet) and charge circuitry involving voltage references and laser tuned comparators, and sometimes negotiates USB-C PD as well (needs an internal ROM). And the whole thing needs to be really cheap and with a standby current of uA's.

As long as you aren't interested in multi-Mhz operation, combining the rest at very low cost isn't too tricky.


If simplicity is the goal, then sure: Maybe spinning up a custom part can become useful.

But simplicity isn't always the goal. I have a throwaway vape here with a color LCD screen that plays full-motion animations.

To be sure, that's not necessary at all. But this functionality does exist, and people do buy them.

IIRC, they're said to use a 48MHz Cortex M0 part. More information here: https://github.com/ginbot86/ColorLCDVape-RE


> But you need very very little digital logic...

Right, which they already get from a $0.01 MCU

Combining an MCU and multi-amp power transistors into the same package is expensive.


I love the term “high power” even though we are talking maybe a watt or two when that bad boy’s element is doing its thing!

I mean relatively it absolutely is high power. The quiescent current on that thing has to be microamps…

It’s just funny because to me “high power” is hundreds or thousands of watts. Like an incandescent light bulb or a hair dryer. Or at least it was until I started tinkering with battery powered microcontrollers and doing math to realize exactly how long an 18650 might power a small strip of individually addressable LED’s…

“High power” is a very relative term :-)


> I love the term “high power” even though we are talking maybe a watt or two when that bad boy’s element is doing its thing!

Your estimate is 1-2 orders of magnitude too low. Small vapes pull a couple amps, as I understand it. Larger vapes can pull over 50-100W. The modded ones into the 200W range. These things can use more power than most CPUs for the brief moment they're on.

The power draw is so high that vape fans compare and review batteries to show which ones can sustain the most power output.

It's an unexpected boon for those of us who use batteries for other things: The vape craze has made more high current batteries available with a lot of user contributed test data.


Vape wattages are more like 15 watts, which is an awful lot for a battery smaller than the tip of your pinkie! I believe the power density (not energy density) of those batteries is market leading.

The vape is disposable, no need for a charging circuit and maybe a simple ADC to determine battery life based on a discharge curve.

Apparently there is a charging circuit, because the battery will run out long before the fluid does

This is the brand I usually use. https://www.off-stamp.com

It has a separate magnetically attached battery / charging unit. I have to charge 5-6 times per "tank" that's attached. The battery side also has a mini-led display showing animations and battery / juice left so it's actually communicating with the tank side. A kit with battery and tank runs me about $25, but the tank alone is about $20. So they add $5 to cover the battery / charging component. It's a vice, but at least with this brand I'm not throwing away batteries weekly.


I always felt those Off-Stamps were at least a bit better than other disposables since the battery portion was at least reusable.

Something I recently found out about ARM Cortex M0s, they are small enough and cheap enough that they get used in USB cables to handle protocol negotiation between devices.

Given that the moon lander had a 1Mhz processor and 4kb of ram means we landed on the moon with the compute power of a Vape or USB cable. Wild times indeed.


How close are we to smart dust I wonder? How small can we make wireless communications?

> How close are we to smart dust I wonder? How small can we make wireless communications?

There's two limiting factors for 'smart dust': power (batteries are the majority weight and volume of this vape), and antennae (minimum size determined by wavelength of carrier wave).

I believe you can fit an NFC module in a 5x5mm package, but that does externalize the power supply.


RFID tags are powered wirelessly, one could imagine powering smaller particles when operating on higher frequencies (RFID is on 13.something MHz requiring relatively large coils). A directional antenna could send a pulsed beam to power a subset of the particles in the area and afterwards receive their signals.

It needs to be in the infrared spectrum at least to be useful for smart dust, otherwise the package size is still dominated by the size of the antenna. Even mm-wave radar is marginal here.

So... smart dust powered by the sun? Cool!

Okay if you take dust literally. The important part is that the particles fly. Like dandelion seeds.

> There's two limiting factors for 'smart dust': power

RFID is historically powered by one of three methods,

one of which is completely wireless/battery-free.


We are going to have to rethink power for smart dust. Like consider that no creature out there is powered by batteries. From the biggest land animal to the smallest microbe it’s all chemistry.

Maybe the smart dust will have to eat microbes and stuff to stay active.

As for communication, we can’t go shoving antennas in them as then they’d be larger than dust. And you can’t use the optical part of the spectrum because of interference with basically everything. You can’t use wavelengths smaller either as you get into UV and high radiation. There is the terahertz radio spectrum [0] between 3mm and 30um that is pretty open and not utilized at all because we haven’t figured out how to make good transmitters. Plus the spectrum isn’t very useful as it isn’t very penetrating and water vapor absorbs it… and it requires lots of power.

Smart dust might have to be more of a distributed computer or something. Or a micro machine that uses chemistry and mechanical magic to do its operations.

[0] https://en.wikipedia.org/wiki/Terahertz_radiation


> From the biggest land animal to the smallest microbe it’s all chemistry.

Batteries are chemistry. ATP is a chemical battery.

The difference between living things and our machines is primarily in manufacturing methods: we do things in bulk, because we reach from the top with crude, meter-scale tools; nature glues things up from lots of tiny biomolecular nanomachines, and each of those tiny machines has to carry its own power source!

Still, it's highly likely that any form of "smart dust" will resemble living cells as much as, or even more so, it will resemble miniature devices we build today, simply because that's the kind of chemistry that's efficient at smaller scales.


What a world we live in; we have gotten to a point where computers are so small and cheap that they can literally be “disposable”.

It’s beautiful, I love it.


For my part, I hate anything explicitly labeled "disposable". As the author writes, you're supposed to recycle it, but how many people will do that if it has "disposable" written on it? Even worse, if it was truly disposable they could use a non-rechargeable battery, but because they have to keep up the pretense of it being reusable, they have to include a rechargeable battery with more dodgy chemistry that probably shouldn't end up in a landfill...

To make matters worse, recycling is a scam (with a small handful of exceptions).

Varies widely across country and the type of thing you're recycling. People are so extreme with recycling, it's either "recycle everything!" or "it's a scam, just chuck it all in the garbage"

I’m relatively sure that electronics are not recycled properly anywhere. At best some of the metals are extracted (hopefully not by mixing the ashes with mercury).

What would be properly recycling electronics, if not extracting the metals? should the worthless based board to be melted and used for bottles?

Not burning all the ICs and all the other components that still work perfectly fine would be a good start imo.

That would fall under Reuse rather than Recycle. Reduce, Reuse and Recycle are in the order of best to worst. Recycling is the last ditch effort to not completely waste something. It's always going to feel like a half measure, because it is.

I would say reusing a "disposable" vape would be refilling it and recharging or exchanging the battery, not salvaging it for parts.

To do WHAT with? Catalog and categorize the millions of random penny-priced ICs that MIGHT be usable for something else?

That there is no way to recycle electronics economically is the reason that they are not recycled. I don't claim otherwise.

Isn't that the point of recycling? To reuse the reusable materials like plastic?

If salvaging 100% of the materials that make up something is the only way to "properly" recycle, we are not recycling anything properly. Some components are not recyclable.

I won't speculate about whether the plastic on the board is recyclable, or ecological to recycle. I don't know. This is what I'm asking.


what about best buy and staples? that's where I take mine

I can't tell if this is a tongue-in-cheek comment or not, but all of that is shipped off to 3rd party "recyclers" who pinky promise that they will dispose of it properly. Very often those 3rd parties rely on other 3rd parties until the it ends up in a waste pile in a developing country, but with a long enough chain of differed responsibility that nobody can be held accountable.

The fundamental problem with "recycling" is precisely the fact that we just hand it off and don't ask questions about where it ends up, all while feeling great about ourselves afterwards. Bestbuy and Staples are offering accountability laundering so that you don't have to feel bad and in exchange are more likely to become a customer. The 3rd parties working for them do the same thing, but they usually want cash for it.


sounds like cynicism without any factual basis. I just checked and ERI says otherwise: https://eridirect.com/blog/2025/01/rare-earth-metal-recovery...

> "it's a scam, just chuck it all in the garbage"

This sentiment is the case because very often that's where recycling ultimately ends, we just pay someone to move it far away from us so we don't have to see it when it happens.

Until 2018, when they finally stopped accepting it, one of the US largest exports to China was cardboard boxes sent over for "recycling". We burned tons of bunker fuel shipping back the boxes Chinese goods arrived in. The net environmental impact would likely have been less had we just kept the boxes at home.

It's strange to me how often people prefer a widely acknowledged lie than to simply admit the truth.

I always recycle though because the recycle bin in my city is larger than my trash bin, and I don't have enough room in my trash bin sometimes.


It varies very widely indeed. In some countries it isn't a scam because it gets burned like Denmark but other than that majority of recycling just means shipping it to a landfill in a poor country that they promise to recycle.

Well, it depends a lot on material.

Metals, especially aluminum, get widely recycled because it actually makes financial sense.

Plastics, well, you are probably better off burning them for electricity.


In Hungary it gets sorted out locally. We also recently implemented a bottle return system that (although it's annoying) produces clean stacks of PET, aluminium and glass, all of which are recyclable.

Even with PET, arguably the most recyclable plastic, most of it doesn't go bottle-to-bottle but rather bottle-to-textile. Because most PET "recycling" doesn't close the loop, so it's dubious to even call it recycling. That said, some bottle-to-bottle recycling of PET is done, and this has been getting better.

> because it gets burned

I wouldn’t really call that recycling.


As long as the heat is used for something (electricity, building heating etc.) there is at least some reuse of parts of it. And if exhaust ist filtered pollution is also limited. Better than just putting it on a garbage dump and forgetting about it.

But yes, not proper recycling.


Depends, it’s hard to make a blanket statement like that. Recycled steel and aluminum for example is absolutely not a scam. But for plastics, I agree that waste incineration is mostly a better solution than recycling (which produces low-quality plastics with some risk of unhealthy contaminants in the few cases that it’s not actually a scam).

Can you elaborate on that?

Edit: I'm actually curious l, i don't know how recycling supposed to work for electronics and how it can be a scam.


This youtube video explains why plastic recycling exists, how it's mostly ineffective and why is it a scam created to normalize one-use plastic. This basically applies to electronics and others. "Why would I reuse or reduce, I can buy, consume an recycle".

https://www.youtube.com/watch?v=PJnJ8mK3Q3g


Tax CEOs of vape companies the percentage of their vapes that their company doesn't physically retrieve from customers to be recycled ...

A completely ridiculous and nonsensical proposal I can only assume was said in jest.

Yes, a jest. But essentially you have to directly impact the take home pay off CEOs as that appears to be the only thing they will change their behaviour for.

It sounds like a description of most of a deposit system to me, and deposit systems are good at encouraging recycling.

See "core charges" for many automotive parts to incentivize the return of waste for refurbishing at the higher end and bottle deposits for cans/bottles at the lower end. It's weird how things so common in one part of our society can seem so foreign in others.

Hey, if your entire business plan is to produce actual garbage, maybe you should be held responsible for making sure that garbage has a pathway to proper disposal.

wildly country dependent, e.g. check the stats for the EU: https://ec.europa.eu/eurostat/web/products-eurostat-news/w/d...

Why recycle things that you can make them cheaper, with less resources and in higher quality from scratch?

(The above is not so much about processors, but about plastics. As long as we are still burning any fossil fuels at all, we are probably better off holding off on recycling and instead burning the plastic for electricity to use ever so slightly less new fossil fuels for power, and instead use the virgin fossil fuels to make new plastics.

Especially considering the extra logistics and quality degradation that recycling entails.

Directly re-using plastic bottles a few times might still be worth it, though.)


Is that a genuine question, or are you parodying an ignorant point of view?

The World has limited resources, we don't have a spare.

Do you need it spelling out more clearly?


We are sitting on 5,970,000,000,000,000,000,000,000 kg ball of matter. We have a giant nuclear furnace in the centre of the solar system that's providing us with energy.

Some resources are still scarce. And a lot of those 6E24 kg is iron and nickel we can never get to. Another big fraction is basically molten stone. And we really should stop putting more carbon into the atmosphere.

Also, if you go for measures like mass processed, the weight of microchips, pcbs, parts is only a tiny fraction of what has to be processed and build in the supply chain.

Agreed that it is smarter to use oil for plastics then to burn it directly.


> Agreed that it is smarter to use oil for plastics then to burn it directly.

My argument is that as long as we are still burning oil and gas, we might as well burn old plastic instead of new oil and gas.

If/when we stop burning oil and gas, then we can think more seriously about recycling plastic.


Did you ever try to burn plastic?

1) Plastic is not liquid, so you can't pipe it to a gas or oil power plant. You may argue that coal isn't liquid either, but continue reading...

2) Burning plastic generates toxic fumes.

3) Plastic ash is sticky and very difficult to clean.


You might like to read about https://en.wikipedia.org/wiki/Incineration and https://en.wikipedia.org/wiki/Waste-to-energy_plant

It's a fascinating topic. There's even more problems than the ones you bring up, but engineers are also pretty smart.


That sounds like an almost Malthusian viewpoint.

The world has effectively infinite resources, getting more is usually just a matter of figuring out better extraction techniques or using better energy.


The world only has effectively infinite resources if growth slows down, because exponentials get out of hand surprisingly quickly.

For example at 1% energy growth per year it would only take around 9-10k years before to reach an annual consumption equal to all the energy in the Milky Way galaxy. By "all the energy" I don't just mean consuming all the solar energy from all the stars, and using all the fissionable material in reactors, and fusing everything that can fuse, and burning all the burnable stuff. No, I mean also using all the gravitational potential energy in the galaxy, and somehow turning everything that has mass into energy according to E=mc^2.

From there at 1% annual growth it is only another 2-3k years to using all the energy in the whole observable universe annually.

Population at 1% growth also gets out of hand surprisingly quickly. If we don't get FTL travel then in about 12k years we run out space. That's because in 12k years with no FTL we can only expand into a spherical region of space 12k lightyears in radius. At 1% annual growth from the current population in 12k years the volume of humans would be more than fits in the sphere--and that's assuming we can pack humans so there is no wasted space.

We actually have population growth under 1% now, down to around 0.85%, but that only gets us another 2-3k years.


Eh, because the speed of light is finite, our growth in resource usage will have to 'slow down' to cubic after a while. Sure.

We are very far from that.


>effectively infinite resources

Sure, like effectively infinite atmospheric carbon sink, effectively infinite Helium, effectively infinite fresh water, effectively infinite trees ... we've treated these things as true, because the World is big and population of humans wasn't so big we've got away with that for a time, now those presumptions are coming to bite us, hard.

Yes, we can work our way out of some holes, maybe all of them. But we have to make things sustainable first, then spend those resources. We're not wizards, deus ex machina only reliably happens in movies.

A little Malthusian.


> Directly re-using plastic bottles a few times might still be worth it, though.

Directly reusing plastic bottles that were not meant to be is bad for your health though, isn't it?


The biggest risks are that single-use bottles are usually pretty difficult to clean (usually a narrow opening). The second biggest, which is related, is that those single-use bottles usually aren't very rigid and will tend to make small cracks in the surface as the material flexes which makes things even harder to clean. After that, all the cracks that will develop will mean it'll leach out the bad stuff in the plastics far faster than if you had some other kind of water bottle.

If you just opened it and drank the drink in it, there's probably no harm in filling it soon after and using it a few times like that. Using that same disposable bottle for a few months is probably not a good idea.


Let's start by pricing in the negative externalities.

>they could use a non-rechargeable battery

The problem here is the item lasts 'long enough' that they can't, a single battery, unless it were very large would drain charge first.

But that brings in the second issue of the device not being refillable, which may be the bigger sin.


> As the author writes, you're supposed to recycle it, but how many people will do that if it has "disposable" written on it?

You need to offer an incentive (ie: discount on new vape if you recycle) and then, from my experience, most people will recycle.


And you also need to refrain from breaking this scheme entirely, by introducing silly restrictions like only exchanging for in-store vouchers instead of cash, or demanding same-store receipt for original purchase (or equivalent) - like it happened in some places (e.g. my country, Poland) to glass and aluminum recycling.

Such restrictions seem to purposefully target poor people, and I have rather strong ethical objections to them (something about making a problem invisible and hoping it'll go away - or starve out), but the effect goes beyond that. Getting $20 back on a $200 product would be a different story, but here, it's more like $2 on $20, or $0.2 on $2; most people aren't going to bother with that (and understandably so: it's not worth the logistics overhead). So at best, all this does is redirect money stream from poor people to recycling companies. More typically, it just makes people recycle less.


I concur on this one.

Here in NY as a cannabis user, one of the brands available that offers vapes (Fernway) offers a recycling program at dispensaries. I get 10% back off my next vape/cart if I return the old one to the recycling dropbox. My dispensary also keeps how many I've returned on file if I return extras, so I keep a 'balance' of disposables returned for the discounts.


It reminds me of how Sussman talked about someday we'd have computers so small and cheap that we'd mix dozens in our concrete and be put throughout our space.

Russia started with mixing diodes into concrete a while ago- https://news.ycombinator.com/item?id=41933979

A Deepness in the Sky by Vinge has this as a minor plot point.

> It’s beautiful

Especially since both the waste created in the process of making the device and the e-waste created with it's disposal are somebody else's problem!


> It’s beautiful, I love it.

When computers become disposable, their programmers soon become disposable as well. Maybe, you shouldn't love it.


That doesn't make sense.

Life lessons from anime and the WordPorn meme account.

> These are 32-bit ARM Cortex M0 MCUs, running at a 24 MHz clock or similar, some with 24 KB of ROM and maybe 3 KB of RAM!

So, probably enough to land on the moon. And cheap enough to justify a dozen backups.


The Z80 didn't even do 8 bit add. The ALU operates in two 4 bit cycles.

I am now wondering if it's possible to put a ZX81 emulator on one of these microcontrollers. It would need to emulate the Z80 but you've got plenty of spare cycles, and 3x the ROM and RAM of the original, so enough space for a small emulator!


For the even cheaper e-cigarettes many vendors are producing dedicaded ASICS integrating heater control, pressure sensing, battery management, for as close to free as it gets. It's astonishing.

It's all integrated on a tiny PCB mounted to the back of the microphone.


This is exactly it. The tech in these sorts of devices is way overpowered for what they are or need simply because it's a lot cheaper to do it that way than it would be to use more appropriately scaled computing power. Either the "more appropriate" components are no longer in production, or they are in production but are now considered somewhat niche and are only produced in volumes that make them considerably more expensive than the more advanced/powerful options.

So you end up with something that could probably be coaxed into running DOOM at playable FPS (if it had enough RAM and a display) relegated to running a humble - and frankly objectionably wasteful (coupled with questionable health outcomes with long term use) - disposable vape.


Nowsdays computers misguided us to think that we need to measure RAM in GB and storage in TB. There are a lot of "invisible" applications running on 8bit MCU (not ARM based and more modern than ZX80) and few kB of flash and a bunch of RAM (64 bytes in luxury models). In this context matter more the integrated peripherals like ADC, DAC, PWM, etc that simplify the complexity of board and reduce the total cost.

"Microcontrollers like the Puya PY32 Series (e.g., PY32C642, PY32F002/F030) can cost in the $0.02 - $0.05 range"

LCSC says between 6 and 8 cents in volume:

https://www.lcsc.com/product-detail/C5292058.html

500+ $ 0.0802 2,500+ $ 0.0727 5,000+ $ 0.0682"


> [...] while the cost of the processor is 2 - 3 orders of magnitudes less.

Is that inflation adjusted? If not, the real cost difference is even starker.


Wow: the Sinclair ZX81 launched in the UK in 1981 for around £49.95 as a kit (£50) and £69.95 assembled, making it incredibly cheap, and later in the US as the Timex Sinclair 1000 for $99.95 (kit) or $149.95 (assembled)

Cheap for a 1980s computer, now pennies. Wild.


I've bought hundreds of Puya's for my lab stock on LCSC. Neat little things!

How usable are they for hacking? I've had bad experiences with more obscure chips requiring custom programmers/debuggers.

They're great, because you can use all standard ARM tooling, including CMSIS-DAP dongles for debugging.

idea for a hobby project for someone better versed in hw than me - create a computer that can at least run basic with the MCU from the disposable vape.. :)

first one to run doom on a vape would do great numbers on youtube

Already been done.


Link?

Looks like I was probably wrong about this. There are a lot of "doom running on a vape" videos on YouTube - very easy to find, that's what search is for - but the best primary source I could find quickly actually has doom running separately and the vape just being used as a display.

Search for something like "doom on Puya PY32"

https://hackaday.com/2025/09/20/when-low-sram-keeps-the-doom...

https://github.com/atc1441/Vape_DOOM_ScreenShare


It's a god damn vape, 3Kb of ram is already a massive overkill for the purpose.

> What an amazing time we live in!

I feel like, pioneers of the past would be rather disappointed with us.

I mean, primarily we're not using this ridiculous power to solve actual problems, but to enslave one another in addiction, mindless consumption and manufactured consent to a lesser life.

Almost 100 years later, now with computer enabled misinformation and agitation campaigns by tech oligarchs, a new fascism is on the rise and Alan Turing would be called an abomination, again.


I wonder if this will improve latency and signal strength


It seems plausible that it would help with latency, but not by a game changing amount. This is 70/550 or 13% closer. Not all of the latency is caused by distance to the the satellites (e.g., terrestrial latency is not 0), so my guess would be that the latency experienced by users would improve by less than 13%.


Should be about half a millisecond round trip difference. 70 km / speed of light = 233.5 microseconds one way duration.


The title here says 100M, but the actual presentation says 1M?


That one has a special place for me. I was a consultant then and invited to join the chorus even though I wasn't at the more professional level the other cast members were. We did a performance in London and one in St Louis. Still, it was a lot of fun, and how I got to meet my spouse 25-ish years ago.


I recently visited SF with the fam. Besides riding the old-fashioned cable cars up and down, to and from, our Fisherman's Wharf apartment, it was a foregone conclusion that we'd try out the most contrasting way of transport: a Waymo. So, we took one to the Golden Gate Bridge park, a 20 minute or so ride. Everything was smooth, clean, nice music etc. The driving was much calmer and frankly more comfortable than any Uber driver we've had. After a few minutes of nervously being in awe, everyone started to relax and enjoying the ride more. We took a few more Waymo's over the next few days, and the experience was consistent.

A few days later as we went to the airport, our erratic Uber driver made us all wish we could have taken a Waymo. Alas, Waymo doesn't yet go there, or on any highways at all, so we'll have to wait for a little longer. However, on our trip we saw both transportation from the past and from the future. There's no doubt in my mind that driverless taxis will not only arrive everywhere, but take over quicker than we may now think.


This game is so fun! I spent entirely too much time playing it just once last night, and got to the 1024 piece in the first run. I don't know how long it took me, but it was long. With 2048 my runs are far quicker.


A smart compiler would have used the test (x & (x - 1)) == 0 to verify that x (assumed non-zero) is a power of two. Don't know why Clang didn't do that here.


The tricky part is doing this without knowing the value of x!

This is why compilers have to rely on static analysis.


This article really confuses the problems that legacy car manufacturers have with switching to EVs, with EVs in general. EVs work, just look at countries farther ahead in the transition, or ask the 1.8 million people who bought a Tesla last year. The transition is in full swing.

Tesla's excellent supercharger network is already more than sufficient for roadtripping in the USA and Europe, and now is open to non-Tesla EVs. This piece of writing is just a poorly researched bit of trash.


That's quite the bandwidth-delay product at 3.3GB.


Actually, that's mostly false. If you can charge at home, you'll have a fully charged car in your driveway every morning. With the Tesla charging network, you really can charge no matter where you want to go. Typically after 4 hours or so of driving, I'm ready to take a bathroom break, stretch my legs and get a coffee. By the time I'm back the car is charged to 80% or so, good to go for another 250 miles or so.


That's a very big IF. Over here in EU many (most?) people live in the apartment buildings of different types, and there are no charging spots on the parkings. Having to rely only on the EV stations is deal breaker when comparing with the similarly priced ICE. I can't see myself buying EV while renting an apartment.

PS: I do want to buy an EV. I'm not one of those ICE-only people.


There's a difference between it being doable and it not being a hassle. In even slightly rural areas you have to plan to stop at a small number of locations rather than just stopping whenever gas/food/break makes sense.


Having a SFH and a driveway is another nearly insurmountable requirement.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: