Details
-
AboutWorkaholic, learner, usually almost sober after 19 hours of coding, and on Mondays. Would love to talk about AI at any time of the day.
-
SkillsPython, R, Matlab
-
LocationMumbai
-
Github
Joined devRant on 1/16/2020
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
-
What's your worst experience with "not invented here syndrome"?
In the recent past I've been dealing with custom made JS datepickers, autocomplete boxes and various other widgets that were purpose made for some feature. Almost every single widget the app uses is built from scratch.
Now there are new features that need these widgets to behave differently, and needless to say, none were built with customisation or extendability in mind.
Hardly shocking, I know, but I'm the one that has to spend several hours to get these widgets to work for the new features instead of using some of the many open-source, tested, mature and customisable solutions that are out there.3 -
Developers insist that I give them a sketch file instead of a zeplin doc I'm like ok fine. Then I am told in like three weeks of development that they don't understand the sketch file when they insisted on it. So I'm like ok fine let me put it on zeplin. Then I'm told to compare their work with my designs. And ofcourse it doesn't match. So i sit and literally go through each margin , each padding with them. Then I'm told that they r over riding exsisting styles and say that's alot of development so I say ok I need to ask the product owner if it's gonna take more time. They get mad at me and say why I need to ask this? Like u told me it's gonna take you longer and I need to tell my boss? Then my boss says confirm all the styles with marketing ( everyone btw has seen my designs, reviewed them, and I have confirmed literally every change) and now I've been told to change a button to red ( why r your cta's and errors the same color I have no idea ??!) And then I tell the developers and they make a huge deal about changing the button from blue to red. NO ONE HERE HAS A STRUCTURE TO PRESENT HAND OFF TO THE DELVEOPERS. ITS SO ANNOYING.
Also can I just say in my presentation time and I had spent time on my designs and someone says oh let me show everyone through my screen.
I literally got a word out before all the delveopers in the room start arguing and skipping my design slides like R FO REAL? LET ME GO THROUGH THE JOURNEY ITS MY JOB.
LET ME HAVE CONTROL ON MY DESIGNS
UAIQBA.EAUKWHWUAGWNKRVIEVJWFEJCSJCSJCAHCSHXWH
sorry. I am typing this sitting on a sofa eating cake when I'm supposed to be on a diet but I'm wallowing and crying6 -
Its really hard to do automation using PHP.. 😪..
Miss those days when I used to automate anything using Python..😢17 -
Manager: "If needed, are you willing to work overtime this month?"
Developer: "Yes. [ ... pause ... ] would you give me some over my salary for sometime?"
Manager: Yes, increment happens every 6 months.
Developer: "I am thinking beyond it".
Manager: "No, it is not possible"
Developer: "Okay"
** alarm clock vibrates **
Developer: "It is 5:00 PM now. I need to leave. See you on coming Monday at 9:00 AM sharp"
[Developer left]
Manager: "Byeeeee ... "2 -
Gonna start a blog where i take medium articles by retards and explain why is what they write stupid12
-
Designer: Can you hide scrollbar and still make web scrollable?
I: Sure.
Designer: Ok fine, i'll do that in next design.
I: Wait, how users will know the web has more content?
Designer: I'll put the mouse icon on the bottom.
I: It is not good idea. People can overlook it.
Designer: It will be fine.
I: I strongly recommend to you not to do it.
Designer: Why?
I: Confusion besides other reasons.
Designer: If you can do it, do it.
I: Ok than.
$request->getIP() == 'his_ip' ? 'hide-scrollbar';4 -
I want Gordon Ramsey to start a IT program in the same fashion as Hotel Hell and Kitchen Nightmares
He'll sit at a desk with a laptop, examining code as if he's eating food, venting frustrations and screaming insults out loud
Then he'll have a talk with the team and see how they work on a day
After that he'll go into the freezer (server room) and scream at mold and cockroaches
Then comes the intervention where we discover that the PM is still grieving about the death of his original programming language and the team loves him but thinks he should move on
The next day the development studio is modernised and has a candy bar, tennis table and everyone is forced to use linux on their new macbooks
Then we experience a good day where everything is great and velocity is through the roof
Then Gordon leaves and everything is shit again17 -
during code review...
peer: "you should pass this variable, and extract the logger from it"
me: "why? it is a 3 line logging function. why not pass the logger instance?"
peer: "because that is our best practice. It is the way we do things"
me: "why is it a best practice?"
peer: "because it is. We use it everywhere!"
me: "No we don't. And I still don't understand why is this a best practice. can you explain?"
peer: gives ups, did not look at the mr, and was not going to.
mr stays open. probably forever.11 -
Hey everyone,
Merry Christmas to everyone who celebrates, happy holidays to everyone, and happy almost-new-year!
We had a bit of a slow year in terms of devRant updates, but we gained some momentum towards the end of the year and we're looking forward to carrying it into 2020. Recently, we launched what I think are our coolest new avatar items yet (https://devrant.com/rants/2322869/...) and behind the scenes we got our iOS/Android apps on the latest version of the frameworks we use, which will help us continue to improve stability. Still, we definitely would have liked to do more, but we're optimistic the coming year will bring great things for devRant.
One thing we are very proud of is this year we had our best year ever in terms of platform stability and uptime. Despite the platform growing and our userbase growing, we had almost no complete app downtime even though our infrastructure is minimal. A large part of this is thanks to devRant++ supporters, who allow us to maintain a small but effective tier of infrastructure and redundancy.
In the coming year, we're going to launch one of our most ambitious initiatives yet, and we're also going to continue to improve the devRant experience itself. We want to try to gather more user feedback, so we'll be working on a way to do that too. Stay tuned, more on this stuff coming soon.
As always, thank you everyone, and thanks for your amazing contributions to the devRant community! And thank you to our awesome devRant++ supporters for continuing to be the main drivers to keeping devRant up and running.
Looking forward to 2020,
- David and Tim28 -
I've optimised so many things in my time I can't remember most of them.
Most recently, something had to be the equivalent off `"literal" LIKE column` with a million rows to compare. It would take around a second average each literal to lookup for a service that needs to be high load and low latency. This isn't an easy case to optimise, many people would consider it impossible.
It took my a couple of hours to reverse engineer the data and implement a few hundred line implementation that would look it up in 1ms average with the worst possible case being very rare and not too distant from this.
In another case there was a lookup of arbitrary time spans that most people would not bother to cache because the input parameters are too short lived and variable to make a difference. I replaced the 50000+ line application acting as a middle man between the application and database with 500 lines of code that did the look up faster and was able to implement a reasonable caching strategy. This dropped resource consumption by a minimum of factor of ten at least. Misses were cheaper and it was able to cache most cases. It also involved modifying the client library in C to stop it unnecessarily wrapping primitives in objects to the high level language which was causing it to consume excessive amounts of memory when processing huge data streams.
Another system would download a huge data set for every point of sale constantly, then parse and apply it. It had to reflect changes quickly but would download the whole dataset each time containing hundreds of thousands of rows. I whipped up a system so that a single server (barring redundancy) would download it in a loop, parse it using C which was much faster than the traditional interpreted language, then use a custom data differential format, TCP data streaming protocol, binary serialisation and LZMA compression to pipe it down to points of sale. This protocol also used versioning for catchup and differential combination for additional reduction in size. It went from being 30 seconds to a few minutes behind to using able to keep up to with in a second of changes. It was also using so much bandwidth that it would reach the limit on ADSL connections then get throttled. I looked at the traffic stats after and it dropped from dozens of terabytes a month to around a gigabyte or so a month for several hundred machines. The drop in the graphs you'd think all the machines had been turned off as that's what it looked like. It could now happily run over GPRS or 56K.
I was working on a project with a lot of data and noticed these huge tables and horrible queries. The tables were all the results of queries. Someone wrote terrible SQL then to optimise it ran it in the background with all possible variable values then store the results of joins and aggregates into new tables. On top of those tables they wrote more SQL. I wrote some new queries and query generation that wiped out thousands of lines of code immediately and operated on the original tables taking things down from 30GB and rapidly climbing to a couple GB.
Another time a piece of mathematics had to generate all possible permutations and the existing solution was factorial. I worked out how to optimise it to run n*n which believe it or not made the world of difference. Went from hardly handling anything to handling anything thrown at it. It was nice trying to get people to "freeze the system now".
I build my own frontend systems (admittedly rushed) that do what angular/react/vue aim for but with higher (maximum) performance including an in memory data base to back the UI that had layered event driven indexes and could handle referential integrity (overlay on the database only revealing items with valid integrity) or reordering and reposition events very rapidly using a custom AVL tree. You could layer indexes over it (data inheritance) that could be partial and dynamic.
So many times have I optimised things on automatic just cleaning up code normally. Hundreds, thousands of optimisations. It's what makes my clock tick.4