Details
-
Skillspython,R,JAVA
Joined devRant on 4/15/2018
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
-
> Advice to new coders
Don't worry over picking language A or B.
Just pick A, use it for a month, then move on to B.
In a normal 3 year college degree you'll try multiple languages, some of which you'll never use again, and they'll each teach you something.
I had classes in Java, C, C++, C#, Prolog, Assembler, F#, JS.
Never used F# again and no one uses Prolog. But they were great for learning recursion and logic.
It's not like you take "a step down a bad path" if you pick a language you're never gonna use again.
You'll also learn new stuff on the job. We have one team that uses Go and one that uses Rust. None of the devs ever studied those languages. They were mostly former Java devs who leaned on the job.2 -
Try to learn stuff instead of copying stuff together that may work but you don't know why or how. If you don't care about the why and how, look for another career/hobby.1
-
You will have a first phase when you will do everything on your own.
Then you will have a second phase when you will totally rely on external libraries found on the internet.
Then you will have a phase when you will use libraries only for the stuff you don’t want to bother because, never reinvent the wheel but do not get too much tech debt.
Then the hyper simplification phase when you will refuse modern solutions for good old robust stuff as they used to do back then
Then I don’t know… but I am getting interested in agriculture
Anyway try always to learn new stuff and don’t be afraid of change as it is normal. And learn other skills not related to code, those will keep you alive1 -
Compromise.
I think that sums up development pretty much.
Take for example coding patterns: Most of them *could* be applied on a global scale (all products)… But that doesn't mean you *should* apply them. :-)
Find a matching **compromise** that makes specific sense for the product you develop.
Small example: SOLID / DRY are good practices. But breaking these principles by for example introducing redundant code could be a very wise design decision - an example would be if you know full ahead that the redundancy is needed for further changes ahead. Going full DRY only to add the redundancy later is time spent better elsewhere.
The principle of compromise applies to other things, too.
Take for example architecture design.
Instead of trying to enforce your whole vision of a product, focus on key areas that you really think must be done.
Don't waste your breath on small stuff - cause then you probably lack the strength for focusing on the important things.
Compromise - choose what is *truly* important and make sure that gets integrated vs trying to "get your will done".
Small example: It doesn't really matter if a function is called myDingDong or myDingDongWithBells - one is longer, other shorter. Refactoring tools make renaming a function an easy task. What matters is what this function does and that it does this efficiently and precise. Instead of discussing the *name* of the function, focus on what the function *does*.
If you've read so far and think this example is dumb: Nope... I've seen PR reports where people struggled for hours with lil shit while the elephant in the room like an N+1 problem / database query or other fundamental things completely drowned in the small shit discussion noise.
We had code design, we had architecture... Same goes for people, debugging, and everything else.
Just because you don't like what weird person A does, doesn't mean it's shit.
Compromise. You don't have to like them. Just tolerate them. Listen. Then try to process their feedback unbiased. Simple as that. Don't make discussions personal - and don't isolate yourself by just working with specific persons. Cause living in such a bubble means you miss out a lot of knowledge and insight… or in short: You suck because of your own choices. :-)
Debugging... Again compromise: instead of wasting hours on debugging a problem, ASK for help. A simple: Has anyone done debugging this before or has some input for how to debug this problem efficiently?... Can sometimes work wonders. Don't start debugging without looking into alternative solutions like telemetry, metrics, known problems etc.
It could be a viable, better long term solution to add metrics to a product than to debug for hours ... Compromise. Find a fitting approach to analyze a problem instead of just starting a brute force approach.
....
Et cetera et cetera. -
Thought hard for dem advice and dem advice is about softskills / collaboration:
- do dem ticket administration right
- prepare dem standups
- use dem dem where needed8 -
Don’t be cynical and prideful. Respect people older than you in the profession, even if in your judgment they are “dinosaurs”. Even if they’re not as well-versed in what you consider “The New Shiny Thing”, they’ve seen some shit and can teach you a thing or two.6
-
Facebook Messenger's latest update wanted to do something with my Google Drive, and I got a prompt asking "Do you trust Facebook?"
Unfortunately, there was no option to say I trust Hitler with the Tsar Bomb more than I trust Facebook and Google talking to each other.6 -
Life at work these days:
Manager: we’re not getting enough done
My calendar: 1/3 week filled with scheduled meetings
Manager: we need to use ChatGPT intensively. We'll go a lot faster.
Me using ChatGPT to get it to write an automation script: 2 hours wasted with no success
Me starting again from scratch to write the script: 15 minutes to achieve the desired result.
Thanks for your advice boss8 -
The purpose of AWS free tier is to trick people into attempting to stay within its completely unmarked limits. It's like trying to hunt for mushrrooms in a forest split with a hostile country based on a verbal definition of where the border lies with border control waiting to ambush tourists for ransom money.7
-
*Now that's what I call a Hacker*
MOTHER OF ALL AUTOMATIONS
This seems a long post. but you will definitely +1 the post after reading this.
xxx: OK, so, our build engineer has left for another company. The dude was literally living inside the terminal. You know, that type of a guy who loves Vim, creates diagrams in Dot and writes wiki-posts in Markdown... If something - anything - requires more than 90 seconds of his time, he writes a script to automate that.
xxx: So we're sitting here, looking through his, uhm, "legacy"
xxx: You're gonna love this
xxx: smack-my-bitch-up.sh - sends a text message "late at work" to his wife (apparently). Automatically picks reasons from an array of strings, randomly. Runs inside a cron-job. The job fires if there are active SSH-sessions on the server after 9pm with his login.
xxx: kumar-asshole.sh - scans the inbox for emails from "Kumar" (a DBA at our clients). Looks for keywords like "help", "trouble", "sorry" etc. If keywords are found - the script SSHes into the clients server and rolls back the staging database to the latest backup. Then sends a reply "no worries mate, be careful next time".
xxx: hangover.sh - another cron-job that is set to specific dates. Sends automated emails like "not feeling well/gonna work from home" etc. Adds a random "reason" from another predefined array of strings. Fires if there are no interactive sessions on the server at 8:45am.
xxx: (and the oscar goes to) fuckingcoffee.sh - this one waits exactly 17 seconds (!), then opens an SSH session to our coffee-machine (we had no frikin idea the coffee machine is on the network, runs linux and has SSHD up and running) and sends some weird gibberish to it. Looks binary. Turns out this thing starts brewing a mid-sized half-caf latte and waits another 24 (!) seconds before pouring it into a cup. The timing is exactly how long it takes to walk to the machine from the dudes desk.
xxx: holy sh*t I'm keeping those
Credit: http://bit.ly/1jcTuTT
The bash scripts weren't bogus, you can find his scripts on the this github URL:
https://github.com/narkoz/...52 -
Reject original specs. Do the bare minimum MVP that works and solves problems people actually have, and not problems you think people have.
Improve it if needed.
In my experience, software projects don’t live long enough to outgrow the MVP. If they do, it happens way down the road. At that point, business will change, and the original spec will become irrelevant.
It’s a paradox: 90% of the spec was discarded, but the business is happier than if we followed the spec word by word.
Also, static typing and unit testing solve nothing. I’m sorry.24 -
Unpopular opinion.
TOML sucks
* it does not claim to care about indentation but it actually does
* nested datastructures are a nightmare, especially 'inline' for 'readability'
* oh fuck me everything must be "double quotes"
* booleans always lowercase, there is no "truthy" here.
* Tables are not intuitive at all.
And all this from working with it first time because I had the silly idea to modernize a python project to use pyproject.toml
Oh and don't get me started on pyproject.toml files. The documentation sucks!6 -
There is a place in Saint-Petersburg, Russia. A very, very weird place. Its name roughly translates to “The Board of Wards of the Russian Ministry of Defense”.
It’s an ultra-modern, beautiful facility situated near two most important (and evil) buildings of the Putin’s epoch — Gazprom Arena (a.k.a. Death Star, left bottom on the map), and Lakhta Center (a.k.a. The Oil Bottle, the tallest skyscraper in Saint-Petersburg), completing the trifecta of evil architecture. Its official governmental website is vague. Its objectives are unclear. You can’t enter it — it’s surrounded by water.
Their official mission is, and I quote: “Gender-based approach in education and gender role socializing of young women.”
It houses roughly 800 girls. It has no English Wikipedia page. Its Russian page says there is nothing quite like it anywhere in the world. It only accepts young girls as its students. Allowed visits from parents are rare. Girls aren’t seen much during “the training”.
They tell this place changes people. Mobile phones are strictly forbidden. They train, eat and sleep on site. They’re not allowed to leave.
Its reviews written on Yandex Maps (the go-to app for maps in Russia) are, again, vague and oddly positive. Mothers tell this facility is the best place to be for a young girl — they teach them “right”. The only extensive negative review tells of a girl that was able to get out because of “medical reasons”, and tells about how the on-site doctor wasn’t really allowed to do such a thing.
The facility is very secretive. Photos of girls published by them are eerie and highly curated. No one truly knows what happens there.
They are wrong, however. There _were_ places quite like it — they were called “Reich Bride Schools”, and they operated in Nazi Germany (https://en.wikipedia.org/wiki/...).
Welcome to the Putin’s harem.6 -
if people are curious of the PTSD baggage i'm carrying and why i rage so much at everything, see attached picture
granted, this was partly my fault, as i said, i was far too nice, and stayed for far too long
also note this job was AFTER a 2+ previous e-commerce job with ultimately failed project and little pay
UG i mean LOOK at this... i could go on and on for hours "push notifications must run" - yeah a casual bullet point that needs to be finished by end of day? hahahaha20 -
hilarious to me that people will resent a language or framework for a handful of quirks or "unique" patterns
yeah, give me a language or framework that doesn't
🤡🤡🤡🤡🤡🤡🤡13 -
what an absolute condescending garbage post...
"brilliant coder who can't meet a deadline"? well, you're the idiot right there, you just admitted it - they are brilliant and you don't know how to set deadlines
imagine labeling someone who can't meet a workload DIFFICULT! god this is making me fucking fume
"normal management" - yeah this is normal management alright, treating everyone like they don't know what they are doing and expecting them to follow you blindly, sounds pretty normal to me
it's shit like this that leads to cocky ass young dumb managers who actually don't know shit about building a product themselves, but then turn around and think they instead have the ability to manage a team to do it... incredible21 -
Swapped workplaces as the previous one wanted to get rid of me, the new one so far feels even worse.
Teammates are too busy to help, codebase makes spaghetti code look like a compliment (and it takes forever to compile) and my manager somehow believes I’m super man, supposed to finish everything faster than speed of light.
I’m miserable.2 -
!dev related
"Ah! Ah! Ah! AL QUEDA!!"
The opening theme song to the soon-to-be-a-hit docuromance-cum-comedy-on-ice, called "kidnapped-and-brainwashed in egypt: berry barrows story, starring samantha kaffir the isis headchopper, as herself."
Written by Adam sandler.
I wonder if the mods ever think I just write these posts to see the most unusual combination of tags possible.
There has to be orphan tags out there, tags associated with only a single post. Like half of them are probably because of me.8 -
Remember the post about bruce's constant?(4.5099806905005)
Well apparently theres a convergent series for it found all the way back in 2015.
Apparently its an actual thing. Which connects e to the square root of this series.
And it converges on (bruce-1)**0.5.
I confirmed it myself.
The two people who found the series that converges are N. J. A. Sloane and Hiroaki Yamanouchi
Thank you Sloane and Hiroaki!
The actual formula is a series of embedded square roots with the repeating numbers 1,4,2,8,5,7
like so...
sqrt(1+sqrt(4+sqrt(2+sqrt(8+sqrt...
What this means is you can find e using this series.
All you do is run the series, raise by a power of 2, add 1, calculate J and K like so
J = log(2, 1.333333333333333) / log(2, 2)
K = log(2, 1.333333333333333) / log(2, 3)
then calculate (J+K)-(bruce-1)
and out pops our buddy e:
2.7182818284591317
I guess I bullshitted myself for so long, that I didn't believe people like scor when they said they legit witnessed by math skills grow.
Or maybe a blind squirrel occasionally DOES find a nut.
Pretty cool find either way.13 -
Anyone used appwrite? (opensource free backend server, gaining popularity in competition to firebase)
How does it work, if i wanted to deploy it to prodution real world aws for example do i have to pay? Or i dont need aws at all?2 -
*In teams meeting with client*
Manager: Yes we can do all of that and it will be actioned very quickly. We will make all of these feature requests top priority. We will set aside everything we are currently working on in order to get this done!
Dev: ...Are you writing any of this down?
Manager: I don't need to, I always remember everything!
Dev: Just so you are aware, I'm not writing anything down. You're going to need to create a ticket with requirements spelled out for each one of these promises you're making otherwise they won't get actioned by the team.
Manager: I know that!
Dev: ...
*Later that day*
Ticket Title: Action client feature requests TOP PRIORITY!!!
Ticket Description: *empty*
Dev: ...13 -
A new mathematical constant was discovered recently: Bruce's constant
I took some code from the paper and adapted it in python.
def bruce(n):
J = log(n, 1.333333333333333) / log(n, 2)
K = log(n, 1.333333333333333) / log(n, 3)
return ((J+K)-e)+1
gives e everytime for ((J+K)-bruce)+1, regardless of the value of n.
bruce can always be aproximated with the decimal 4.5, telling you how close n can be used to aproximate e (usually to two digits).
Bruce's constant is equal to 4.5099806905005
It is named after that famous mathematician, bruce lee.
You'll start with four limbs and end up with two in a wheelchair!6 -
Thinking about going back to school for a potential career change. Has anyone regretted going back to grad school after awhile in the work force?4
-
(Italy)
In 1 word: SUCKS
In 2 words: SUCKS HARD
Basically you work in companies that are either not tech oriented and use you as an extra (eg: fix printer, sort boss fantastic vacation pictures in his overpowered Mac) or if the company main business is tech, they are FANGS-wannabe that pretend to compete with world biggest companies with a severely understaffed crew that they pay as clerks5