Details
-
AboutComputer Science student and Math lover.
-
SkillsI was ending up becoming a front-end developer, now I'm thinking to become a farmer after uni.
Joined devRant on 3/4/2017
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
-
None. As soon as I hear about a new trend I fear it. I fear the huge amount of Medium articles I would encounter...
-
If you asked me two months ago I'd have said building and using a Barnes Hut tree with CUDA.
Today my answer is working on a fuzzer with LLVM without knowing shit about either C++ and compilers. -
Ok guys time for a big question.
About 1yr ago I had a burnout. Since then I've been avoiding online communities, social medias, the phone itself and if I hadn't to graduate I'd have avoided my pc as well.
So, recently I reopened "the web" and I feel like Fry from futurama.
What the fuck are NFTs? Images for sell? Blockchain related stuff? Why is everyone talking about them? And why is everyone talking about web 3.0? And why none says anything good about it? Is this related with NFTs?
If I google this shit out I get only ELI5s, so I'd appreciate if anyone could Explain Like I'm A Software Engineer.
Thanks for your patience49 -
Every work experience so far.
The first one... Internship abroad, very messy codebase, almost no code review.
At the end I was so tired I started watching movies during worktime. -
Best
- got sick of computers, lost all my passion for this field
Worst:
- got sick of computers, lost all my passion for this field
I hope I'm just tired.3 -
University, first Java practical lesson.
I'm sitting near this guy, clearly hyped up because he managed to install his first linux distro earlier.
After 5 minutes he asks me how to do the task the Professor assigned that morning.
I'm playing dumbass in my head, thinking stuff like "oh big boy installed ubuntu but can't declare a fucking Rectangle class in java lol" (what a dickhead).
I helped him, and then proposed to go out for a quick smoke.
Turns out we're very similar, hyped as hell with linux (like I was at the time), with same CS interests. Still texting sometimes. -
How do you deal with a peer who wants to write a bad code just because he doesn't understand the better way to write it or he just doesn't want to?
Suppose you're not in a company, so there's none above you two, like you're freelancers or in a uni team for a project4 -
Mantain a huge bad designed and worse written full stack project.
It was an internship and I was paid pretty well. It still lead me almost to a burnout; while sleeping I used to dream the project
They hired me a couple of months later to redesign it from scratch. I only rebuilt the db and I made a sweet job. 85 reduntant tables reduced to 30.
Then they fired me because they couldn't afford me. Still got paid well enough1 -
Once I configured someone's bashrc so that everytime he opened the terminal he would get a creepy ascii art version of Sans from Undertale. We both are big fans.
A nice prank vould be starting sshd on someone else's pc and changing stuff here and there the whole day.
Of course "don't do this at home", I suppose it might be dangerous and I have no idea how to do it in a safe way.1 -
Ok now I'm gonna tell you about my "Databases 2" exam. This is gonna be long.
I'd like to know if DB designers actually have this workflow. I'm gonna "challenge" the reader, but I'm not playing smartass. The mistakes I point out here are MY mistakes.
So, in my uni there's this course, "Databases 2" ("Databases 1" is relational algebra and theoretical stuff), which consist in one exercise: design a SQL database.
We get the description of a system. Almost a two pages pdf. Of course it could be anything. Here I'm going to pretend the project is a YouTube clone (it's one of the practice exercises).
We start designing a ER diagram that describes the system. It must be fucking accurate: e.g. if we describe a "view" as a relationship between the entities User and Video, it MUST have at least another attribute, e.g. the datetime, even if the description doesn't say it. The official reason?
"The ER relationship describes a set of couples. You can not have two elements equal, thus if you don't put any attribute, it means that any user could watch a video only once. So you must put at least something else."
Do you get my point? In this phase we're not even talking about a "database", this is an analysis phase.
Then we describe the type dictionary. So far so good, we just have to specify the type of any attribute.
And now... Constraints.
Oh my god the constraints. We have to describe every fucking constraint of our system. In FIRST ORDER LOGIC. Every entity is a set, and Entity(e) means that an element e belongs to the set Entity. "A user must leave a feedback after he saw a video" becomes like
For all u,v,dv,df,f ( User(u) and Video(v) and View(u, v, dv) and feedback(u, v, f) ) ---> dv < df
provided that dv and df are the datetimes of the view and the feedback creation (it is clear in the exercise, here seems kinda cryptic)
Of course only some of the constraints are explicitly described. This one, for example, was not in the text. If you fail to mention any "hidden" constraint, you lose a lot of points. Same thing if you not describe it correctly.
Now it's time for use cases.
You start with the usual stickman diagram. So far so good.
Then you have to describe their main functions.
In first order logic. Yes.
So, if you got the point, you may think that the following is correct to get "the average amount of feedback values on a single video" (1 to 5, like the old YT).
(let's say that feedback is a relationship with attribute between User and Video
getAv(Video v): int
Let be F = { va | feedback(v, u, va) } for any User u
Let av = (sum forall f in F) / | F |
return av
But nope, there's an error here. Can you spot it (I didn't)?
F is a set. Sets do not have duplicates! So, the F set will lose some feedback values! I can not define that as a simple set!
It has to be a set of couples, like (v, u), where v is the value and u the user; this way we can have duplicate feedback values in our set.
This concludes the analysis phase. Now, the design.
Well we just refactor everything we have done until now. Is-a relations become relationships, many-to-many relationships get an "association entity" between them, nothing new.
We write down on paper every SQL statement to build any table, entity or not. We write down every possible primary key or foreign key. The constraint that are not natively satisfied by SQL and/or foreign keys become triggers, and so on.
This exam is considered the true nightmare at our department. I just love it.
Now my question is, do actually DB designers follow this workflow? Or is this just a bloody hard training in Pai Mei style?6 -
I have no words to describe how I'm feeling these days. I have to do a C project for uni.
After a couple of years dealing with web dev, javascript, typescript, angular and stuff, for the first time I have a project where I have to deal with only two problems:
1) my code
2) my machine
No tools, no bloated libraries, no webpack, no json configurations, no tutorials.
It's just me, vim, gcc (actually nvcc, it's a cuda based project, but still) and the cuda manual.
I feel I'm actually building something.
Plus, the guy I'm doing the project with is cool with this stuff and most important he's open minded.
I'm happy9 -
I often see desk setups where there is a screen on the top of everything.
Isn't that really dangerous for the eyes? Afaik you should always look down when looking at a screen10 -
Shower thought
I'm pretty sure flutter is going to drop the app prices due to how it's easy to build a ui.
What ia going to keep their price high is a good and innovative graphic design5 -
Some time ago in a telegram group a guy triggered me when he complained that "most students after the degree have no idea how to correctly implement the mean of a series of numbers".
Then he asked: "does anyone here know how to do it?"
Three people answered, including me, none gave the correct answer.
Eventually I got it, but now...
How many people here know how to implement the mean of a series?16 -
That moment you realize you are at the end of that period of life when you have a lot of free time...
I recently moved and live on my own. I'm still studying and I'm finding small jobs as a developer (I make the money I need to live). So far so good, but recently I found out that the career path I'm taking it's not what I actually want to do.
I do not regret it, I'm happy and I feel lucky comparing myself to others in my country.
But I can't stop thinking that the more I go on the less choices I can make freely and that growing up sucks sometimes.3 -
That moment on saturday morning when you realize what you missed for the last 5 months in the framework you are using at work and realize you can delete about 5000 loc with some refactoring...
Fuck guys I just got a huge Eureka moment that probably made me level up.11 -
I always knew somehow, without realizing it. Since I was a kid I always was fascinated by technological stuff.
My parents are into humanistic fields so they couldn't give me any good input to understand what I liked exactly.
One day I learned I cpuld tinker with stupid batch scripts until I read on some forum the word "programming".
I was like "wtf is that" and googled the word.
In that moment I realized what I was going to do in my life. -
Do you guys think that it would be possible to build a cryptocurrency that could replace traditional banking and money at all?
A non anonymous cryptocurrency, that could guarantee enough privacy to not be used for surveillance but at the same time could be used by common people.
I had this thought recently but at the time of writing ( :P ) I haven't enough knowledge and time to go deeper than this (meaning "nothing").14 -
Tl;dr I am incredibly ashamed of my code at work.
I recently started working as a junior dev. I know many aspects of the stack I use, and I feel pretty comfortable when solving simple and specific problems.
But this is the first complete project I make, and I received no peer review until now. And my code sucks.
I tried my best to deliver a good and working code, but it became messy in too many places. Now it's too late to refactor.
Probably I just cannot see the right way of modeling specific situations, I don't feel I should blame the frameworks I'm using, but the point is that my code sucks. Or at least this is how I feel.
I'm going to leave this workplace soon (personal reasons, not related to this topic and/or the company), and I am kinda scared of the shit I'm about to leave to them. It's a very nice environment and they don't deserve this crap. Also I have some other good reasons to worry about this, but I cannot tell them.
My plan is to finish a couple or personal stuff I have to do and then spend as many hours I can on the project trying to finish it asap and make the code better (for now I've been working only 6hr/day).
I'm really thinking that I just suck at this.12 -
"Keep Ithaka always in your mind.
Arriving there is what you’re destined for.
But don’t hurry the journey at all.
Better if it lasts for years"
https://poetryfoundation.org/poems/...
For the sake of clarity, I just hope I'll never "make it" in what I do. I just hope to keep going on learning, experimenting and discoverying.
Whenever I'll get tired I'll look back at my past and then I'll decide if I made it.1 -
I still don't get what the impostor syndorme is precisely, so either I'm good enough to not get it or I constantly sell myself as an impostor.
Edit I think I fucked up english grammar...3 -
Read. Everything. CAREFULLY.
And do some research if needed.
Books are there for a reason.
Seems pretty obvious, uh?