Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "circuitry"
Anyone looking for something interesting to do???
Step 1) understand how basic circuitry works on a bread board nothing too fancy. ( Implement NAND, AND, ADDER, SUBTRACTOR)
Step 2) learn about microprocessors and how OS works
Step 3) learn assembly
Step 4)write a basic assembler and understand how loaders and linkers works !
Step 5) write a kernel with very basic features like memory management and process management and some drivers for IO
Step 5) write an emulator for some simple systems .! ex chip-8.
Step 6) read about compiler theory and automata
Step 7) write a basic Python interpreter that compiles (not interpreter) to native assembly.
Step 8) implement TCP stack .
Step 9) learn as much as u can about complexity measurement ), data structures and algorithms using C or C++ it's very important ( familiarity with pointers and thus computer memory )
Step 10) learn any high level language of choice like Python or Ruby.
Step 11) stop debating over tabs vs spaces , emacs vs vim , angular vs vue, php vs Python , OOps vs procedular vs functional ( just know about all of them and when to use but don't fucking debate over which one is superior )..
Step 12) live happily and be healthy.30
(Disclaimer: I did not actually make a bomb)
So I had this amazing teacher in grade 7 (he gave me an Arduino for free) and he also let me and the annoying kid from one of my other rants use his storage room as a makeshift makerspace.. we had a raspberry pi cluster and more Arduino and that we could dream of having.. also cool stuff like leap motion controllers...
One day he was out sick and had this strict supply teacher in. The two of us went in to the storage room at lunch break and started working on a doorbell for the room.. I was doing some circuitry..
The bell rang and we left..
The next class, the supply teacher and the principal walk in and ask me to come out into the Hall.. I am like "fuck" ..
She and the principal start yelling at me about making a bomb and burning down the school and other outrageous things.. she started telling me about kids that got swatted at school for making bombs and that I was in big trouble..
The whole time I am like.... Wtf are these people talking about???
Then eventually they start asking me questions that I didn't understand.. and they ask if Dan (other kid) was doing it too.. I said yes because I was hoping that they would bring him out.. he might know what they are talking abt..
He then comes out into the hallway and they start yelling at him..
Then I realize..
I think that I left our makeshift battery pack on..
So I go and check.. sure enough, the battery had just shorted out and melted the plastic (which was giving off the smell that she was talking abt) so I unplugged everything (and electrocuted myself)
So ya.... I made a mistake and I got a unfairly harsh lecture about it..
Lesson learned.. don't let stupid people see you do anything computer or circuitry related....8
Yet another rant about crappy electronic designs.
Just now I was cleaning my desk and stumbled upon some old hard drive in a caddy that I still had laying around.. I figured, let's plug it in and see whether the drive still works. And to some extent, it does! Except that every few minutes it craps out on me. And after disassembling the caddy, I think that I know why.
Just as background information, hard drives work at 12V and generally require about 10W to spin their motor. Meanwhile USB operates at 5V. So a boost converter needs to be present in the controller to step up the voltage and power the drive.
Now what's a boost converter? It's an inductor, a capacitor, a transistor and a diode in a specific arrangement (if you're interested in the design, check out https://youtube.com/watch/...), along with feedback circuitry to stabilize output voltage. Now that transistor is important.. it switches at very high frequency, and its rise and fall times create heat. In the particular transistor used in that controller, it apparently causes the transistor to operate at 65-68°C. That's quite toasty IMO, and overheating may be why the controller is so unstable. But the Chinese manufacturers thought that it's just fine and okay to be sold without heatsink or some research into transistors with better rise and fall times.
So the hard drive craps out on me and yet again it's because of certified shitdesigns. MOTHERFUCKTURERS!!!!27
Progress has been made
Full control from a webserver!
Very precarious though - motors are held in place by blue tack, but occasionally they break free and hit all the circuitry out of the way
Any thoughts on a better way of controlling it? (In terms of UI/UX)4
IDK, there's something about PCB circuits with all the components on it... For some reason I find them very calming, I think they could even help me with my anger management and/or sleep problems (if I had any).
They are so nice and neat.. so strict and in order. Everything has its own place and its own path. Everything in there has its purpose. That's so nice :)
// triggered by https://twitter.com/iXsystems/...4
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.5
I propose that the study of Rust and therefore the application of said programming language and all of the technology that compromises it should be made because the language is actually really fucking good. Reading and studying how it manages to manipulate and otherwise use memory without a garbage collector is something to be admired, illuminating in its own accord.
BUT going for it because it is a "beTter C++" should not constitute a basis for it's study.
Let me expand through anecdotal evidence, which is really not to be taken seriously, but at the same time what I am using for my reasoning behind this, please feel free to correct me if I am wrong, for I am a software engineer yes, I do have academic training through a B.S in Computer Science yes, BUT my professional life has been solely dedicated to web development, which admittedly I do not go on about technical details of it with you all because: I am not allowed to(1) and (2)it is better for me to bitch and shit over other petty development related details.
Anecdotal and otherwise non statistically supported evidence: I have seen many motherfuckers doing shit in both C and C++ that ADMIT not covering their mistakes through the use of a debugger. Mostly because (A) using a debugger and proper IDE is for pendejos and debugging is for putos GDB is too hard and the VS IDE is waaaaaa "I onlLy NeeD Vim" and (B) "If an error would have registered then it would not have compiled no?", thus giving me the idea that the most common occurrences of issues through the use of the C father/son languages come from user error, non formal training in the language and a nice cusp of "fuck it it runs" while leaving all sorts of issues that come from manipulating the realm of the Gods "memory".
EVERY manual, book, coming all the way back to the K&C book talks about memory and the way in which developers of these 2 languages are able to manipulate and work on it. EVERY new standard of the ISO implementation of these languages deals, through community effort or standard documentation about the new items excised through features concerning MODERN (meaning, no, the shit you learned 20 years ago won't fucking cut it) will not cut it.
THUS if your ass is not constantly checking what the scalpel of electrical/circuitry/computational representation of algorithms CONDONES in what you are doing then YOU are the fucking problem.
Rust is thus no different from the original ideas of the developers behind Go when stating that their developers are not efficient enough to deal with X language, Rust protects you, because it knows that you are a fucking moron, so the compiler, advanced, and well made as it is, will give you warnings of your own idiotic tendencies, which would not have been required have you not been.....well....a fucking idiot.
Rust is a good language, but I feel one that came out from the necessity of people writing system level software as a bunch of fucking morons.
This speaks a lot more of our academic endeavors and current documentation than anything else. But to me DEALING with the idea of adapting Rust as a better C++ should come from a different point of view.
Do I agree with Linus's point of view of C++? fuck no, I do not, he is a kernel engineer, a damn good one at that regardless of what Dr. Tanenbaum believes(ed) but not everyone writes kernels, and sometimes that everyone requires OOP and additions to the language that they use. Else I would be a fucking moron for dabbling in the dictionary of languages that I use professionally.
BUT in terms of C++ being unsafe and unsecured and a horrible alternative to Rust I personaly do not believe so. I see it as a powerful white canvas, in which you are able to paint software to the best of your ability WHICH then requires thorough scrutiny from the entire team. NOT a quick replacement for something that protects your from your own stupidity BY impending the use of what are otherwise unknown "safe" features.
To be clear: I am not diminishing Rust as the powerhouse of a language that it is, myself I am quite invested in the language. But instead do not feel the reason/need before articles claiming it as the C++ killer.
I am currently heavily invested in C++ since I am trying a lot of different things for a lot of projects, and have been able to discern multiple pain points and unsafe features. Mainly the reason for this is documentation (your mother knows C++) and tooling, ide support, debugging operations, plethora of resources come from it and I have been able to push out to my secret project a lot of good dealings. WHICH I will eventually replicate with Rust to see the main differences.
Online articles stating that one will delimit or otherwise kill the other is well....wrong to me. And not the proper approach.
Anyways, I like big tits and small waists.16
Using circuit simulator (can find it on itch.io) and recently built an 8bit adder as you can see below.
Pins on left are IN and pins on right are OUT.
Just wanted to run it by some of you because 1. circuit simulator is fucking cool, 2. I'm not sure if I got the basics correct.
I attached an imagine of the 8bit adder along with the subcircuits if that interests you.6
I will never understand why my university is requiring me to take upper level physics. I understand the need to understand electricity and circuitry but this semester has been mostly quantum and I don't see how this will apply to development.9
Fried two devices today by simply connecting them to a power source.
Changed nothing in the circuitry, no shorts due to solder residues (a simple modification was made), no changes in the input parameters. Check.
The afromentioned devices should have only minor HW changes compared to a previous version I'm working with and as far as I can see absolutely nothing which should cause the damn microcontroller to release smoke like a steam train. (All right, a very miniature steam train.)
So the only significant difference might be the firmware which I didn't check yet but will tomorrow. Not my code and the corresponding IDE just basically sucks. Yay.
On the other hand, the Software part finally feels like I'm getting somewhere. It seems just ... to work. Very suspicious.
Feeling ambivalently frustrated and relieved at the same time. Sigh.7
Any one here have a degree in Electrical Engineering or Electronics Engineering? I'm thinking about going back to school, but I'm not sure it's worth the money since I live in the US. (cries in over-expensive education costs)
I do a lot infrastructure work and some super basic programming/scripting but I think I really want to get into hardware maybe zone in on either RF or take a stab at amps/effects pedals for guitar and bass.
as an aside, I'm not trying to go back to school for job or career related reasons, I just want to noodle with stuff and maybe create my own circuitry for stuff.16
IM TIRED OF WRITING PRETENTIOUS PROGRAMS built with abstractions that demand no knowledge of their roots but only their practicality.
6 years ive worked with server frameworks, monoliths, SPAs, ect.
"User does thing, hits api, api hits data storage of some type, user gets response, UI updates, on forth"
The stacks Ive worked with have always been experimental in that I'm always greenfielding with the newest tooling thats been deemed production ready. This has been fun. I love experimenting. But as of late, im being pulled in a more primitive direction.
Im finding myself writing C on my spare time and taking interest in hands on memory management. Im observing object files and diving into how the assembly delegates instructions. Im re-exposing myself to binary notation and base 2 arithmetic. Im building an 8 bit breadboard on my spare time even though Im coming from zero knowledge of electrical engineering or circuitry of any kind.
Just because I want to get lower. Lower than that and lower than that. I wantto be able to write a program with nothing more then bit switches. I want to understand what register stores what value in what binary representation. I WANT TO UNDERSTAND WHERE IT IS WE COME FROM before going any further.4
Back in 2005, I had quite a few bits of music I was working on (just as a hobby). A lot of these had not been finished, but I'd sent excerpts in medium-quality MP3 format to a friend. I had an external backup drive - a regular hard drive in an USB enclosure. After a while, this drive started making unpleasant whining sounds so I sent it off for replacement.
During that time I made the foolish decision to try and plug a floppy drive in while the PC was powered on. Something touched the bottom of the hard drive and the power went off. I powered it back on again and heard a fizzing sound, there were some flashes from the hard drive and a burning smell. Yep, the disk was dead - and my backup drive was gone.
I'm still not entirely sure what happened, my best guess is that I had an exposed piece of wire from one of my hacky case mods (I had a thing for blue LEDs) which touched the circuitry of the hard drive. Almost every project, piece of software I'd created, every photo I'd taken, and most unfinished music I'd made up until that point - gone. I was pretty devastated about it. I only had a handful of things survived which I'd burned onto CD previously.
I managed to get some excerpts back from my friend, and re-created my favourite pieces of music based on those. I've moved on to other projects and write much better code now, so mostly I am no longer bothered. I do wish I could re-listen to some of the music I had made back then though.
Needless to say, I no longer fiddle around with the innards of my computers while they are on, store everything on mirrored drives and also ensure I always have a backup somewhere (and am working on remote backups and having several days of backups...)
I never want that to happen again