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 - "infinite loops"
-
As a Java developer, reasons to kill other programmers:
- static mutable variables
- WRITING to static mutable variables
- API call with Framework X didn't work. Add Framework Y along with X and try that. Wrap X in try/catch statement. Catch block fires framework Y.
- six, seven, ten levels of nested code. Zero thought put in organization
- 6K LOC Java files
- spring (singleton? Maybe) object assigning values in static mutable (see pt.1)
- a couple of unit tests in code base that no longer work. Zero unit tests in new code
- unit testing disabled in CI pipeline
- empty catch blocks
- pass mutable data between threads. Modify in various places concurrently.3 -
Infinite loop...
Got a story assigned with no requirements listed this sprint. Since I finished the rest already I was like, lets be pro-active and see what it's about during the stand-up.
Me: Hi, I only have story X remaining, what's it about, there are no requirements listed in Jira?
SM: Yeah person Y is going to reach out to you with the reqs.
Me: Ok, when is Y going to reach out?
SM: Y doesn't have time now, will probably be in 2 weeks.
Me: Ok, so why is the story included in this sprint then?
SM: Because they want X implemented this sprint.
(Me wondering if the Scrum Master is familiar with infinite loops, thinking let's try this out)
Me: Ok, if X should be completed, can Y reach out to me with the requirements?
SM: Y doesn't have time now, will probably be in 2 weeks.
Me: Ok, why is the story included in this sprint then?
Stand-up lasted a lil' longer today... Hope the SM got the message not to assign stories without reqs or clear communication anymore.5 -
Startup.
Our intern is a weird bird. He is an immigrant (like me) and should be working his ass of to become an FT, and then tie the H1B. I never had an opportunity like this.
Instead the dude sat on his hands for four/five months since hired. He was managed remotely and fairly low touch. He was doing some light support work initially, though I had not heard anything from him.
I take him on now as his ass is about to get dropped. Manage him much more directly (small tasks several checking per day, you get the picture). We need to deliver something relatively simple in three weeks.
On Thursday I find out that the dude has no idea of what Spring is (we are a Java shop). Dude, you have had access to our fucking code base for five months, didn't it cross your mind to poke in? Maybe do a little research and see what this thing is that we are using ALL OVER THE FUCKING PLACE? I sit two desks from you, why the fuck didn't you ask me a question? This ain't fucking socialism where we have a five year plan.
I swear, two things I dislike: incompetence and laziness. And incompetence can generally be cured with some lecturing if the other party is willing to listen.14 -
Was joking with my sister about who has more steps. She had done more steps so far, so I said that I would walk 20 times around the McDonald's, where we were going to eat. She replied that she would walk 50 times around it, so I said that I would walk 2 times more around it than she would. She then said, that she would go once more around it. In the end, I explained recursion and infinite loops to her. Her comment was "großer Blödsinn" (German) -> "big bullshit".3
-
So I would really like to see a devrant like app where devs can share design ideas for problems that are greater than a function call, or topical questions found on stack overflow.
As I have gotten older, I have realized that actual implementation is typically easy, the design approach is typically harder to get right from the first go, so open critique can be very useful.6 -
Worst part of being a dev?
For me it's putting myself into infinite loops wrestling with my own self doubt. Is this really how I want to solve this problem? Could this code be cleaner? Surely there's a better way to do this? Am I adding unnecessary complexity? Is this going to come back and bite me in x months? And so on...
In fact, most days I just feel like an imposter.4 -
We used to write infinite loops with "start cmd.exe" instructions in windows batch, converted it to a executable, gave it an epic vector icon and tried to sell it to 5th graders on CD as "an epic virus that will make your teachers go insane".
And some of it actually got sold.8 -
I will give you a reverse rejection. Went to two interviews on site with company. They asked me a question, and I struggled. Solved the question one hour after the interview :) asked me to come for a second hands on interview, make some changes to sample code. Did that reasonably well. I rejected them because in both times the engineers we're sitting behind their laptops and were working. 0 interest or engagement on their side about the candidate.
That startup failed some years after.1 -
Go is fast they said, Go is lightweight they said.
package main
import "fmt"
func main() {
var nums []int
for i := 10; i > 0; i++ {
nums = append(nums, i)
i--
}
fmt.Println(nums)
}
# htop
| PID | USER | VIRT | %CPU | %MEM
| 12048 | root | 16.9g | 101.3 | 94.2
WTF is eating my resources to hell and.... oh... oh im a dickhead!9 -
*Program crashes*
Colleague looks over my shoulder : While loop?
Me : ...while loop.
It's been two years...my brain just refuses to write non-infinite while loops. I tend to avoid them as much as I can cause every time, without fail, first time I create one I crash something.2 -
!rant
I see a lot of crap about junior vs senior devs nowadays. I think the distinctions are small.
In reality senior devs have been burnt more in the past by their own mistakes or have seen mistakes by other people. That's about it.
What other distinguishing characteristics have you found?7 -
uni prof: "you can't make an infinite for loop. Infinite loopsnare only possible with while loops"....
I think it's not what he meant, but it was a while ago and I forgot the context, but multiple students made a 'what the fuck?' noise.5 -
Actual production code:
while(1):
//A few lines of code here with a conditional break.
while(1):
//More code.
Have you ever just had nested infinite loops...4 -
Not the question itself, the attitude was the problem.
I didn't solve the problem that they gave me, and struggled for a while (I ended up solving it an hour after the interview).
Their attitude was that they were both sitting on their computers working and not paying attention to me.
That was disrespectful and stupid. Interviews are also about figuring out whether you can work with the person being interviewed, not just their tech chops. They completely missed the opportunity.
I went to round 2 which was the same. Didn't go for round 3. -
I hate interviews. I am not too keen on giving them and not too great at taking them, though I typically do well.
We are smart people, there has to be a better way than coding things on the fly... -
Mine: not listening to early warning sings that shit won't work. As a result we implemented the wrong technology and had to roll back after a month in production. Lost some customers data, though we had backups, so it was just a delta of a day or so. Still, not pretty, had a rough night writing scripts at 3am to check data validity after.
I will throw in another one from a colleague of mine. He was running some database migrations and ended up pointing the DB migration tool to production by accident. Oops. That one required a restore as well, if I remember correctly. -
So I do not get why people use ReactJS. I hate it. for 3 years passionately. And I have to work with it every day.
- one-way data binding
this makes you write twice as much code, which will have twice as much bugs, you need to read through twice as much code from other devs.
- mixing html and JS
after all I like to pour my coffee on my omlette so I can eat and drink at the same time in the morning. This kills productivity and ugly AF
- not unified
Every dev uses their own special snowflake framework with React there is no unified way of doing things and you cannot use your familiar tools. Every project you need to start over from zero.
- Bugs bugs bugs
infinite loops, max update depth reached, key not present on list element. Let me ask you something dear ReactJS. If you know that there should be a unique key on that element. Why cannot you just put it there and shut the f up?
- works reeaally slow when compiled with TS
ReactJS was never designed to work with TS and now the tools for it are really slow. And why TS? Explicit contract is always better than an implicit contract. TS helps you in coding time, but for some reason React devs decided to worth 3 seconds to wait for compile and then realize you mad an error. ReactJS is bad and inefficient so stop making projects with it please.9 -
My biggest regret is not spending more time on Math. While I don't think it has hurt me directly, it has certainly decreased the chance of me learning some DL methods.
That and not pursuing a PhD.2 -
So I broke my beloved Fedora Dist. instead of doing a little "sudo chmod -R 754 ./" on a development folder, I did it on root folder ( / )
Now, OS crashed, and I'm getting infinite loops when booting.
But I'm not even mad. I'm impressed :o7 -
Fucking Java 8 java.time package. I want to kill the damn developers of this useless piece of shit code.1
-
Turns out my colleagues don't understand how useMemo works. They would try to memoize a value and then, in the dependency array, use an object that gets rebuilt on every rerender.
Good job, guys. I wonder how many silent infinite loops we have because of that shit.1 -
So I'm writing a function in Unity3D that walks a rectangular grid. At one place in the code, I got the x+y coordinates backwards, which caused the function to infinitely loop between two coordinates.
Not seeing a way to kill the loop, I looked it up on Google. The suggestions I get are. . .
1. You need to kill the Unity3D task and lose your edits because the environment and the player run on the same thread.
2. You can pay ten bucks for an extension that lets you break out of infinite loops.
3. You should really avoid writing infinite loops. That's just bad form.
SERIOUSLY?1 -
First job while in college... Was working for web dev team lamp set up before lamp was lamp (year was 2000).
Had deadline one week after summer vacation. Worked non stop a couple of days to get shit done and didn't make it. Got in a conflict with my manager in front of the team and I blew my steam off. Quit on the spot.
Lessons learned:
1. Don't be a fucking idiot when estimating work.
2. Be cool with other teammates, nobody cares about drama and nobody has to feel sorry for you.
3. Uhm, plan? Had entire fucking vacation to get work done. I was a fucking moron.
4. Burning out is stupid and unproductive.
5. Your manager can be as poor in management as you are. Your job is to try to make them better at it, as they have less visibility in the details.
Next job in grad school. Worked for a security company. Direct manager had the bright idea to make execs sign the change requests. WTF. Code was in Perl/php, a mess. Team rewrote back end DB access , taking over six months, or more, failing twice the deadline. After a final 48 hour burn out, we ship and get laid off the week after.
Lessons learned:
1. Don't work for dicks.
2. Don't be a dick yourself.
3. Don't work for dicks.
Third job was in silicon valley. It was a great company, and I stayed there for five years. -
Wanting to write some useful open source Java for my github portfolio. Biggest issue is that somebody has already done it for anything that comes to mind :(3
-
Sins? All of em'.
Infinite loops of recursive callback carnage, just because I like to watch it burn. -
This SocketIO method emits a message to all users who have joined the same room (conversation ID).
This works if it's a 1-to-1 chat or a group chat with infinite users in the group.
The thing that bothers me is this enhanced for loop. It loops through ALL currently connected users.
- If theres 10 users, sure no big deal
- if theres 1000 users, it has to loop 1000 times
- for N users it loops N times
What if N = 10000? God what if it's 100,000 or 1,000,000.
Imagine having to loop that many times every time you want to send just 1 message.
OR wait i just realized. This shit grabs ALL users -- but within the room ID. Right? Am i trippin balls here
Im now confused (excuse my confusion i coded till 3am last night and im still fried). Is my logic flawed? Have i written this piece of code with good performance or not?38 -
Things I say to my clients when I know that a reboot is required to fix their issue but I don't have enough evidence to prove it to them :
"... On any computing platform, we noted that the only solution to infinite loops (and similar behaviors) under cooperative preemption is to reboot the machine. While you may scoff at this hack, researchers have shown that reboot (or in general, starting over some piece of software) can be a hugely useful tool in building robust systems.
Specifically, reboot is useful because it moves software back to a known and likely more tested state. Reboots also reclaim stale or leaked resources (e.g., memory) which may otherwise be hard to handle. Finally, reboots are easy to automate. For all of these reasons, it is not uncommon in large-scale cluster Internet services for system management software to periodically reboot sets of machines in order to reset them and thus obtain the advantages listed above.
Thus, when you indeed perform a reboot, you are not just enacting some ugly hack. Rather, you are using a time-tested approach to improving the behavior of a computer system."
😎1 -
One year ago I made a resolution to do one of two things: get serious about learning neural networks, or finish one of the side projects (markdown based wiki with some nifty features). Didn't do the first one, and got the second one to about 50%.
Not really happy as I did not complete any goal. Still some decent work was done and built an open source parser. So, I guess I am 50% happy.
What were your achievements this year? Did you achieve 100%?3 -
Any good advice for managing junior developers?
In my experience I have found that loose definitions of work to be completed yields poor results. Honestly, sometimes I wonder if I have to write the code structure and leave a bunch of TODO comments for people to fill in.
Or alternatively people get going on tangents without thinking of the concrete problem given.
Or go try building generic abstractions that are unneeded and will not be reused complicating even the simplest use case.
Maybe the problem is in me and that I am not clear in communicating what's needed. What techniques do you guys use to get more or less what you want?7 -
I hate Visual Studio. It takes 2 minutes to load- it is a glorified word processor- sure it has compilers but that's the backend work shouldn't be doing any of that at the start. It should take 10 seconds to load. It has absurd number of annoying checkers like unused attributes or function not initialized (constantly hits on Start ()in monobehavior) I even told to skip that nonsense and it still does it. It doesn't however check like infinite loops easily accidentally do. You can't duplicate a script because it can't do the simple thing of ensuring file name and class match.7
-
This week I am finishing my brand new and probably buggy cluster manager for vert.x based on redis.
Can't wait to start battle testing.1 -
Not happy. On my side project things all of a suddenly stopped working in the browser. Debugging shit is a pain as the JS code is generated.
I still don't get how it was working before and now it doesn't, when I basically think I didn't touch anything.
Hate feeling like a n00b. -
You know how the machine learning systems are in the news (and Ted talks, tech blogs, etc.) lately over how they're becoming blackbox logic machines, creating feedback loops that amply things like racism on YouTube, for example. Well, what might the ML/AI systems be doing with our code repositories? Maybe not so much yet, I don't know. But let's imagine. Do you think it's probably less worrisome? At first I didn't see as much harm potential, there's not really racist code, terrorist code, or code that makes people violence prone (okay, not entirely true...), but if you imagine the possibility that someone might use code repositories to create applications that modify code, or is capable of making new programs, or just finding and squishing bugs in code algorithmically, well then you have a system that could arguably start to get a little out of control! What if in squashing code bugs it decides the most prevalent bugs are from code that takes user input (just one of potentially infinite examples). Remember though, it's a blackbox of sorts and this is just one of possibly millions of code patterns it's finding troublesome, and most importantly it's happening slowly (at first). Just like how these ML forces are changing Google and YouTube algorithms so slowly that many don't notice the changes; this would presumably be similar and so it may not be as obvious as one would think. So anyways, 'it' starts refactoring code that takes user input into something 'safer'. Great! But what does this mean? Not for this specific example really, but this concept of blackbox ML/AI solutions to problems we didn't realize we had, what does a future with this stuff look like (Matrix jokes aside)? Well, I could go on all day with imaginative ideas... But talking to myself isn't so productive, let's start a fun community discussion here! Join in if you find this topic as interesting as I do! :)
Note: if you decide to post something like "SNN have made this problem...", or other technical jargan please explain it as clearly as possible. As the great Richard Feynman once said, the best way to show you understand a thing is to be able to explain it clearly to others who don't understand it... Or something like that ;)3 -
Hazelcast
Works great, until it doesn't because of network partitions. Then your cluster needs restarting. -
!Rant
I think I am going overboard with Java streams and my fellow programmers will hate me. I have not written a loop for... a month? My code is starting to be extremely semantically dense.