Aboutc# developer, for some reason loves old hardware
Locationat my desk
Joined devRant on 11/16/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Today I discovered by myself that...
...in a shell...
...when entering a password (e.g. ssh)...
...and you make a typo... 🤦♂️
...you don't need to smack that backspace key like a maniac! You can just use the clear line shortcut: control+U (^U). This clears all input to the left of your cursor and this also works for passwords.24
Today i've met a big customer of our company
He was absolute friendly and gave me clear requirements without oppositions...
Then I woke up.5
Oh god, I was like 13 and just found out about RPG Maker 2000. I got a pirated copy from a friend because ive got no internet at that time. I remember, my first project was with a friend of mine and dayum, we were so dumb and unknowing.
Once we wanted to implement a counter of how many fights a player had.
The problem was, we only knew about switches (boolean variables) and so we started to implement boolean variables like these:
and so on, as something like a counter.
We took this to 50 before I asked my friend if this is the right way of doing this.
He answered: "thats probably the reason, why games are so big nowadays" (he just installed morrowind at home...)
Then at one day, I reached the point I didnt knew what I should do next in this project, so I looked around at all the other functions we never even tried and I found something called "variables".
Those where the "real" variables like string and int and wow, suddenly the possibilities where endless. I told him about variables at telephone and what we could do now, but that just got him somehow frustrated so he told me, that he wants to leave this programming thing5
I just moved to linux from windows . Now I regret
I should have moved earlier ;_;26
Why do some people chat like this?
Person: I have a
Person: there's error in the
Person: how it know
Person: it is correct
It's so annoying, each message pops-up and it's impossible to read just one and make any sense of it. It's hard when you're busy doing something but you still need to communicate with this person for some changes and instead of looking at the messages once they are completely composed, you have to watch Skype and wait as the other person types and enters each fucking word.
I remember asking one of my team members in a previous company before to stop doing this and he made me look like a total bitch for telling him to construct his message first before sending it.97
Spent a lot of time designing a proper HTTP (dare I even say RESTful) API for our - what is until now a closed system, using a little-known/badly-supported message-over-websocket protocol to do RPC-style communications - supposedly enterprise-grade product.
I make the API spec go through several rounds of review with the rest of the dev team and customers/partners alike. After a few iterations, everybody agrees that the spec will meet the necessary requirements.
I start implementing according to spec. Because this is the first time we're actually building proper HTTP handling into the product, but we of course have to make it work at least somewhat with the RPC-style codebase, it's mostly foundational work. But still, I manage to get some initial endpoints fully implemented and working as per the spec we agreed. The first PR is created, reviews are positive, the direction is clear and what's there already works.
At this point in time, I leave on my honeymoon for two weeks. Naturally, I assume that the remaining endpoints will be completed following the outlines/example of the endpoints which I built. When I come back, the team mentions that the implementation is completed and I believe all is well.
The feature is deployed selectively to some alpha customers to start validation testing before the big rollout. It's been like that for a good month, until a few days ago when I get a question related to a PoC integration which they can't seem to get to work.
I start investigating and notice that the API hasn't been implemented according to the previously agreed upon spec at all. Not only did the team manage to implement the missing functionality in strange and some even broken ways, they also managed to refactor my previously working endpoints into being non-compliant.
Now, I'm a flexible guy. It's not because something isn't done exactly as I've imagined it that it's automatically bad. However, I know from experience that designing a good/clear/future-proof API is a tricky exercise. I've put a lot of time and effort into deliberate design decisions that made up the spec that we all reviewed repeatedly and agreed upon. The current implementation might also be fine, but I now have to go over each endpoint again and reason about whether the implementation still fulfills the requirements (both soft and hard) that we set out to meet.
I'm met with resistance, pushback and disbelief from product management and dev co-workers alike when I raise the concern that the API might actually not be production-ready (while I'm frantically rewriting my integration tests and figuring out how the actual implementation works in comparison to what was spec'ed).
Oh, and did I mention that product management wants to release this by end-of-week?!7
I'M SO PROUD, I WROTE A FULLY-FUNCTIONAL JSON PARSER!
I used some data from the devRant API to test it :D
(There's a lot of useful tests in the devRant API like empty arrays, mixed arrays and objects, and nested objects)
Here's the devRant feed with one rant, parsed by Lua!
You can see the type of data (automatically parsed) before the name of the data, and you can see nested data represented by indentation.
The whole thing is about 200 lines of code, and as far as I can tell, is fully-featured.27
Coolest thing i've built solo? I think it's my 3D snake multiplayer game.
It all started with a simple 2D snake game to teach programming basics at community college. Then i added a multiplayer mode based on a simple UDP implementation. Then i wondered how it would look ike in 3D and i had the idea to figure out how to implement a 3D engine by myself and i dove into the maths and wrote a simple 3D engine based on a windows forms picture box.
I showed the game to my colleagues and the loved it and we played it a lot.
So i added special mode boosters, and sound and map events and obervermode and observer polls.... you know it.
Here's a little collage of the journey...9
Petition for the pixelated avatars joke to be a permanent feature.
Vote for yes
Down vote for no
Ran into a girl who I had a crush on in high school at a bar last week. Hanged out for a bit, but then I had to run catch the last train home.
Today I get a message from her that reads: "Hey, it was nice to meet you last week. Can I call you some time, there's something I want to tell you. 😉"
I think to myself -- sweet and say that I have no meetings today, call me whenever you can.
A couple of minutes later she calls me, and the first thing she says: "I have this app idea..."
fuck, shouldn't have hyped myself up.37
Just my shaved pussy in the middle of the work weekend.
(At this point I really hope I'm attaching the right image)34
Last year I built the platform 'Tindex'. It was an index of Tinder profiles so people could search by name, gender and age.
We scraped the Tinder profiles through a Tinder API which was discontinued not long ago, but weird enough it was still intact and one of my friends who was also working on it found out how to get api keys (somewhere in network tab at Tinder Online).
Except name, gender and age we also got 3 distances so we could calculate each users' location, then save the location each 15 minutes and put the coordinates on a map so users of Tindex could easily see the current location of a specific Tinder user.
Fun note: we also got the Spotify data of each Tinder user, so we could actually know on which time and which location a user listened to a specific Spotify track.
Later on we started building it out: A chatbot which connected to Tinder so Tindex users could automatically send a pick up line to their new matches (Was kinda buggy, sometimes it sent 3 pick up lines at ones).
Right when we started building a revenue model we stopped the entire project because a friend of ours had found out that we basically violated almost all terms.
Was a great project, learned a lot from it and actually had me thinking twice or more about online dating platforms.
Below an image of the user overview design I prototyped. The data is mock-data.50
After protests have been announced against article 11/(12/)13 on 23.03. German EVP politicians want to move date of the final vote before the protests.
It seems those politicians are simply saying "fuck you" to the protesters.
Source (German): https://netzpolitik.org/2019/...7
Le monday morning after a commit on sunday evening...
PM: BLAAAH!!!! Your commit broke the site, nothing is working!!!!!!
Me: What? All of tests passed (coverage 95%), no issues were found.
PM: NOO!!!! Site is broken, we can't use it no more!!!
Me: Ok, what's the problem?
PM: I've tried to enter -10021 into this field on that page and it gived me an error.
Me: Ok? So, that single page is broken?
PM: No, whole site!!!! This is important
Me: Sure... Let me take a look
* PM tried to enter a negative value into an unsigned field that I've mutated yesterday after checking LIVE database if there was no records with negative value. Reason: we've hit an int limit and there was no chance that the value would be negative. Validation? Well, yes.... Except that page was added by him this morning without even checking everything else *
Me: Here, this is the issue, *gives explanation*
PM: Well.... You shouldn't do this. This is unacceptable. You must never leave int fields without negative values. Didn't they teach you in school that integers can be negative?!
Me: What? *consufed as hell*
PM: *More morale... blah blah blah....* Revert it back!
Me: Ok but if anything else breaks, copy of this slack conversation will be kept.
PM: Don't care! Fix it!
Me: * Reverts the fix, saves chat copy * - Done.
* 5 wild minutes later *
PM: BLAAAH!!!! Site is down, service is not working, what have you done?
Me: Reverted the change needed for it to work. Todays schedule is full with other important tasks. * pastes a screenshot as a proof that he asked me to do this *
PM: FIX IT NOW! Apply your fix.
Me: You're the PM. - Done.
PM: Great, now I'll fix my code. You should be more careful next time.
Me: * YOU DENSE MATHA...KER * Sure.
How's your morning going? :)11
Call me old-fashioned, but... I kinda liked it back in the day, when Microsoft made proprietary software, the Community made free software and everyone's "cui bono" was quite easy to answer - even those corporations involved in FLOSS did have a clear way to finance themselves.
Now, we have Microsoft coming into open source, seemingly making projects better and offering more and more "free" stuff.
"Free" Windows 10.
"Free" SaaS Office.
"Free" "Private" Repos on Github.
In general - what happened to clear and concise "I give you money, you give me stuff" capitalism like we had it in the 2000s?
I'd rather pay 20 bucks for a game on Steam than get it "free" and with ads or microtransactions - yet, many games, especially mobile, don't even offer me that option. It wouldn't be that hard now, would it?
The same goes for software. That Canonical would need to fuck their users over after Ubuntu One went to shit was obvious - they didn't offer the kind of commercial/enterprise OS'es that Redhat or SuSE sell.
What people seem to forget is that everyone needs to make a profit somehow. You don't get "free" stuff. Even the volunteers in the Open Source Community get something out of it - an opportunity to pad their CV at least, if nothing else.
Nowadays, software manufacturers have the same legitimacy as the "free" financial "advisors" you find at banks - and who could be dumb enough to trust them? Oh yeah: Almost the entire fucking society is who.
But then again, sell something and noone will want it - because they all want it for free, with annoying, privacy-invading ads or with equally annoying microtransactions, or financing based on commission - so you don't only pay ONCE, you pay until you realize you got fucked over and quit.
Capitalism used to work until all those idiots stepped in. How the fuck don't people realize that there's no free lunch in life? When have we stopped being functional people and turned into idiots.
Even worse: Those idiots think that they're entitled to something! They, who volunteered to become merchandise instead of customers, think that they have rights! Do cattle have rights? Nope. They get their "free" hay everyday and I get to buy beef, that's how it works. Moo!
Hell, they are surprised when they get fucked over by bank salespeople or their data stolen by corporations, intelligence agencies or something... What did they expect, goodwill?
Can we please make Adam Smith mandatory reading in school?! I mean, give people a chance to understand capitalism? The nonexistent "goodwill" of traders in general?9
[Hardware geeks, microcontroller geeks, please come]
Yet another Hacktoberfest tshirt...
Gotcha? (I bet you know who I am)
Just kidding. Just a random project idea I am not sure if it is possible to make from scratch.
It is essentially a usb external storage
And has a lcd that shows available storage space
And some buttons to play snake. (Yup)
Is it possible?
What should I expect when creating from scratch? (Microcontroller, c language, interfaces, etc)24
If you're working on close to hardware things, make sure you run static analysis, and manually inspect the output of your compiler if you feel something's off - it may be doing something totally different from what you expect, because of optimization and what not. Also, optimizations don't always trigger as expected. Also, sometimes abstractions can cost a fair amount too (C++ std::string c/dtor, for example, dtors in general), more than you'd expect, and in those cases you might want to re-examine your need for them.
Having said all that, also know how to get the compiler to work for you, hand-optimization at the assembly level isn't usually ideal. I've often been surprised by just how well compilers figure out ways to speed up / compactify code, especially when given hints, and it's way better than having a blob of assembly that's totally unmaintainable.
Learnt this from programming MCUs and stuff for hobby/college team/venture, and from messing around with the Haskell compiler and LLVM optimization passes.3
Just spent 3 hours trying to debug something that worked yesterday because SOMEONE thought he had a better idea of how to do it. Holy fucking shit. It worked perfectly and you started deleting my code because you didn't understand it. How about trusting that I know what I'm doing since idk I spent 2 weeks reading up on it to be able to write this. What pisses me off the most is knowing he only does this to my code because he doesn't trust me as I am a) younger than him and b) a woman.
STOP ALREADY. JUST FUCKING STOP. So fucking fed up with having my work scrapped in favor of yours because you are a fucking control freak and think I'm stupid.30