AboutA math nerd turn data engineer, turn full stack turn tech geek.
Skillsjs, nodejs, python, r, react, numpy, dplyr, ubuntu, arch, and more
LocationRichmond Hill, ON, Canada
Joined devRant on 12/15/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
A big project in my company. Had some annoying race condition that caused data to get deleted when two processes finished in the wrong order they hit the dB and override each other’s work.
Long story short. Fixed the bug and in the process the codebase shrunk by 60%. I didn’t have to delete the rest of the code, but the bug was due to a function in the legacy section of the code, and found out that it was the only function used in that section.
So I deleted it. Rewrote the function so it upserts. And bam. Smaller, cleaner code :)1
Workstation for last few hours. Just sitting here chilling while waiting for my car to get serviced.8
Everyone I tell this to, thinks it’s cutting edge, but I see it as a stitched together mess. Regardless:
A micro-service based application that stages machine learning tasks, and is meant to be deployed on 4+ machines. Running with two message queues at its heart and several workers, each worker configured to run optimally for either heavy cpu or gpu tasks.
The technology stack includes rabbitmq, Redis, Postgres, tensorflow, torch and the services are written in nodejs, lua and python. All packaged as a Kubernetes application.
Worked on this for 9 months now. I was the only constant on the project, and the architecture design has been basically re-engineered by myself. Since the last guy underestimated the ask.2
How do you go about introducing new technologies to your company/team?
Whether it’s writing the next API in another language or using a new framework/library/approach?6
About 2 months ago, my company wanted to build a micro service that will be used to integrate 3 of our products with external ticketing systems.
So, I was asked to take on this task. Design the service, ensure extendability and universality between our products (all have very different use cases, data models and their own sets of services).
Two weeks of meetings with multiple stakeholders and tech leads. Got the okay by 4-6 people. Built the thing with one other guy in a manner of a week. Stress tested it against one ticketing service that is used in a product my team is developing.
Everyone is happy.
Fast forward to last Thursday night.
“Email from human X”: hey, I extended the shared micro service for ticketing to add support for one of clients ghetto ticketing systems. Review my PR please. P.S. release date is Monday and I am on a personal day on Friday.
I’m thinking. Cool I know this guy. He helped me design this API. He must’ve done good. . . *looks at code* . . . work..... it’s due... Monday? Huh? Personal day? Huh?
So not to shit on the day. He did add much needed support for bear tokens and generalized some of the environment variables. Cleaned up some code. But.... big no no no...
The original code was written with a factory pattern in mind. The solution is supposed to handle communication to multiple 3rd parties, but using the same interfaces.
What did this guy do wrong? Well other than the fact that he basically put me in a spot where if I reject his code, it will look like I’m blocking progress on his code...
His “implementation” is literally copy-paste the entire class. Add 3 be urls to his specific implementation of the API.
Now we have
The latter 3 are his additions... only the last one should have been added in reality... why not just add a type to the payload of the post/put? Is he expecting us to write new endpoints for every damn integration? At this rate we might as well not have this component...
But seriously this cheeses me... especially since Monday is my day off! So not only do I have to reject this code. I also have to have a call now with him on my fucking day off!!!!
Just Realized... I have like 1 of every device... I'm a full on fence sitter...
iPhone X -- work phone
Huawei p20 -- personal phone
MacBook -- work laptop
Lenovo ThinkPad running Arch Linux -- personal laptop
Window Surface -- research/teaching laptop (use it when I teach and need to bring notes)
Gaming PC -- Gaming PC
And all of this took ~5 years to garner... Geez... I like all of these devices too (and sometimes i hate em) Holy...1
Crucial touchpoint with product owners;
- me doing my business on the toliet
- me cleaning up
- me brushing my teeth
** Yes I agree! That feature could****brushbrush****take some time to ***brushbrush*** do**
My laptop was at 500% of course usage and ram... Wtf...
Had to stay till 1am because I was debugging a microservice system with 15 services, 3 databases and a full mail server. Freaking integration tests took all night to build and run. Don't have a remote server to run this on because the guy is sick. Arghhhhhh8
Someone should really close the COVID-19 ticket. Or at least make it ready for technical/PO review.1
C: what technologies are you using in this product?
Me: we are using celery which uses kombu to communicate through redis. Additionally, we have beat tasks that run and check the state of workers
C: was someone hungry when they named these frameworks?
Me: Possibly, but I just got hungry naming them.
So at work, I was trying to convince a senior programmer to adopt Golang for a new project that would need to handle large amount of throughput as oppose to Django with gunicorn and other optimizations (which is what we usually do).
The response was "we'd have a hard maintaining it, as no one really knows Go and it will be hard to hire people with Go knowledge".
So my question: "in your opinion, is that a good reason?" I have some go experience from other jobs, it seems like a superior solution for this problem.8
This is interesting coming from the man who build the biggest IP conglomerate in the world. A man who actively tried to kill open source. Looks like he got into his senses at his old age. Although, he is talking about AI models only, not software as a whole.
Yes ML/AI models are software.2
How do you tell someone that they are wrong without sounding like a douchebag or coming out as aggressive?11
Everyone talks about their hate of js but like python is honestly just as bad.
- shitty package manager,
* need to recreate python environments to keep workflows seperate as oppose to just mapping dependencies like in maven, npm, cargo, go-get
* Can't fix python version number to project I.e specify it in requirements
- dynamic typing that gets fixed with shitty duck typing too many times
- no first class functions
- limited lambda expressions
- def def def
- overly archaic error messages, rarely have I gotten a good error message and didn't have to dive into package code to figure it out
- people still use 2.7 ... Honestly I blame the difficulty of changing versions for this. It's just not trivial to even specify another python version
- inconsistent import system. When in module use . When outside don't.
- SLOW so SLOW
- BLOCKING making things concurrent has only recently got easier, but it still needs lots of work. Like it would be nice to do
Or just running asynchronous functions on the global scope will make it know to go to some default runtime. Or heck. Just let me run it like that...
- private methods aren't really private. They just hide them in intelisense but you can still override them....
I know my username is ironic :P13
I love my job. Minus that 1 stupid guy who I don't understand how he was hired. And minus one of the managers messaging me after hours to do work. Everyone else is alright, need to find a way to hide from that manager and work on projects exclusively with other managers D:
Anyone else ever felt like hiding from management? Lol1
Can someone example to me why do people use a VPN when not on public wifi? Like you are already at home with your own private network.
Like the moment you log into Facebook or Twitter or medium or to check your Gmail/outlook whatever, all you are doing is making is making it very clear to the host companies that you are inconsistently paranoid. Because all the sudden the person who's home address is in Seattle, work and home phone are in Seattle and all of their communication is done with people in Seattle. Has their web traffic location encrypted unknown.
Yeah your packets might be encrypted, but you are still spreading enough self identifying information by merely existing on the web.
At the end of day it seems more like a illusion of safety that these VPN sell. At the cost of a good dollar and slower internet speeds.
Unless you got some actual trade secrets and sensitive information, the f is the point for you to use one?17
Yes Forbes. I definitely believe that Deepin is one best glorious Linux. No way China has anything to do with it :3 👍10
Omfg this fucking guy!!!!
We are going through a major refactor of some of our backend components. I was tasked with cleaning up our ML code while another guy was tasked with cleaning up the general CRUD side of the backend, let's call him DA for "dumb ass".
** At 11pm
DA: I am getting a strange error from your backend. Look:
"Invalid call: method=PUT expected=[POST]"
Me: you need to send a post request not a put request
DM: no, it's not that. I am sending the right thing
Me: ... Let me see...
* 15min ish of testing *
No, it works fine on my version, 1.1.0 what's your version?
DM: I'm on 1.1.0.
Me: send me code?
Me: you are sending a PUT... It's literally in the screenshot. Send a Post
DM: I am
Me: no, send a Post
DM: I don't understand, I am sending the request
Me: it's a post not a put
Me: it's a post not a put
Me: good night!!!!!!14
Rant...ish? It's more mixed feelings...
Had my first day yesterday at a new job in a big company. I came dressed really nicely in a suit and tie. Went to orientation with everyone new coming in.
Felt like I made the right choice to up my effort in dress code.
Met with my manager, was led to my team. Everyone is dressed casually. Unshaved. Giving me hate stares.
Felt out of place. But kind of happy that I can try less.
Still. What's up with programmers and being toxic to people dressed nicely o.0 I don't need to look like I came out of crunch time every single day to prove my worth...
It's really weird getting these looks. It's almost like highschool all over again. When I let my mother dress me and looked like the nerdiest kid on the block...
Then again, today I'm wearing sneakers and causal clothes. I either feel like I cave in to peer pressure... But at the same time I don't mind it. Erghhh... Still hate this...
Mixed feelings... I donno.7
On the topic of mesh networks
1. Anyone know of a good non-cloud dependent mesh network system under $300?
2. Anyone every attempted to setup their own with libremesh or with prototype-cjdns-pi?1
Any people using Julia here for something real. Like analysis or building applications? Is it worth learning or should I stick to python and cpp ?3
I love pipes in R. Really wish more mainstream languages would adopt that *looking at you python, nodejs-tc39, rust, cpp*
Just something about doing
data %>% group_by(age) %>% summarize ( count= n() ) %>% print
As oppose to
print(summarize (group_by(data, age), count=n()) )19