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 - "loops"
-
Oh dear, a scaling problem I solved was replacing some Regex matching with simpler string functions. While I'm a huge fan of Regex, it's unreal how much performance they can suck out of some high-n loops...
I got about 120x out of some critical code thus making a CPU upgrade unnecessary.8 -
I worked once in a company which had this tourist app which should show places on map of the city. Unfortunately it slowed the App down to load more then a couple of places. Their solution was to limit the number of loaded places to teb and prohibited zomming out. I made it handle thousands of places at the same time. Main reason for the Performance issue was, that they sent all data they had about places big, big json objects with large text blobs) to the frontend. This part was easy, I instead sent only the data needed for the map like coordinates and icon type obviously. But still the backend struggeled hard with many objects from the DB, because they built a really shitty orm or what ever this was supposed to be: every line of data retrieved from the DB was immideatly wrapped in some class wich direved from another class which had some magic methods in it which caused some absurd loops over all other obejcts and even more DB queries in unexpected moments and also in the fucking constructor. So it turrned out that the map issue was only the top of the iceberg, since using any data from the DB was extremely expensive. The hard part was to understand the insaness of this abnormination and find the bottlenecks.8
-
!rant
... so... maybe not that much of a thing, but i think it is:
a gal (27 years old) i started teaching programming two weeks ago, who had literally no previous experience with programming, algoritmization nor c#...
... just now, after 3 lessons of 6 hours altogether, and after yesterday when i explained to her what arrays are and reminded her what loops do...
... invented bubble sort. on her own. no googling. on paper. no "trial and error code typing and running".
i'm actually pretty proud of her :)
... putting the algo concept into actual code will still be a bit of a struggle, but yeah, hell, can't help thinking that she's actually pretty smart :)
(p. s. fist lesson was i drew uml of a fibonacci algo and forced her to understand what it does, second lesson was i explained the minimum required c# syntax for her to be able to implement it and forced her to write it (with as little help as i could), third lesson was the concept of array and "okay, now here's array of numbers, make a function that will sort them")
looking forward to what will happen when i explain recursion and nudge her towards quicksort O:-)8 -
My boss has zero emotions and empathy. How ironic for someone into product management!
He is 100% logical, maybe more. He is smart that way and yes, that is a skill to learn from him. He has good product management hard skills.
But, he is an emotional void. Zero humane feelings. He treats everyone like a machine. He is overly obsessed with documentation and wants every single word to be his way.
My writing and communication skills are his pet peeve.
Last Monday, our CTO was in office and he wanted to meet me. I was working remotely, so leads notified me. Even though our CTO runs a monkey business, I was eager and excited to meet him.
This week, my boss will be in office. He texted me to catch-up on coming Monday. I am anxious and worried even though my boss has great skills in our work function.
Furthermore, I find my boss overly critical about everything I do. Maybe it's not me and he does it with everyone, because I haven't been part of a group connect, so no idea. But dude.. give me a break.. give me some room to breathe..
What I heard from another junior, who joined us last month, is that one of the folks who resigned in past was because of my boss.
Feel like that I will move on from my dream organisation as soon as I complete little more than one year.
And apart from that, I scratched my eye glasses, Reddit permanently banned my account for no fault of mine, wanted to catch-up with a cousin, who is going through a rough phase, to cheer up the lad, but he won't answer our calls.
What a shitty weekend.
And yes, my boss is a hipster in the way he dresses and thinks.
He literally keeps saying that we need to use dark patterns like click baits, incite FoMo in our app users, add feedback loops, etc.3 -
A rather happy/neutral post this time for a change. Lol
Firstly the good news: I have successfully recovered from the emotional/mental abuse and have been doing really well. My faith in myself has been slowly restored.
Secondly, I have started to pursue my hobbies again and find joy in them. I spend more and more time listening to music and play video games (CS:GO and AoM).
I have started getting more sun and also spend time outside socialising.
I can sense my happiness and joy get restored in my life.
Now on career front, I have started job hunting again as you all know. The interview process for Product Management is absolutely broken and taxing to go through all the loops.
During all my previous job hunts (three times), I was able to nail down at least one offer in a quarter.
This time, I started in October 2021 and still no success. I have much more experience and skill-set this time yet failures.
Fear not. My optimism is back this time. I am aware of where I am going wrong and sometimes I feel the situation is truly out of my control. The two major reasons I forsee are:
1. Relocation: it can take few months for me to relocate to UK/EU and hence, companies are preferring local candidates.
2. My duration with current employer is just 8 months which could be a potential turn off for many HMs. They might think I am a job hopper and maybe one of the reasons why I got so many calls and opportunities at my previous employer (I was stable with them for 7.5 years).
I feel it's just the matter of time for me now where I must hold my horses and keep the momentum without losing hope.
I will win.10 -
A long long time ago ( 2007 I think ) I worked for a company that made landing sites, so basically an email campaign would go out, users would be sent to a 1 page website with a form to capture their data, ready to be spammed even more. You know how it was back then.
So I worked with a guy who we had just hired, I didn't do the hiring but his CV checked out, so I gave him one of my tasks. Now most pages were made with js and html, with a PHP backend ( called with Ajax). Now this guy didn't know PHP so I was like all good, ASP works too at the end of the day we don't judge, we do like 2 or 3 of these a day and never look at them again. So he goes of and does is thing.
3 weeks later, the customer calls up to me they still haven't received their landing page. Ok so he probably forgot to email the customer np, I tell him to double check he has emailed the customer. Another week goes by end the customer calls back, same problem. At this point I'm getting worried, because we're days away from the deadline and it was originally my task.
So I go back to the guy and I tell him I want that landing page so I can send it myself, half thinking to myself that we had a freeloader, that guy that comes in to companies for 3 weeks, doesn't work, but still cashes his pay. But no, this was much worse.
So he tells me he has finished yet. I ask him why, what's the blocker ? You had 4 weeks to tell me you were blocked and couldn't progress. And his answer was simply, because I wasn't blocked I have been working on it this whole time. So I tell him to zip his project up and email it to me. We didn't do SVN or git back then, simply wasn't worth it. So he comes back to me and says the email server is telling him attachments can't be bigger then 50mb. At this point I'm thinking he didn't properly sized the art or something, so I give him a flash drive to put it on.
When I then open the flash drive, the archive is 300mb, thinking to myself, the images weren't even that big to begin with.
So I open it up, and I don't even find any images, just a single asp page. About 500mb. When I opened that up and it finally loaded, I saw the most horrendous things ever.
The first 500 lines was just initializing empty vars. Then there was some code that created an empty form with an onChange event that submits the form. After that.. it was just non stop nested if's. No loops, no while, for, foreach, NO elseif's, just nested if's, for every possible combination of the state the form could be in. Abou 5000 of them, in a single file. To make matters worse, all the form ( and page ) layout was hardcoded in the if's. Includes inline css, base64 encoded images, nothing but as dynamic, based on the length of the form he changes the layout, added more background etc. He cut the images up for every possible size of the page and included them in the code.
I showed it to my boss, he fired the guy on the spot. I redid the work from scratch, in under 4 hours. Send it to the client. they had no ammends to make, happy as Larry. Whish I kept the code somewhere.
Morale of the story, allways do a coding test on interviews, even if small things just to sanity check.4 -
This is so annoying, I had 9 diff. jobs the past 2 years and this is my 10th and if this doesn't change I might reconsider my options again.
I came to work at a company that pays me like a Junior and treats me as an intern. My 20yo "boss" who acts as a project owner/lead dev doesn't want to learn anything new and sees any improvement as a waste of money. The problem is he thinks hes a great programmer but he doesn't know shit. Im mainly working on the Laravel installation because "I claimed I know Laravel". And its absolute garbage. They haven't used a single Laravel features besides routes and everything else is vanilla PHP. They write for loops that loop through $_REQUEST to remove a single character. Write 100 deep nested ifs and they abuse Elasticsearch to the point ES crashes because the program is using 1000 deep multidimensional arrays. Its only a webshop...
Everytime I try to make a suggestion like making the master branch protected, doing code reviews etc etc I get shut down because they are autistic and don't want anything to change.9 -
There's always been the debate about omitting braces for single line if's and loops, but today I learned the C compiler actually allows you to do this:
for (i = 0; i < x; i++)
for (j = 0; j < y; j++) {
do_something(i, j);
something_else();
}33 -
I went down a rabbit hole of code changes to try and delete a stupid for loop with a break in it.
It was super stupid and I gave up and submitted to the fact that some battles are not worth the time and stress.
OK... But seriously, It was returning multiple entities from the database, but we only always want the first one. My logic is that we should just go in there and fix the LINQ so we are explicitly getting one entity out.
But fuck that logic. No I'll have to change fucking everything that's tied to that method and expects a list from it. Every fucking thing. That includes error handling, parsing, for loops..... Nevermind...
You can have your foreach and your break. I'm taking mine, now.rant break my back on this stupid code what do you want on the frontend last minute changes did this to me they couldn't decide1 -
I'm learning Rust as a case study for my own programming language. It's funny how many approaches exist to the humble loop.
- In classic procedural languages, a loop's job is to repeat actions, and as such it provides a multitude of tools to control this repetition.
- In all languages with iterators, a for-in loop is a construct that does something with every element of a collection. In languages with both iterators and generator functions, this can even be used to define a sequence in terms of another.
- In Rust, a loop is an expression that obtains its value through repeated execution. It can also be used like a classic loop, of course, but this is the interesting part.
- My little language is a functional language, so "loop" is the Y combinator. To loop means to define the value of an expression in terms of itself. It's the only looping construct, gets special treatment from the type checker and it's also used in recursive type definitions. -
I can now appreciate some design decisions behind react-redux after witnessing some angular OOP clusterfuck.
I am sure there is some clean/correct way to code in angular, but everyone is treating angular as java.
Some angular application (the one I have to work with) is littered with network calls. It's difficult to spot duplicates. People usually resolve promises everywhere. In services, in a top-level component, or in for loops. In react, people use apollo/redux-query or redux-saga to handle network calls. Since these libraries prevent duplicate network calls internally and reassigning apollo network call function or redux action function is always useless, it's easy to spot all network calls in a component tree.
In angular, it's difficult to trace data mutations when data can be updated everywhere. In react, you can easily find UI state updates by tracing state hooks/dispatch/apollo usages.
In angular, it's difficult to trace data pipeline. Since everything is imperative by default, people need to add update functions in data subscriptions. With all the littered mutations. Soon you will lose track of what the fuck is going on.
I hope angular get the agonizing death it deserves and fuck everyone who codes JS OOP clusterfuck UI.11 -
It's so easy to use for-each loops instead of if-else chains, yet when I write a system in for the first time, I always find myself doing the latter.
"It's placeholder code" saves me every time as long as I rewrite it later.6