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

The article ends to a link to a video that shows off the technique and it blows my mind the Spectrum beeper could produce this: https://www.youtube.com/watch?v=7cOu32m3wvQ

Turns out that it's actually 2-bit and not 1-bit. It uses a combination of the EAR and MIC jacks, and when you output through the MIC jack, it slightly boosts the EAR jack. That gives you 4 possible levels, but they are not evenly balanced.

I created a program like that back in the day. In my case, I recorded my voice through the "MIC" input and played it back through the TV. A few seconds of sampled audio required the entire available memory. While I fully understood what was going on, I thought it was magical that the Spectrum could "speak with my voice".

On ZX-Spectrum? There was no "MIC" input on ZX-Spectrum, not that I know of. I was in high school at the time with only a rough understanding of the hardware but it was kinda obvious to me that whatever I plugged into the casette input port was only read as "0" or "1" by the IN <port> (forgot which) instruction. So not really possible to record voice at the time (didn't even know of PCM anyway), but I tried to decode Morse transmissions from radio. Never got anywhere with the software but my ear got good enough at some point that I could decode them myself by hearing :)

> There was no "MIC" input on ZX-Spectrum, not that I know of.

Don't be daft. Of course there was. It could save programs onto cassette as well as load them from cassette.

The ports are labelled MIC and EAR because that's what you connected them to on the cassette recorder.


There was Z80 code to record from the MIC socket in one of the small books (Melbourne House maybe?) that came out in the early 1980s. I remember borrowing it from the library and it worked! Heavily quantized of course by the snapping to 2 or 0.

Also some games had sound samples, Activision’s Ghostbusters had a couple.


With proper volume control, even one bit could probably sound voice-like enough to a person in the 1980s.

It may be feasible to retrieve a pcm for a very short clip by playing the same recording at different levels which then could be converted on the same machine to a sequence of opcodes playing a more realistic voice.


On the Speccy at the time we had no volume control, only frequency... or more accurately you could but the frequency and the volume were tied somehow: https://retrocomputing.stackexchange.com/questions/14655

You would adjust the volume on your tape player to do what I proposed.

Nope. I did the same thing myself with my Spectrum. I guess I was 14. I didn't have a microphone so I tried it with my dad's stereo headphones. I got the idea to try it after looking at the Z80 machine code of cassette saving and loading routines. Maybe it was also after ETX came out, first game I remember with speech samples. (Terrible game). I forget the details now but it's all about the timing between turning the mic/speaker on or off.

More mind blowing, that entry took _second_ place! First place would probably break my brain for the day so I won't look it up.

Release party: DiHalt 2026 summer Compo: Demo Platform: zx spectrum Ranked: 2nd


Sounds pretty good. Reminds me of the Demo Scene and the types of music they were able to create.

I gotta try this on real hardware, reading the original article it seems it's barely audible without an amplifier, unlike on an emulator.

Will post an update after I get back to my parent's home, where I have these beauties that launched me into computer science: https://imgur.com/a/GKrA0vX


I have identical twin boys - when signing up for a bank account app and while completing all the associated hoops for ID, the second to do it got the rather dystopian error message 'an account has already been registered with this face'


I wonder how it's possible they didn't think about this problem. Considering everyone involved in building this feature, not a single person thought about the possibility of twins or simply people who are very alike? Also, can't people open multiple accounts?


I imagine that it probably went like this "what about identical twins?" / "Don't worry about that for now, we'll solve for it before we go live, but it's not in this milestone". Then someone pulls rank and decides the product is "good enough, we can't wait for all bugs to be fixed" and gets it deployed.


Issues get closed to make the metrics look good, not because they’re actually fixed.


Just look at the "falsehoods programmers believe about ..." articles that pop up from time to time. There are plenty of complexities in the real world that people either don't know about, aren't front of mind when they are tackling a larger problem, or simply don't want to deal with in the here and now. Lost knowledge and new problems are part of the reason why programmers are discouraged from rewriting software from scratch and why businesses in general are hesitant to replace legacy systems that still work.


That's true, but those lists are interesting because they aren't full of things you should be learning in primary school.


True, but many of those bits would be learned in some primary schools. It simply depends upon whether they are relevant where you live. That's especially true for names, which is culturally dependent. It is also true for the culturally dependent aspects of dates/time, though there are obscure bits that are only relevant to certain disciplines.


Based on my experience I assume someone mentioned the risk, others said it’s unlikely and only a small percentage, that we should care about the 99% for now. Then the issues isn’t revisited until someone impacted complains enough.

p99 is ok for web stuff, not for systems that impacts people in their life, but I’ve seen too often things being dismissed because they are edge cases (which becomes an actual real issue at the scale of a country of course)


It's one of those items way down on the list of "Falsehoods programmers believe...", way below everything on the names list (https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...).


Which is pretty absurd because twins aren’t even that uncommon. I would bet most people on the planet know or are related to twins.


Every person on the planet is related to twins.


What a pointless point to make. I’ll spell it out for you: related within a generation or two. There are no twins in my family that I know of for several generations, for example. Thus I would say I’m not related to any twins because I’m not in any meaningful way, even if there might be twins somewhere in my ancestral history.

If you mean that all humans are related, that is true but a completely useless fact in this context.


Not every word in a conversation needs to be useful.


Apparently not even entire replies, so I’ll join in with one.


Indeed.


Those are the ones better left unsaid.


Or are they?


Because it probably does the dystopian tracking well enough, they don't care if it's not 100% accurate. Edge cases in the new world have no recourse, citizen.


Maybe they didn’t care. Identical twins are a fraction of a percent of the population. Excluding them (really, only half of them) from the customer base wouldn’t hurt noticeably.



What is strange is that even the best face recognition algorithms have false positive. So surely they must have planned for two unrelated customers resolving to the same embeddings.


Anyone have any idea how this can happen? Surely the boys have different first names, so how can the system mix them up?


One imagines they are far more worried about person X fraudulently claiming to be person Y than they are about occasionally causing problems for identical twins.

Obviously the solution is to accompany facial recognition with DNA tests.


And worse yet, you'll find the code peppered with comments relating to 'phase 3' and 'section 11', ephemeral stuff that had meaning in the moment but now enshrined forever. And what happens when the LLM stumbles on this and working off a whole different phase 3 or section 11?


I turned that to my benefit. I use that design-doc pattern where you first ask it to make a ticket with a formal section list (why, how, etc) and then I ask it to use comments with permalinks. I put it all in policy files. As a result, comments have clickable links to coherently worded tickets.

Still, this requires a second pass, typically. In its default-mode it often ignores the policies and does all the usual Claude stuff.


So the critique from the other story holds true - it really is just running the Linux driver inside docker, and (perhaps) dressing it up as something more - though I note the claim on this page is walked back from the original 'writing the driver'. On the other hand, it really did get him printing from his Mac, so in this new LLM results based world we live in it did its job admirably.


Nice, I will give this a go. This is what /resume should be but because sessions are tied to directories it's very easy to lose track of where you started what. Until now I've been asking Claude 'what was the conversation we had about [X]' which works but is clunky in the extreme.


Same thing bit me. What fixed it was keeping the session id next to the checkout instead of letting the directory be the key. Small local db, one row per worktree. Resume then doesn't care where I'm standing, it just continues that transcript. I've got worktrees I haven't touched in weeks that still pick up fine.

One thing I didn't expect: forking a conversation copies the history into a new transcript. So anything you count per transcript, cost in my case, double counts that prefix. Resuming the same id doesn't.


> The Aga chipset of the 1200/4000 stupidly only added 2 more bitplanes. The CD32 chip actually had byte-per-pixel (chunky) graphics modes but the omission from the 1200 was fatal.

The intention was good, but the Akiko chip was functionally almost useless. It was soon surpassed by CPU chunky to planar algorithms. I don't think it was ever even used in any serious way by any released games (though it might have been used to help with FMV).


Ah, I was under the impression that it had a native chunky mode but it was a built-in C2P routine? Anyhow, seems it was useful (1) when running on stock CD32's but not in conjunction with faster machines.

1: https://forum.amiga.org/index.php?topic=51616.msg544232#msg5...


Which brings me to my pet peeve, the already slow 68020 (680ec20) at 14MHz was crippled by, even though it had a 32-bit bus, was only connected to a 16-bit RAM bus. (Chipram.)

This 16-bit memory (2 megs) is also where the framebuffer and audio lives, so the stock CPU in A1200 has to share bandwidth with display signal generation and the graphics and audio processing.

All-in-all, it meant the Amiga 1200 had only about twice the memory throughput of the Amiga 500. (About 5 megabytes/s vs about 10 megabytes/s)

If the A1200 had at least some extra 32-bit memory (it existed as a third party add-on) the CPU could have had its own uncontested memory with a troughput of about 20-40 megabyte/s.

Imagine the difference it would have made if the machine had just a little extra memory.

That's just a tiny detail. That the chipset wasn't 32-bit was another disappointment.

The bigger problem was that Commodore as a company was aimless.


Yeah, and it took ~7 years to make those marginal improvements over the earlier Amiga chipset! I'm ignoring ECS, since it barely added anything over OCS for the average user.


I was impressed to see Irish was included, but it soon became clear it's all LLM generated. That's not enough to write it off on its own (ChatGPT can be surprisingly good when explaining Irish sentences) but I spotted so many mistakes in the demo questions alone I can't imagine this is going to help anyone learn anything.

I would start to enumerate the mistakes, but it's not even worth it. It's really terrible. Can't sugar coat it at all, sorry.


Interesting article, though is there really much new there? Also it discounts the alternative hypothesis of some bright spark acquiring wolf pups and doing it purposefully because that would take 'weeks'. Weeks, you say?

Surely some enterprising hunter-gatherer had sufficient time on their hands. I can't help but think strutting around with a feared predator at your beck and call would have been the ultimate status symbol, and once you saw it would have to be the must have accessory for the self-respecting hunter. Aficionados would no doubt breed their stock amongst themselves to save the hassle of having to abduct more wolf cubs, which would naturally tend to the more suited specimens (friendliness being one trait as you don't want them eating the kids). Once it was realised what an incredible force multiplier they are in hunting and their utility in defence, any time investment would pay for itself many times over.

I find this no less as unlikely as thinking humans would let wolves help themselves to their excess food. Fascinating subject all round, no matter the reason. I hope they can figure out more.


> I find this no less as unlikely as thinking humans would let wolves help themselves to their excess food

Wolves can extract nutrition from animal tissue which humans discard, such as bone and the tougher cartilage/connective tissue. Modern dogs still absolute love bones.

They also have much better night vision than humans, sense of smell and hearing.

So, follow human tribes and pick off the remains when they move camp. Maybe eventually escalate to sneaking in at night. The human tribes now become a "resource" which the wolves will start guarding from other predators, such as bears or competing wolf packs. The humans eventually catch on that the wolves are providing a benefit at very little cost - food remains which they are not eating anyway. They even start to share kills - the wolves being better at tracking game while the humans finish the kill with spear/bow.

When animal and crop domestication occurs, you get another benefit - protecting the flocks/herds/crops from marauders. Especially at night.


I see this as likely as becoming more amenable to humans over a long time due to free food.

Falconers often acquire and train wild birds. With wolves abducting pups or adopting orphans seems like a reasonable path to domestication.


Reminds me of Werner Herzog's autobiography. In the introduction, he muses on a life being cut short by a snipers bullet, and when he sees a bird flying past his window as he is writing his book makes him imagine it is a bullet and he thinks it would be a nice device to cut his final chapter short at that exact moment, so he is giving fair warning that the book will end abruptly.

And so it does, but in a totally Herzog moment he then almost immediately intones afterwards "and that is the end of the book as I indicated in the foreword".


I dunno, man. You get to work for months to completion on a deeply fulfilling project, get well compensated, and then the plug gets pulled before it goes to production? That's living the software engineering dream!

Jokes aside, the article resonated with me (before the LLM vibes got overpowering) as I am learning Irish as my own personal challenge, which as a minority language is similarly derided by some as useless (there is essentialy no Irish speaker that does not also speak English) but which I have found tremendously intellectually invigorating and the most pumped I have been for a project in a long while. So it rang true for me before half way through a distinct "linkedin parable" nature started to come to fore. So alas I rather doubt the author is learning Sumerian at all. Cynical perhaps.


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

Search: