Details
-
AboutI'm a marketer with 20 years experience and a programmer with about 5. I love programming a whole lot more than marketing, though. If you want to learn how to create profitable niche software, check out my website.
-
Skills$skills = array('php', 'laravel', 'mysql', 'javascript', 'python'); see, I know how to initialize arrays in php.
-
LocationThe streets of northern ontario
-
Website
-
Github
Joined devRant on 1/24/2018
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Anybody else know that horrible feeling when you're 2 weeks and 1000 lines of spaghetti into what started as a 2 day 200 line side project that was supposed to make your main project better, but has now become it's own life consuming beast?2
-
As a developer, sometimes you hammer away on some useless solo side project for a few weeks. Maybe a small game, a web interface for your home-built storage server, or an app to turn your living room lights on an off.
I often see these posts and graphs here about motivation, about a desire to conceive perfection. You want to create a self-hosted Spotify clone "but better", or you set out to make the best todo app for iOS ever written.
These rants and memes often highlight how you start with this incredible drive, how your code is perfectly clean when you begin. Then it all oscillates between states of panic and surprise, sweat, tears and euphoria, an end in a disillusioned stare at the tangled mess you created, to gather dust forever in some private repository.
Writing a physics engine from scratch was harder than you expected. You needed a lot of ugly code to get your admin panel working in Safari. Some other shiny idea came along, and you decided to bite, even though you feel a burning guilt about the ever growing pile of unfinished failures.
All I want to say is:
No time was lost.
This is how senior developers are born. You strengthen your brain, the calluses on your mind provide you with perseverance to solve problems. Even if (no, *especially* if) you gave up on your project.
Eventually, giving up is good, it's a sign of wisdom an flexibility to focus on the broader domain again.
One of the things I love about failures is how varied they tend to be, how they force you to start seeing overarching patterns.
You don't notice the things you take back from your failures, they slip back sticking to you, undetected.
You get intuitions for strengths and weaknesses in patterns. Whenever you're matching two sparse ordered indexed lists, there's this corner of your brain lighting up on how to do it efficiently. You realize it's not the ORMs which suck, it's the fundamental object-relational impedance mismatch existing in all languages which causes problems, and you feel your fingers tingling whenever you encounter its effects in the future, ready to dive in ever so slightly deeper.
You notice you can suddenly solve completely abstract data problems using the pathfinding logic from your failed game. You realize you can use vector calculations from your physics engine to compare similarities in psychological behavior. You never understood trigonometry in high school, but while building a a deficient robotic Arduino abomination it suddenly started making sense.
You're building intuitions, continuously. These intuitions are grooves which become deeper each time you encounter fundamental patterns. The more variation in environments and topics you expose yourself to, the more permanent these associations become.
Failure is inconsequential, failure even deserves respect, failure builds intuition about patterns. Every single epiphany about similarity in patterns is an incredible victory.
Please, for the love of code...
Start and fail as many projects as you can.30 -
Are you shitting me?
IT'S LITERALLY A FUCKING WEBAPP, WHY THE ACTUAL FUCK DO I NEED TO BE RUNNING MACOS OR WINDOWS9 -
Sorry, need to vent.
In my current project I'm using two main libraries [slack client and k8s client], both official. And they both suck!
Okay, okay, their code doesn't really suck [apart from k8s severely violating Liskov's principle!]. The sucky part is not really their fault. It's the commonly used 3rd-party library that's fucked up.
Okhttp3
yeah yeah, here come all the booos. Let them all out.
1. In websockets it hard-caps frame size to 16mb w/o an ability to change it. So.. Forget about unchunked file transfers there... What's even worse - they close the websocket if the frame size exceeds that limit. Yep, instead of failing to send it kills the conn.
2. In websockets they are writing data completely async. Without any control handles.. No clue when the write starts, completes or fails. No callbacks, no promises, no nothing other feedback
3. In http requests they are splitting my request into multiple buffers. This fucks up the slack cluent, as I cannot post messages over 4050 chars in size . Thanks to the okhttp these long texts get split into multiple messages. Which effectively fucks up formatting [bold, italic, codeblocks, links,...], as the formatted blocks get torn apart. [didn't investigate this deeper: it's friday evening and it's kotlin, not java, so I saved myself from the trouble of parsing yet unknown syntax]
yes, okhttp is probably a good library for the most of it. Yes, people like it, but hell, these corner cases and weird design decisions drive me mad!
And it's not like I could swap it with anynother lib.. I don't depend on it -- other libs I need do! -
Yesterday I bought myself a PSP to relive some of my childhood memories, run custom firmware on it and so on. Unfortunately however, the battery on this one is seriously puffed up, and I need one in order to update the firmware from 5.50 CFW (the seller actually modded it too!) to 6.61 OFW (to then install CFW from there again).
I figured that I might as well have a kick at disassembling the battery for good measure, to take out its controller and power it from my lab bench power supply. I set it to 3.70V, double-checked the connections.. nothing. I raised the voltage to 4V, still nothing.
There is absolutely nothing wrong with the controller from looking at it. The magic smoke is still in there, all I did was removing the housing and snipping off the battery. I measured the cell voltage and it was only some residues at 0.01V. Might be internally shorted or something, normally even dead cells settle back at 3.7V unless you keep them shorted externally.
After seeing this so many times now with controllers, I'm starting to get a feeling that manufacturers actually program these things to look at the battery voltage, and when it reaches 0V, to just make the controller kill itself. Doesn't matter if the controller's electronics are still good, just fucking kill it.
If true, that is very, VERY nasty. It would also explain why batteries in laptops especially all have different form factors, despite having used regular 18650's internally for a very long time. It would explain why they're built like tanks. It would explain why manufacturers really don't want people in there. Yes there are safety issues and you're literally diffusing a bomb. Since recently we've also got space optimization.. anything for half a mm of thickness, amirite? But doing it this way is fucking disgusting. There is absolutely no reason for the controller to kill itself when the cell dies. Yet it seems like it does.
PS: I've posted the original picture on https://ghnou.su/pics/... now if you're interested. I noticed in my previous rant that devRant really squishes these down.12 -
When the only way to work, is thru a client's laptop, and the client has to be around to use it... F*CK!11
-
I like what I do for a living.
I build software, mostly from scratch or early stage products. Those are different industries, different companies, different technologies, frameworks and languages. Systems that impact economy in a different way.
When I develop software I am picking different parts of same project and try to understand how companies earn money and what are advantages of their software. What are required regulations and requirements to sell the stuff.
How the money flows from client and what they’re changing for. I especially try to understand stuff from business perspective.
When I pay my debts and luckily be still alive but unemployed and with minimum income from stocks / properties rental I will have plenty of time to duplicate many of those businesses.
I picked programming cause it’s touching all parts of economy basically without any skill requirements and certifications. It’s young impactful industry that is luckily not yet regulated. You just need laptop, like to solve puzzles and have plenty of free time and you can create everything. Never forget about it.
Cloud corporations try to make people think differently but it’s just that simple.7 -
We work in a field full of pretentious bitches, messed up egos, and fucking over inflated titles.10
-
CSS, I fucking hate you.
I fucking hate my job, because of you. I'm pulling my hair out every day, all day because I have to put up with your bullshit. If it weren't for you, I'd probably enjoy design.
You're not even programming. You're the mistake that happened when web-design developed too rapidly for the devs at the time to keep up and produce intuitive, functional tools. That, or they were just fucking sadists.
You're a band-aid that's started to rot, but we just keep sticking pretty stickers over you and pretending like the wound isn't festering.
I wish I could spend more time learning C and C++. Then I could go get a real job as far away from you as is virtually possible.
. . .
Look, just this once - just for today - could you please do what I fucking ask you to. I mean, I'm just asking you to do your fucking job. That's all.22 -
Why did I choose to be a web dev?
I didn't. That's the first job I found, and I didn't wanna starve4 -
Manager: "Can we get an accurate report on how many containers we have on the Kubernetes cluster?"
Me: "Well not really since Kubernetes is designed to be dynamic and agile with the number of resources and containers being created and deleted being subject to change at a moment's notice."
Manager: "I want numbers"
Me: "Okay well if we look at a simple moving average over time, we can see how the number of containers changes and then grab a rough answer from that"
Manager: "These numbers look a little round, are you sure these are exact?"
I'm going to throw myself into a pile of used heroin needles and hope i get stuck with whatever the hell this guy has to somehow be a manager while also being this retarded.15 -
The moment when you are tasked with finding a new person to your team for the lower position than yours and you check the going monthly rates on the job market just to realize that they are higher than yours is.9
-
The debugging process is often complicated.
There are often many factors involved in troubleshooting an error, but usually I have a hunch.
Sometimes I'll ignore my hunch and try other, smaller fixes first. This will irritate me for a while until I actually go after my hunch, run the program, and INSTANTLY everything works again.
Found myself relating that to real life today when I had a slight belly ache and eventually decided to take a massive shit and INSTANTLY felt better. The relief was so quick that I actually looked up and paused in surprise.3 -
because i saw the potential ((and) power) of games since the first moment i ever moved my joystick in one, and i wanted to be a creator of such powerful magical universes.
-
I find it weird that for C floats, -0<+0 is not true. Had to write a little bit of extra code to enforce this.
-0 could represent an incrementally small number below zero but greater than the next lower quantisation level.4 -
I ended becoming a backend engineer because I love designing backend systems. High Level Design is ❤️
Also, I just don't have the patience required to conquer CSS 🤯😤5 -
It is very hard to make me mad.
But if you imply I "didn't do anything" or that my job is "easy" because all I do is just ”sit in front of a computer” 9 to 10 hours a day then you can go fuck yourself.15 -
I figured out that I like full stack because I don't like ignorance about software layers, when I know how that record goes from DB to the table in HTML my mind is at piece. 😌
-
That moment when you realize that writing “that moment when...” is because you’re too passive and insecure to just say what you really want to say...7
-
Ahh the gems you find in codebases where only one person each is in charge of the frontend and the backend.16
-
Reminder that having a high level education, or even a PhD, doesn't mean you're smart, intelligent or in any way competent.6