Details
Joined devRant on 7/7/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
-
[least fav part of wfh]
Not being able to have a conversation with coworkers.
No whiteboard.
No spaceous modern desk setup.
No distraction free environment.
No free coffee and lunch.
No 1500W sound system.
No 2gbps internet.6 -
I have successfully replaced python as my "i have an idea and i want to get it running fast" language with scala2
-
You know those youtube channels that just read r/askreddit threads word by word? Yeah i fucking hate them so im automating that shit.
This is how far im right now, the images and voices are generated, now just have to somehow grab some vlog music randomly and automate video creation.
https://youtube.com/watch/...9 -
Few days ago i niticed one of my (site) accounts was deleted for inactivity. I thought fuck it, ion use that site, lets have fun. I wrote an email to get it restored:
"Sorry i got ass cancer and it took dr lil pump 2 years to cure me and couldnt use the site from the hospital"
Today, i got an email that i got my account back.4 -
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 -
!rant
It's weird how a tiny gesture from someone you care about/like is enough to make your whole day.2 -
Ocaml, the strictest language when it comes to types i have ever seen, parses a string to a general json object in around 5 loc.
Take notes java.12 -
A lot of engineering fads go in circle.
Architecture in the 80s: Mainframe and clients.
Architecture in the 90s: Software systems connected by an ESB.
Architecture in the 2000s: Big central service and everyone connects to it for everything
Architecture in the 2010s: Decentralized microservices that communicate with queues.
Current: RabbitMQ and Kafka.
... Can't we just go back to the 90s?
I hate fads.
I hate when I have to get some data, and it's scattered on 20 different servers, and to load a fucking account page, a convoluted network of 40 apps have to be activated, some in PHP, others in JS, others on Java, that are developed by different teams, connected to different tiny ass DBs, all on huge clusters of tiny ass virtual machines that get 30% load at peak hours, 90% of which comes from serializing and parsing messages. 40 people maintaining this nightmare, that could've been just 7 people making a small monolithic system that easily handles this workload on a 4-core server with 32GB of RAM.
Tripple it, put it behind a load balancer, proper DB replication (use fucking CockroachDB if you really want survivability), and you've got zero downtime at a fraction of the cost.
Just because something's cool now, doesn't mean that everybody has to blindly follow it for fucks sake!
Same rant goes for functional vs OOP and all that crap. Going blindly with any of these is just a stupid fad, and the main reason why companies need refactoring of legacy code.12 -
The worst career choice I ever made was walking away from a six figure salary software development job with benefits to focus on the small startup I co-founded just a few years earlier. My wife and I had two small children at the time and my wife was also nearly 8 months pregnant with our third. It resulted in an approximate 70% reduction in income, prematurely cashed out 401k and loss of existing health insurance.
To be fair, it was also simultaneously the best career choice I ever made. Three years later I make more now than I originally walked away from. The raw roads of stress, anger, fear and complete uncertainty have aged both me and my wife at an accelerated rate but we have grown closer to each other than we would otherwise be. We have relied on each other, and she has been unbelievably supportive with all the late nights and required traveling. We discovered what we are capable of. In one day it will be October. In one day it will be the month that we finally pay off our last batch of credit card debt that resulted from that career choice.
I cannot recommend following in our footsteps as from where I’m sitting there are much better, more calculated ways of going about it. Logically, what we did was beyond stupid. Luckily for us, we were still young enough to not grasp the full magnitude of stupidity and we also refused to fail. It’s also crucial to have stellar business partners who are just as crazy and just as determined. We have all labored tremendously and we have each played critical roles in our success. The hard times of fear and uncertainty aren’t over. I don’t think they will ever be, to be honest. But, it sure has been one hell of a ride. I wouldn’t change a thing.17 -
Yes Linus Torvalds is an asshole and the world is better because of it.
In short Linus's acid takes on code quality over developer fee fee's might be one of the things that has made the Linux kernel and the GNU/Linux project such a long lasting open source success and in my opinion the risk of him falling for all this "let's be nice and non offensive" bs trend may impact negatively on code quality.
Being an asshole has it's downsides and it's not always the best response, I'll give you that, but personally I think most of us who are viewed as assholes are seen like that because we put quality over convenience, facts before feelings and dedication over mediocrity; it is not because we hate you, it's because we measure ourselves with the same stick.
It depends on one's character, but when you've been toughened up because of bullying(I don't doubt many devs have been since being a nerd has never been hip) or life in general, you learn to stop whining & pick yourself up and you expect everyone to be competitive and competent as you are and it gets frustrating to manage people who don't fulfill your expectations.
Pros: You get shit done and you do it well.
Cons: People won't like you and you don't tolerate failure (much less mediocrity).
Yes Linus is an asshole, my coach was an asshole, some of my best teacher's have been assholes, I had friends who were assholes, heck I'm an asshole!
But I thank them because they made me better than I was, just as people have thanked me for being the right amount of asshole.
A warm thank you and fuck you Linus, keep being the asshole we need.36 -
Let the student use their own laptops. Even buy them one instead of having computers on site that no one uses for coding but only for some multiple choice tests and to browse Facebook.
Teach them 10 finger typing. (Don't be too strict and allow for personal preferences.)
Teach them text navigation and editing shortcuts. They should be able to scroll per page, jump to the beginning or end of the line or jump word by word. (I am not talking vi bindings or emacs magic.) And no, key repeat is an antifeature.
Teach them VCS before their first group assignment. Let's be honest, VCS means git nowadays. Yet teach them git != GitHub.
Teach git through the command line. They are allowed to use a gui once they aren't afraid to resolve a merge conflict or to rebase their feature branch against master. Just committing and pushing is not enough.
Teach them test-driven development ASAP. You can even give them assignments with a codebase of failing tests and their job is to make them pass in the beginning. Later require them to write tests themselves.
Don't teach the language, teach concepts. (No, if else and for loops aren't concepts you god-damn amateur! That's just syntax!)
When teaching object oriented programming, I'd smack you if do inane examples with vehicles, cars, bikes and a Mercedes Benz. Or animal, cat and dog for that matter. (I came from a self-taught imperative background. Those examples obfuscate more than they help.) Also, inheritance is overrated in oop teachings.
Functional programming concepts should be taught earlier as its concepts of avoiding side effects and pure functions can benefit even oop code bases. (Also great way to introduce testing, as pure functions take certain inputs and produce one output.)
Focus on one language in the beginning, it need not be Java, but don't confuse students with Java, Python and Ruby in their first year. (Bonus point if the language supports both oop and functional programming.)
And for the love of gawd: let them have a strictly typed language. Why would you teach with JavaScript!?
Use industry standards. Notepad, atom and eclipse might be open source and free; yet JetBrains community editions still best them.
For grades, don't your dare demand for them to write code on paper. (Pseudocode is fine.)
Don't let your students play compiler in their heads. It's not their job to know exactly what exception will be thrown by your contrived example. That's the compilers job to complain about. Rather teach them how to find solutions to these errors.
Teach them advanced google searches.
Teach them how to write a issue for a library on GitHub and similar sites.
Teach them how to ask a good stackoverflow question :>6 -
Looks like Linux is going the way of Python.
http://archive.fo/1iGmk
And Linus is probably being pushed out.
https://archive.fo/lMcUA16 -
Some empty-headed helpdesk girl skipped into our office yesterday afternoon, despite the big scary warning signs glued to the door.
"Hey, when I log in on my phone, the menu is looking weird"
"Uh... look at my beard"
"What"
"Just look at this beard!"
"Uh.... OK"
"Does this look like a perfectly groomed beard"
"Uh... it's pretty nice I guess"
"You don't have to lie"
She looks puzzled: "OK... maybe it could use a little trimming. Uh... a lot of trimming". "I still like it though" she adds, trying hard to be polite.
"I understand you just started working here. But the beard... the beard should make it clear. See the office opposite to this one?"
"Yeah"
"Perfectly groomed ginger beards. It's all stylish shawls and smiles and spinach smoothies. Those people are known as frontend developers, they care about pixels and menus. Now look at my beard. It is dark and wild, it has some gray stress hairs, and if you take a deep breath it smells like dust and cognac mixed with the tears caused by failed deploys. Nothing personal, but I don't give a fuck what a menu looks like on your phone."
She looked around, and noticed the other 2 tired looking guys with unshaven hobo chins. To her credit, she pointed at the woman in the corner: "What about her, she doesn't seem to have a beard"
Yulia, 1.9m long muscled database admin from Ukraine, lets out a heavy sigh. "I do not know you well enough yet to show you where I grow my unkempt graying hairs... . Now get lost divchyna."
Helpdesk girl leaves the scene.
Joanna, machine learning dev, walks in: "I saw a confused blonde lost in the hallway, did you give her the beard speech?"
"Yeah" -- couldn't hold back a giggle -- "haha now she'll come to you"
Joanna: "No I already took care of it"
"How?"
"She started about some stupid menu, so I just told her to smell my cup". Joanna, functional alcoholic, is holding her 4pm Irish coffee. "I think this living up to our stereotype tactic is working, because the girl laughed and nodded like she understood, and ran off to the design department"
Me: "I do miss shaving though"68 -
My 80 year old very absent minded dad made a website, all by himself, using a two decades old book he got from the thrift store.
He's even hosting it himself on an old laptop running Debian, including a redirect to a beautiful nostalgic /~username/index.htm url (not gonna share the link, because his personal details are on there).
The whole site is incredibly carefully crafted, and I'm super proud of him.
Who cares if it's not a React app? The 14 kilobytes of HTML 4.0 markup load in 20-30ms, and it renders pretty much perfectly in every browser including Internet Explorer 4 and Edge.
🤷♂❤️36 -
People in my office sing me praises for what I can do with Linux even though I joke with them that “I have no idea how to do that - but give me half an hour and an internet connection and I’ll figure something out for you.” I even once specifically said in response to my boss commenting on my skills, “You do realize that I just like…google stuff when you ask me to do something with Linux that I don’t know how to do, right?”
But his praise didn’t change at all. There was no “Wait, that’s all it is?”
Instead, he said “Yes, but the fact that you think to do that - and that you know exactly how to phrase your searches and how to sift through the results to get the right answer, and you then integrate what you’ve learned and use it going forward - is still so much more than any of the rest of us can do. To you, it’s “just googling stuff,” but it’s still a unique and valuable skill you bring, so don’t shrug off the compliments so cavalierly, okay?“
And this was coming from an executive with an MBA. Don’t undervalue your googling skills, kids. It’s not lying if you know you can figure it out.8 -
Ladies and Gentlemen,
I present you the API I'm working with...
That's a pretty fucking useful error description right there.20 -
Storytime!
I got a ticket near the end of the day, asking to install a printer on a computer. The branch in question was in a different time zone (I'm in US-Pacific [GMT-07] and the computer was in US-Eastern [GMT-04]). I figured I wouldn't worry about it; after all, I had other tickets to work on that were much higher priority.
The next day I come into work and immediately get a message from one of my East Coast coworkers, telling me that this branch is calling and asking how the printer is coming. I told him to tell them I would call them a bit later. I do a couple of easy jobs and then begrudgingly call the branch. I listen to the phone tree that they have (which requires two button presses instead of one in order to speak with someone) and finally get in contact with a person... only to have the call disconnect.
I call back and ask for the person who called in the ticket and then followed up, who had apparently gone to lunch. I informed the person that I was just going to install the printer and it would be good to go. This would be fine... up until she mentioned she needed scanning functionality.
Now I wasn't sure if the driver we have in AD is set up with the scan functionality, so I said okay, but that meant I would have to get the driver from the website. The connection to our branches are about 1Mbps, so even downloading Java updates (60-ish MB) take about 5-10 minutes on a good day. The file for this printer was about 700MB (thanks HP). So I went and did other stuff while that downloaded.
I come back after it finished and started the install process. Right away it asks to re-seat the USB cable. So I call the branch. The call disconnects. I call again. It disconnects. I call one more time, and finally get the person who called the ticket in. I instruct him to re-seat the cable. He does. The driver starts doing its thing. I tell him I'll call back if I run into any issues and we hang up.
The driver goes through the install process for about 20 minutes, stops at 99%, then fails. I want to restart the computer, just in case there's a conflict somewhere, but that would require calling the store again, so I put it off.
About an hour later I get a message from another East Coast coworker, telling me the branch is calling about the printer again. I was in the middle of another call and said I would call back later. I do. It disconnects. I call again, and get the person who called the ticket in again. I tell him I want to restart the computer, but wasn't sure if it was okay. He checks with the people using it, who says it's okay, so I reboot. I hang up.
Once the computer comes back up I start the install process again. It asks to re-seat the cable. Fuck. I don't want to call the store again, so I open notepad and say "Please take out the printer's USB connection from the back of the computer."
Three. Fucking. People. Saw it. They moved the window and one even tried to close it, but they didn't re-seat the cable. I opened another window, telling them to call me at my number. They didn't. I called them. Got disconnected. I called them again, finally got someone, told them to re-seat the printer cable again. They do, thank god.
I say thank you and hang up. Continue the installer. It stops at 99% again and fails. I reboot the computer; screw it, I'm just going to install the driver from Active Directory. Check Devices and Printers. It's installed successfully. Hallelujah!
I get the printer set up for the various programs they use and print a test page. I call them one last time; their phone system sounding like they were connected via an underwater line connected by tin cans. I get someone.
$me: Hi, I want to know if the printer has printed something.
$them (garbled): -et me shee... yesh, it -rint-d a *beezelborp*.
$me: Perfect, I'm going to close this ticket! Thanks, goodbye! *hangs up*
tl;dr - I hate printers