AboutComputer science student trying to keep his passion of programming alive. It's been hard.
SkillsI like Rust, but I have to use JavaShit because web dev
Joined devRant on 12/12/2019
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
Bad dev habit: using a bazillion console.log/println like a caveman instead of using a proper debugger.9
I've been using go for two days and I'm already pissed at it. Don't get me wrong, I like the language itself, I love the simplicity, the tooling and frameworks are the problem. Like, why does everything have to be so hard?
Why do I have to spend around 4 hours in total just to configure a fucking linter?
Why does everything have to live inside the fucking GOPATH?
Why the fuck can't I put a src/ folder in my project so I don't mix code with config files, docker files, etc?
Why the hell does documentation for frameworks/libraries/tools suck so much? Looking at you Gin and Gorm.
Why can't gin-swagger just find out what routes I have?
I must be either dumb or chosen the wrong frameworks and libraries, but the "development experience" I'm having sucks. Nothing works first try and documentation is shit and vague.
I want to like the language, but I can't, at least not if it's always going to be shit like this. Does it get better? Am I just a noob? Or should I just jump ship and look for something else?4
Like, I get it, js makes it easier to find developers and speeds up development, but writing a compiler to run on node? That doesn't make any sense to me. Typescript is taking ~11s to compile a medium-sized project, out of which ~9s are just type-checking (if I disable type-checking it takes ~2s to compile). Even Rust, which is considered to have a slow compiler (because of the borrow checker I assume) takes less time to compile a project of roughly the same size.
This is getting very irritating. If I want to keep type-checking, every single time I make a change on a single file I have to wait 11s before any tests start running. This was heavily affecting my productivity (and sanity), so I decided to disable type-checking and threw out the window 90% of Typescript's advantages.
Why the hell wasn't typescript written in an actually performant language? Just so you could say that typescript is written in itself? I don't get it, I really don't.15
"How about we don't do it this way because I have undone what you did and have redone it in a stupid way and if we have to do it the correct way we'll have to undo MY work, so let's just keep it like it is, ok?"
Really? And one of your arguments is "because it's working now", bitch it was working before, you just didn't read my code.
I'll give you the benefit of the doubt though, I don't think you did this on purpose, you were tired yesterday, I get it. But still, could've talked to me before deleting all my code.
I'm not that mad though, I got paid the same and still found a nice pattern I can use on my own future projects, it just won't be used at work.
I kinda hate my life right now.
I hate my job: I've been working as a flutter developer for a month and a half (even though I was hired to do backend) and I discovered I don't like frontend, it doesn't give me enough challenges. Every once in a while I have to do something complicated and have fun working, but most of the time it's just boring layout shit.
I can't do any side-projects, everything bores me. I want to get into really low level programming so bad but the steep learning curve makes me lazy.
I don't feel like I'm doing enough. I'm learning quite a bit about flutter, but I don't want to work with that, I hate it, so I feel like I'm just wasting my time. I'd like to work on something complicated and meaningful, like developing flight systems for rockets or whatever, but there's sooo much road ahead of me I just feel like I'm never gonna make it, plus I have to be very smart to do that and I'm starting to think I'm not as smart as I thought I was. I've been programming for almost 10 years now, but I can already see my college friends getting practically on my level in 2-3 years. I can't let that happen and this thought is making me stressed and burning me out. Programming is literally the only thing I'm good at (or at least I think I am), if I don't have that I don't have anything, because I suck at everything else (I'm not exaggerating, I wish I was though).
I can't see friends because of the corona. I've met with friends about 7 times in a year and I havent been with a girl god knows since when. Meanwhile, practically everyone I know is partying, having fun, going to the beach and I'm here, at home, typing this fucking rant and feeling sorry for myself.
I also wanto to get fit but every time I try to do so something happens and I have to wait 2 months in order to start again.
There isn't anyone I can trust enough to share some feelings and thoughts I have and this is eating me up.
I am unhappy and have been like this for a while now. Every once in a while I smile, yes, but most of my day is endless boredom either because of work or the lack of it. I just want to go back to normal, I don't want to think about my future, I want someone to talk to, I want to be able to cry.
I hate this.20
Coworker: let's use Result monads in the project so that we're forced to deal with exceptions
Me: okay, sounds great!
Me: *implements Result monads *everywhere**
Coworer: how about we don't use results anymore in half the project? It makes the code look ugly. Let's just use exceptions.
Really? Why in your mind is it okay to only force us to handle a few exceptions and others we can just say fuck it and let them wander around?
Oh you want to use try-catch for these other exceptions.
So now we're back at square one, which is trying to remember/figure out which exceptions any method can throw (since the compiler doesn't do shit, not even warnings), but now we also have inconsistent and much less readable code. Isn't it great?
I also can't do much about it, because I'm just a fucking intern and I do not want to cause trouble, so I just try to say that I disagree with it in the most polite of ways and that's that.4
If you received an offer for a new job and asked your current boss for a raise to match the new offer, would you tell him/her the real amount or would you inflate it by ~5-10% (or any other arbitrary amount)?
Would that be considered negotiating in bad faith?
I'm not in this position right now (unfortunately), I'm just genuinely curious about what you all would do in this situation.11
Am I the only one that lives in fear of friends/colleagues finding out I'm on devrant?
I've already deleted a few rants in which I described something that happened between me and someone else in fear that they might find out.17
Why use an Accept header when you can do this, right?
I'm already feeling it, I'm gonna have a great time with this API15
Coworker wanted to explain something to me on a discord call just when I grabbed a bowl of milk and cereal.
It's all soft and mushy now 😔
On another note, today was my first day on the job 😁3
Today I decided to turn an RFC5545 RRULE implementation I had made a few months back for a project in Rust into a cargo package, it would have made a fine addition to my portfolio since I was positive some people would find it useful. Turns out someone else had the same idea as me around the same time I did, but already published a package with it and, worst of all, the dude seems to have made it better than I ever could.
Welp, guess I'll just throw my code away, use his package in my project and maybe contribute a bit to it if I find any issues.
Me: I know it sounds cool in theory, but it sucks in practice, trust me
Friend: no way, dynamically typed languages are the future
*Friend installs node*
*Friend writes a simple script*
*Friend gets undefined errors because of a few typos and has a hard time debugging it*
"Where an expression’s main job is to produce a value, a statement’s job is to produce an effect."
That's the cleanest way of explaining the difference between expressions and statements I've ever seen. Kudos to you, Bob.
craftinginterpreters.com if anyone's interested.2
I have some good, no, great news I forgot to share yesterday:
Drum roll 🥁🥁🥁🥁
I just got my first job as an intern!!!
I'll be developing their product from scratch along with a few other devs, it's gonna be awesome. My primary occupation will be as a backend dev, but I'm also gonna help a bit on the frontend.
They also said they won't micro manage me, they just want me to deliver their tasks, so I can work whenever I want and not necessarily 6 hours a day. I'm a bit skeptical here because that sounds like they're gonna overwork me, but they also said they don't want to get in the way of my studies in college, so idk. It seems like a really nice place.
It's going to be remote work and the pay is also very good for an internship.
All of it seems way too good to be true, there has to be a catch... I'll find out in time, just let me be happy for getting my first actual job ever ok? Just for a few days.
Anyways, I'm just so fucking happy with this and wanted to share it with ya :)7
Fucking useless bots.
I need a bit of help in getting some documents from my University, so I go into their site and they have a WhatsApp support number. Perfect, I think to myself. So I send them a message with my question and a fucking bot answers me with a list of categories for my question, none of them matching my question. So I answer the "Other" option and it just sends me a FAQ link. Like what the actual fuck? I contacted the fucking number because I need help from a damn human, not a fucking FAQ link you useless waste of server resources.2
Fucking hell everything in java is so annoying, confusing and hard to get working. I just want to use JavaFX, why do you require me to sacrifice a lamb in order to do so? It might be my fault though, but c'mon, I don't want to spend 2-3 hours reading through shitty documentation in order to understand how maven works and what the hell Gradle is. Why can't it be as simple as adding a module name to a config file, like in Rust's Cargo? Even using intellij to acquire JavaFX and set it as a dependency doesn't work, it gives me some weird "JavaFX not configured" bullshit error. What the fuck, you're a library, you shouldn't need anything else ffs7
Want to know again how it felt like when programming for the first time? Learn Prolog, it fucking twists your brain inside out. It's pretty cool tho, very very challenging.3
So I'm basically fucked.
There's a major bug on an SPA I developed for a client, but I can't reproduce it because I don't have a recent iPhone or iPad (the only ones I have a way too old and either way I can't debug them without a mac) and I can't reproduce the bug on my android.
To overcome this in the past I installed a hackintosh on my pc and used it's iphone emulator, but I fucked it up and had to reinstall all my OSs but was too lazy to reinstall macos. Now I don't remember how to install it anymore, idk where I downloaded the fucking mojave virtual box image and the macos bootable usb stick I have just doesn't work anymore (probably some missing kext or whatever).
I really do not know what I'm gonna do. There's this ios-webkit-debug-proxy thing that might help me, but it just looks like it's a hassle to install and since I don't know what I'm doing the chances of it working are pretty slim. I might try that but I'm fairly confident it won't work. And even if it does, I still can't install chrome on the iphone I own because it's too old and my dad probably won't let me upgrade it to a new version.13
I bring you all another gem from my computer science course, this time from my OOP class.
The first assignment we made for this class was a simple CLI shop, where you would have basically three main classes:
- A Product class that you extend to create different types of products.
- A Cart class that manages a list of products (basically an ArrayList<Product>) and has some useful methods
- A CLI class to display a simple interface to the user and call methods on a Cart.
Basic OOP stuff, so far so good.
Then for our second assignment the teacher asked us to make Cart a generic class, where you would say Cart<Bagel> and you would only be able to put bagels in it. This makes absolutely no fucking sense, this is not a good use case for generic types since
1) you would never limit your customer's cart to one type of product at compile time.
2) in Cart, you have to cast the generic type to Product to extract any information from the product, like when getting product prices to calculate the total price, so might as well use a fucking ArrayList<Product>
I'm just saying what he's asking us to do has (to our fictional shop's business logic) absolutely no advantage over subtyping.
Also, why the fuck teach generic constraints when you can just tell your students "just cast T to Product", right?
Like fucking hell, couldn't you spend like 10min to come up with a decent assignment that actually teaches generic types the right way? ffs
And just so no one can say "but wut simple assignment would you give to teach students generic types?", here's a simple and much, much better alternative: implementing your own ArrayList. Done. Can't get much better than that, it's a legit use case and teaches you the basics.
Sorry man, you're a great person, you really are, but you suck as a teacher.3
Just lost like half an hour debugging an issue because I was using .pop() to get the last element of an array, but not intending to remove the element from the array. I wish typescript had immutable references... Rust kinda spoiled me there.2
I'm tired but I don't want to go to sleep because I'm working on a pretty complex algorithm and, even though I'm writing the cleanest code I can with lots of comments, I feel it's going to be a pain in the butt to understand what's going on tomorrow
Just had a great interview :)
The guy was really cool, asked actually relevant questions (my learning process, what I specialize in, etc), talked about the tech they'll be using and none of that "wHaT aRe YoUr WeAkNeSsEs?" bullshit.
He seemed to like me, he seemed to like the fact that I've been programming for a long time even though I'm in my second semester in college and he also seemed to like that I'm somewhat of a Swiss army knife, a jack of all trades but master of none.
I just I was a bit too informal in the interview but whatever. I'm not taking this very seriously, if I get the job I get the job, if I don't that's fine too.6
Don't you love when there's a teeny tiny little bug in your code that's not very important but you want to get fixed because you're a perfectionist so you start inserting log statements and it magically fixes itself and stays fixed even after removing the log statements? So now you have to live in constant fear that the bug will appear again and you will never be able to fix it.
Abfjancnancnamxhajd fuck this, fuck js, fuck webpack. It was probably a fucking cache issue but who knows, fuck everything.8
When people (mostly girls) ask me what I study in college and immediately answer themselves with "oh it's IT or something like that, right?" a part of me just dies. They literally think I'm studying how to work at help desk or fix printers. I'm not even exaggerating, a girl once told me she actually thought that. I'm not sure if she's just dumb as fuck or if most people actually think that about computer science, hopefully it's the former...16
Any recommendations for introductory books on electrical engineering? I'm looking for something that goes into detail on the basics: tension, current, resistance, inductance, capacitance, etc. I have very little knowledge on the subject (I know what the basic components do and that's it) and I found myself struggling a bit with the most basic concept: voltage.
I grabbed my multimeter, a few resistors and a battery and played around a bit. For some reason it doesn't really "click" why on a 5v circuit with 3 2.2k ohm resistors (I think) the voltage around each resistor was like ~1.3 volts or something, while on a circuit with 2 resistors the voltage accross each one was ~2.3 something volts (I don't remember exact values). Like, I know that voltage is a difference in potential, but I still don't get it and idk what I'm missing. Why is the difference in potential accross a resistor different if the circuit has 2 resistors in series instead of 3. It kinda makes sense in my head but at the same time it doesn't.
In short, I want to know the "why" stuff works the way it does, not just the "how".
Also, if the book covers common practices, components, and circuits that'd be very helpful. I want to learn how to build well-designed, reliable and safe circuits.12