Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "keep the head cool"
"devRant has changed" "I'm so fed up with this site" "Its a bunch of hate and memes, it was so much better before"
devRant is approximately the same as it was when it was just a newborn. Remember the days of semicolon jokes being unironically funny?
Look at the top rants of all time, for fucks sake. #2 ever is:
"A different error message! Finally some progress!"
Posted three years ago. That's the second most upvoted rant in history (Remember, this was a "rant" because the joke/meme category didn't exist back then), it made it's way into the app store screenshots, and was a welcome post.
Now imagine that posted today. It would probably go over okay, in fairness, but it's certainly at risk of any number of pretentious pricks complaining about how this is "devRANT not 4chan" or how they had seen the joke before and it's a shitty repost.
And sure, the repost bullshit is fair. I'm not saying that all the reposts are good content. What I'm saying is devRant has always been full of reposts - they just weren't reposts in the early days. The quality of content is the same.
There's also the common misconception that your posts need to be directly related to tech to post on devRant. This is a myth propagated by 0 IQ heathens that don't read any further than the name of the application. Your posts can be anything that isn't prohibited, like porn, spam, and, importantly, politics (commonly overlooked rule)
"All the memes are just too much". Oh you poor fucking baby, let me pour you a healthy serving of pity juice. First of all, you can turn off the memes category, and while they will still find their way to your feed, the concentration will be much lower and it will once again be bearable for your pitiful, weak little soul. Do you seriously get annoyed that severely by shitty posts that you need to leave the app altogether, or do you just want the attention of being a "cool hipster that hates on xyz"?
"This place is just filled with hate! Why can't you just respect xyz technology, it isn't actually that bad!"
This is probably the most stupid fucking thing you could possibly ejaculate from your fingers into whatever device you are using to type. Welcome to devRant, we hate on shit. That's at our core. No, xyz technology ISN'T actually that bad, you're correct. But we're here to tear it apart because it probably has frustrated us in the past. I fucking hate JS because it was my first language and it confused the shit out of me. JS is a great language. But I still talk shit about it, and that's what we're here to do.
Like seriously, I know a lot of people post stuff they're proud of here, and then they're met with "Would be great if you didn't use xyz tech", and that hurts, but holy shit, this is devRant. If you're sensitive to criticism, or even just straight up being made fun of, don't post shit that you're proud of. You won't have a good time. It's just not what we do here.
Quick interlude before the conclusion, "My girlfriend dumped me after I named a class after her. She felt I treated her like an object." is also on the first page of all-time most popular posts.
In conclusion, devRant has not changed. Reposts have been a nuisance since day 0, and just because reposts look different these days doesn't mean the quality of content has decreased in any manner. The two main sources of your frustration are the volume of low-quality posts (Mind you, not the concentration of them, but the volume of them) and your own prejudices about the platform. You're looking back with rose-tinted glasses.
Here are some tips for a more enjoyable experience:
-Make sure you have the "Hide reposts" setting ENABLED in settings. Any posts marked as repost will be hidden in your feed, pulling down the concentration of low-quality posts.
-Keep to the algo sorting method. Obviously, algo is a bot, and there's still gonna be some shit content in there anyways, but if you're in recent, you are absolutely guaranteed to see low-quality posts. It's unfiltered.
-Keep in mind that what you consider a "quality" post is not what others consider a "quality" post. Just because you don't like memes doesn't mean memes are poor content. There are people here who have never seen the bobby tables comic. And they deserve the same experience we got when discovering dev humor.
-Don't be a prick. And if you cannot help yourself, leave. Ironically, you're making the site worse by complaining about how bad the site is. You can always come back if you aren't a prick anymore. And you can leave permanently if you choose as well.
-Downvote and move on. You're not doing anything but making yourself more aggravated by leaving a shitty comment about how shitty the shitty post is.
-Think critically. Obviously optional, and I know not many people like to use their brain when a phone is suspended between their hands, but if you want a better experience, remember to use your head and not to lose it.31
Before I took on my current position (internal transfer), I stated that for what my boss asked for I would need a small team.
He agreed to that and promised I would get 2-3 developers.
6 months after (with countless reminders) he told me I could train some people at one of our providers.
Turns out those guys were Java developers, even though I asked for C# (since our codebase is .net)
After a few training sessions, where concepts as source control were a big topic ("why not just copy the code to a new folder with _good_ naming?"), I gave them a test assignment.
After reviewing their code I just gave up. They cannot program. They don't understand concepts like scoping of variables. Concepts of separation of responsibility.
I told my boss this but I had to make it work with them.
I went to my bosses boss (Head of IT) with my resignation in hand, since I felt my boss didn't want to support me actually getting a team. After a few talks I was asked to "keep it cool" and wait until he presented his new organization.
Now my boss asked me for which skills new developers should have. To which I could just laugh at him and forward countless mails from the last 6-8 months asking for developers.
<Irony>I love my boss</Irony>6
cw: I need a server to put my node backend
me: sure, I'll run a docker container for you
cw: nice, I've never worked with docker but I learn quickly, I'm already reading the Docker file docs
me: no wait, you don't need to learn anything, you'll be inside the container, so you only need an ssh connection and that's it
cw: this Dockerfile stuff is really complicated, it'll take me a while, but it's ok you don't have to worry, I like learning new things
me: you won't need that, just imagine it's a cloud server with Ubuntu installed, you only have to use it, I'll put node, git and ssh there for you
cw: ok got it, I'll have to learn the commands to run the docker, I'm on windows but I can use PowerShell and stuff I'll figure it out
cw: ssh is a linux command right? does it have a push or publish option? how do you upload files there
me: ...you can use a ftp client but you'll need ssh to run the node server
cw: ok, I'm almost done with the Dockerfile, I only need to add git and nodejs, I'm starting to understand this thing...
me thinking: yeah keep doing that, you're such a crack, such a quick learner...
This son of a bitch is either a retard or is doing it on purpose and laughing at me the whole time, making my life so miserable, but I'm about to go insane with this dude, I'm proud of how I've been able to control myself, BUT ONE OF THESE DAYS I'LL LOSE MY COOL AND FORCE THIS MOTHERFUCKER TO DRINK A BIG POT OF BOILING, SALTY AND STINKING VOMIT WITH A SIDE OF STEAMING DIARRHEAL GREEN DOG SHIT WITH WHITE CHOCOLATE CHIPS WHILE I PUT MY OLD CRT MONITOR TO GOOD USE BY BEATING HIS FUCKING HEAD WITH IT!!!3
Today is the real fuckening at work. The worst part is, you are working your ass off and someone started bugging you constantly on chat and blaming it is effecting his "productivity" because tech team doesn't solve his problem.
I have 4 projects under me with doing day to day operations also. But yeah just few more months before I left this shit. I wanted to shout back, but tried to keep my head cool, though I have already kicked his face many times in my mind.
If you cannot help, at least stop being a dick and appreciate someone trying his best to solve problems.4
The worst part of being a dev
My social dilemma
In a fast paced world where the average human spends at least 6 hours a day with technology, deriving basic entertainment, pleasures and engaging in various activities.
Here we are the developers that have to engage with technology for longer hours for a living , having to keep up with deadlines, immersing our minds in complicated algorithms and then the endless possibilities of entertainment from the machine in so few human hours a day , you wonder how you’d get off, and to top it up, I personally work from home.
And then the dilemma of overcoming different suggestions from various parties in taking a break off, a break off to what you later ask yourself, thus creating the shadow of doubt, splitting the fragile programmer’s mind , trying to solve this imaginary puzzle, “this bug of the mind”.
Then the challenge often arises in creating a balance, telling yourself, just catching up with people with this same technology takes a whole day, or then again quitting my Job, but from my little experience of life, nobody likes a poor visitor, this is actually worse than a “bug” and as I bask in this quagmire, “a little voice in my head keeps singing keep doing what you love doing”.
Like an infinite loop of crazy, spiralling back to these machines, trying the find and fix the balance of normalcy. Always remembered the cool years of college tho, with so much people around and then again that was college.
An then the thought arises, maybe something else might be worth doing, but after so much time spent in building your skills and the enormous joy of programming even typing without looking at the keyboard is a real pleasure, and yeah sure the days are short with the reality of a constant need to survive, remain sane, compete and make the best of life in such short time.
Then how do we know if we have fallen off the so-called “social track”, when we have only lived so little to really comprehend the most parts of life? with such constant stream of unanswered question, you’d realise you shouldn’t have burdened the mind creating such questions in the first place
But then again maybe it gets better, one of the above, the disturbed mind or the situation as whole and yes I try oh I try, I place calls, do some visiting, no relationship tho but with a good perspective in mind.
In this race of life, you sometimes ask yourself would you rather be in a different position, or maybe already put exactly where we belong. For this illusionary fight with self is a fight with reality as a whole and true bliss comes from actually letting go as time and people pass you by.
And my greatest achievement to date aside family and my work is getting into the 1000 club on devRant.2
Work it harder, make it better
Do it faster, makes us stronger
More than ever, hour after hour
Work is never over
Oh the rant? This is gonna be a long one, and that was one of the lyric that stuck in my head for the past 3 days, Alive live album 2007 was glorious,
TL/DR, note to self, ALWAYS ask for documentation, and written evidence of any task & stories before start anything next time,
To start, death march was over, my team and I got some downtime(less work) for the past week, some of the guys were still busy with their respective stories (bugs, etc) but all in all it was not as much load as the past month before that,
It was peaceful and quiet, I was working bugs, some enhancement here, some enhancement there, it was nice for a change, until
One of the PO came by, asking if there's any spare dev, my team's tech lead suggests me as it's gonna be a front end work on web, good old HTML and CSS, and it's supposed be a task, not a story, I thought it's gonna be nice for a change, so I agree, the PO took me to the lead developer in charge,
Both of them briefed me, it's gonna happen in the apps (it's web alright, but in React Native, so no HTML and CSS for me), i was tasked to create 2 forms, and connect it with the microservice, "okay" I thought to myself,
Me: "Do we have the design for this?"
TL: "no but someone already made similar page you can either reuse it, copy paste it, whatever"
Me: *my bullshit senses are tingling, "that's one, what about the second"
PO: "I think the other team already made similar one too, lemme check, ah here it is, if it's all good I'll make the story for this"
TL: "okay, so there's that, can you start right away?"
Me: *tingling intensifies, "wait what about the flow"
TL: "it's simple, I will do this then it takes to your page, then this and that and that, and you do this and should be done, the MS is all there you just need to make the front end and connect it with MS, good?"
Me *hmmm intensifies, "ok let me check the available component first and see what I can do"
TL: "great, can you finish it by tonight?"
Me: *what the fuck intensifies further, it's fucking 6 PM, "nope, I don't think so, there's always complications when handling forms, not to mention copy pasting stuff"
TL: "it's ok, at least finish one by tonight"
Me: "..., we'll see"
Trying to reuse the form for the first page is no good, I had to duplicate the components, first one is working fine, the second template is almost done,
TL: "dude how's it going? It's been a whole day"
Me: "first one's finished, second's underway"
TL: "can it be don.."
Me: "today? Nope"
TL: "dood, is it done yet? It's been two days, what's left on the progress?"
Me: *for fuck's sake, "I just need to figure out how to connect between the first and the second and it's done
TL: "okay cool"
[different PO came by]
PO #2: "hey, hi, sorry, what's the progress on this?"
Me: "uhh hi, just need some unit test and it should be good for PR"
PO #2: "cool, keep me posted"
I finished, about to put a PR, I need the story ticket, I asked the PO and the TL
PO #2 gave me the ticket for the backend work which the TL is working on, no mentions or specs for th front end
TL gave me a ticket which was just created shortly the moment after I asked for it, only title and no description
Me: *shit, this will be interesting
Sure enough, the tester who is doing smoke test on my branch threw a fit, where's the spec, where's the design, where's everything, how is it supposed to work, the flow, the typecheck, translations, etc
The news came to be heard by the design & product team, and they came by, apparently no one knows what the front end was supposed to do, all everyone know is just the back end part,
In the end, it goes apeshit, everyone are confused, everyone have different understanding of the story, but at least what I've done doesn't went to ashes, after explaining everything to the design team, they decided that let it be, but there's might be some minor changes on the layout,
And then I began to understand why this TL and PO #1 had somewhat bad rap, while I was stuck with PO #2 trying to explain the relation between my task and the backend user story,1
Less a rant and more of a rave about the Racket language.
If you haven't heard of it, Racket is a Scheme/Lisp that eases programming language development.
Let me break down why this is handy. When you come to dislike a language, it's because of limitations in the language itself or its ecosystem. That, and you are always obliged to translate your ideas to the terms of the language, the libraries in that language, and the idioms in both. Overall it starts to feel like a cage, because even if you git gud at a limited language, you still might not be able to do the things you REALLY want to do.
Lisps turn this on its head by letting you translate the solution to your terms rather than making you translate your solution to its terms. Lisps are homoiconic, which is a fancy word meaning that all valid programs in the language are also valid literal expressions of data in the same language. The code/data divide collapses and you can at any moment decide "Hey, this code I'm writing? It's data now and I'mma generate stuff with it." That's when you start getting macros and the beginnings of serious metaprogramming.
Racket made this mind-bendingly powerful. To the point that some of the language features make you gawk and say "Ok, but why anyone would ever need to do THAT?!" Some examples include converting compile-time errors to run-time errors and writing your own exception handling system.
But the kicker is that Racket is the only language I know of where you can say "You know what? Racket is sucking at this thing I want to do right now. I wish my language looked like THIS" and then you can use Racket to write your language in terms of Racket, and then your language becomes a valid extension of the Racket ecosystem. Your custom language can still import and use the rest of the ecosystem.
So, in a single Racket project, you can have a typed language, an untyped language, a configuration language and a markup language, and all of them can use the same libraries. It also means that if you have an accountant, ops manager or designer in house, you can write a little language for them that that understand and integrate their understanding of a solution with your system.
Why are relatively few using this box of magic?
Well, for one thing, it's hard. Unlike most, Racket enjoys the benefits of seriously amazing, complete and correct documentation. Which SOUNDS great, but here's a direct quote from one part of it.
"The intent of a cross-phase persistent module is to support values that are recognizable after phase crossings. For example, when a macro transformer running in phase 1 raises a syntax error as represented by an exn:fail:syntax instance, the instance is recognizable by a phase-0 exception handler wrapping a call to eval or expand that triggered the syntax error, because the exn:fail:syntax structure type is defined by a cross-phase persistent module.
A cross-phase persistent module imports only other cross-phase persistent modules, and it contains only definitions that bind variables to functions, structure types and related functions, or structure-type properties and related functions. A cross-phase persistent module never includes syntax literals (via quote-syntax) or variable references (via #%variable-reference). See Cross-Phase Persistent Module Declarations for the syntactic specification of a cross-phase persistent module declaration."
The thing is, I know a little bit about what that means. I read their introduction guide meant for people new to the language, and made enough progress in the reference to understand these terms in isolation. But when I keep running into paragraphs like THAT, I have to review everything again because I just get lost.
The other problem may be that it has the classic Lisp Curse (http://winestockwebdesign.com/Essay...), which means its power is also its greatest weakness. The power of a programming language can grow strong enough that the people who contribute to society using it rarely bother to use each other's work.
Still, Racket has a more complete and cooperative ecosystem compared to other Lisps I've observed. I'm still a total fanboi of the language and would love to get a job using it, but it's probably a long time out.
Thanks for reading. I don't have a particular desire to tell you to drop what you are doing to use it, I just think it's cool and wanted to brag on it a bit.1
So this happened a few days ago
I was working on a module assigned by my senior, and was the sole developer on that module. Just when I was breaking my head to get a bash script correct (was writing a bash script for first time), my senior comes and looks at my messy script and goes "No, no, no, no that's not how you do it. "
Takes the keyboard and starts editing my script opened in vim.
Did some cool restructuring, taught me a few things about bash and while talking to me kept the keyboard back at its place.
I keep my hands on keyboard while talking to him and press
And as I pressed Enter my face went purple/blue thinking this is not good. 😨
(I have a habit to quit as I had almost never edited and saved a vim file before)
And he sees that face and says
No nothing. Everything's cool.3
Just a friendly note: If you use the same technique as I i.e. local GIT repositories backed up on cloud, ALWAYS make sure there is still at least as much free space as the largest repo shallow clone.
It may happen that some really really archaic "commits" will disappear and git won't work as usual, but mostly you'll have an access to the branches, which you can diff against the master and make patches. Then just clone, make branches from patches and code happily ever after.
Also... you really really shouldn't push when you discover(git fsck --all) such an issue in your local repo, although I think git won't even allow you to do so.