HNHacker News
TopNewBestAskShowJobs

mk_stjames

3,757 karma · joined October 10, 2022

submissionscomments
mk_stjames··on DJ Shadow looks back at "Entroducing" and other early work
OP is Undoubtedly referring to "In Tune And On Time"

Live at the Brixton Academy, 2004.

I have it on a DVD. I think it's all on youtube, but split into parts.

One of my favorite live performance recordings out of many, many, many...

mk_stjames··on A misalignment of AI in mathematics
For the interested; the saying I believe you are referencing in regards to writing code / debugging is from Brian Kernighan, specifically:

  Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?
(from, 'The Elements of Programming Style')

It's prescient.

mk_stjames··on How the Hell Did an Island Suddenly Appear, Then Vanish?
It's like a type of floating bog island that grows from piled up downed trees and other biomass and then breaks off from the main land.

Happens on lakes in Wisconsin. See [0] for a very interesting example of what happens when one gets real big and floats away.

[0] https://www.youtube.com/watch?v=X2AG6LAOBYo

mk_stjames··on DIY archivists push budget Nikons to 902,000 clicks to save 1,800 rare books
The approach noted in this article is similar to an experience I just had.

I recently had some old hardware manuals I wanted to digitize, which were pages in 3-ring binders. I started thinking about scanning them but did not have an auto-loading, xerox style scanner at home. I looked around for free software that could do this 'google books style' as they did here in this article - take a photo of each page and automatically find the corners, dewarp, white balance, etc. and export to PDF.

I actually didn't find a premade solution that looked like what I wanted. So I wrote my own, with Python an a simple tk GUI.

I tried a lot Open CV messing about to do automatic page corner detection and whatnot, but found everything I tried unreliable. Sure, the corners may autodetect about 95% of the time, but if 5% of the pages fail and get cropped wrong or dewarped weird, I noted the time it took to go back and fix those errors eclipsed the time saved by the entire rest of the automatic process.

The fastest method I found was a human in the loop semi-auto program: it loaded in all the images from SD card, and had the user manually click the 4-corners of the page as shown in the image. Upon the 4th point being clicked, the page would auto-de-perspective and apply the last saved default white balance curve, thresholding, and posterizing (color binning) / grayscaling / scaling to fixed width. For subsequent images in the camera roll this meant settings didn't have to usually be changed on a per-image basis. Then just a spacebar to add the image to the saved temp queue and at the end an export to PDF.

This approach had me digitizing about 600 pages in an hour I estimate. Yes, it was a lot of clicking for the manual part.... but it allowed me to proof every page as it flew by and this caught a few photographic errors that I wouldn't have caught if it was fully automated, and not a single page was left mis-shapen or unreadable.

mk_stjames··on Memory prices climb 500% in 12 months
I noticed that resellers on ebay of used server equipment that I keep an eye on in Germany pulled all their DDR4 from surplus and used server racks and now list it separately for sale, at jacked up prices. Where you used to be able to see a used Gigabyte server listed with "128GB" "256GB" etc listed in the title, they now all say "0GB". They took extra effort, to pull used ram from older servers, and list it separate, just out of the greed of potentially capitalizing on this market.

The problem is... now for anyone looking to pickup a slightly older used/surplus server rack - you have the go and buy the (now marked up) RAM separate.

So... did they list the "0GB" racks with removed ram cheaper you ask? Nope. Many of them seem to be basically the same price as they were or even higher than they were, except now you're paying for RAM separate.

I bought a surplus Gigabyte server about 2 years ago off ebay for a home project, and I just went and the same seller still has some for sale, even older now than they were when I grabbed one, but they are 2x the price, and they don't come with any RAM, whereas I got one already populated as they were from the factory. Once you add that back in literally looking at 150-200% markup in the last 2 years on what was just surplus computer equipment that is 5+ years old.

mk_stjames··on ASRock BC-250: Building the Budget Steam Machine
The prices of these boards have gone up it seems since the knowledge on how to bring them up and effectively utilize them has proliferated.

After the crypto miners dumped them (that was, what, 2 years ago?), I saw one of the entire rack systems on eBay- I think they held 12 of these in one rack on a common backplane - for $800. (or maybe less?)

That's $66 per BC-250.

mk_stjames··on Hybrid-Electric Aicraft Engine Targeting 30% Fuel Efficiency
Cheers- I guess I'll add, the turbofans that all modern airliners use are almost always referred to by their 'thrust' and you ofter see a lot of published numbers of takeoff thrust and such - it is harder to find numbers at cruising seed and altitude, and then in reality what you need to know is the actual power needed to generate that thrust.... there is some complexities there but in general the turbines generate what is known as 'shaft horsepower' which is a good stand in number we're looking for to compare.

The real takeaway is that power is power and energy is energy and regardless of how it gets to do the 'pushing' of the air, if you want to use solar energy (power, at any given moment, not integrating over time) those are the numbers you are comparing. It's all just unit conversions, at least when you're attempting such napkin math. Anything more - taking into account the actual systems, losses, efficiencies, etc.. just makes it all worse, not better.

A cool exercise is - given the 777 wingspan I esitmate and the power output from solar of said size... what kind of current aircraft use piston-driven engines with similar horsepower? Assuming we had motor inverter electronics and an electric motor that was 100% efficient, you could imagine trying to build a similar weight aircraft of that size that has such a wingspan.

This is why you wind up with the only solar powered aircraft out there being superlight, high altitude craft with super high aspect wing surfaces- maximizing wing area to weight / lift capability such as: https://en.wikipedia.org/wiki/AeroVironment_Helios_Prototype (note the largest of those prototypes and the tiny amount of power output they were making. All that wing area and it would have barely been able to carry a single passenger as payload and cruise a day without battery power)

mk_stjames··on Hybrid-Electric Aicraft Engine Targeting 30% Fuel Efficiency
Man this is a middle-schooler level napkin math question.

Take a Boeing 777, it has a wingspan of about 60 meters, and I'll ballpark an average upper wing chord of about 7 meters, for a total upper flat area of about 420 square meters.

High quality modern but standard single sided solar panels can do about 220 watts per square meter is full sunlight (around 22% efficiency tested at a 1000w/m^2 irradiance).

So that is 92,400 watts at full power.

92kW is less than the peak power of a Nissan Leaf. 92kW is 123 horsepower.

The two GE turbofans of a 777 are generating something like 40-50 MW of shaft power during cruise. MW.... megawatts. 50-60,000 horsepower.

Plastering the wing surface of a commercial plane with solar panels would make up less than a quarter of a percent of the total power it uses to produce thrust at cruise, at best case with them fully-lit.

Fully solar sailplanes do exist (NASA's Helios prototypes are an example) but that isn't anything close to a 'normal' aircraft with any appreciable payload/passengers.

So, no need to wonder.

mk_stjames··on PCjs Machines
Yes, just tried this, and my little exe ran on a Windows 10 64 bit machine just fine.

Which means I just built a demo of a tiny 16 bit windows GUI applet, using emulated VB in Win 3.1 in a browser and got it to run on modern Windows in a shorter amount of time than it would have likely taken me to get the same type of demo up and running natively in Windows 10 today.

mk_stjames··on CD sales growth outpaced vinyl in the first half of 2026
Actually, yes, this was the experience I was recalling... it was 1995, not 1993, and it was the 'Turbo' version of Journeyman Project, which came in a CD pack bundled with Windows 95 by Packard Bell (a surprisingly large compilation of software to bundle with such a computer at the time. Man, it was a golden age of progress in the PC world back then). Since it wasn't the retail version of the game, it did not come with the original instructions; instead they buried the door access code and some other numerical codes you needed during the game in a bundled instruction book for the CD box set. [0](the little teal booklet in this photo) No one ever knew to look in there, because it doesn't appear to be branded to have anything to do with the game.

There are entire sects of people on the internet that share this incredibly frustrating memory from their childhood. [1]

[0] https://www.worthpoint.com/worthopedia/1995-packard-bell-sof...

[1] https://steamcommunity.com/app/359420/discussions/0/13550947...

mk_stjames··on PCjs Machines
I just did something neat- I tried out the install of Windows 3.1, which has a version of Visual Basic installed. I created a small program in Visual Basic, with a window and some buttons to press, and then saved the program as an .exe (remember how easy this used to be! you could make your program and then just... save the executable out of VB! No compiler knowledge needed!)

I then saved this .exe to a disk image, and then saved that disk image back to my modern mac that I'm doing this on via downloading that in the browser.

I then took that .exe and the only dependency - vbrun100.dll - and put it on a floppy (a real one) and then took that floppy over to a vintage computer I have that has Windows 3.1 on it still (an old 25 MHz Intel486 DX industrial computer I have sitting in a closet with no real use for). Popped in the floppy, copied the .exe and .dll.

And ran the program, no problem! A real GUI windows program, made in VB running in Windows 3.1, inside an entire emulated machine in Javascript in a browser window running on an Apple Silicon macbook in 2026....

Exported and saved to disk and then ran without issue on a piece of hardware made in *1992*!

Now I need to do the reverse... make some software with a copy of VB installed on this old machine of mine and run it on my mac inside the browser.

mk_stjames··on CD sales growth outpaced vinyl in the first half of 2026
Nothing was worse however than getting a game used and not getting the manual included, when the manual contained very necessary information to progress through the game, and in an era where 'The Web' still wasn't really a thing....

I'm looking at you, 1993's Journeyman Project....

mk_stjames··on How to Train a Gen AI Kick Drum Model on Your Old Linux Desktop with 6GB VRAM
This is cool, I had some questions because I was trying to understand this more - not the diffusion model training part, because that I've actually seen before- but the actual way you bundled this into a web application and the choices made...

Did you publish the actual trained model anywhere? I see how in the code there is python for how individual samples can be generated, but the model checkpoint pulldown comes from a directory that... I don't see.

I then went through the code of how this runs on the web and- I'm not a web dev guy- so I'm pretty confused at all the bits bolted together to make this into a web app. It seems like there is a WASM bit that is compiled from a typical C++ audio plugin that is doing the stuff like conv reverb and limiting and distortion in the web app - all that is oldschool, non-generative AI, DSP being applied to the samples. Then the samples are just... a few default generated samples, to start- where are they pulled from, physically? And you have a login requirement to spool up the actual generative AI part to generate new samples to run into the DSP (because that needs a GPU on the backend to do, so, a login to help rate limit this)

How big is the actual generative model? Did you ever think about building the generation engine into the WASM bundle, using maybe WebGPU in the WASM to accelerate in a platform agnostic way, so that the entire app would run offline in someone's browser window?

I'm having fun just playing with the kick program without a login, which, again, am I right in saying in that mode there is no gen AI of sampled happening server side, it is just playing starting with some pre-made samples?

mk_stjames··on Decoding the obfuscated bash script on a Uniqlo t-shirt
Neat. My only critique of the script is that I would have added a

  sleep 0.1 
in the loop so that as this prints in a terminal it is actually readable; any modern terminal will scroll so fast you can't see the message in flight.

Slowing it to a 10hz refresh makes it look great.

mk_stjames··on Dolosse – a South African invention used over the world
Interestingly the author shows a photo of a spot in Cape Town where there are two distinct structures in use - close up, in the photo, are actually Tetrapods - as pointed out in other comments, these are an earlier invention from France and also used quite extensively throughout many parts of the world (including... right here where the Dolosse were invented).

Further down that jetty are structures with the actual Dolos geometry. It would be interesting to know if, specifically, those geometries were chosen specifically to be placed in those two parts of the wall as they are for specific properties, or if came down to having certain quantities made on hand and their distributions matched the shape of the wall required, or what.

You can see what I mean, this distinction in the exact location where that photo is taken on google maps, here:

https://maps.app.goo.gl/Vn3tGhM81oMqPVpm9

-33.899126, 18.412751 Mouille Point, Cape Town, 8005, South Africa

mk_stjames··on County with 37 Data Centers Asks Schools to 'Conserve Electricity'
That's not 'malicious compliance'...

it's 'Jevonsian insanity'.

mk_stjames··on CT scans of BYD car parts
In addition I'll give one more criticism:

Above that reads this bit:

  >Its driver door panel consolidates mirror adjustment, mirror fold, door locks, all four window controls, and child locks into a single networked module. That consolidation exemplifies BYD's vertical integration favoring fewer subassemblies, each designed in-house and dropped into place, with firmware determining how any of it behaves.
Integrated door switch modules have been more common than not on cars for easily the last 15 years now, and I don't think this in any way exemplifies BYD's "Vertical Integration" or "favoring fewer subassemblies" (these two things actually don't even necessarily imply each other!!). There are plenty of cars that use such assemblies and the companies outsource to tier 2's for the actual manufacturing - Mercedes and Valeo, for example. Because they don't actually take apart the module and look for, say, a logo on the silkscreen of the PCB, I don't think the author actually confirmed if BYD 'designs' (let alone manufactures) the complete switch unit in-house. They could. I'm not saying they can't. But...

But this whole article is written from a weird authoritative viewpoint when really I think it should back down a bit and just describe what the damn CT scans show.

mk_stjames··on CT scans of BYD car parts
Yes but specifically, in this article, the passage is written about a harness connector on a door window switch module as follows:

  >Fourteen pins in two parallel rows carry every signal this panel produces to the rest of the vehicle. Automotive connectors are among the most common failure points in modern cars: corrosion, fretting, and thermal cycling work on these joints over years of use. One connector failure on a module this integrated takes out mirrors, windows, locks, and child safety all at once.
This just reads weird to me.

Corrosion on an interior module connector is not as much of a concern these days unless the car is in a flood or the door card sealing is broken due to something like a poor repair job.

Fretting? What would cause fretting on pins of a connector that never gets touched by a human after it leaves the factory. It is a static connection, it doesn't get plugged and unplugged.

Thermal cycling? It is inside a door panel... not near a hot exhaust or inside an engine. It sees normal interior temperature cycles.

An actual Closures Engineer would more likely call out vibration shock during door slam in a closures FMEA as a potential electrical window switch fault hazard resulting from the connector loosening if the chosen connector lacks sufficient mechanical fastening moreso than anything..

Saying that connectors themselves are "among the most common failure points in modern cars".... just sets of flags to me as overly flatulent, generated puff writing. "Oh I need to list three things about connectors (thinking).... Corrosion -Fretting- Thermal Cycling-!! and this makes connectors among the most common failures in modern cars (no sources cited)".

(I'm a former automotive engineer.)

mk_stjames··on CT scans of BYD car parts
This sounds like copy written by someone who hasn't actually spent a lot of time with the automotive world and in trying to sound like they have.

Electrical connectors on automotive harnesses are far, far more reliable now on modern cars than they ever have been in the past, even with the increase in number of such connectors.

Companies like Delphi and Amphenol put immense engineering effort into the way modern connectors are designed, with weather sealing and contact plating that is way better than anything pre 1990's-ish was. Plastics really got way better after the turn of the Millenium compared to what they were before- I remember working on 1980s cars in the early 2000s (so, 20 year old cars) where connectors would ofter crumble in your hands when disconnecting them, or have completely corroded terminals, terrible sockets that yield and wouldn't keep continuity, etc. Compared that to all the cars I've worked on in the last 20 years where connectors have just not really been a worry (among the brands I've work on, at least). The electronics / sensors / modules themselves are much more likely to fail than the connectors they attach with, in my current experience. The only time connectors seem to fail is when cycled roughly/wrongly by people doing service incorrectly. Failure in place? Rare.

Anyone who thinks automotive electronics were more reliable in the past, live a bit with the electrical systems of a car from the 1970's thru the mid 1990's and report back to me on how that goes. Bonus points if it's Italian or British.

mk_stjames··on Roughly a quarter of American professionals hit a wall in their careers
I have this little insight into PTO that I keep saved, from the book "Algorithms to Live By" by Brian Christian & Tom Griffiths (a nice read). I think of it often when hearing about people and their work schedules in modern salaried positions and these 'unlimited PTO' offers:

  >All employees want, in theory, to take as much vacation as possible. But they also all want to take just slightly less vacation than each other, to be perceived as more loyal, more committed, and more dedicated (hence more promotion-worthy). Everyone looks to the others for a baseline, and will take just slightly less than that. The Nash equilibrium of this game is zero.
mk_stjames··on I made my phone slow on purpose
I edit my /etc/hosts file and send domains that I've realized I'm addicted to (ahem, lichess) to 0.0.0.1

This gives enough friction to the point, when I muscle-memory type the URL in a browser, and get an unreachable error... after a while I learn to just... break the habit.

mk_stjames··on 1-Bit Bonsai Image 4B Image Generation for Local Devices
I saw '1-bit' and my mind first went to 1-bit dithered B&W image generation, not 1-bit model weights....

and so now I'm wondering how cool /fast / compressed a diffusion image generator could be if the images it was trained on / space it worked in was limited to 1 bit (Floyd-Steinberg / Atkinson / your favorite algo here) dithered images.

Training would surely be pretty quick and probably fit onto one modern GPU.

mk_stjames··on It takes two neurons to ride a bicycle (2004)
It seems like it should say "It takes Two Neurons to Steer an already moving Bicycle".

The simulation is so simplified that I see no terms for the control of pedaling. Riding a real bicycle isn't just about steering and leaning a bit. You need to propel the bicycle a certain amount.

The paper buries this in the following:

  >Although the two-neuron network controller works well for a range of speeds, one thing the controller does not do is to try to dampen the instabilities that can arise when riding too slowly or in too sharp of a turn. (This would probably require a third neuron that isdedicated to this task.)
They say 'damping instabilities' but it is way more than that, because as anyone who has learned to ride a bike knows, the hard part is getting started at that zero point of forward velocity - how to apply torque to the crank at the same time as compensating with the steering to balance at such low momentum. It's not a trivial solution to 'damping instabilities' when getting going in the first place is the most difficult part (as any 5 year old child will demonstrate).
mk_stjames··on Kv4p HT – A homebrew 1W radio (VHF or UHF) that plugs into an Android phone
I encounter this problem as well when looking at projects on Github on a near daily basis it seems.

It just led me to finding this:

https://kicanvas.org/

worth a bookmark.

mk_stjames··on GenCAD
Your comment on how you feel trying to execute a model is similar to the inverse of how many Mechanical Engineers (used to) talk about coding - they know what they want, they can write down what they want a program to do, they just don't know what to type out in a programming language or how to compile the code or use the IDE, etc etc.

There are mechanical engineers out there who can literally model objects nearly as fast and they can 'think' about the layout of said object. If you look at the complexity of, say, a CAD model from a real, highly complex aluminum casting section of an automotive subframe, or the living-room-sized cross-fuselage spar forging of a fighter aircraft, with hundreds of ribs and fillets and features- and compare that to the simple model you are trying to make in OpenSCAD, you should quickly realize the parallels in difficulty you are trying to express (similar to the person without knowledge of C++ or Python watching someone be able to build applications by typing code from their fingertips as if they already knew what to type...)

You are struggling for a few reasons- 1., it is a knowledge hurdle of an entire field you are trying to surmount- again, go watch someone actually model a real, complex part and watch the speed, they can do so in a tool like Solidworks, CATIA, NX, etc... at a rate that is far different because they have experience that it can honestly take even good people years to accumulate - and 2. they are using professional tools - you mention OpenSCAD, like it is CAD, but it isn't. It is programmatic mesh generation, and it turns out that programmatically typing out how to generate complex things is much more difficult than a combination of a graphical GUI and graph-based generator that all big CAD programs figured out starting in the 1980s. If those tools you use were really the best way to make complex models 'paramaterized', then why do we design our fighter jets, Formula 1 cars, or Space X rockets in Dassault's CATIA or Siemen's NX ?

You want a LLM to take a sketch to your CAD, but what I'm saying is, there are people out there that can skip the sketch and build the CAD as fast as you can likely hand draw the first sketch, and these are skills you can actually learn, but you may just be using the wrong tools and have not had the practice necessary.

mk_stjames··on Classic 7 is a Windows 10 LTSC mod to look 1:1 to Windows 7
Everyone seems to love the Windows 7 era but for me, Windows peaked GUI-wise with Windows 2000 and everything since then has felt like a poor 'skin' or misplaced 'theme' on top of something else.

Windows XP's level of 'plug and play' for devices/drivers ushered in the modern OS feel from a usability standpoint, but from a 'get-shit-done' GUI and responsiveness standpoint Win 2000 (and up to Windows Server 2003 by extension) was all I ever wanted/needed.

These may be rose tinted glasses though, and I'd be interested to hear counterpoints.

mk_stjames··on Golden Testing a CAD Library
Since you are a wrapper on top of OpenCascade, I assume you have the ability to export STEP solids, and so one potential test you could run is have a series of standard objects that are exported and then re-imported with the basic opencascade tools and then measure the volume of the solid, verifying a solid volume to some small epsilon. This type of volume/mass verification is used in a lot of CAD modeling competitions to determine if a part has been correctly modeled; if the part is of sufficient complexity (especially things involving fillets), the odds that the solid is computed with the correct volume, down to several decimal places, while something else in the modeling is wrong, are astronomically small.
mk_stjames··on Using “underdrawings” for accurate text and numbers
Because the image generation is powered by a diffusion model that is only guided by the transformer model and still has somewhat vague spatial representation especially when it comes to coupling things like counting and complex positioning.

But by using the LLM to generate code like an SVG graphic is made up of, and then using a rasterized image of that SVG as an input to the diffusion model, this takes place of the raw noise input and guides the denoising process of the diffusion model to put the numerical parts in the right spots.

The LLM is putting the SVG in the right order because the code that drives the SVG is just that - code - and the numerical order is easily defined there, even if it has to follow something like a spiral.

Edit: although LLMs now also may be using thinking modes with their feedback during generation to help with complex positioning when drawing something like an SVG, as I just asked claude to generate me one such spiral number SVG and it did so interactively via thinking, and the code generated is incredibly explicit with positions, so, that must help. But the underlaying idea to two-step SVG-to-diffusion model is the real key here.

mk_stjames··on It Took Me 30 Years to Solve This VFX Problem – Green Screen Problem [video]
In case anyone wanted technical details of the NN, I dug into the repo:

Its a transformer, with a CNN refiner after. Specifically, a ViT using the Hiera architecture (https://github.com/facebookresearch/hiera)

The Hiera ViT has dual decoder heads, one for the alpha and one for the RGD foreground, and then a small CNN refiner network to solve some artifacting in the output from the Hiera model.

I'd be very interested to see a long form tech talk of Niko explaining his process of learning ML ropes and building this model.

mk_stjames··on Raspberry Pi Pico as AM Radio Transmitter
I want to point out that what keeps this 'OK' is that the little wire is so 'electrically short' compared to the actual wavelength at 1000khz (a real quarter wave antenna at that freq is like 75 meters)... and thus this limits the power of this 'transmitter' to probably nanowatts.

If the PIO pin could drive a fair amount of current at 3.3v into a long enough wire at that frequency you'd start to get into milliwatts, and AM radio is NOT a band that even amateur license operators can broadcast over a a certain power on. FCC part 15 dictates no more than a 3 meter antenna for personal devices at AM frequencies which is what does the power limiting essentially.

The harmonics fall off quick enough on such a setup that it wouldn't really be a problem - but the only way to really KNOW that is to have a real solid understanding of how this 'radio' you've just made is working, meaning how that square carrier wave is really being driven off the PIO pin, and thus you need the requisite EE knowledge and/or ham radio test equipment and experience.

I've seen more and more of these 'ChatGPT coded up a radio transmitter' posts and it kinda rubs me the wrong way. I'd like to see more calculations and disclaimers for people showing some responsibility with radio, and if it drives people to studying and taking an amateur radio license test that would be for the better...

Page 1 of 16Next →