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
Search - "protip"
-
0. Plan before you code. Document everything. You won't remember either your idea or those clever implementations next week (or next month, or next year...).
1. Don't hack your way through, unless that's what you intend to do. Name your variables, functions etc. neatly: autocomplete exists!
Protip: Sometimes you want to check a quick language feature or a piece of code from one of your modules. Resist the urge to quickly hack in the test into your actual project. Maintain a separate file where you can quickly type in and check what you're looking for without hacking on your project (For example, in Python, you can open a new terminal or IDLE window for those quick tests).
2. Keep a quiet environment where you can focus. Recommend listening to something while coding (my latest fad is on asoftmurmur.com). Don't let anything distract you and throw your contextual awareness out of whack.
3. Rubber ducks work. Really. Talking out a complex piece of logic, or that regex or SQL query aids your mind greatly in grasping the concept and clearing the idea. Bounce off code and ideas with a friend or colleague to catch errors and oversights faster. Read more here: https://en.wikipedia.org/wiki/...
4. Since everyone else is saying this (and because it merits saying), USE VERSION CONTROL. Singular most important thing to software development aside from planning and documenting.
5. Remember to flout all of the above once in a while and just make a mess of a project where you have fun throwing everything around all over the place. You'll make mistakes that you never thought were possible by someone of your caliber :) That's how you learn.
Have fun, keep learning!3 -
It seems like every other day I run into some post/tweet/article about people whining about having the imposter syndrome. It seems like no other profession (except maybe acting) is filled with people like this.
Well lemme answer that question for you lot.
YES YOU ARE A BLOODY IMPOSTER.
There. I said it. BUT.
Know that you're already a step up from those clowns that talk a lot but say nothing of substance.
You're better than the rockstar dev that "understands" the entire codebase because s/he is the freaking moron that created that convoluted nonsensical pile of shit in the first place.
You're better than that person who thinks knowing nothing is fine. It's just a job and a pay cheque.
The main question is, what the flying fuck are you going to do about being an imposter? Whine about it on twtr/fb/medium? HOW ABOUT YOU GO LEARN SOMETHING BEYOND FRAMEWORKS OR MAKING DUMB CRUD WEBSITES WITH COLOR CHANGING BUTTONS.
Computers are hard. Did you expect to spend 1 year studying random things and waltz into the field as a fucking expert? FUCK YOU. How about you let a "doctor" who taught himself medicine for 1 year do your open heart surgery?
Learn how a godamn computer actually works. Do you expect your doctors and surgeons to be ignorant of how the body works? If you aspire to be a professional WHY THE FUCK DO YOU STAY AT THE SURFACE.
Go learn about Compilers, complete projects with low level languages like C / Rust (protip: stay away from C++, Java doesn't count), read up on CPU architecture, to name a few topics.
Then, after learning how your computers work, you can start learning functional programming and appreciate the tradeoffs it makes. Or go learn AI/ML/DS. But preferably not before.
Basically, it's fine if you were never formally taught. Get yourself schooled, quit bitching, and be patient. It's ok to be stupid, but it's not ok to stay stupid forever.
/rant16 -
Protip: appending ", dammit" to your Google searches tells their NLP algorithms that you need more relevant results6
-
Protip: use "color f0" whenever you use cmd in public, so you can disguise it like a notepad to avoid being branded as a hacker7
-
Did you know?
Critical error notifications in production are not a problem if you don't give a fuck.4 -
Was explaining a technical concept at a "family" dinner. Suddenly stepmother wanted my help for something technical.
Stepmother: Say Awlex, could you help me install some software I recently bought?
Me: (Not this shit again) I even don't know what software you're talking about. How is the software called, what does it do?
Sm: it's calles digital... *long pause*
Me: (I don't like where this is going)
Sm: software... *another long pause*
Me: (fuck me harder than that lightly clothed woman outside)
Sm: something... *long pause*
Me: (alright brain, which way out of here doesn't involves me creating a bullet hole in either one of us?)
Sm: And you can use it to sell something...
Me: (tf do you event sell?!)
Sm: but not like ebay
Me: (what is it then? A platform for selling services? I don't even know what kind of software you'd have to install, given that most of these platforms are be web applications, whcih makes sense for selling stuff on the internet)
Sm: Anyway, could you help me install it? It would take me hours to get into it.
Me: (You think just installing would solve it? As soon as I install it, you probably expect me to be your walking manual as well, don't you?) Look, I'm gonna be honest with you, since I started working I don't have nearly as much free time as I used to have (Not everybody works when they feel like it, you know that?) I get home at around almost 7pm (most of the time) and don't really wanna work afterwards. Most of the time there's a support service from the people who made this software and they would be glad to help you. (Sorry support team, for pushing this bundle of incompetence onto you, but I guess she didn't even listen to my advice).
After that she didn't back down and still wanted my help. Then my grandmother derailed the conversation and got me out of this. When I thanked her later she yold me that she saw I saw uncomfortable and wanted to help. I love my grandmother.
So I am not going to be your "family" tech support. You b(r)ought this onto yourself. Are more than twice my age and still can't use your brain to solve problems like these on your own and you can even less reason abiut your motives and desires when asking for help. I am sick of you and shutty opinions about people, just because I work as a software engineer doesn't mean I'm exist solely for satisfying your unreasonable desires.
Stop offending me and my profession and get yourself some common sense.
Protip #0: Give me one fucking reason to help you, because you're not family enough and your personality really doesn't bring forth any emotion but annoyance4 -
Protip : When you see someone in the middle of a Skype meeting, when it's written that they are in a videoconference with the red button to indicate that they aren't available
don't message them to ask them if they want to go on break.
don't.6 -
When I don't know what a technology is about, I type it's name into Google search followed by 'vs'.
Google then suggest similar stuff, which helps me understand what I'm looking at. -
TL;DR
This works: email+rant@domain.com
Spam filtering protip:
Did you know that the email spec allows you to use youremail+something@domain.com and the emails still come to you. This is especially useful when registering to a lot of places where you are not sure whether they will spam you or not. Filtering will be easy because you have a unique email address for each service. Also you can find out which service leaked your email address to spammers.
Additionally if you want to register to a service with two accounts but still want to use the same email, you can do this easily by adding +whatever in your email address.6 -
Wrote myself a flight stability controller for a drone I built - used an ultrasonic sensor for altitude so it should've maintained a constant altitude, but I had the throttle increments too high...
Hooked up the battery - off it fucked, hit the ceiling, bounced off a wall, and broke 2 props before I could grab it and yank the battery off.
Protip - if you're building a drone, tie it to a heavy fucking rock for your first flight test!8 -
1) buy devrant stickers.
2) travel.
3) put stickers on checked bags. One on every side would be preferable.
4) easily find bags when arriving to destination as devrant stickers will make them stand out.
Enjoy.6 -
#AndroidDev protip:
1. Dump Android Studio and use Sublime for a week
2. Realize you don't actually know how to write java anymore
3. Cry -
Protip: don't drink gin and try to install stuff on a client's NAS while logged in as root.
Thank god I changed my mind and decided to do this another time...2 -
Protip:
If I send you an email and it isn't urgent ... you don't have to reply and tell me:
"I'm on my way into the office, I'll respond when I get into the office."
All you did was waste time for both of us and your archive on send feature probably means you're going to forget that you got that email.
It's not helpful.... stop that...5 -
(tl;dr) Protip: never take internship/training/job offers from startups.
Fucking piece of shit startups hiring innocent interns from University, hoping that they are full stack developers to build their shit website.
"I will throw challenges at you".
You fucking scum, I need a proper mentor to teach me something which is not my fucking domain. You expect me to know nodejs and reactjs, and if I don't know that means there's something wrong with my learning process?!!
I'm looking for an internship which basically means that I get company exposure to proper training unlike being your fucking slave, you uncultured swine.
Seriously, recruiters, these days jack off to google buzzwords.5 -
Protip: This can happen even if the socket is locked, apparently.
One of those days...rant old cpu cpu bad day etc rubbing alcohol is a tech's best friend fuck my life clean your shit fml socket5 -
Protip to get free upvotes on Stackoverflow:
Ask something about Behat and make sure your questions looks smart. No one will ever answer but you'll get lots upvotes. FML.4 -
Pro tip: Don't cheap out on dongles for newer macbook models.. Bought a (somewhat) working Chinese dongle with 4 ports. Fire hazard and I think my 13" mbp just farted a fireball4
-
Protip: always account for endianness when using a library that does hardware access, like SDL or OpenGL :/
I spent an hour trying to figure out why the fucking renderer was rendering everything in shades of pink instead of white -_-
(It actually looked kinda pretty, though...)
I'd used the pixel format corresponding to the wrong endianness, so the GPU was getting data in the wrong order.
(For those interested: use SDL_PIXELFORMAT_RGBA32 as the pixel type, not the more "obvious" SDL_PIXELFORMAT_RGBA8888 when making a custom streaming SDL_Texture)5 -
Going on a school camp where all the students in the school go.
2 nights and 3 days, planning to bring my laptop and my phone to make games there. (poor 15yo)
Any ideas not to be seen to the teachers? My loyal friends wont tell it because i promised to bring some old android devices for them to play games.10 -
protip for my colleague: putting everything in the users controller and views isn't the proper way to use an mvc framework....
...and duplicating - no, triplicating everything for different types of users doesn't make it any better -
Oh god... technical decisions should be taken by people who actually know what they are doing and even so still counter-checked and not followed blindly.
I am currently working in a company that wasted millions by trying to implement micro-services where they don't belong and didn't step back when they realize it was a mistake
(protip: micro-services usually don't belong in most places).
Now we're dealing with the sunken costs fallacy and I am seriously believing that the company is going bust in a few months. Let's wait and see. -
Protip: proposing a "simple yet beautiful" login form on Bootsnip with absolutely no knowledge of Bootstrap whatsoever, making it not responsive and centering it with hardwritten margins (such as: 'margin-left: 170px'), AND THEN proudly display "theme developed by WhoGives AShit" at the bottom won't make you any publicity at best. At worst, I'm gonna travel to India and won't leave before I erased the code you wrote by smashing your face on the "erase" key.1
-
!rant
protip == true
TL_DR = "exec mail ceo jeff@amazon.com"
The laziness of devs, including myself, goes hand-in with the crazy deliveries (groceries, etc) that Amazon delivers without having to leave home.
But...Amazon isn't prefect, occasionally I have issues and usually support is great. But when support isn't what you expect and you're more frustrated than before, send an email response and include jeff@amazon.com
And no, I don't work there... I'm just happy my issue was resolved and I got a nice credit added to my account. (Mileage may vary) -
If you are going to tell me you develop using TDD, it's a good idea to actually have tests in your test project.
-
Protip: Don't use Rider's winform designer. It will glitch out and destroy your work.
And don't use Visual Studio because it will freeze every time you close the application you are debugging.
Actually, just go be a beet farmer.5 -
Want to weed out bad Devop potential hires? Ask them how their ideal branching strategy is designed. Such a simple question will tell you a lot!4
-
Name a shittier API to hook into than Magento's REST API.
Protip: You can't.
[bit of context]
Building 3rd party integrations via their REST API and keep unearthing "WTF?!" architectural design moments. For example: Pulling down products tells you if it has a configurable parent (product to store all master options, etc)... but fuck me if I want to know what the sku of that parent is, or any other means of accessing it!
How the fuck M2 is such a major eCommerce platform is beyond me. WooCommerce in comparison however: Beautiful API, Beautiful documentation, a couple of limitations, no big deal. I love WooCommerce.
M2 makes me question why the hell I became a dev sometimes.2 -
Friends, gather round for a story of "the user".
Two days ago I assisted a friend in reviving their scammed Instagram account with final confirmation it was back in their possession yesterday. I stated "make sure you clean out phone numbers, emails and change the password. WHATEVER YOU DO DON'T USE THE SAME PASSWORD"....I bet you know where this is going....
Queue 6:45am: "HELP! THEY DID IT AGAIN! THEY TOOK MY FACEBOOK THIS TIME TOO!" as a safety measure, I told her to link them for recoverability.....not thinking you just created a bridge to the facebook...
Now We're going through EVERY account BY HAND and changing EVERY password for EVERY service and enabling MFA. We've also learned the power that the forgot password button wields for everyone.
ProTip: If your friend was "hacked" be patient, friendly and soft to get every detail...sometimes you learn more and can position them better.
Now I'm upset with myself because I couldn't save their accounts and at this point we've lost the only footing we had to them. Social Media is a curse.1 -
ProTip :: Avoid code conflicts by commenting out Git header references. Never worry about "resolutions" again
-
ProTip/Common knowledge
When looking for an exhaustive answer to a problem you’re facing regarding a specific technology, instead of asking the community for help, post a rant/false assumption connected to said technology and your specific problem.
Et voilà, never before have answers been provided with such swiftness and clarity. -
co-worker : "hey, have you listened to this cool rocking song"
*Absolutely no idea about what he's talking about*
Me : *internally screaming* no I haven't
CW : well you should check it out, it really blah blah blah
I lost interest mid-way.
Protip : never intimate your colleagues out of their interest -
PROTIP: If you go outdoors for recreation and you happen to be hiking in dry country where there is obviously a lot of potential tinder around you, don't be a dumbass and light off fireworks.
The lingering smell of burning is not conducive to creating software.
With the AQI north of 170, the building's HVAC can't keep up.1 -
Now that the weather is nice, I've started doing some landscaping in my back yard. I thought I'd start easy with taking down a shed that was starting to lean that I inherited when I moved in.
In the process of taking it down, I discovered a wire that went from the house to the shed. The wire in the shed wasn't live but I had no idea where it terminated and I didn't want that sickle of death hanging over my neck.
After I finished taking down the shed, I started working on the wire. This wire was buried about 18 inches deep and was about 25 feet from where it was supposed to attach, which was another 25 feet from the house.
I finally got the first section dug up only to discover that the second section was attached to my retaining wall and traveled under a rotting wood patio also built directly on top of dirt. I needed to take it down regardless, but I wanted to wait until I was ready.
Protip: don't build anything made of wood directly on the ground. Given time, even treated wood will rot.
This second section was live and exposed to air. It's truly a wonder nothing bad happened with it. And most of it was only an inch under the dirt. Also, no conduit. Just a wire.
So now, several days into a simple teardown, my back yard has a deep trench dug into it going from one corner of the yard to the house. I have a huge patch of muddy dirt where I had to tear down a patio to fix an actual threat to life and limb.
I also discovered my retaining wall was built directly on top of dirt, no gravel in sight, which explains why it is leaning. Fortunately, I've built retaining walls before, so I know how to fix it.
It's a good thing I like landscaping because it's going to be an expensive and messy summer.4 -
Protip:
If you start every YAML file with 400 spaces, you can check whether two keys are on the same level by shift-scrolling until one is at the left edge of the screen.1 -
PROTIP: Using ed(1) can be a fun experience. Just remember to RTFM and be patient.
Using a cheesy amber CRT helps, as well. -
Protip: Bugs exist everywhere, also in real life (no pun intended). Trying to think of possible real-life-bugfixes while commuting (train legroom too small, traffic jam on the same spot every day) makes makes the entry to your work projects easier. You simply haven't stopped thinking about bugfixes, only the project changed to "commuting".
-
Protip by Brian Bi: Close terminal windows often, instead of reusing them. This ensures that the bash instance flushes its command history to ~/.bash_history, and new bash instances will be able to recall previous commands in their reverse-i-search.1
-
Protip: Got the latest npm? Next time you run a process that takes a while prefix it with 'npx benny-hill....'. Will make everything run much better!
E.g., npx run npm install -
Protip: If you're using a tiling window manager, you can detach the file browser on the left of any Jetbrians IDE.
This way you can switch to it using the shortcuts you're used to from the WM, as well as resize it very easily.
Also this way if you are not using the integrated terminal of the IDE, you can have the file browser span the full height of your screen, while the terminal and the IDE share the hight on the right.
Disclaimer: I don't know if this is common knowledge, I'm sorry if it is, but I was completely shocked that I missed this feature for years.4 -
Protip: SSDs will help your PC boot up and run programs faster. If your computer doesnt have an SSD, you can always add one or two later.18