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
New subscribed feed!
We just launched an activity feed of users you subscribe to + recommended users!
Tap here to read
We have a few pieces of news we're very excited to share with everyone today. Apologies for the long post, but there's a lot to cover!
First, as some of you might have already seen, we just launched the "subscribed" tab in the devRant app on iOS and Android. This feature shows you a feed of the most recent rant posts, likes, and comments from all of the people you subscribe to. This activity feed is updated in real-time (although you have to manually refresh it right now), so you can quickly see the latest activity. Additionally, the feed also shows recommended users (based on your tastes) that you might want to subscribe to. We think both of these aspects of the feed will greatly improve the devRant content discovery experience.
This new feature leads directly into this next announcement. Tim (@trogus) and I just launched a public SaaS API service that powers the features above (and can power many more use-cases across recommendations and activity feeds, with more to come). The service is called Pipeless (https://pipeless.io) and it is currently live (beta), and we encourage everyone to check it out. All feedback is greatly appreciated. It is called Pipeless because it removes the need to create complicated pipelines to power features/algorithms, by instead utilizing the flexibility of graph databases.
Pipeless was born out of the years of experience Tim and I have had working on devRant and from the desire we've seen from the community to have more insight into our technology. One of my favorite (and earliest) devRant memories is from around when we launched, and we instantly had many questions from the community about what tech stack we were using. That interest is what encouraged us to create the "about" page in the app that gives an overview of what technologies we use for devRant.
Since launch, the biggest technology powering devRant has always been our graph database. It's been fun discussing that technology with many of you. Now, we're excited to bring this technology to everyone in the form of a very simple REST API that you can use to quickly build projects that include real-time recommendations and activity feeds. Tim and I are really looking forward to hopefully seeing members of the community make really cool and unique things with the API.
Pipeless has a free plan where you get 75,000 API calls/month and 75,000 items stored. We think this is a solid amount of calls/storage to test out and even build cool projects/features with the API. Additionally, as a thanks for continued support, for devRant++ subscribers who were subscribed before this announcement was posted, we will give some bonus calls/data storage. If you'd like that special bonus, you can just let me know in the comments (as long as your devRant email is the same as Pipeless account email) or feel free to email me (email@example.com).
Lastly, and also related, we think Pipeless is going to help us fulfill one of the biggest pieces of feedback we’ve heard from the community. Now, it is going to be our goal to open source the various components of devRant. Although there’s been a few reasons stated in the past for why we haven’t done that, one of the biggest reasons was always the highly proprietary and complicated nature of our backend storage systems. But now, with Pipeless, it will allow us to start moving data there, and then everyone has access to the same system/technology that is powering the devRant backend. The first step for this transition was building the new “subscribed” feed completely on top of Pipeless. We will be following up with more details about this open sourcing effort soon, and we’re very excited for it and we think the community will be too.
Anyway, thank you for reading this and we are really looking forward to everyone’s feedback and seeing what members of the community create with the service. If you’re looking for a very simple way to get started, we have a full sample dataset (1 click to import!) with a tutorial that Tim put together (https://docs.pipeless.io/docs/...) and a full dev portal/documentation (https://docs.pipeless.io).
Let us know if you have any questions and thanks everyone!
- David & Tim (@dfox & @trogus)42
To be a good developer, you must thrive in chaos, and have an insatiable desire to turn it into order.
All user input, both work tasks and actual application input, is pure fucking chaos.
The only way to turn that input into anything usable, is to interpret, structure and categorize it, to describe the rules for transformation as adequately as you can.
Sometimes companies create semi-helpful roles to assist you with this process. Often, these people are so unaware of the delicacy of the existing chaos, that any decision they make just ripples out in waves leaving nearly irreparable confusion and destruction in its path.
So applications themselves also slowly wear down into chaos under pressure of chaotic steak-holders which never seem to be able to choose between peppercorn or bernaise sauce for their steaks.
Features are added, data is migrated between formats, rules become unclear. Is ketchup even fucking valid, as a steak sauce?
The only way to preserve an application long term, is refactoring chaos into order.
But... the ocean of chaos will never end.
You must learn to swim in it.
All you can hope to do is create little pools of clarity where new creative ideas can freely spawn.
Ideas which will no doubt end up polluting their own environment, but that's a problem for tomorrow.
So you must learn to deal with the infinite stream of perplexed reactions from those who can't attach screenshots to issue reports.
You must deflect dragging conversations from those who never quite manage to translate gut feeling into rational sentences.
You must learn to deal with the fact that in reality there are no true microservice backends. There are no clean React frontends. There are no normalized databases. Full test coverage, well-executed retrospectives, finished sprints -- they are all as real as spherical cows in a vacuum.
There is no such thing as clean code.
There is only "relatively cleaner code", and even then there are arguments as to why it would be "subjectively relatively cleaner code".
Every repository, every product, every team and every company is an amalgamation of half-implemented ideals, well-intended tug of war games, and brilliantly shattered dreams.
You will encounter fragmented shards of perfect APIs, miles of tangled barbed documentation, beheaded validator classes, bloody mangled corpses of analytical dashboards, crumbled concrete databases.
You must be able to breathe in those thick toxic clouds of rotting technical and procedural debt, look at your reflection in the locker room mirror while you struggle yourself into a hazmat suit, and think:
"Fuck yes, I was born for this job".26
My local ISP was saving their database backups in an unprotected folder which was literally domain.com/backups
When I downloaded it contained thousands of their clients data.
Reported it to them and got 2 years of internet/tv services for free.
They wanted to hire me but I was still studying in my first year of uni in another city.7
- you don't like math
- you don't like study
- you don't read documentation
- you throw out the manual
- you like to punch a clock
- you dislike books and reading
- you don't ever work more than 8 hours
- you can't tolerate the occasional weekend work day
- you fold under pressure
- you aren't good at crunch time
- you can't do on-call without committing seppuku
- you don't have attention to detail
- you aren't interested in technology
- you're not good at explaining things
- you can't deal with change
- you're not excited by the prospect of extreme variety
- you don't have the ability to focus
- you can't deal with ego without resorting to violence
- you can't deal with someone calling your baby ugly
- you can't discriminate between fact and opinion
And many, many more22
To my ex manager
you left to berlin, and left me to rot
my new lead sucks, i kid you not
it was ok if I slacked off, You used to be chill
But my new lead is uptight, he's on my list to kill
I wanna run errands in work hours, is that so bad?
was doing so for years, now i lost what i had
I cant drive in peace, coz i know he'd call
so i had to cancel plans to go to the mall
its like 10 to 6 is now constant work
I hate my new lead, he is such a jerk17
How I went from loving my job to wishing i dont wake up tomorrow just to avoid it.
Ive been a backend dev in the company im at for 2 years now.
First year was a blast, i loved my work so much, I used to get so many random features to do, bug fixes, campaigns, analytics, etc..
Second year i started getting familiar with the part of the code that has to do with Search in our music streaming app. Nobody wanted to work on it, so i wanted to take initiative and start doing a few tasks.
A few tasks turned into sprints, and sprints turned into months worth of sprints. And because the code was the definition of tech debt, and because it was so messed up that changing one thing can blow up everything else, working on Search was not too fun.
However, people seemed to be happy search tasks are no longer piling up and someone is handling them so that used to make me feel good about it. They also gave me so much freedom and i felt like my own manager because no one told me what to do (not even my actual manager) they just let me be and were happy i was handling the part they want nothing to do with. I was also given an intern to mentor and have her work on Search tasks with me which turned out amazing.
During the last few months, I completely rewrote search, made it 10 times more performant in such a neat way, made an inhouse dashboard to automate certain tasks so we wont need to waste developers on them (all of which were extra effort on my own time without being asked), all meanwhile still tending to the fixes of the old implementation.
I felt so accomplished, and in a way, i felt like a lead (even tho im not managing any employees, i had so much freedom and I was literally responsible for everything about Search and if i decide to play with the sprint task order i can even do that).
Then 6 or so weeks ago my manager left the company, and while i thought id be a standalone team / person (single person teams are not uncommon in the company) i was instead put under someone else. Someone who likes to micro manage the fuck out of me. I have been happy working on shit code because it was my baby, my project, no one interferes and no one tells me what to do and everyone would call me the search lead (unofficially). now if i dont report to that guy every two hours he calls to see if im working. preplans sprints i no longer have a say in, and im the only dev who knows the code so all tasks go to me. I feel i got demoted so fucking much. I felt like a lead on a project and now im back to being a normal code minion. From deciding everything about a project to blindly following a some irrelevant manager's opinion. (who btw is making Search worse) And after all the extra effort i put in, after actually caring, after actually embracing Search as my responsibility i get rewarded with losing everything i liked about my job...My Independence. From feeling like a lead to feeling demoted. I am so demotivated.
I love the company, but this is hell for me and this made me hate a job i always loved. I am thinking of talking to the CTO asking to work on other stuff because i no longer want this. If i am to be a code minion at least let it be on code i like, let me go back to dealing with PMs, fuck my new manager I dont wanna work with that guy he can take the project along with all its poopoo.12
My start in new company....
HR: you will get a Macbook from us...
One Day before first Day:
I Picked up the laptop from company...opened the case....
No Macbook, but HP 😂😂😂...🤷♀️
First Day at new company:
PM: you will be using Ps, Sketch....
ME: how will be the licence costs payed?
PM: it is already installed...
ME: wait, what? It's nothing in my Laptop.. Wait what? Sketch?....I haven't recieved a Mac....
Later in the same Day...
My laptop: Fu*k you!!! Your account has been disabled. Contact your system Administrátor...
ME: wtf????? 🤷♀️🤦♀️
.....to be continued....30
Let's start with basics:
If you are new here, welcome to devRant. We swear a lot, we rant a lot but we are a small community of good people.
Now let's quickly understand what are tags and how do they work.
Definition: tags help in categorising your post and make it easier for search and recommendation algorithms to do their job.
Filters: They help users to pick the kind of content they want in their feed by adding or removing certain tags/categories. If you mistag your post, this might annoy some of us.
Different kinds of tag:
Rant/Story: Use this tag when you are pissed at anything (more specifically tech because that's what this platform is for but anything in life works too) or you have a story to tell. Community usually expects a long meaningful post under this category.
Joke/Meme: Please, I repeat, PLEASE use this tag if you want to repost memes, edgy jokes, or crappy images. We take this shit serious and if you mistag anything, please delete and try again or don't cry when called out.
Question: Use this when you need community opinion and NOT for Stackoverflow questions.
devRant: Use this for posts directed towards this platform or community. Mostly meta posts like this one. Can also be used for weekly group rants.
Random: Use this when you want to share something fun or cool about yourself, an incident, or you found anything on internet which we must have a look at. Can be used if you are unsure about which tag to go for. But please make sure, not to mistag your jokes and memes.
Some unwritten house rules:
1. No Politics. No Religion. Period.
2. Mutual respect to each community member. You are free to disagree with someone on their opinion but don't go ad hominem mode. Don't be a dick.
3. No shit posting please. Take a dump at home.
4. No bots or spamming of any kind. If you see a troll, don't feed them by dedicating a post to them. Starve them of attention and they will die off. Ignorance works effectively than active engagement. Saves time and energy too.
Now, what to do when you find any of the above not followed by a new or an existing member?
Well, instead of being rude, let's all try to be polite and share a link to this post and help them understand that we all are focused on building a good and healthy community.
This post will help them understand where they went wrong and how they can improve.
If someone is a repeat offender, let's down-vote, report, and move on. We all are mature and professional enough to understand the basics and forcing someone to learn something will not get us anywhere if they don't want to learn.
My employer gives us optical allowance so I decided to get UV glasses. I thought what the hell, the worst that could happen is I would find it useless and throw it in my role play closet for special occasions. So I walked in there, said "I want one of those things for computer people", and chose the plain black frame shit.
I was about to pay thinking that they'd just hand it over to me but wait, she said sit down, it's time for your free eye exam. So I sat there staring into this hole anticipating a bullet shooting from it and getting my brains blown out through one of my eyes on an afternoon in the mall. The sound of those mall goers screaming mixed with those early Christmas jingles right in front a "Kid's Choice" sale.
Unfortunately, that didn't happen and after some tests, she said, "Look at those numbers in the grocery store. Can you read what's under them?" I said, "Yeah, kinda blurry but yes." She said, "Now wear this and look again." Woah woah woah, this is high definition shit. I remember being able to see like this a long time ago. Then I remembered all the times that texts were pretty blurry but it didn't really affect me that much so I just ignored them thinking my eyes were just tired or that it's always been like that.
Now I don't just have glasses to wear while on a computer, I'm required to wear them all the time for six months until my next check-up.27
From today's PhD interview:
Prof: What can your teammates do that will really annoy you?
Me: Have loud, long, private phone calls in the open space. I don't want to listen to people divorcing.
Prof: And what would you do if your colleague did that?
Me: I'd walk to him....and tell him..."I understand why she is divorcing you!"22
Juniors are a fun bunch to work with.
Over confident, hero complex of that fresh graduate high, and then thrown in to the real world! Where there hopes and dreams are crushed in minutes when they see what monolithic applications really look like!!
But don't let that overwhelm you, your not going to be changing all of it any time soon, hell some of this code hasn't been touched in 5+ years and still works without fail.
Don't stress about the work load, you can only write 1 line of code at a time anyway, and hell, even seniors make mistakes.
The key about being able to manage this beast is simple, break it! Because the more you break it, the more you'll understand how a project is put together, for better or worse. Learn from the examples in front of you, and learn what not to do in the future 😎
But more importantly, plan your changes, whiteboard the high level logic of what it is you want to add, then whiteboard in the current codebase and determine where to slice this bitch up, then when it all looks well and good, take out your scalpel and slice and dice time.
Don't worry, your changes aren't going to production anytime soon, hell, you'll be lucky to get past the first pull request with this working 100% the first time, and that's a good thing, learn from tour short comings and improve your own knowledge for the next time!3
Work as efficient as possible!
Also developers :
Pressing the arrow up ⬆️ in the terminal 90 times to find a command that could have been manually typed out in 1 sec16
Next time you're using some FOSS soft, or bitching about it being buggy or the maintainer not responding to your tickets the same day - remember, that the author of that soft could be enjoying some nap time, playing with hie/her child(ren), having a fun time with fam/friends, playing PC games, going for a walk, cooking and choosing healthy food over fast snacks, doing anything he/she wanted.
But instead, the developer chose to spend that time building a tool, so you could have it, so you could do things faster/easier. So YOU could spend your free time the way you want.
So next time you're bitching about something not working, stop for a moment and first say THANK YOU to the author for that tool. If not for people like him/her, you would still be doing your chores with sticks and stones17
Fuck stupid client.
Boss: client want to white label the solution.
Me: ok. They just need to create A record and send as SSL certificate and I will do it.
Client : here is your SSL certificate.
Me: spend whole night to make the transfer and setup server and check whole solutions one by one for reference to our company.
Next day wake around 2 pm to 100 whatsapp message, call from client and noss.
Turns out client IT team revoked the certificate without informing and the product stop working for all people.
Me: go to back to sleep.7
There was a time in Windows 95, where during login, you could just press cancel and you were logged in without the need of a password.9
I was told back in the 80's I wouldn't have a calculator every where I go... well, guess what mother fuckers, I don't just have a calculator everywhere I go, but it's a full computer, a supercomputer by 1980's standards, and I literally make a living writing fucking software for it...
Everytime someone says stakeholder I picture a rich fat guy in a suit, hugging a giant human-sized steak with tears in his eyes whispering "Oh steak, I love you so much, I will forever hold you in my arms", dancing a little waltz around his room while his cheeks and dress shirt get drenched with the exquisite richness of a good pan sauce.14
My grandfather used to program banking systems back in the day. He taught me fortran before I even started school. Part of why I became a dev was that he was one and I looked up to him very much. He passed away today :/15