HN user

mk_stjames

3,738 karma
Posts2
Comments450
View on HN
PCjs Machines 1 day ago

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.

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...

PCjs Machines 1 day ago

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.

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....

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?

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.

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

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.

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.)

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.

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.

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.

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.

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).
GenCAD 2 months ago

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.

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.

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.

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.

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.

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...

I fly between various countries in western Europe a dozen times a year and have done so for a decade and every single time I've boarded a plane I have had to shown a photo ID with my name on it that matches my name on the plane ticket. Most of the time the gate agent barely looks at the ID/name, but it is required to hand it to them. I have never once just walked on a plane without showing ID with my name on it, and I have never seen anyone in line in front of me do so, ever, and I'm talking hundreds of flights at this point. It doesn't have to be a passport, I see older Spanish people showing their driver's license only all the time, but it has to have a photo and a name (to match the name on the ticket in some way) and be a state issued ID. Again, they seem very lenient with that whole name matching thing and checking the authenticity of the ID (it isn't scanned, just visually inspected), but I've never seen anyone just say 'no' and get on a plane.

So what the hell part of the EU are you talking about where they don't ask for any ID at the point where you are boarding, whatsoever?

For reference, here is Iberia's page for required ID when flying, and I've seen that this is absolutely enforced every time when checking in and boarding.

https://www.iberia.com/es/fly-with-iberia/documents/spain/

Astute observation; no canal, but there is a river outflow to a bay, whereby a ship could have carried stones from the quarry, albeit a long way around a peninsula; it is possible that was a more effective way to get them close, and then use horse and cart to get them the last bit of distance.

Thinking about the logistics of such a feat at that time is wild to me for just the construction of a private residence.

I live in a late 18th-century rowhouse where there is large stonework for window sills/surrounds/doorways all done in a very specific pink granite that was carved from a shoreline quarry a significant distance away. Massive stones, 100kg+ each, had to be transported by horse-drawn cart, over not-easy-terrain, a distance that would have taken two horses probably 8-9 hours per trip, and enough stones that it was probably 15-20 trips. Let alone the effort that had to have been required to carve surprisingly square/cuboid shapes from solid granite without power tools. It's mindblowing to me that someone was able to afford such a home construction, let alone the time taken to do it, in ~ 1790. It isn't a particularly rare style in this neighborhood either.

Fast forward 200 years, and I was sweating at the cost just to hire someone to deliver new hardwood countertops from a place not much further away. By truck. By a single person. In a single afternoon. No horses required.

Whenever I see press on these new 'rack scale' systems, the first thing I think is something along the lines of: "man I hope the BIOS and OS's and whatnot supporting these racks are relatively robust and documented/open sourced enough so that 40 years from now when you can buy an entire rack system for $500, some kid in a garage will be able to boot and run code on these".

I'd wager they will use what is known as a 'Float-on/float-off' ship for transport... it's rather common actually-

It's a ship with a very low deck line that partially submerges itself, with the center of the deck underwater deep enough so the other vessel can 'float on' over the deck. They they pump the water back out, raising the deck above water and the boat on top it just rests flat.

They do this for some oil rigs as well.

https://en.wikipedia.org/wiki/Heavy-lift_ship#Semi-submersib...

Given the reputation for the cost and provenance of the cameras I'm surprised that Hasselblad passed through QC with that solder spooge at the edge that got into the frame of the film. I mean... it's visible on all the photos. I'm surprised that someone didn't notice that in testing before the camera left and send it back. Hell, even if I bought a cheap camera today and every photo has a little unexposed notch in the edge I'd be pissed. If you told me a camera was going to the moon I'd think I'd want the frame to be flawless....