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
Me: Keep the abstractions in check. Go too far and you'll end up with something called 'thing' or 'object'!
C#: Hold my beer 🍺🍺🍺7
Ugh... I don't like how TCP is a stream protocol and how UDP is unreliable and unordered.
I want a semi-reliable, ordered, message protocol dang it!13
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.13
Really getting into Rust. It has taught me so many things.
1. Null is evil
2. Sum types are amazing
3. Compiler can actually have good error output
4. Multi threading is actually really scary if you don't have a compiler to back you up
I had to deal with SSIS. It has also taught me many things:
1. No matter how 'mature' a product is, it can be awful. Simply dump a random error code, the user can figure out what went wrong, no need for good error messages.
2. The modern concept of the database is crap. It's a gigantic global state that is used by everyone and owned by no one.
3. Don't use tools that aren't made to be used with version control.
4. Even when you tell your team that it's bad, you will be ignored.
Rust: Unclear error output is seen as a compiler bug.
SSIS & SQL Server: Unclear or absent error output is seen as an enterprise feature. It's so mature!
Scratch away the PCB trace that was initially connected and solder a wire straight to the IC pin to connect it it to the place you want1
Always nice when you discover that your hardware has an *ELABORATE* HARDWARE OFFLOADING ENGINE with full protocol implementation for something you spent two months writing software for...
Well, at least the current solution works like it is supposed to. Don't know that yet of the hardware implementation.
It would save 4 euro component cost though if we switch to the offloading engine
With all the people here using and loving Linux, I wonder how many of you have contributed money to either a distro, drivers or the kernel itself?8
I think I have configuphobia.
When you need to setup configurations for like anything, it's always super loosely coupled and can break when you even breathe on it.
Database table columns? Configured once.
Authorization management? Create a user and configure the password and username in the application.
Backups? Configure the network path to backup to.
All these things are so EASY to break!
Maybe I'm overcautious, but I really dislike it.
There are ways around it of course, like documentation and automation, but it's all so much work. And even then it's still loosely coupled.
What do you all do to keep your configs working without getting nightmares?3
Being alone for so much of the time.
Kinda miss being around my colleagues. Luckily I have a cat that keeps me accompanied during the day!3
Have you ever felt that an idea hit you like a truck?
I just had that and my brain went in full analysis mode to see if the idea would hold up under all circumstances. I think it might! But for a good 5 minutes I couldn't think of anything else.
Weird how brains and thoughts sometimes work.8
If I wanted to write some article about code, where would you prefer to read it?
Medium? Dev.to? Something else?14
So my company is preparing to do a deployment now... It's Friday 4pm...
And it's just yesterday that the build system was upgraded to a way newer version...
Luckily I'm not responsible of things go sideways 😅2
So my team lead told me in a code review that you shouldn't use 'else if' in code.
Instead you should best them like:
Apparently that would improve readability...
Am I crazy, or what?24
I may have convinced my boss to start using Gitea to manage our git repos! 😆
Right now we have a NAS with bare repos, so we have no access rights, no overviews, no forks, no issues, no pull requests, nothing! 🤐
Now it's time to pray to the gods for his decision. 🤞
I'm doing my own sci-fi D&D story and need some new weapons! So why not use programming names? 🤔
One player is also a dev and I want to trigger him as hard as I can 😈6
Just got the Oreo 8.0 update for my OnePlus 5T. Yay!
But it broke something, so now I can't debug my app with Xamarin... 😐
Luckily there's already a bugreport on their bugzilla! It seems like it's been fixed. Just need to update Visual Studio. Guess I'm lucky after all. 😁
The problem is still there... 😡
Don't know what to do now... 😕5
Started the year well :D
Making an app to view our home energy usage and output (solar panels).
Raspberry pi is connected to our energy meter and is used as a server.
But some of you may not like this...
The Pi is running Windows IOT :P2
So I just read up on what the language D has to offer. It seems quite good!
- Active community
- Multiple compilers
- Modern (no header files, garbage collector, etc.)
- No VM or framework needed to run it (like C# and Java)
Looking forward to trying it out!
Does anyone have any experience with it? What are your thoughts?7
Loving inaccurate documentation...
And it's from a big company as well!
Reset value: 0x0000007F
I didn't get it to work for several hours.
And then I checked...
The actual value it gets reset to is 0.
So I just finished my first 40 hour work week.
And just an hour ago I had a meeting.
In that meeting I said pretty much this:
"Your old system is rubbish, I want to make a new one"
"Also we can't use the old framework"
"Also it needs to be in a different language that nobody knows here"
And they went for it!
At this point I think I can sell anything to anyone.8
So I've been playing some DnD with friends.
And we've been working with some lego characters, whiteboard markers and plastic sheets to draw on.
But that's always a mess:
The ink was old and did not come off again for the most part
The sides of the map curled up and and made the lego character fall over
The lego characters were too big
So I thought, why not make it digital?
And so I did.
I used UWP to make a master and a client, both using the Windows Ink api to be able to draw.
Some circles with an initial served as characters, and everything was synchronized using a TCP library I wrote half a year ago.
Yesterday we tried it out.
We all (including me) were sceptical if it would work well because the 'analog' clumsy way we did it before does have a certain charm.
But at the end we were all very enthousiastic about it and we'll be using it next time too!
It's awesome to be able to create programs for your own use :D
That's why being able to program is such a great thing!
Now I need to restructure everything, make it more efficient, add a turn order display, make the map zoom- and moveable and more and more....20
So today I saw another 'OOP should die' article.
And I decided I should google around a bit to find out why.
Reasons I found:
- Things get too complicated
- Things get too abstract (same as the above really)
But when I search for alternatives, only functional programming and different ways to use OOP get mentioned.
I still don't get why OOP is supposedly bad though.
Maybe my 20-30k LOC projects aren't big enough to see it?
For me the abstraction works very well. The abstraction is used to keep the complexity low(er).
And the different ways of using OOP are a plus-point for me. (Like the Entity-Component system)
I don't know enough about functional programming to be able to say it's better or worse, but the ideas behind it a perfectly usable in languages like C#.
So if any of you have a good concrete reason to not use OOP, please feel welcome to tell me in the comments :)13
I quite like Unity.
It's a good engine, BUT....
I despise doing UI in it, it's just so tedious to make everything work and show up.
In the past I didn't mind but then I learned about XAML in WPF, UWP and Xamarin. XAML works very nice with the MVVM pattern (even if you do that lazily) with the data binding.
So now I'm working on my own data binding, which is both fun and saddening (because it's not in there already)1