Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "graphite"
The project where I realized I wanted to go from chemist to pro dev.
I built a flow-chemistry spectrometer with monitoring backend in Haskell.
Spectroscopy is where you add a reagent to a glass tube, it changes color, and by measuring the exact color it tells you how much of something (for example, a toxin) is present in the sample.
I had to do that a lot on factory samples, writing down measurements using pen & paper.
I'm lazy so I decided to do the logical thing: Automate it. I bought a second hand spectrometer, stripped the casing, did a shitload of glassblowing and hooked up tubes to the production pipelines, so I could get samples, mixing them in the correct ratio with reagents in continuous flows using valves.
I ended up using 2 home-crafted arduino-like boards (etching PCBs is fun!).
One to calibrate the mixture against known samples and control solenoid valves to continuously cycle through various reagents and deionized flushing water, the other to record the measurements and send them to a server running a Haskell/Yesod API.
The server collected the information into InfluxDB (A time series database), displaying all data on a graphite dashboard.
Eventually I wrote Haskell plugins for most of the chemistry processes, from pH & temperature measurements to polymer property and pigment tests (they made a lot of printer ink).
Then I was fired because they didn't need chemists anymore, and the code "could be maintained by the intern" (poor guy)...
But I did find out that I loved functional programming, chemistry automation projects, and crafting my own electronics during that time.18
Fuck all those shitdesigns that interface with their LCD using flat graphite cables!
USE FUCKING COPPER WIRES ALREADY!!! At least those things can take a small fucking tug of gravity during disassembly, unlike that micron-thick graphite junk which fractures even more easily than my goddamn toe did!!!
And as mentioned on Hackaday (https://hackaday.com/2012/09/...), repairing it is hell. How much does it cost to make a decent copper wire.. I can buy those things for like 20 cents from AliExpress, so don't tell me motherfuckturer that you can't. And these copper ribbon wires last on ya, AND can be repaired with a simple soldering job. Unlike this FUCKING GARBAGE!!!7
Alright. I'm done with the basic documentation. here are the links to all the stuff I have been working on:
Virtual CPU / emulator - https://github.com/Ewpratten/...
Bootloader - https://github.com/Ewpratten/...
Assembler - https://github.com/Ewpratten/DirAS
Graphics emulator / driver -https://github.com/Ewpratten/...
Feel free to break stuff and report it in the comments or in github.
contributions are greatly appreciated.23
I finally got an acceptable version of my assembler done. Just a pic of my terrible code for now, I will share the links to it, my Virtual cpu emulator and my graphics emulator / driver once I am done writing readme files for them.15
An important message:
PrOpErLy managing servers is HARD.
I get pissed off at customers with ZERO server knowledge who think they can manage their VPS. “Just get a control panel and a VPS” from some flashy provider that makes server management look way too easy.. Clicking around in their fancy control panel, until:
- they need help with their *self-managed* VPS;
- their email ends up in spam;
- they suffer from performance issues;
- they need to restore a backup;
- something breaks, because YES, things break
Way too little people are able to answer:
- when and how do you make backups?
- how do you monitor your servers and which services?
- how do you keep track of trend analysis?
Then I come by with necessary software. SNMP for trend analysis, Graphite for infrastructure health, Sensu for monitoring, Kibana, Ansible for configuration management..
Things that servers need but that customers have never even heard of.. because they can do everything in their control panel..
Until they come crying to me because it broke and they don’t even know how to get into SSH.
I think the ones to blame are VPS providers that tell the tale of how easy it is to install a control panel and never look at your server again.
Customers become responsible for something *business-critical*! Yet they don’t know how it works.6
Note to self:
Next time, don't write your assembler in python. And using a file as a buffer for your graphics driver probably wasn't the best idea either.12
"I became a graphic artist because of the tools. I love working at a big drawing table with traditional tools: T-squares, compasses, mechanical pencils, French curves, blank ink, and graphite. At a computer, one works on a keyboard. I never considered myself a typist." - Michael Schwab3