What was your greatest achievement in coding?

I once made an ISA card holding a DAC, with parallel data transport to bus. Programmed using BorlandC. It uses was measuring the load/unload curves of all sorts of batteries and calculating some parameters.
For fun i made a radio, for frequency , all copper , except "inverse lanes", two layers, design with kicad software.
 
The nice thing about ISA bus was it was easy to design your own hardware, debug it, and make your own cards. It got harder with PCI... and then really a lot harder with pci-e. ISA bus was really great for doing your own stuff, and I miss it in modern PCs. Nowadays they want you to make a USB interface, or talk to a daughter machine like an arduino or pi, but it's not as direct a route into the PC, and you have to mess around writing software for the sbc as well. So if you want to write something like a freebsd device driver to control a piece of hardware... you have to do everything through a USB interface, or you have to talk to a daughter sbc. It's a real shame that they don't still provide ISA slots in most pc's, although you can get special-purpose 'industrial' motherboards that still have ISA slots in them, but they tend to be expensive, and there aren't many different types.

A lot of the kinds of add-on hardware it would be nice make doesn't need a super high speed interface anyway, ISA is plenty fast enough. But removing the ISA slots and just providing pci-e on modern PC's closes the door to a lot of hardware prototyping opportunities, which is a shame.
 
I think the nicest thing I made was the client-server software to navigate in 3d+2 ESA's Gaia mission data. This was nice because with 2005-2012 normal hardware (laptop grade or android 2.x grade phones) you could ask for any visualization of any available data and have it tailored to the requester machine capabilities in less than 60 seconds (and as we are talking about 200-400 thousand million data points that was a lot of data for 2.5" 5400rpm hdds :p).

It was later repurposed for web which dumbed it down but if you have some tb of space available you can run it locally :)
 
For anyone that has done embedded systems, the greatest software achievement is having a board actually to a shell. Bootloader work for new CPUs, finding out that hw messed up in their definition of address and memory lines so that things got flipped, hw needing to design a swizzle board to flip traces, using an ICE to step through bootloader.

After that? bit twiddiling that actually lights up an LED
 
Not to derail this thread, but I’ve done similar stuff with feed trucks (the ones that feed cows) in order to talk to the scale head. I used an incredibly customizable software called BillRedirect. If you want a program to talk to com ports, there is no better. Period.


Windows obviously, as most software is these days.
It was in the 90's. COM1 was usually ISA port 2F8 on IBM PC but Windows was protected mode, passing everything through its wannabe 32-bit kernel subsystem with delays and bad data. I hated it because I knew what was coming. Later on my Symbian phone, I noticed it could not contain media or apps in the mail inbox for reasons. I knew it was game over for a phone as personal computer. They still don't support a display and keyboard on metal level.
Today I use an USB UART device for serial comm with old hardware. Never had problems with it but I didn't use Windows for it either.
 
I've used VxWorks a number of times on different things. Some big core routers, some smaller telephony systems. It was BSD based for a while, bought by WindRiver eventually (WindRiver did ICE stuff). I actually have an official box of "BSD OS 4.3" on my shelf
 
I had written the code without the customer requesting it but under contract terms where the customer owned all rights to work done during the contract. I was young and I had not negotiated my own terms in advance. As I had already been paid for my time, the code was theirs.
IBM paid Phil Katz a pittance to globally license PKZIP technology which was widely used and saved IBM a fortune in data transmission time and size.

After I left IBM, I was offered a similar contract stating all intellectual property I created at any future time belonged to IBM.
I refused to sign that one.

When the IBM PC first came out, I was curious about how it performed compared to an Atai 800.
I wrote a Zmodem transfer protocol in the Microsoft Basic Compiler then a similar one for the interpreted Atari BASIC cartridge.
The Atari was significantly faster.
 
ZX Spectrum 48K 64chrs per line
I did that on an Oric :) Designed my own character set, wrote a little text editor that had 64 chars/line, it was the most that could be squeezed in. The ROM character set only gave you 40 chars/line. I designed the characters in an old maths exercise book with square rulings. The editor was written in a mix of basic and assembler. And... I had a Brother thermal typewriter, that had a serial port allowing it to be used as a printer. I made a little serial card, just +/- 5V was all that was needed, attached to the oric parallel port (printer port) and then was able to edit on the oric and print off on the brother. That was really a home-made word processor!
 
I thought this was about coding. Since hardware was also included, this was my machine. Then they took my hardware and turned it into this but it's all mine on the inside though I've heard the very latest edition has been redesigned.
That's an endoscope, very cool. Yes the card in my thing was only a small part of the whole project, the software was the other 95%. Unfortunately there's nothing much left to show! I wish now I'd taken some photos of the screen or something. But at the time, I never really thought of it. The only thing I've got left now is a few print-outs of satellite images that I managed to keep, and that circuit board.
 
probably the one-line fix we made at twitter to the python kadmin_local module to make it respect Kerberos incremental propagation. it's one of those things that's like, "Inserting one line: $5. Knowing where to insert it: $5000."
 
For anyone that has done embedded systems, the greatest software achievement is having a board actually to a shell. Bootloader work for new CPUs, finding out that hw messed up in their definition of address and memory lines so that things got flipped, hw needing to design a swizzle board to flip traces, using an ICE to step through bootloader.

After that? bit twiddiling that actually lights up an LED
Ouch, I just got mugged down memory lane. Having to tell the vendor of some $$$HW that they messed up something really creative so their own test codes worked but they did not see that every second cache line would malfunction (write back problems). You see that when you use more address space than the cache can hold.

Having DMA colliding with CPU memory access, also nice to detect and debug. Floating DMA_REQUEST input lines, wow that was tricky. But finding real screwups in the IP blocks, which leads to complete new silicon... priceless. And now I need to find a way to swap out these memories back to tape.
 
Outside of work we'd probably say putting muforth on a new chip, and then programming the hardware DMA to work with the timer so we don't have to bit-bang the WS2812 LED protocol. that was a pretty cool achievement, but it'll be cooler when we get around to making it work with the full strand of 128 LEDs on the board.
 
Ahh, Crivens fun stuff, no? And the sw folk having to really really prove it's a hw issue because sw is "easier to fix". "Oh you want me to XOR && LSH 3 every address access in the software? Yeah, not gonna happen"

"Can I get things that Android app developers never experienced for $1000 please?"

People I work with were not even born when I graduated college/university and simply have no understanding what it takes to get that stupid smart phone actually running.
BUT the good ones, actually listen and understand that today's cloud computing is really nothing more than old fashioned distributed system, client/server. Maybe better languages and specifications, but fundamental logic the same.
 
Maybe better languages and specifications,
categorically false. javascript and json suck hard, and modern day web specifications like oauth2 contain headass language like "on its own, this specification will produce implementations that do not interoperate". i think when you put that into your so-called specification document you have failed at your task and should throw the entire thing out and find another job
 
Ahh, Crivens fun stuff, no? And the sw folk having to really really prove it's a hw issue because sw is "easier to fix". "Oh you want me to XOR && LSH 3 every address access in the software? Yeah, not gonna happen"
me: "What did HW vendor say?"
Other Engineer(OE): "That we should fix that in SW."
me: "I see, so we shall submit a bug report to the supplier of the BSP, yes?"
OE: "Yes... why are you grinning?"
me: "Because that is the same company. And there is no ****ing way to do that in SW."
 
me: "What did HW vendor say?"
Other Engineer(OE): "That we should fix that in SW."
me: "I see, so we shall submit a bug report to the supplier of the BSP, yes?"
OE: "Yes... why are you grinning?"
me: "Because that is the same company. And there is no ****ing way to do that in SW."
Exactly. My best SW memory is a HW engineer telling me "I'll get back to you when we've fixed this"
 
Back
Top