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 - "embedded systems"
Worked all day and got my embedded systems project working the first time! Bluetooth as well! 😁
It's a Fitbit clone that keeps track of steps that I did from scratch and writing the companion app from scratch as well in flutter/dart. Ask any questions if you're curious!35
That's it. I fucking quit.
Over a month of unpaid work, developing your stupid course, only to get a high-quality outline rejected because "it's not what we wanted" again.
First outline, fuckers ask to do something with a Raspberry Pi and Yocto. Fine, but no Yocto as I don't know anything about it and the coworker doesn't even have a Raspberry Pi to flash the images on. Micromanagement guy (god I hate that word) agrees, fine no Yocto then. So no Yocto it is.
2 weeks later... Course outline is finished. Review stage.. rejected. Needs moar Yocto.
Fine... I'll include Yocto. Coworker was put off the course, I'm exclusively on it now. Time to do it well and get my feet wet with Yocto.
2 weeks later... Course outline is finished and looks pretty good. Review stage.. rejected. Needs less Raspberry Pi. Do it without the Raspberry Pi.
An embedded systems course whose core component is that fucking Raspberry Pi. Omit it they said. WHAT?!!
"Oh yeah but there's this other course that's selling like hot pockets, we can just redo that in videos. Make it more like that course."
You.. you can't be for real, can you? If students want to take that course... What makes you think that they wouldn't just pick.. *that damn course* then?
"But hey" micromanager said, "don't loose hope and confidence, I'm here🤪"
🤪. That describes your level of competence pretty well, you stinking piece of apeshit.
Go back to your micromanaging, at least you don't completely fucking suck at that.
2 times rejected because YOU fucking company's board can't describe your desires in a course properly. You know what, I think I'm starting to understand why web devs keep on complaining about indecisive clients now. Because you know company's board, you seem a lot like those clients from hell. Eat shit.
"We see you have JS experience, how about a job as a Senior C Embedded systems engineer, we can only pay 30$ an hour "2
I implement a stack trace in my embedded systems!
Whenever a device crashes, it makes a stack dump in an unused part of ram.
After it has rebooted and is connected to the server again, it uploads the stack dump.
The server then opens the correct firmware elf file, walks the stack and associates the debug info from the elf.
The result? A beautiful stack trace with file names, function names and line numbers.
No more guessing where random crashes come from.12
Someday in an embedded course:
Lecturer: "You'll want the following drivers and SDK for this lecrure. With some tweaks it'll also work on Windows."
Guy with shiny Mac infront: "What about Mac?"
Lecturer: "WTF? You don't use Mac for embedded systems." o.O
Me: lol 😁5
So I got a call from a recruiter this morning, about a job for a C++ developer what experience developing for embedded systems.
He sent my resume off to the company and they actually want an in person interview the same day.
I'm going to this interview in 2 hours, I'm really nervous, I haven't had an interview in years...
Wish me luck!12
Been reviewing ALOT of client code and supplier’s lately. I just want to sit in the corner and cry.
Somewhere along the line the education system has failed a generation of software engineers.
I am an embedded c programmer, so I’m pretty low level but I have worked up and down and across the abstractions in the industry. The high level guys I think don’t make these same mistakes due to the stuff they learn in CS courses regarding OOD.. in reference how to properly architect software in a modular way.
I think it may be that too often the embedded software is written by EEs and not CEs, and due to their curriculum they lack good software architecture design.
Too often I will see huge functions with large blocks of copy pasted code with only difference being a variable name. All stuff that can be turned into tables and iterated thru so the function can be less than 20 lines long in the end which is like a 200% improvement when the function started out as 2000 lines because they decided to hard code everything and not let the code and processor do what it’s good at.
Arguments of performance are moot at this point, I’m well aware of constraints and this is not one of them that is affected.
The problem I have is the trying to take their code in and understand what’s its trying todo, and todo that you must scan up and down HUGE sections of the code, even 10k+ of line in one file because their design was not to even use multiple files!
Does their code function yes .. does it work? Yes.. the problem is readability, maintainability. Completely non existent.
I see it soo often I almost begin to second guess my self and think .. am I the crazy one here? No. And it’s not their fault, it’s the education system. They weren’t taught it so they think this is just what programmers do.. hugely mundane copy paste of words and change a little things here and there and done. NO actual software engineers architecture systems and write code in a way so they do it in the most laziest, way possible. Not how these folks do it.. it’s like all they know are if statements and switch statements and everything else is unneeded.. fuck structures and shit just hard code it all... explicitly write everything let’s not be smart about anything.
I know I’ve said it before but with covid and winning so much more buisness did to competition going under I never got around to doing my YouTube channel and web series of how I believe software should be taught across the board.. it’s more than just syntax it’s a way of thinking.. a specific way of architecting any software embedded or high level.
Anyway rant off had to get that off my chest, literally want to sit in the corner and cry this weekend at the horrible code I’m reviewing and it just constantly keeps happening. Over and over and over. The more people I bring on or acquire projects it’s like fuck me wtf is this shit!!! Take some pride in the code you write!17
Today we presented our project in Embedded Systems. We made our so called "Blinkdiagnosegerät" (blink diagnosis device) which is used to get error codes from older verhicles which use the check enginge light to output the error. (for reference: http://up.picr.de/7461761jwd.jpg ) This was common for vehicles without OBD.
We made our own PCB, made a small database for 2 vehicles and used a Suzuki Samurai instrument cluster for the presentation (hooked up to an Arduino UNO and a relay for emulating some Error Codes)
Got an 1.0 (A) for the project. Feel proud for the first project done in C++ and making our own PCB. So no rant, just a good day after all the stress in the last weeks doing all assignements and presentations.
Next week we hopefully finish our inverse pendulum in Simulink and then the exams are close. :D20
To my fellow 🐍 charmers:
You should see in C to understand C, else you'll never see what's in C. It's a big sea, you better start C. 😍16
Where I work we develop drivers and command-line software for embedded systems. The contracts we have with our customers tend to be in the £100k-£500k range and are usually completed in 6 - 9 months; our team is made up of 20 developers. You would think that it would be worthwhile investing in the department. But no, instead we have to deal with >10 year old build servers on their last legs; limited numbers of development boards with wires soldered on so that we can keep up with new board revisions; no room for R&D into new products; and to top it all off, not one of the executives has a laptop on par with the placement students in the next department. It's like the company is trying to kill the department, we've seen our staffing dwindle with no new graduate (or higher) positions being made available in the last 3 years while we've lost at least 5 people to other places. I just don't get it!3
Working in the embedded systems industry for most of my life, I can tell you methodical testing by the software engineers is significantly lacking. Compared to the higher level language development with unit tests and etc, something i think the higher level abstracted industry actually hit out the of park successfully.
The culture around unit testing and testing in general is far superior in java and the rest.
Down here in embedded all too often I hear “well it worked on my setup... it worked at my desk”.. or Oh I forgot to test that part.. or I didn’t think that perticular value could get passed in... etc I’ve heard it all. Then I’ve also heard, you can’t do TTD or unit tests like high level on embedded... HORSESHIT!
You most definitely can! This book is a great book to prove a point or use as confirmation you are doing things correctly. My history with this book was I gonna as doing my own technique of unit testing based on my experience in the high level. Was it perfect no but I caught much more than if I hadn’t done the testing. THEN I found this book, and was like ohh cool I’m glad I’m on the right thought process because essentially what they were doing in the book is what I was doing just slightly less structured and missing a few things.
I’ve seen coworkers immediately think it’s impossible to utilize host testing .. wrong.
Come to find out most the of problems actually are related to lack of abstraction or for thought out into software system design by many lone wolf embedded developers.. either being alone, or not having to think about repercussions of writing direct register writes in application or creating 1500 line “main functions” because their perception is “main = application”. (Not everyone is like this) but it seems to be related to the EEs writing code ( they don’t know wha the CS knows) and CS writing over abstraction and won’t fit on Embedded... then you have CEs that either get both sides or don’t.. the ones to understand the low level need but also get high level concepts and pariadigms and adapt them to low level requirements BOOM those are the special folks.
ANYway..the book is great because it’s a great beginner book for those embedded folks who don’t understand what TDD is or Unit testing and think they can’t do it because they are embedded. So all they do is AdHoc testing on the fly no recording results no concluding data very quick spot check and done....
If your embedded software engineers say they can’t unit test or do TDD or anything other than AdHoc Testing...Throw the book at them and say you want the unit test results report by next week Friday and walk away.
I fucking HATE all those extremely high level abstractions, IT IS ALMOST IMPOSSIBLE to find anything low level, especially for ARM... IT CANT BE THAT HARD TO JUST FUCKING FIND SOMETHING THAT DOES NUT USE 100000 HEADER FILES, and stupid large frameworks. I feel like everyone is fucking retarded, I want to learn the real stuff, but everything is bloated with high level stuff, and some kind of cult that gets a horny from using extremely easy bullcrap, that completely takes away the interesting parts of processors and embedded systems, IVE Been searching for days to FIND SOMETHING FUCKING USEFULL, even an MOTHERFUCKING 'LOW LEVEL' book GOES AND USE A BILLION HEADER FILES, and STUPID IDE's from which you learn absolutely nothing, IF i wanted to do nothing and learn nothing I WOULD USE ARDUINO IDE, but no i wont, I want to learn something, and I dont have access to university or anything, and it literally is impossible to find anything usefull, every idiot uses library's for everything, and builds their crap on frameworks as large as the mount everest.. Fuck me, why cant this be different ?14
I'm struggling with a bug. It's not my bug, it's in a lib - in an assembly function commented as "this is where the magic happens". After 27 hours of trying to determine what triggers said bug my best guess is it's a relationship between the position of Mimas and the mood of my neighbour's chonker. If it's not triggered by the Saturn's moon and a pet animal... I'm out of ideas.
Now how do I break it to my PM that we have to kill a cat?8
Hey, hey, if THE SJWs made GitHub rename it's 'master', then what's gonna happen to all the embedded systems people?
I mean, MISO, MOSI?5
Today was a day at work that I felt like I made a significant contribution. It was not a lot of code. Actually it was a difference of 3 characters.
I am developing an industrial server so that my employer can provide access to their machines to enterprise industrial systems. You know, the big boys toys. Probably in fucking java...
Anyway, I am putting this server on an embedded system. So naturally you want to see how much serving a server can serve. In this case the device in more processor starved than memory starved. So I bumped up the speed of the serving from 1000mS to 100mS per sample. This caused the processor to jump from 8% of one core (as read from top) to 70%. Okay, 10x more sampling then 10x approx cpu usage. That is good. I know some basic metrics for a certain amount of data for a couple of different sampling rates.
Now, I realized this really was not that much activity for this processor. I mean, it didn't seem to me that it "took much" to see a large increase of processor usage. So I started wondering about another process on the system that was eating 60 to 70 % all the time. I know it updated a screen that showed some not often needed data from its display among controlling things. Most of the time it will be in a cabinet hidden from the world. I started looking at this code and figured out where the display code was being called.
This is where it gets interesting. I didn't write this code. Another really good programmer I work with wrote this. It also seemed to be pretty standard approach. It had a timer that fired an event every 50mS. This is 20 times per second. So 20 fps if you will. I thought, What would happen if I changed this to 250mS? So I did. It dropped the processor usage to 15%! WTF?! I showed another programmer: WTF?! I showed the guy who wrote it: WTF?! I asked what does it do? He said all it does it update the display. He said: Lets take to 1000mS! I was hesitant, but okay. It dropped to 5%!
What is funny is several people all said: This is running kinda hot. It really shouldn't be this hot.
Don't assume, if you have a hunch, play with it if its safe to do so. You might just shave off 55 to 60 % cpu usage on your system.
So the code I ended up changing: "50" to "1000".16
Been really busy with things haven’t got around to posting a book in like a week or so..
But I’ll post one today..
This book, available for free online or you can buy it, written in 1994. But so under appreciated by people for some reason most people never have seen it or know about it. But this is the ONLY book I know of that actually covers this topic.. the only book in existence that specifically goes thru how OOP can be done with C.
NOW hold up before you say just use C++ stop and think for a second.. bear with me.
First off this book is purely for informational purposes and educational use to deepen your understanding of what OOP is actually doing behind the scenes in languages like C++ where keywords exist for these things and you just blindly use them without thinking about under the hood.
This book contains a lot of code and builds you up a complexly library from scratch to make OOP in C... now I don’t take this book literally and this but I have implemented some concepts from this book in projects in the past, and it helps a lot.
Also in my honest opinion If you finish this book, you will be a better C programmer AND c++ programmer, C programming because it teaches you a lot about complex things that you never thought about doing with the language. It proves you can do polymorphism can do inheritance and encapsulation. And it’s not really bloated either.
This books is an awesome book, if you don’t understand C pointers you definitely will after this book.. if you don’t understand OOP in C++ what’s really going on.. you will after this book. After all C++ began as just a preprocessor of C.
Great book for writing reusable, extendable large scale embedded c systems.
Anyway.. rare book of which should not be rare considering it’s free.3
Next month I'm starting my master studies in embedded systems. Currently I have not any knowledge in this topic (made my bachelor in an other part of IT). Any tips or tricks?
Currently I'm starting learning C++ 😅13
What kind of developer are you and what is your opinion on other development areas?
Me: Junior dev, oriented towards full stack and Android(with a sysadmin background):
-Low-level(kernel development, embedded, drivers, operating systems, reverse engineers)- Badass, I wish I could do that.
-Mobile apps- awesome but too high level sometimes.
-Full stack/Backend- awesome.
-Web Frontend- fuck HTML+CSS. JS is cool I guess.
-Enterprise applications(e.g SAP) Pajeet, my son.
-Malware development- Holy shit that is awesome.
-Video Game development- was my dream since childhood.
-Desktop apps- No opinion.5
First year: intro to programming, basic data structures and algos, parallel programming, databases and a project to finish it. Homework should be kept track of via some version control. Should also be some calculus and linear algebra.
Introduce more complex subjects such as programming paradigms, compilers and language theory, low level programming + logic design + basic processor design, logic for system verification, statistics and graph theory. Should also be a project with a company.
Advanced algos, datastructures and algorithm analysis. Intro to Computer and data security. Optional courses in graphics programming, machine learning, compilers and automata, embedded systems etc. ends with a big project that goes in depth into a CS subject, not a regular software project in java basically.4
Before doing any systems programming you should definitely read this book... most people think they know what they are doing but in fact they are completely clueless and the worst part is you don’t realize how clueless you are... you don’t know what you don’t know nor do you know how much you really don’t know.. a most people are part of this group, including myself lol.
Computers are much more than a bunch of CPUs, buses and peripherals. (Embedded folks realize this). But this goes beyond embedded this is a systems book, on architecture of computers in general.
Learning only java and the java/C# python and the others SDK/Api and spending your life with horse blinders for what’s going on below only sets you up for failure in the future, and when you that point it’s gonna be a shocker. Could be tomorrow could be 20 years from now, but most people with those horseblinders get to that point and have that “experience” no avoiding the inevitable lol.
I really enjoyed this book in their quantitative approach to teaching the subject. Especially understanding parallelism and multi core systems.5
Very few general embedded systems books exist, most are specific to chip, or architecture. Very few cover overall ideas, and concepts that are common across ALL embedded systems regardless of architecture and things you must keep in mind while designing software for them.
I think this a a good book. As a primer for deep diving into embedded systems design philosophy19
Many people here rant about the dependency hell (rightly so). I'm doing systems programming for quite some time now and it changed my view on what I consider a dependency.
When you build an application you usually have a system you target and some libraries you use that you consider dependencies.
So the system is basically also a dependency (which is abstracted away in the best case by a framework).
What many people forget are standard libraries and runtimes. Things like strlen, memcpy and so on are not available on many smaller systems but you can provide implementations of them easily. Things like malloc are much harder to provide. On some system there is no heap where you could dynamically allocate from so you have to add some static memory to your application and mimic malloc allocating chunks from this static memory. Sometimes you have a heap but you need to acquire the rights to use it first. malloc doesn't provide an interface for this. It just takes it. So you have to acquire the rights and bring them magically to malloc without the actual application code noticing. So even using only the C standard library or the POSIX API can be a hard to satisfy dependency on some systems. Things like the C++ standard library or the Go runtime are often completely unavailable or only rudimentary.
For those of you aiming to write highly portable embedded applications please keep in mind:
- anything except the bare language features is a dependency
- require small and highly abstracted interfaces, e.g. instead of malloc require a pointer and a size to be given to you application instead of your application taking it
- document your ABI well because that's what many people are porting against (and it makes it easier to interface with other languages)2
Do you guys think it’s time “Hackers” gets its 2020 remake? I know it was cheesy for its time (1995) but 8 year old me was INTO that music video montage direction and that movie inspired was what inspired me to get into tinkering with electronics/embedded systems.
Rewatching it tonight and the casting is so on point, too.5
bool firstRant = true;
I've been lurking for a few weeks. I just got my first ever full time position as an embedded systems programmer for a small-ish company. For context, my background is with application devlopment, not embedded systems, so I am surprised I even got the position.
Regardless, I am kind of pissed off because the pay is only like $13.50 an hour (I live in California, the minimum wage here is $11.00 an hour.) I think it is bullshit but this job is my best option. Im still fucking salty and I know people woth internships that pay $20 an hour.8
So I'm taking embedded systems subject in my masters course. They have mixed this subject's content with electrical engineering and I'm a computer science graduate. Everything was perfect until I reached to GPIO board.
Wtf is this shit?
Why it has so many holes and what are they for?
What I'm supposed to do with it?
What is ground? Transistor?
Why I'm connecting to two pins only instead of the 4 pins of a button?
Thanks to pi4j i think i will pass the subject!2
In highschool, I was looking around for schools and universities at which I would start my student career. I went to a grad school one day, to see what it was like to be a student there. The first class I visited was programming for embedded systems. We got the assignment to write Java code to control a boom barrier. The teacher had written the template. And I kid you not, the template had a method of around 20 lines of code - without comments - with the purpose of carrying out a logical OR operation. An operation that literally can be done using an operator in Java: |
Why oh why do they let these people teach, with the result that the students will get used to these bad practises...5
Currently i am working as a student at a teaching chair for embedded systems, so my boss is the professor there and the subject of this weeks story 😄
He is very passionate about his field and keeps close contact to the students and their representatives.
He invests a lot of resources into getting students to learn and make projects and pays us to supervise a hands on course for students to build IoT projects.
As employees we get to work on interesting projects and he listens to us and our concerns if we feel a project is having certain problems.1
Seriously what's wrong with the market right now, this is basically what some job ads said. They were even from the same company
Frontend job ad: are you a rainbow rockstar developer who just loves to code OwO(unpaid overtime) [buzzwords...]
Embedded systems job ad:
Serious job description
Required experience in c/c++
Other non bs stuff8
Just read a job posting for a junior .Net software dev. 2 years experience in C#, Visual Studio, .Net. Usual suspects right, though two years experience for a junior seems off. But they also want embedded systems experience. wat?4
Any embedded systems software engineers out there with practical experience in writing/designing safety critical applications? (think DO-178B/C) I've got a few years embedded experience under my belt between internships, my projects, and now my relatively new job at a major aviation company, but I feel like I'm behind on this topic of safety and code that can't fail. It's simply not taught and I really want to learn more. Partially it is out of personal pride because I want to make a great product, but more importantly, what I work on is protecting a human life. I really really really want to feel confident in what I build. Is there anyone out there who's got some years under their belt that can point me to some good references? Or maybe some helpful tips? Much appreciated. If it helps, all my work is in C.10
Developer vs non developer interview:
How well do you know excel ?
How would you write spreadsheet app, what if it was cross platforms mobile application but also desktop app ?
Do you know how to use windows?
Do you know kubernetes, distributed systems, lambdas, cloud services and how to deploy to server farm ?
You know how to use printer / fax and coffee machine ?
Do you have experience in writing code for embedded devices ?
Do you know powerpoint ?
React native and native apps maybe ?5
It was in old days when I was working in java and windows systems.
Java and different log4j versions across dependencies caused system not working only on production server.
Turned out some of libraries got log4j embedded and conflicted with other log4j.
It worked in all computers except production one.
Actually that was my main reason to switch my career to python after that dependency hell.
Another one was windows server 2008 tcp connection limit set to 200 or something.
We needed to change registry to get our servers working. After this case we finally managed to convince people to switch to linux.
Anyway any non standard error when you got multiple layers communicate with each other is hard, practice make it easier to solve those problems as your success moment comes faster.4
I was working with my embedded systems friend a few days ago on a website, and since we work with electronics, it was something new.
I then went home and started learning web development.
Holy shit I love it
Here is a story about 5 years of my life.
My studies had little to do with web. I did embedded systems (architecture and software) but quickly realized that I couldn't see myself living my life in my homecoutry and that my degree would be worth little to no more than shit elsewhere in the world. That was on my 3rd year in uni.
I liked coding so I decided to pursue computer science, then web development. For that, your degree mattered little.
From then on, when I wasn't in class I was doing some coding.
This allowed me to get short (2 months) internships in Mobile and web development, 4 in total.
Doing so I had made it so that my professors would allow me to do my graduation project in web and mobile dev. That project having ended, I secured a long (1year and a half) internship in Mumbai India doing web for a big consulting company. Having finished that I headed to Belgium for my current job. All with having no to little financial resources except what I could come up with.
"I'm proud of all the efforts it took to make it" is what I think sometimes but what is it that I made? I realized my first objective which is to be on the international job market, but now that I genuinely love software I realize that I didn't really make anything I can be proud of working as a consultant. And having worked on many things but not a lot on practically anything, it's getting hard to do something else.
I'm hoping for devranters insight on how I should proceed.1
Anyone here worked a whole lot with low level programming?
I have always worked with high level languages like Python and C++, but I’ve also had an interest in working with embedded systems, real close to the metal.
Any directions on where I should go to start learning low level programming? Sites, languages, etc?
Appreciated devRant fam!😊14
So today (as of 5 min ago) marks a great day for my personal projects! I just got my embedded systems Flash memory driver debugging on my PC in Visual Studio, talking directly to the REAL flash chip, WITHOUT being tied to a embedded target! It's glorious. I can finally debug and write tons of tests without having to worry about the constraints of my embedded system. Ahhh. All the pieces I've needed to build this have slowly come together over weekends, and it feels so good to have this tool in my arsenal now! Great day indeed.
Today is just me and my friend, two embedded systems geeks making a website.
It’s going awful but it’s fun as hell😂4
I'm new around here and I'm part of the niche of embedded software developer.
Is there any fellow MCU programmer around here?
Have a great night everyone!7
You may soon have a new operating system from Google to run on your Raspberry Pi. Details are still extremely sparse, the only description on the GitHub page is “Pink + Purple == Fuchsia (a new Operating System)”. But, here’s what we do know:
The new OS, called Fuchsia, will be based on Magenta, which is in turn built on LittleKernel. That means that, surprisingly, Google will not be using a Linux kernel for the new OS but something more like an embedded RTOS. Although Google is targeting embedded systems, the possibility of being able to run it on a desktop has been mentioned, so it may not be too minimalistic.
Google’s Travis Geiselbrecht has named the Raspberry Pi 3 specifically as one system it will run on, and said that it’ll be available soon. But, it seems Google is aiming to make it run on a variety of ARM devices (both 32 bit and 64 bit), as well as 64 bit PCs. This is a direct effort to compete against other commercial embedded operating systems that are currently available, and especially on IoT devices.1
is it fair to say linux is the most popular operating system kernel?
i mean, it powers android, the most popular mobile os, chrome os, nearly all servers, raspberry pi’s, embedded devices and linux desktop operating systems. it has the be the most popular kernel, right?7
Is there any hope of getting a job that isn't web related? Every embedded job I've seen requires years of experience. I just want to write C dammit.2
Much like traditional engineering I can see software engineering suddenly becoming very very regulated around the world. Different systems safety bodies will open up for things like embedded systems development where their is a risk of harm, mandatory security standards will be put in place etc.
Enjoy the cowboy days ladies/gents/others regulatory bodies are on their way!5
I've been CRUSHING it lately, so stoked!!!
**Also, this means that in the near future something will crush me because I have a few subjects on deck I need to lock down.
2. TypeScript(deep dive)
3. CPP (currently 75% done with my 2nd masterclass, first one complete)
4. Multi-platform local device storage (Sqflite/mongoDB/shared preferences/Hive)
5. REST/api/requests/json management && application
6. Implementing Firebase authentication using Apple, Twitter, and mobile OTP
7. Cloud functions && server scripting/automation
8. Intro to embedded systems/OS/kernels
9. Steadily improve my code style, design strategies, and build patterns that are team friendly && provide easier code base maintainibilty
10. Influence, teach, and/or spark the interest of someone new to development in any possible- all that matters is getting new people on board, making sure they are stoked about, and last but not least making sure they feel welcome in the community and are able to start off in the right direction.
cheers, ya fockers!!!!
At work we develop for embedded systems. Using the heap can raise unknown effects sometimes. So we always try to avoid using it. To show our attitude regarding the heap we want to make T-Shirts like the No Ma'am shirts from Married... with Children but with No Heap instead of No Ma'am. Now we need a meaning of the acronym. Our currently idea is:
We do not find a good word for the E, we also aren't native speaker, thus we are not sure which synonym for word like based can be used in such context. So i want to ask if someone has a good idea or even a better idea for the whole acronym :)3
My company just released its website today. Previously, it just used its parent company's site.
Now, the problem is that it sucks big time. Awful design, pixelated stock photos, bad navigation, and broken grammar.
In the company's defence, it's not a web shop. It employs zero web devs. The site was built by an external company.
But if you are like me, you visit company websites before you apply for a job, and in this case, it would bed a big red flag.
Or maybe the hard-core embedded devs they are looking to employ wouldn't notice? Maybe they are all stuck in the year 2000 as well? I used to be a web developer so maybe my criteria are broken?3
My ideal dev job, would be a job I can show compassion towards. A team I can be proud of and learn from. And a vibrant workspace with likeminded individuals who just want to improve themselves even if they feel their at their pinnacle.
My current office tries to make use of new technologies, we've embedded docker, vagrant, a few ci systems on an in need basis per team, and a lot of other tools.
My only real qualms are they feel indifferent towards new languages and eco systems ( Node.js, GoLang, etc ). Our web team is still using angular.js 1.x, bower, refuses to look into webpack or a new framework for our front end which is currently being bogged down by angulars dirty checking.
Our RESTful services are all using flask and Python, which become increasingly slow with our increase in services. I've pushed for the use of Node or GoLang with a GraphQL interface but I'm shot down consistently by our principle engineers who believe everything and anything must be written in Python.
I could go on, but tldr; I'm 21 and I have a ton of aspirations for web development. I'd like to believe I'm well rounded for my age, especially without any formal education. I'd love to be surrounded by individuals who want the same, to learn and architect the greatest platforms and services possible.1
First and foremost, students should be carefully taught the logic and mentality behind programming. Most of the time I see that the introductory programming courses waste so much energy in teaching the language itself. So students kinda just get fucked cause many people end up ending the course without having actually gained the "programming perspective".
Stop teaching pointers and lambdas and even leave the object oriented stiff till later. If a student doesn't know why we use a For loop then how can they learn anything else.
I believe once that thing in your brain clicks about programming, everything goes smooth from there... kinda :P
Second of all, and this pertains mainly to the engineering and science disciplines.
We need a fundamental and strong mathematical foundation. And no I don't mean taking fucking double integrals. Teach us Linear Algebra, Graph theory, the properties of matrices, and Probability theory.
One of the things I suffered from most and regret in university is having a weak foundation in math and having to spend more time catching myself up to speed.
It's so annoying reading a paper on a new algorithm or method and feeling like an idiot because I can't understand what magic these people did.
Ok this is more deeper, maybe a 2nd year course.
But this is something we take for granted.
Computers don't magically add and subtract and multiply.
They fuck up.
And it'll bite you in the ass if you're not even aware that the computer we all love so much isn't as perfect as we think
Some hardware knowledge.
Probably a basic embedded systems course with arduinos
just so you can get a feel for how our beautiful software actually makes those electrons go weeeeeeeee
just give me the internet and some projects
Ill learn everything else
Projects are the best motivation
I hate this purely theoretical approach
where we memorize or read code and write these stupid exams
Test what we are capable off
make us do projects that take sleepless nights and litres of coffee
And judge our methods, documentation, team work, and output
Team work skills and tools (VCS, communicating, project management, etc.)
Documentation and Reporting
maybe even with LaTeX :D
Yeah that's the gist of whats on my mind at the moment regarding an ideal computer science education
At least the foundations
The rest I leave it to the next dude.
I gotta say I really love the beauty of being able to merge math, code, and hardware all in a well tuned symphony to make something awesome. Building an LQR controller for a custom quadrotor flight controller and it is just so much fun!
Not much tops the orgasm from powering thru 500+ lines of code in the zone... in vim...no debugger.. and without compiling just visually seeing in your mind the assembly be generated... and code being stepped thru.. and then compile and test and everything works as expected.. not sure anything tops that feeling ... definitely have to be in the zone.. one distraction and boom gotta compile to make sure nothing broke3
I’ve been on devRant for a very short period of time and I’ve seen too many posts about PHP fucking people in the ass.
Is it really that bad?(I’m an embedded systems geek so don’t ask me why I don’t know anything about PHP)18
A lecturer for an Embedded Systems module who gave out drivers for an LCD display with no documentation at all, and about 4 functions for writing to the display and 3 initialisation functions, spent ages trying to actually decide what each function did by which memory addresses it was changing and how (made even better by the fact a good bit of the functions were written in Assembly since it was Embedded C)🙃
I guess you could say that my speciality is cloud at scale. I’d say it chose me more than I chose it.
Looking back on it though, I think what I like about my speciality is the unique challenges it brings.
Every speciality has its own set of challenges, like tight resource limits in embedded, or client-server synchronisation in native/mobile.
The challenge of cloud at scale is throughput. Designing systems that can support 100K users making a bazillion requests a second, or a data pipeline firing events that you need to process in near real time without dropping a single one.
The real challenge of course is doing all this within a sensible budget. We have virtually infinite compute but we dont have infinite dollars to spend on it.
Its a fun problem to solve.3
I’ve 2 great job opportunities and would like to get some opinions from you guys..
The first position is in my home country, I’ve passed the first interviews and (highly advanced) coding test.
I’d have the possibility to contribute to something big that really matters nowadays.
I would learn about lots of stuff that really interests me (security, embedded systems...)
The second position is in another country, I’ve passed the first interview and just received the coding test.
There I could work on a cool project and I’d definitely learn a lot there, too. But more important is that I love the county, there I really feel like “home”, I love the people and culture.
In case both of them want me, it would be really Hard to make my decision..
What would you do in my situation?
- dream job in a country I don’t necessarily like, neither dislike
- cool job in a country I totally wanna settle down sooner or later (but currently wouldn’t have problems getting the permissions and stuff..)?
Thanks in advance:)1
So I ran into a perplexing "issue" today at work and I'm hoping some of you here have had experience with this. I got a story-time from my coworker about the early days of my company's product that I work on and heard about why I was running into so much code that appeared to be written hastily (cause it was). Turns out during the hardware bring-up phase, they were moving so fast they had to turn on all sorts of low level drivers and get them working in the system within a matter of days, just to keep up with the hardware team. Now keep in mind, these aren't "trivial" peripherals like a UART. Apparently the Ethernet driver had a grand total of a week to go from nothing to something communicating. Now, I'm a completely self-taught embedded systems focused software engineer and got to where I am simply cause I freaking love embedded systems. It's the best. BUT, the path I took involved focusing on quality over quantity, simply because I learned very quickly that if I did not take the time to think about what I was doing, I would screw myself over. My entire motto in life is something to the effect of "If I'm going to do it, I'm going to do it to the best of my abilities." As such, I tend to be one of the more forward thinking engineers on my team despite relative to my very small amount of professional experience (essentially I screwed myself over on my projects waaaay too often in the past years and learned from it). But what I learned today slightly terrifies me and took me aback. I know full well that there is going to come a point in my career where I do not have the time to produce quality code and really think about what I am designing....and yet it STILL has to work. I'm even in the aerospace field where safety is critical! I had not even considered that to be a possibility. Ideally I would like to prepare now so that I can be effective when that time does come...Have any of you been on the other side of this? What was it like? How can I grow now to be better prepared and provide value to my company when those situations come about? I know this is going to be extremely uncomfortable for me, but c'est la vie.
TLDR: I'm personally driven to produce quality code, but heard a horror story today about having to produce tons of safety-critical code in a short time without time for design. Ensue existential crisis. Help! Suggestions for growth?!
Edit: Just so I'm clear, the code base is good. We do extensive testing (for lots of reasons), but it just wasn't up to my "personal standards".2
Hey remote workers.
What would be your advice for someone with experience that's interested in exploring remote work.
I'd like to target this question to remote workers that live outside USA/EU/UK. Say South America, South Asia.
A little introduction.
I'm a full stack engineer, did one project in embedded systems with QT/C++/RPI can do backend in Python, Node, Java, C#. I have some experience with React Native (just 2 apps)
I currently I do full stack with Node, React, postgres and caching with couchdb.
I gather requirements, write the projects, proposals and then I do the implementation. (Really full stack, I kinda like it though, when I'm bored with code I pick up an issue and contact the client to socialize/get answers. I found out that nondevs like to feel they talk to a human not a robot)
I'm making about 600usd/month (dev in a poor country) working 30hrs /week. I'd like to ramp up my income, working remote part time to fill up about 50hr week.
What can I expect?
Where do I start?
Are there part time opportunities for working remote?
What kind of roles are in demand?9
I wish to learn embedded systems and programming . Are there any online courses and mobile apps,? I'm a beginner.9
Programming embedded systems from scratch. All hardware, memory, timers, peripherals, etc, must be set up correctly at startup, and if you set even one single bit incorrect in any of the sometimes hundreds of 32- or 64-bit configuration registers, you are screwed. There is often no terminal that prints error messages to help you, but if you are lucky you have an (often very expensive) hardware in-circuit debugger to step through the start up code.2
Oh... I dont know what to pick...
So i will pick 3 projects from my 3 stages of my dev "carrier"
1.Right after i discovered programing and learned how ,if, while and similar structures worked. The launguage was object pascal with delphi 2007
That was a "safe" with a stupidly complicated lock (text inputs, sliders, ect) it opened a secret folder in the end.
2. It was a embedded code for a Atmega8 AVR, Atmel studio, pure C but without memory managment (i didnt even know that it even existed)
It was a Pip boy knockoff, 16x2 display and a small keyboard connected to the arduino like board that i made on a proto board.
It wasnt that much of a pipboy, it was more of a showoff of atmega8 internal systems, (ADC, timers, interrupts and such)
3.DataLab, after helping my friend with his master thesis, (we meet on discord long story, i was in high school) i decided that mathlab is shit and i created a visual scripting enviroment, launguage C# .net 4 (in the latest version)
I remade the whole program from scrach 1 time, significantly improving everything (code reuse, better algorithms, data processing, code redability and edge cases) I have learned good practises from everywhere. I learned how to use git.
DataLab project looks just like LabViev (i didnt notice that it even existed...), it is frozen now because of my mental status but im planning on using it on my CV when i will be looking for jobs on holidays. There are many things that i can improve in that program but ... first i have to fix myself.
TLDR, need suggestions for a small team, ALM, or at least Requirements, Issue and test case tracking.
Okay my team needs some advice.
Soo the powers at be a year ago or so decided to move our requirement tracking process, test case and issue tracking from word, excel and Visio. To an ALM.. they choice Siemens Polarion for whatever reason assuming because of team center some divisions use it..
Ohhh and by the way we’ve been all engineering shit perfectly fine with the process we had with word, excel and Visio.. it wasn’t any extra work, because we needed to make those documents regardless, and it’s far easier to write the shit in the raw format than fuck around with the Mouse and all the config fields on some web app.
ANYWAY before anyone asks or suggests a process to match the tool, here’s some back ground info. We are a team of about 10-15. Split between mech, elec, and software with more on mech or elec side.
But regardless, for each project there is only 1 engineer of each concentration working on the project. So one mech, one elec and one software per project/product. Which doesn’t seem like a lot but it works out perfectly actually. (Although that might be a surprise for the most of you)..
ANYWAY... it’s kinda self managed, we have a manger that that directs the project and what features when, during development and pre release.
The issue is we hired a guy for requirements/ Polarion secretary (DevOps) claims to be the expert.. Polarion is taking too long too slow and too much config....
We want to switch, but don’t know what to. We don’t wanna create more work for us. We do peer reviews across the entire team. I think we are Sudo agile /scrum but not structured.
I like jira but it’s not great for true requirements... we get PDFs from oems and converting to word for any ALM sucks.. we use helix QAC for Misra compliance so part of me wants to use helix ALM... Polarion does not support us unless we pay thousands for “support package” I just don’t see the value added. Especially when our “DevOps” secretary is sub par.. plus I don’t believe in DevOps.. no value added for someone who can’t engineer only sudo direct. Hell we almost wanna use our interns for requirements tracking/ record keeping. We as the engineers know what todo and have been doing shit the old way for decades without issues...
Need suggestions for small team per project.. 1softwar 1elec 1mech... but large team over all across many projects.
Sorry for the long rant.. at the bar .. kinda drunk ranting tbh but do need opinions...
So this embedded product is already a year late as cutting a task from the schedule didn't make the problems it would have addressed go away.
Now there's a performance issue (turns out to be how the customer had configured something) after we've been stumped for over a month and not got any closer, theres a meeting with the design authority, project manager, systems engineers etc, we say we can't tell where the issue is exactly, can't easily tell what Linux is doing all the time etc etc, so this product does a lot of IP processing, the project manager asks - do we even need an OS?
Are you having a laugh?! We barely took him serious before this meeting, we still don't now and it was three years ago! I mean, who wants to write their own OS and associated infrastructure themselves? 1 year late already, think you can add another 20 man years onto that!
So I was working on Nex Robotics's Firebird V,
Was doing some graph traversal thing...
And was breaking my head for 28hrs... I was passing the bot an structure of direction and no. Of times it had to take that direction...
something like for(int i=0; i<dir.times;i++)
And after 29 hrs I realized it also had negative values...
that effing abs() was missing 😫4
Just started my new college education (going for embedded systems engineering) and we found out we don't have any holidays except for christmas.
No biggie, can live with that.
However, we just got a project which we need to pass to continue to the second year and of course it's a fucking group project.
Guess what, one of the asshats had a holiday planned for a while, so he'll be out somewhere in Africa while the rest build stuff for a week. 1 week on a 3 week project... Amazing.
I've heard all kinds of arguments for about how whiteboard coding interviews should be obsolete, and that they usually doesn't reflect how good you are as a developer. But I've been polishing my skills with data structures and algorithms for a few weeks (learning this stuff for the second time since years ago in college) and I get this feeling that I'm becoming a much better programmer by practicing these things. And having access to all these things in the "working memory" of my brain has made me now think of solutions I couldn't before. But then - it may be that right now I'm working on embedded systems so this efficiency matters much more, earlier while doing full stack web development I didn't care about these much except while playing with strings maybe. So it might be dependent on your niche. What do you guys think?3
We have a C++ for embedded systems training at work this week.
References are a good thing but after looking for the reason why one object has no reference to the other for half of an hour just to realise that my member wasn't a reference so that i got an copy gave me the urge to use pointers instead. But unfortunately we'd to use a reference in this simple exercise which cost me a lot of time because that damn reference.2
Alright, what the fuck is embedded systems and how does it differ from regular programming? I am not getting jobs because I know the languages requested, but I don't know embedded systems. How do I learn it? Get a Raspberry pi?10
Job interviews finished! I just kept one at Rouen (embedded systems) , and now I'm waiting the answer for Nice (Cry Engine).
Gosh I want to live in Nice and be a game developer, that looks really fun. I mean I enjoyed the test x)
Let me hope a bit guys :p
I am working on an embedded system, a microcontroller-based design. The system has an Ethernet port. I am using NetX framework in the microcontroller firmware.
The DHCP Client is executed properly, an IP address is assigned correctly when connected to a router. I connect a laptop to the router using a LAN cable. Then TCP sockets behave the way they should, UDP broadcast behave the way they should. The only issue is, when I connect a Laptop over wireless to the same router UDP broadcast are received on application on Laptop, but data sent is not received on the embedded device.
Any idea why?
Laptop is Windows
Embedded Device: Renesas S7G2, NetX framework.4
Infineon infineon infineon...
Your aurix tricore is amazing for all safet systems... On paper.
Your support is abysmal. Tried forums, support line to verify a demo that only seems to work sometimes.
I just wanted to get ethernet communication using the demo. But hey one week gone and no success....
And the code seems to behave differently for each run :| the debugger works only on global variables and no printf statements. But hey just make a lot of globals right? So little footprint available so not possible :-\
Hoped that some forum could confirm the demo so I knew I was just making a fuck up, but cannot get that verified...
Embedded programming not for me... :/
Through out the week I break my head on embedded systems...
And fuck my brains out playing DotA2 on sea server with pinoys on weekends...
Any c++ embedded system programmers here.what kind of work do you do ,what are your daily tasks etc.and what boards do you use