AboutRarely does more than not and
LocationSomewhere in a DIP14 socket
Joined devRant on 6/12/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
I felt like being the cause for “that dreaded legacy code“ and wrote 250 lines of C preprocessor macros for generating bitfields in a large header file automatically, with the goal of simplifying and clarifying register access for all peripherals in the end. Then, I found out that SDCC's optimisation for bitfields is absolutely awful (if existent at all), and I don't really want to use these abstractions if they have a performance impact.
Did I deserve that?7
Hardware hacks! Here are three which are a bit different from the usual (bodge wires on PCBs, replacing dead components by some arrangement of what was in stock, etc.). All of them have been in place for some years.
(1) I bought a beamer second-hand. It was quite cheap but the remote control was missing. The beamer had a (surprisingly even documented) serial interface, which I sadly didn't get to work at all. Solution: I disconnected the serial port circuitry internally, built a replica of the internal keypad circuitry as an external remote and attached it via the now free serial connector. I now have a cable remote attached by a standard DB-9 cable hanging from the ceiling, and it's quite convenient actually.
(2) I was repairing an old scope (HP 180 series I think) and just when I was finished and started putting it all back together I smashed a ceramic trimmer capacitor. Looking at the circuit diagram it was actually a quite important part. All the trimmer capacitors I had were either physically or capacitance-wise too large to fit. Solution: Desolder the broken part and solder a piece of insulated wire to each terminal. Twist the wires until the capacitance is right, and you're done.
(3) When building my first backup server, I needed 5 volts for the Banana Pi. The result was the attached step down based on a MCP16322 (which is the 3x3 mm chip floating on top of the inductor). This 3D circuit is now kind of hanging around there. As it had always worked reliably, there hasn't been the need to replace it.6
I just stumbled across this post about signed-only mails: https://k9mail.github.io/2016/11/... (TL;DR: Signed-only mails are not worth it).
So far, I've been signing all my mails (as not that many people I know use OpenPGP, so I'm far from encrypting everything). I've got a few replies like “I can't open that attachment” and “What is that .asc file?” but I have seen it as doing my part in motivating more people to use encrypted mail with little effort.
I DDW for a bit but couldn't find any other comments on the usefulness of signed-only mail per se. Consequently, I'd like to ask you: How do you use OpenPGP?6
Got a friend request on Facebook and it reminded me of xkcd #624.
I hope they're at least using git-lfs.19
Lost my favourite analog scope today. No digital scope can ever beat working with a marvellous piece of engineering like this one is.
Smelled like it was a transformer but I'll have to have a close look at that. That's going to be a bitch to repair (given that it's even possible).
I need a drink. In the meantime, kudos to everyone knowing the joys of an alternating timebase and everyone who has ever seen a scope with an analog multiplier built in. Here's a photo of the unit from ~4 years ago.4
I'm a hardware guy. If I do software, it's bare-metal (almost always). I need to fully understand my build system and tweak it exactly to my needs. I'm the sorta guy that needs memory alignment and bitwise operations on a daily basis. I'm always cautious about processor cycles, memory allocation, and power consumption. I think twice if I really need to use a float there and I consider exactly what cost the abstraction layers I build come at.
I had done some web design and development, but that was back in the day when you knew all the workarounds for IE 5-7 by heart and when people were disappointed there wasn't going to be a XHTML 2.0. I didn't build anything large until recently.
Since that time, a lot has happened. Web development has evolved in a way I didn't really fancy, to say the least. Client-side rendering for everything the server could easily do? Of course. Wasting precious energy on mobile devices because it works well enough? Naturally. Solving the simplest problems with a gigantic mess of dependencies you don't even bother to inspect? Well, how else are you going to handle all your sensitive data?
I was going to compare this to the Arduino culture of using modules you don't understand in code you don't understand. But then again, you don't see consumer products or customer-specific electronics powered by an Arduino (at least not that I'm aware of).
I'm just not fit for that shooting-drills-at-walls methodology for getting holes. I'm not against neither easy nor pretty-to-look-at solutions, but it just comes across as wasteful for me nowadays.
So, after my hiatus from web development, I've now been in a sort of internet platform project for a few months. I'm now directly confronted with all that you guys love and hate, frontend frameworks and Node for the backend and whatever. I deliberately didn't voice my opinion when the stack was chosen, because I didn't want to interfere with the modern ways and instead get some experience out of it (and I am).
And now, I'm slowly starting to feel like it was OKAY to work like this.11
MOUSER! If I select ‘In Stock’ in your filter I want to see, who would have guessed, only parts that are in stock! Why do you think I want to see all the stuff that's on order?4
- Favourite pastime while waiting for your code to compile
- Most heroic/ingenuous bug fix
- Hardest to track down bug
- Worst legacy code you wrote and left behind leaving a job
- Weirdest project
- Last side project you actually finished
- Explain your job like I'm five/the way you do it for non-tech people
- That time your past self (almost) got you in trouble
- Software pet peeves
- Story about how you freaked someone out
- Feature that most certainly was a bug once
- Post something for your favourite previous weekly tag!
Hey hardware guys of devRant, I'm in the mood for a picture thread. Show us some of your failed projects!11
Hangouts has replaced its blob emoji in the web version and I want them back. Writing a userstyle should be the way to go, but I'd need a blob version of this image: https://ssl.gstatic.com/chat/emoji/...
Any idea how I could get an old version?3
I'm a bit weary of devRant being almost software-exclusive. I want to see more about hardware development here (and not just people playing with Arduinos)!
Electronics guys of devRant: Do you exist? What are you working on? Or is really everyone here a web developer?
(GIF related: My soldering irons heating up, the third one being my weekend project from last weekend. Seeing it coming in last, I'll probably have to tune its control parameters a bit more…)13
So I was designing a transformer and was looking up toroidal cores. The one I had in mind was made of a material the manufacturer calls “3E5”. Looking for a material datasheet I found a website with a download link for a material “300000”…
Dear web devs: How the fuck is that even possible? I can see what happened here but who thought whatever they were doing there was a good idea?9
Hooray for open source!
So my mother's Model M died. I didn't think that was possible but it looks like even the best ones have to die eventually.
I was one click away from ordering a replacement controller board for around the same price I had bought the keyboard for, when I duck-duck-went one last time for a service manual. Because maybe there was a error code table and maybe that flashing num lock light would tell me something about the defect. Then, I could investigate further and maybe repair the keyboard. I didn't find one.
What I did find was someone who made a USB controller board back in 2008, documented it well and published everything. It fit my Model M and I had all the parts at hand so I could fire up printer, etching bath, drill and soldering station and make that thing.
Now there's a working Model M on my table just because a guy named Ronald Schaten thought of future people having the same problem as he had.
Be like Ronald. How specific your issue might be, someone /will/ have the exact same one. Document and publish your solutions!9
Step 1. Get a large touchscreen monitor. Connect it.
Step 2. Modify the driver so touches don't actually cause clicks or anything.
Step 3. Let it play a sudden, loud BEEP instead. Increase the volume for each subsequent touch.
Step 4. Lean back and watch people learn that you don't like your screen being touched.17
I just realised “CSS stylesheets” is basically the same as “LCD display” or “PIN number”.
Although I've heard “LC display” a few times I've never come across something similar for different acronyms. Maybe I'll start saying “CS sheets” or “C stylesheets” 😈9
Now that I've spent a few ineffectual hours too many trying to get it working, I'm starting to think VS Code wasn't built for the purposes I wanted to use it for. I still can't get breakpoints working anywhere close to reliably. And I'd say breakpoints are pretty important.
On a related note, if anyone here has used VS Code together with arm-none-eabi-gdb, I'd love some pointers. I've yet to find any traces on the web of people doing that…3
Should I ever design a programming language, I'll aim for the golden middle course and let arrays start at 0.5.7
To the web devs here: What resources would you recommend for catching up a little to the web development state of the art? The last time I have designed anything HTML5/CSS3 were just being introduced. So my knowledge is pretty outdated, but I'm note starting from zero. I'm looking for some best practices and something framework-agnostic would be nice. Unless you say “Dude it's 2017, nobody even boils water without using *.js”, of course.9
When the program exactly fit on the MCU, using up every available byte of flash. It was just a small display unit, but it felt nice that I had chosen the smallest possible controller for the job.
That moment when you're dual booting to have Windows for gaming and Windows decides it would be nice to reboot and install updates, while you're gaming of course. Without any sort of visible notification. Any. And then it fails to install its updates, because updates are hard to install, you know? Sometimes its just not the way you'd like it, you know? It's probably best to revert everything, yes? It only takes an hour after all! An hour of the lovely “Windows was too dumb to update and now has to try to make itself work again” screen with its lovely moving dots. Oh and of course you'll have to sit there and watch it because Windows has to reboot at least twice during the process. And if you're not there to tell GRUB you want to boot into Windows again Linux won't boot properly because Windows keeps the filesystems write-protected. Just to be safe you'd let it complete its marvellous ways!
I wish this was the first time this happened. But it wasn't. Fuck Windows.6
Anyone know a good android keyboard for people who don't want any autocorrect?
Gboard has an empty top row wasting screen space if you disable suggestions. AnySoftKeyboard seems pretty slow. At the moment I'm using Chrooma, but its backspace has really annoying bugs.
What I'd really love would be a keyboard with macro functionality and where you could configure your own layout. But I guess that doesn't exist :/16
So I want to inform my internet provider of my new phone number, but I can't remember any of my login info for their web interface because I never used it. Luckily, they have a "forgot my username" function, where I submit my email address and get a confirmation that my username has been sent to me.
Yet, I just don't get said email. I try again, but no avail. So I just guess my username and use their "forgot password" form, which – hooray! – confirms it just sent my an email.
But I don't get any email. I retry, I retry after a day, but no automatic response. I remember a incident a few years back when I didn't get some automatically generated mails from a company and decide to contact their support if they could just reset my password manually.
Nearly a week passes.
Now I received the answer. I just don't have an account.
Lesson learned: Next time I'll just input garbage first to check if those forms are sane.
Make. Set it up once and it does what it's supposed to. Repeatable.
Although I'm a vim user, I think make would be harder to replace for me than my editor.