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 - "catchup"
-
Last night I met up with some old colleagues for food and drinks to have a catchup. Things have been stressful in work, was great to get out and have a bit of a rant and just relax ... until I saw the menu.
Hamburger:
xyz dressing / sauce, crispy onions ... and cheddar cheese.
That sir, is a fucking cheese burger, and just piss poor documentation. How have you managed to stay in business with such misleading information and false advertisements in your menu.
Thank you for ruing my evening!6 -
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 -
I get back from Christmas vacation. I read all the unread emails and team chats, then go to work on my assigned tickets. As far as I can tell, those tickets are all I need to work on.
Then my boss snaps at me during our team catchup that I'm supposed to be working on a different set of tickets. Which were not visible on the board. Which were not assigned to me. Which nobody on the fucking team bothered to update me on. Of course if I point those out it'll just be a pain to deal with (especially since my boss doesn't seem to have my back, unless he needs something).
I thought my vacation would help me re-energize and get motivated again for this job, but coming back I'm reminded how unhappy I am now here. I've started applying elsewhere, but I don't know if I can continue to put up with this bullshit until I find a new employer.
Any tips or advice from folks who've felt unhappy in their job in the last year?5 -
Haha this is the first time ever I have had to play catchup on a class as much as I am currently doing with one inside of my graduate program :V it has been absolute hell man.
On one side I love the concept and topics and will definitely dig more shit on it for myself for future reference and application. On the other the instructor and his OVER THE TOP CHINESE ACCENT will forever hunt my dreams and provide for major pain.
Can't wait for this class to be ovee. Sadly i might not get the grade that I want, but I know I am gonna pass it.
Never man. I ain't no brainiac, but I know for a fact that I have never done so poorly in a class in my entire life and I honest to heavens blame it on this dude not being able to explain shit properly or provide feedback on a timely basis.2 -
Hi, my manager is leaving soon. I’ve only been here for short of 2 years and I’ve been promoted once already. It has come time to hire another dev. My director asked me to think about what I want for my career and how to hire the right person. I don’t want to become a manager if that means to stop coding and building stuff. Any advice or experiences you guys have had with this? I’m supposed to have a catchup with my director and he told me to think about it, but I only can think in terms of Problem-Solution. Not in abstract strategic career positioning or team management etc.4