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 - "trace"
-
School time, programming class:
Girl: Hey, Can you help me?
Me: Sure, what's up?
G: I have an error but I don't know why
M: *looks at error stack trace* You're missing a semicolon in line 133 *puts comma, run... 27 more errors* Well, you have more issues up there, why don't you try to fix them?
G: Oh, Ok, thanks
-- 1 hour later --
G: Hey, can you come? I already fixed the other issues but I still have one I can't fix
M: *checks code, same mistake I fixed, missing semicolon, same line* Why did you erase the semicolon?
G: Oh, because if I erase it, I only have 1 error, but if I leave it, I have 27 so....
M: *turn around, walk away*19 -
Oh, man, I just realized I haven't ranted one of my best stories on here!
So, here goes!
A few years back the company I work for was contacted by an older client regarding a new project.
The guy was now pitching to build the website for the Parliament of another country (not gonna name it, NDAs and stuff), and was planning on outsourcing the development, as he had no team and he was only aiming on taking care of the client service/project management side of the project.
Out of principle (and also to preserve our mental integrity), we have purposely avoided working with government bodies of any kind, in any country, but he was a friend of our CEO and pleaded until we singed on board.
Now, the project itself was way bigger than we expected, as the wanted more of an internal CRM, centralized document archive, event management, internal planning, multiple interfaced, role based access restricted monster of an administration interface, complete with regular user website, also packed with all kind of features, dashboards and so on.
Long story short, a lot bigger than what we were expecting based on the initial brief.
The development period was hell. New features were coming in on a weekly basis. Already implemented functionality was constantly being changed or redefined. No requests we ever made about clarifications and/or materials or information were ever answered on time.
They also somehow bullied the guy that brought us the project into also including the data migration from the old website into the new one we were building and we somehow ended up having to extract meaningful, formatted, sanitized content parsing static HTML files and connecting them to download-able files (almost every page in the old website had files available to download) we needed to also include in a sane way.
Now, don't think the files were simple URL paths we can trace to a folder/file path, oh no!!! The links were some form of hash combination that had to be exploded and tested against some king of database relationship tables that only had hashed indexes relating to other tables, that also only had hashed indexes relating to some other tables that kept a database of the website pages HTML file naming. So what we had to do is identify the files based on a combination of hashed indexes and re-hashed HTML file names that in the end would give us a filename for a real file that we had to then search for inside a list of over 20 folders not related to one another.
So we did this. Created a script that processed the hell out of over 10000 HTML files, database entries and files and re-indexed and re-named all this shit into a meaningful database of sane data and well organized files.
So, with this we were nearing the finish line for the project, which by now exceeded the estimated time by over to times.
We test everything, retest it all again for good measure, pack everything up for deployment, simulate on a staging environment, give the final client access to the staging version, get them to accept that all requirements are met, finish writing the documentation for the codebase, write detailed deployment procedure, include some automation and testing tools also for good measure, recommend production setup, hardware specs, software versions, server side optimization like caching, load balancing and all that we could think would ever be useful, all with more documentation and instructions.
As the project was built on PHP/MySQL (as requested), we recommended a Linux environment for production. Oh, I forgot to tell you that over the development period they kept asking us to also include steps for Windows procedures along with our regular documentation. Was a bit strange, but we added it in there just so we can finish and close the damn project.
So, we send them all the above and go get drunk as fuck in celebration of getting rid of them once and for all...
Next day: hung over, I get to the office, open my laptop and see on new email. I only had the one new mail, so I open it to see what it's about.
Lo and behold! The fuckers over in the other country that called themselves "IT guys", and were the ones making all the changes and additions to our requirements, were not capable enough to follow step by step instructions in order to deploy the project on their servers!!!
[Continues in the comments]26 -
I'm a self-taught 19-year-old programmer. Coding since 10, dropped out of high-school and got fist job at 15.
In the the early days I was extremely passionate, learning SICP, Algorithms, doing Haskell, C/C++, Rust, Assembly, writing toy compilers/interpreters, tweaking Gentoo/Arch. Even got a lambda tattoo on my arm after learning lambda-calculus and church numerals.
My first job - a company which raised $100,000 on kickstarter. The CEO was a dumb millionaire hippie, who was bored with his money, so he wanted to run a company even though he had no idea what he was doing. He used to talk about how he build our product, even tho he had 0 technical knowledge whatsoever. He was on news a few times which was pretty cringeworthy. The company had only 1 programmer (other than me) who was pretty decent.
We shipped the project, but soon we burned through kickstart money and the sales dried off. Instead of trying to aquire customers (or abandoning the project), boss kept looking for investors, which kept us afloat for an extra year.
Eventually the money dried up, and instead of closing gates, boss decreased our paychecks without our knowledge. He also converted us from full-time employees to "contractors" (also without our knowledge) so he wouldn't have to pay taxes for us. My paycheck decreased by 40% by I still stayed.
One day, I was trying to burn a USB drive, and I did "dd of=/dev/sda" instead of sdb, therefore wiping out our development server. They asked me to stay at company, but I turned in my resignation letter the next day (my highest ever post on reddit was in /r/TIFU).
Next, I found a job at a "finance" company. $50k/year as a 18-year-old. CEO was a good-looking smooth-talker who made few million bucks talking old people into giving him their retirement money.
He claimed he changed his ways, and was now trying to help average folks save money. So far I've been here 8 month and I do not see that happening. He forces me to do sketchy shit, that clearly doesn't have clients best interests in mind.
I am the only developer, and I quickly became a back-end and front-end ninja.
I switched the company infrastructure from shitty drag+drop website builder, WordPress and shitty Excel macros into a beautiful custom-written python back-end.
Little did I know, this company doesn't need a real programmer. I don't have clear requirements, I get unrealistic deadlines, and boss is too busy to even communicate what he wants from me.
Eventually I sold my soul. I switched parts of it to WordPress, because I was not given enough time to write custom code properly.
For latest project, I switched from using custom React/Material/Sass to using drag+drop TypeForms for surveys.
I used to be an extremist FLOSS Richard Stallman fanboy, but eventually I traded my morals, dreams and ideals for a paycheck. Hey, $50k is not bad, so maybe I shouldn't be complaining? :(
I got addicted to pot for 2 years. Recently I've gotten arrested, and it is honestly one of the best things that ever happened to me. Before I got arrested, I did some freelancing for a mugshot website. In un-related news, my mugshot dissapeared.
I have been sober for 2 month now, and my brain is finally coming back.
I know average developer hits a wall at around $80k, and then you have to either move into management or have your own business.
After getting sober, I realized that money isn't going to make me happy, and I don't want to manage people. I'm an old-school neck-beard hacker. My true passion is mathematics and physics. I don't want to glue bullshit libraries together.
I want to write real code, trace kernel bugs, optimize compilers. Albeit, I was boring in the wrong generation.
I've started studying real analysis, brushing up differential equations, and now trying to tackle machine learning and Neural Networks, and understanding the juicy math behind gradient descent.
I don't know what my plan is for the future, but I'll figure it out as long as I have my brain. Maybe I will continue making shitty forms and collect paycheck, while studying mathematics. Maybe I will figure out something else.
But I can't just let my brain rot while chasing money and impressing dumb bosses. If I wait until I get rich to do things I love, my brain will be too far gone at that point. I can't just sell myself out. I'm coming back to my roots.
I still feel like after experiencing industry and pot, I'm a shittier developer than I was at age 15. But my passion is slowly coming back.
Any suggestions from wise ol' neckbeards on how to proceed?32 -
I love how "shotgun debugging" works.
Let's say the microwave doesn't work. I put my burrito in it, press buttons. Nothing happens.
Any sane person would trace the possible cause: Check if it is plugged in, maybe the fuse is blown? Nah, we don't have time for this: Let's try shotgunning it!
- Turn the burrito upside down.
- Try aligning the burrito in different cardinal directions.
- Press random buttons
- Remove burrito wrapper
- Separate burrito into single components, sort them onto a plate in a nifty layout and try microwaving that.
- Remove each component of the sorted burrito plate and try microwaving the plate with less and less items.
- Try microwaving each separate item and then later reassembling them back into burrito to see if it gets heated after the act.
- Try putting a cat on top of the microwave.
- Pour water on cat
- Notice a strong reaction involving water and the cat.
- Try catching the cat for additional testing.
- Go to the hospital to get stitches on your open wounds.
Later write a bug report to the maintainer: "Microwave doesn't work. Tracked the issue down to the moisture level of the cat, additional testing needed."7 -
So my coworker just got this error on production server, and well, the stack trace stood out to us all...5
-
A few years back, there was a super repetitive task I needed to do to create a bunch of new screens for a new feature.
The task was so repetitive that I just couldn't bring myself to do it, and was avoiding it as long as possible.
Finally the day came where I needed to get it done. I sat at the computer readying myself to finally start/finish the task.
As I was going through the files, I could see all the work had already been done..? Confused, I opened up git history, and saw that I had checked the files in a few nights back.
Best I could do was trace it back to a house party where I was the last to go to sleep.
That was the day that I realised the power of auto-pilot :)1 -
A sidebar.
Literally just a sidebar.
And yes, this was in Hell.
Its code was spread across at least 40 files, and it used a bunch of freaking global variables to unfurl accordion sections, hide other sections/items, highlight the active item, etc. These were set (and unset!) in controller actions, so if you didn’t unset one, it remained open and highlighted until another action unset it.
Some of the global variable checks (and permissions checks) were done in the individual views, some outside of the `render` statements that include them. Some of them inherited variables from the parent, some from the controller, some from globals. Getting a view to work was trial and error. Oh, and some had their own inline css, some used css classes.
Subsections were separate views, so were some individual items, both sometimes rendered using shared templates, and all of the views and templates had the exact. same. filename. (They were located in different directories, and thus located automagically via implicit relative paths.) So, it was a virtually endless parade of`render partial => “sidebar”`. Which file does that point to? Good luck figuring it out!
Also, comments in several places said adding a new section required a database migration. I never did figure out why.
Anyway, I discovered this because I had an innocuous-sounding ticket to rearrange the sidebar, group some sections/items under different permissions, move some items to another menu, and nest some others differently.
It took me two bloody weeks, and this was when I was extremely productive every day.
Afterward, I was so disgusted by it that I took a day and removed every trace of the sidebar I could find, and rewrote it. I defined the sidebar in a hash, and wrote a simple recursive builder to generate the markup. It supported optional icons, n-level nesting, automatic highlighting of the current item and all parent nodes, compound and inherited permissions, wrapping of long names, hover and unfurl animations, etc. Took me a couple hundred lines of Ruby at the most, plus about the same of css.
Felt so good to remove that blight.5 -
OK! all you windows haters.
This is why i totally love windows to death.
it has awesome features no other OS has...
like, installing updates to office and Skype when they are not even installed, there's not even a registry entry anywhere for them!!
now show me another OS that updates non existing software and ill be all over it!
On a serious note, does anyone know how windows would think office and Skype are installed since I can’t find a single trace of them anywhere?25 -
I am not a smart man.
Usually when I abandon project, I abandon it hard. Delete every trace of this failure, it never happened.
Well my friend doesn't, and two weeks ago he applied for a job as a game dev, and in resume he showed all of his work. Even the ones so barely functional that I wouldn't feel comfortable showing to my most compassionate friend. Somehow, he got it.
So for the past two weeks I've done nothing other than painstakingly recreating most of my projects in order to apply for the position before it fills.
Save your projects kids, no matter how crap they are. One man's trash is another man's treasure.4 -
Heck yes!
I implement a stack trace in my embedded systems!
Whenever a device crashes, it makes a stack dump in an unused part of ram.
After it has rebooted and is connected to the server again, it uploads the stack dump.
The server then opens the correct firmware elf file, walks the stack and associates the debug info from the elf.
The result? A beautiful stack trace with file names, function names and line numbers.
No more guessing where random crashes come from.12 -
To all newbie developers,
Before you ask a doubt about an issue to someone else,
Try doing an initial investigation to find the root cause,
Look into the logs,
Find the stack trace,
Google things,
Have breakpoints and try to debug.
You come to me with a weird NullPointerException and ask me why,
Without even looking into the logs once? We ain't God bro.13 -
People on github opening issues saying shit like "aye, your extension crashes. Please fix or I'll uninstall. Thanks.". How am I supposed to fix an error I know nothing about? Error message? Extension list? Stack trace? Steps to reproduce? Nope. Nothing.
Don't be like this, please.5 -
Prologue
My dad has an acquaintance - let's call him Tom. Tom is an gynecologist, one of the best in Poznań, where I live. He's a great guy but absolutely can not into tech of any kind besides his iPhone and basic PC usage. For about a year now I've been doing small jobs for him - build a new PC for his office, fix printer, fix wifi, etc. He has made a big mistake few years ago by trusting a guy, let's call him Shitface, with crating him software for work. It's supposed to be pretty simple piece of code in which you can create and modify patient file, create prescription from drugs database and such things. This program is probably one of the worst pierces of code I've ever seen and Shitface should burn for that. Worse, this guy is pretentious asshole lacking even basic IT knowledge. His code is garbage and it's taking him few months to make small changes like text wrapping. But wait, there's more. Everything is hardcoded so every PC using this software must have installed user controls for which he doesn't have license and static IP address on network card.
Part 1
Tom asked me to build him a new PC that will be acting like a server for Shitface's program. He needs it in Kalisz (around 150 km from my place). I Agred (pun intended) and after Tom brought me his old computer I've bought parts and built a new one. I have also copied everything of value and everything took me around three hours.
Part 2
Everything was ready but Shitface's program. I didn't know much about it's configuration so when I've noticed that it's not working even on the old PC I got a bit worried. Nevertheless I started breaking everything I know about it and after next three hours I've got it somewhat working. Seeing that there's still some problems with database connection (from Windows' Event Viewer) I wrote quick SMS to Shitface asking what can be wrong. He replied that he won't be able to help me any way until Monday (day after deadline). I got pissed and very courteously asked him for source code because some of libraries used in this project has license that requires either purchase of commercial license or making code open source. He replied within few minutes that he'll be able to connect remotely within next 10 minutes. He was trying to make it work for the next hour but he succeeded. It was night before deadline so I wrapped everything up and went to bed thinking that it won't take me more than an hour to get this new PC up and running in the office. Boy was I wrong.
Also, curious about his code, I've checked source and he is using beautiful ponglish (mixed Polish and English) with mistakes he couldn't even bother to fix. For people from Poland, here's an example:
TerminarzeController.DeleteTerminarzShematyDlaLekarza
Part 3
So I drove to Kalisz and started working on making everything work. Almost everything was ready so after half an hour I was done. But I wanted to check twice if it's all good because driving so far second time would be a pain. So I started up Shitface's program, logged in, tried to open ANYTHING and... KABUM. UNHANDLED EXCEPTION. WTF. I checked trace and for fuck sake something was missing. Keep in mind that then I didn't know he's using some third party control for Windows Forms that needs to be installed on client PC. After next fifteen minutes of googling I've found a solution. I just had to install this third party software and everything will work. But... It had to be exactly this version and it was old. Very old. So old that producent already removed all traces of its existence from their web page and I couldn't find it anywhere. I tried installing never version and copying files from old PC but it didn't work. After few hours of searching for a solution I called Mr Shitface asking him for this control installation file. He told me that he has it but will be able to send it my way in the evening. Resigned I asked for this new PC to be left turned on and drove home. When he sent me necessary files I remotely installed them and everything started working correctly.
So, to sum it up. Searching for parts and building new PC, installing OS and all necessary software, updating everything and configuring it for Tom taste took me around what, 1/3 of time I spent on installing Mr Shitface's stupid program which Tom is not even happy with. Gotta say it was one of worst experiences I had in recent months. Hope I won't have to see this shit again.
Epilogue
Fortunately everything seems to work correctly. Tom hasn't called me yet with any problems. Mission accomplished. I wanna kill very specific someone. With. A. Spoon.1 -
I'm afraid of getting dumped and it's not because i fear rejection or being alone, it's just because the stack trace will be HUGE!4
-
Our web department was deploying a fairly large sales campaign (equivalent to a ‘Black Friday’ for us), and the day before, at 4:00PM, one of the devs emails us and asks “Hey, just a heads up, the main sales page takes almost 30 seconds to load. Any chance you could find out why? Thanks!”
We click the URL they sent, and sure enough, 30 seconds on the dot.
Our department manager almost fell out of his chair (a few ‘F’ bombs were thrown).
DBAs sit next door, so he shouts…
Mgr: ”Hey, did you know the new sales page is taking 30 seconds to open!?”
DBA: “Yea, but it’s not the database. Are you just now hearing about this? They have had performance problems for over week now. Our traces show it’s something on their end.”
Mgr: “-bleep- no!”
Mgr tries to get a hold of anyone …no one is answering the phone..so he leaves to find someone…anyone with authority.
4:15 he comes back..
Mgr: “-beep- All the web managers were in a meeting. I had to interrupt and ask if they knew about the performance problem.”
Me: “Oh crap. I assume they didn’t know or they wouldn’t be in a meeting.”
Mgr: “-bleep- no! No one knew. Apparently the only ones who knew were the 3 developers and the DBA!”
Me: “Uh…what exactly do they want us to do?”
Mgr: “The –bleep- if I know!”
Me: “Are there any load tests we could use for the staging servers? Maybe it’s only the developer servers.”
DBA: “No, just those 3 developers testing. They could reproduce the slowness on staging, so no need for the load tests.”
Mgr: “Oh my –bleep-ing God!”
4:30 ..one of the vice presidents comes into our area…
VP: “So, do we know what the problem is? John tells me you guys are fixing the problem.”
Mgr: “No, we just heard about the problem half hour ago. DBAs said the database side is fine and the traces look like the bottleneck is on web side of things.”
VP: “Hmm, no, John said the problem is the caching. Aren’t you responsible for that?”
Mgr: “Uh…um…yea, but I don’t think anyone knows what the problem is yet.”
VP: “Well, get the caching problem fixed as soon as possible. Our sales numbers this year hinge on the deployment tomorrow.”
- VP leaves -
Me: “I looked at the cache, it’s fine. Their traffic is barely a blip. How much do you want to bet they have a bug or a mistyped url in their javascript? A consistent 30 second load time is suspiciously indicative of a timeout somewhere.”
Mgr: “I was thinking the same thing. I’ll have networking run a trace.”
4:45 Networking run their trace, and sure enough, there was some relative path of ‘something’ pointing to a local resource not on development, it was waiting/timing out after 30 seconds. Fixed the path and page loaded instantaneously. Network admin walks over..
NetworkAdmin: “We had no idea they were having problems. If they told us last week, we could have identified the issue. Did anyone else think 30 second load time was a bit suspicious?”
4:50 VP walks in (“John” is the web team manager)..
VP: “John said the caching issue is fixed. Great job everyone.”
Mgr: “It wasn’t the caching, it was a mistyped resource or something in a javascript file.”
VP: “But the caching is fixed? Right? John said it was caching. Anyway, great job everyone. We’re going to have a great day tomorrow!”
VP leaves
NetworkAdmin: “Ouch…you feel that?”
Me: “Feel what?”
NetworkAdmin: “That bus John just threw us under.”
Mgr: “Yea, but I think John just saved 3 jobs. Remember that.”4 -
Fresh internship story/conversation (Part 1)
Happened today:
- "Can you hack someone via cmd?"-cheap coworker at my internship workplace
- "Can you hack the NSA from any device?"-cheap coworker
- "Can the police identify me, if my face is on a Youtube video?"-cheap coworker
- "I can see all devices I have been through when I want to connect to a target as a route.
*talks about hops in a trace route, but uses non-technical terms for it*
*uses "ping host wikihow.com" instead of "tracert wikihow.com" to demonstrate it, besides of that "host" was not supposed to be there in that command*
*he had to google how to use the ping command on Windows*
*finally uses the ping command properly*
"Here, you can see all the devices our machine has connected to to reach the target"
ME: Aha. But dude... you know that all these ip adresses are in fact the same ip. These IPs are not any different. They are all the same. Besides of that this IP is the IP of this *points to domain name on windows cli* domain.
Him: Oh... I had a friend named ... *continues telling me some "hacker stories" from his past*
Me: *ignores him and always just responds with "Aha" to him* -cheap coworker
Happened yesterday:
- "You have programming classes? You must be an expert in Excel then, right?" -internship boss3 -
Legacy code.
Honestly though, this is some of the better legacy code I've worked with at this company. It's a nifty alert system wherein you can trigger sending messages to subscribers of that alert via whatever means (phone/email) they've entered.
I'll save you the technical analysis of its internals, but suffice to say it's actually pretty nice, with good separation of concerns, internal logic hidden away, dead-simple public interface, etc. documentation is kinda crap, but it exists (!), so that's a nice change.
but.
For some unknown and bloody bizarre reason, the thing breaks when a user wants both sms AND email notifications. Either by themselves work totally fine, but both together? nonono. Email alerts give ArgumentErrors, so something internal isn't correct, and SMS alerts complain about uninitialized Twilio::Error constants.
but.
they both work fine otherwise?
also, the two notification preferences aren't stored on the same object anywhere. if a user wants both, the user creates two AlertContact objects with different info, and when performed, the Alert basically iterates over these and does its thing for each, so there is no knowledge shared between them. totally should work the same regardless.
idfgi.
ALSO.
AND THIS PART REALLY PISSES ME OFF.
WHEN THERE'S AN ERROR, THIS THING DOESN'T LOG IT. IT STRINGIFIES THE ERROR OBJECT (basically just extracting the message) AND INSERTS THAT INTO THE DATABASE INSTEAD. WHAT THE CRAP.
So, I don't get a stack trace, line number, or anything. just the basic error message. instead of my alert text. because of course that makes sense and totally helps debugging.
aklsjfak;sldfj.
legacy code.5 -
We used to use Trello for our team boards and was starting to transition to Gitlab's issues for better code integration...
I became aware that my boss was being "demanded" to have a better analytics of our team performance so I started digging more insightful issue/tasks software like YouTrack ( Jetbrains ) and Jira ( Atlasian ).
After 2 months of trial and learning I suggested we go with YouTrack.
"We" are now using it for about 6 months already and it is a fucking mess.
My peers have no clue how to scrum, even after my efforts to teach them and they even spent a fucking 3 days workshop about it on fucking Google (!?!?) without me ( there is a rant about it ).
My boss is a nice person but the dude lacks any trace of competence to manage anyone other than him.
I'm tired of babysitting a man that is 10 years older than me and has a car that costs almost 10x mine.
I'm two days back from vacation and I almost rage quited 5 times.3 -
I hate that, not only did this error happen, but they weren’t smart enough to hide the MySQL stack trace13
-
*Sees Unrealistic hacking on movies
*Family thinks i can trace anything
*No one at work wants to touch my flashdrives
I didn't pay hundreds of dollars for a degree to be portrayed this way.8 -
FUCK! agshdklgdahgisdahl;k!
I just spent 45 FUCKING MINUTES debugging try to figure out WHY THE HELL a function that is supposed to return either a pointer to a valid object OR ZERO if a valid object is not found, was RETURNING FUCKING EIGHT!
Then I saw it... I typed:
nodeList[index];
instead of:
return nodeList[index];
It took me looking at a stack trace and a disassembly of the function to realize this.
Can't wait for this three-day weekend...18 -
[3:18 AM] Me: Heya team, I fixed X, tested it and pushed to production. Lemme know what you think when you wake up.
[6:30 AM] Me: Yo, I just checked X and everything is peachy. Let me know if it works on your end.
[9:14] Colleague A: Whoop! Yeah! Awesome!
[9:15] Boss: Nice.
[9:30] A: X doesn't work for me.
Me: OK, did you do M as I told you.
A: yes
Me: *checks logs and database, finds no trace of M*
Me: A, you sure you did M on production? Send me a sreenshot plz.
A: yeah, I'm sure it's on production.
Me: *opens sreenshot, gets slapped in the face by https://staging.app.xyz*
Me: A, that's staging, you need to test it on production.
A: right, OK.
[10:46] A: works, yeah! Awesome, whoop!
[10:47] Boss: Nice.
Me: Ok! A, thanks for testing...
Me: *... and wasting my time*.
[10:47:23] Boss: Yo, did you fix Y?
Courageous/snarky me: *Hey boss, see, I knew you'd ask this right after I fixed X knowing that I could not have done anything else while troubleshooting A's testing snafu since you said 'Nice' twice. So, yesterday, I cloned myself and put me to work in parallel on Y on order fulfill your unreasonable expectations come morning.*
Real me: No, that's planned for tomorrow. -
I had plugged in my Android phone to the PC, browsed files from internal storage, Ctrl + X'ed some files from there, Ctrl + V'ed them to the desktop. Nothing special.
Bang. Files travelled to another dimension, absolutely gone from the original location, with no trace or them or any notification.
Who thought it would be a good idea to delete stuff before making sure it's been successfully transfered first?
Fuck you Windows.
Also, hello, its my first rant but I've been lurking devRant for a while now. Loving it here.7 -
Thanks java! FAILURE :java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack trace available5
-
Fatal Exception: java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack trace available4
-
The unspoken debugging tools:
console.log("hereeeeeeee");
console.log("YESSSSSSSSSS");
console.log("1.1");
console.log("1.2");
console.log("2.4");4 -
I was pressued to shift the blame.
We received an angry email from a customer that some of their data had disappeared. The boss assigns me to this task. This feature is relatively new and we've found some bugs in the past in here. I go through request logs, search the database, run some diagnostics, etc. for about 5 hours and I cannot find the problem. I focus on the bugs that we've had before but they don't seem to be the problem.
I tell the boss "sorry but I checked XYZ and I can't find the problem. I'm out of ideas." But the boss wanted answers by the end of the day. They did not want to admit to the client that we couldn't figure out what's wrong.
By now I was more pressured to find an answer, find something or someone to blame it on, not exactly to find the real solution. So I made up some BS:
"Sometimes, in HTML forms, the number inputs allow you to change the number by scrolling. We have some long forms where the user has to scroll. Perhaps the focus remained on the number input, so when they scrolled down they accidentally changed the number they meant to input."
The boss was happy with that. We explained this to the customer, and there's now a ticket to change type="number" to type="text" in our HTML forms and to validate it in th backend.
A week later another customer shows us a different error. This one is more clear because it had a stack trace, but I realise that this error is what caused our last error. It was pretty obscure, mind you, the unit tests didn't detect it.
I didn't tell the boss that they were connected tho.
With two angry clients in two weeks, I finally convinced the boss to give us more time to write more unit tests with full coverage. -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.6 -
Back in school a class mate used a bat file to recursively create a directory an then enter it and repeat.
The directory also ended with ascii 255 which looks like a space and when placed at the end is invisible.
This was in msdos and there was no mouse or autocomplete, also no deleting of non empty directories.
The teacher finally gave up and admitted he could not solve it.
You had do make a new script first to traverse to the inner most dir, then recursively back trace removing directories.2 -
Okay, That right there is pathetic https://thehackernews.com/2019/02/... .
First of all telekom was not able to assure their clients' safety so that some Joe would not access them.
Second of all after a friendly warning and pointing a finger to the exact problem telekom booted the guy out.
Thirdly telekom took a defensive position claiming "naah, we're all good, we don't need security. We'll just report any breaches to police hence no data will be leaked not altered" which I can't decide whether is moronic or idiotic.
Come on boys and girls... If some chap offers a friendly hand by pointing where you've made a mistake - fix the mistake, Not the boy. And for fucks sake, say THANK YOU to the good lad. He could use his findings for his own benefit, to destroy your service or even worse -- sell that knowledge on black market where fuck knows what these twisted minds could have done with it. Instead he came to your door saying "Hey folks, I think you could do better here and there. I am your customes and I'd love you to fix those bugzies, 'ciz I'd like to feel my data is safe with you".
How on earth could corporations be that shortsighted... Behaviour like this is an immediate red flag for me, shouting out loud "we are not safe, do not have any business with us unless you want your data to be leaked or secretly altered".
Yeah, I know, computer misuse act, etc. But there are people who do not give a tiny rat's ass about rules and laws and will find a way to do what they do without a trace back to them. Bad boys with bad intentions and black hoodies behind TOR will not be punished. The good guys, on the other hand, will.
Whre's the fucking logic in that...
P.S. It made me think... why wouldn't they want any security vulns reported to them? Why would they prefer to keep it unsafe? Is it intentional? For some special "clients"? Gosh that stinks6 -
OutfofMemoryError thrown while trying to throw OutfofMemoryError; no stack trace available.
What the.... ????
😒4 -
Tracing thousands of lines of codes at work to find something for almost 2-3 hours.
All of a sudden I can't remember what I am looking for anymore.
#StartingAgain :(1 -
I've always liked the idea of a virus that attacks other viruses. An antivirus virus, if you will. It would infect a computer and clean out all the malware and perform a bunch of random system improvements, then delete itself without a trace. To the end user, one day their computer would suddenly start running a little better for no apparent reason.17
-
Swear to god if people don't stop calling the new RTX cards true ray tracing I'm going to ring their necks...
It is far from true ray tracing, it's a hybrid with ray trace base technology... Pls stop5 -
Today a junior dev from the company I'm working at as consultant, suddenly shouted:
😤"why the hell my software behaves differently on every pc here in the office ... But it works on my machine? I'm sure there's something wrong with the OS/Framework"
🤔 let me think for a moment ...
* is it because the whole office keep developing like the ancient romans did?
* is it because that software is such a mess that requires a wizard in order to manually change all the magic configuration strings ?
* is it because every damn developer there has his particular environment and the word "container" reminds you only the show where the people bid for unclaimed shit ?
* is it because the "guru" at your company decided it was a super cool idea to wrap EVERY single external library (that just works out of the box) into some obscure static helper without even a single trace of documentation and clue of what's wrong?
🤗"I don't know... Must be a bug in the OS or framework for sure" -
I love GDB on CLI!
I'm using an OSS tool for multi-threaded testing stuff, and it's nice but segfaulted after 30 minutes.
I was too lazy to set up an IDE project and click through tons of stupid shit, so I just compiled the tool with debug symbols, fired up GDB on CLI, let it run until a crash, got a strack trace and quickly found the problem.
I sent a bug analysis to the author, plus a patch which got accepted, done.5 -
So I started getting email notifications telling me about transactions made using my credit card. But I DON'T have a credit card in the first place.
Instead of trying to call customer care and pressing an endless array of buttons, I drive to the bank. I tell them the situation and they check every database they have but they couldn't find any trace of a card connected to my account. Turns out their database somehow had cross-links in their database.
How does the one of the biggest banks in the country possibly have such an issue. Worst part is that it's been a day and they still haven't fixed it -_-7 -
So this is what happened!
It was a rainy Friday, I was asked to add a quick bug fix to a js application, I spent my Friday coding, testing ..., baam the patch is ready ... I wrote a nice commit message explains the problem and the fix but I didn't push the code.
On Monday the fuckin code disappeared, no commit no code no nothing no trace ... To be honest I don't know what happened. I rewrote everything on that Money morning (you can only imagine how pest I was)
I use vim with tmux.
I have done everything I could to figure out what happened to that commit, I even doubted If had did wrote the fix that Friday, but it's not possible to forget few hours of a day
I checked my commit history on the different branches i did everything
No trace ...
Conclusion
My machine is hunted ...
Or I have multiple personalities and one of them is a programmer and he is fucking with me5 -
Not exactly dev stuff, but LaTeX low-key makes me nervous.
In writing my thesis it seems that through some keyboard-fuckery I managed to slip in some weird unicode bullshit character somewhere, so that it doesn't compile. Alright, I just do \DeclareUnicodeCharacter{0301}{ASDF} so that it gets replaced by ASDF. Searching for ASDF in the output pdf file does not yield results, so I can't even find the location of the fuckery in the text. It seems that unicode character is somewhere in my .bib-file and I guess my citation style doesn't even render the part of the data that character is in after all. So the above hack works, but still there is some weird-ass character in my bibliography file that I can't find.
On another note: I get that modularity is cool and all, but who thought that it is a good idea to give people zero transparency over what macro stems from which included package? No namespaces etc. I end up including a whole lot of packages that are needed for exactly one macro. That bloats up the file and you have no way to trace back which macro came from which of the quazillion included packages.
...then again maybe I'm just a lazy piece of shit whose google searches end before success and all of the above has some easy fix.9 -
Gonna make a pull request for Project!
"How to Project:
npm install
npm test
npm run start"
npm install: warning, warning, deprecation, warning
npm test: 30 tests, 15 failed
npm run start: error, C stack trace
Pull request status: on hold3 -
Might be more of a self-rant.. We’re developing an application with token-based authentication.
It’s a big an complex authentication model and flow, which we wrapped up a month ago. All of us very proud of it.
All of a sudden none of it worked.
We debugged for days, there were no errors or anything to trace what was happening.
Today we realized that we set the expiration of the token to 20 years.
Aaaand the expiration time is later on converted to epoch.
Guess what happens when you try to use a value > 2 147 483 647 in C#? Stuff blows up, cuz that’s the limit of an int32.
So yeah, feels good having prepared for the Y2K38 bug already, even though we’ll be replaced by AI writing better software than my dumb ass by then.
(To be fair, it was hidden in Microsoft Owin, which could use some error handling and/or proper messages..) -
So I'm writing some multithreaded shit in C that is supposed to work cross-platform. MingW has Posix threads for Windows, so that saved already half of the platform dependency. The other half was that these threads need to run external programs.
Well, there's system(), right? Uhm yes, but it sucks. It's incredibly slow on Windows, and it looks like you can have only one system() call ongoing at the same time. Which kinda defeats the multithreaded driver. Ok, but there's CreateProcessA(), and that doesn't suck.
Fine, now for Linux. The fork/exec hack is quite ugly, but it works and is even fast. Just never use fork() without immediate exec(). First try under Cygwin... crap I fork bombed my system! What is this shit? Ah I fucked up the path names so that the external executable couldn't be run.
Lesson learnt: put an exit() right after the exec() in the path for child process. Should never be reached, but if it goes there, the exit() at least prevents a fork bomb.
Well yeah, sort of works under Cygwin, but only with up to 3 threads. Beyond that, it seems like fork() at some point gives two processes the same PID, and then shit hangs.
Even slapping a mutex around the fork and releasing it only in the parent process didn't help. Fork in Cygwin is like a fork in the ass. posix_spawn() should work better because it can be mapped more easily to the Windows model, but still no dice.
OK, testing under real Linux. Yeah, no issues with that one! But instead, I get some obscure "free(): invalid size" abort. What the fuck would that even mean?! Checking my free() calls: all fine.
Time to fire up GDB in the terminal! Put a catch on the abort signal, mh got just hex data. Shit I forgot to compile with -O0 and -g. Next try. Backtrace shows the full call trace, back to the originating line in my program - which is fclose() on a file.
Ahhh I remember! Under Linux, fclosing a file that is already closed makes the program crash. So probably I was closing it twice. Checking back.. yeah that's where it was.
Shit runs fast on several cores now!8 -
I lurk here on occasion. Quite frequently in fact. It's honesty been years and I've grown up with the community. I'm glad to still see old faces here but many of the ones that I used to see are long gone. Man - it's so different.
It's not the same anymore. There's no longer any gangs or clans or anything. It was really fun.
Another thing I specifically miss when @dfox was actually around. Actually replying to people most of the time. Lately, there just hasn't been any trace of him that I've seen. He comments on averages 2-3 times a month lately, and he used to comment a lot more on average years ago. But I don't blame him. I'm the same.
Everything about this feels wrong and off. I used to love this but now i just don't.
I'm going to formally say goodbye to everyone here. And to the OG peeps, I love ya all, you know who you are.
Byes.13 -
Still dealing with the web department and their finger pointing after several thousand errors logged.
SeniorWebDev: “Looks like there were 250 database timeout errors at 11:02AM. DBAs might want to take a look.”
I look at the actual exceptions being logged (bulk of the over 1,600 logged errors)..
“Object reference not set to an instance of an object.”
Then I looked the email timestamp…11:00AM. We received the email notification *before* the database timeout errors occurred.
I gather some facts…when the exceptions started, when they ended, and used the stack trace to find the code not checking for null (maybe 10 minutes of junior dev detective work). Send the data to the ‘powers that be’ and carried on with my daily tasks.
I attached what I found (not the actual code, it was changed to protect the innocent)
Couple of hours later another WebDev replied…
WebDev: “These errors look like a database connectivity issue between the web site and the saleitem data service. Appears the logging framework doesn’t allow us to log any information about the database connection.”
FRACK!!...that Fracking lying piece of frack! Our team is responsible for the logging framework. I was typing up my response (having to calm down) then about a minute later the head DBA replies …
DBA: “Do you have any evidence of this? Our logs show no connectivity issues. The logging framework does have the ability to log an extensive amount of data regarding the database transaction. Database name, server, login, command text, and parameter values. Everything we need to troubleshoot. This is the link to the documentation …. If you implement the one line of code to gather the data, it will go a long way in helping us debug performance and connectivity issue. Thank you.”
DBA sends me a skype message “You’re welcome :)”
Ahh..nice to see someone else fed up with their lying bull...stuff. -
I've started to do some time tracking and just after one day of doing it I noticed that I can't get more that 10 mins working without someone interrupting me.
I love to help and hate to say no, but this is killing my productivity and delaying my work.
Most of the time my help isn't really needed too. "Did you clear the cache?" "Did you run yarn install after pulling?" "Let me look at the stack trace/error message." Sentences like these are all I need to say most of the time.
Did my coworkers get lazy because I'm there to help? Should I start say "not now" more often? Or should I just look for a better team somewhere else?6 -
App fails, Check logs...No error logged. Check source code and debug....
And then you see following piece of code....
try{
//Code to hit an API
}catch(Exception ex){
/*DO NOTHING. Not even log stack trace*/
}7 -
I think that two criterias are important:
- don't block my productivity
- author should have his userbase in mind
1) Some simple anti examples:
- Windows popping up a big fat blue screen screaming for updates. Like... Go suck some donkey balls you stupid shit that's totally irritating you arsehole.
- Graphical tools having no UI concept. E.g. Adobes PDF reader - which was minimalized in it's UI and it became just unbearable pain. When the concept is to castrate the user in it's abilities and call the concept intuitive, it's not a concept it's shit. Other examples are e.g. GEdit - which was severely massacred in Gnome 3 if I remember correctly (never touched Gnome ever again. I was really put off because their concept just alienated me)
- Having an UI concept but no consistency. Eg. looking at a lot of large web apps, especially Atlassian software.
Too many times I had e.g. a simple HTML form. In menu 1 you could use enter. In menu 2 Enter does not work. in another menu Enter works, but it doesn't submit the form it instead submits the whole page... Which can end in clusterfuck.
Yaaayyyy.
- Keyboard usage not possible at all.
It becomes a sad majority.... Pressing tab, not switching between form fields. Looking for keyboard shortcuts, not finding any. Yes, it's a graphical interface. But the charm of 16 bit interfaces (YES. I'm praising DOS interfaces) was that once you memorized the necessary keyboard strokes... You were faster than lightning. Ever seen e.g. a good pharmacist, receptionist or warehouse clerk... most of the software is completely based on short keyboard strokes, eg. for a receptionist at a doctor for the ICD code / pharmaceutical search et cetera.
- don't poop rainbows. I mean it.
I love colors. When they make sense. but when I use some software, e.g. netdata, I think an epilepsy warning would be fair. Too. Many. Neon. Colors. -.-
2) It should be obvious... But it's become a burden.
E.g. when asked for a release as there were some fixes... Don't point to the install from master script. Maybe you like it rolling release style - but don't enforce it please. It's hard to use SHA256 hash as a version number and shortening the hash might be a bad idea.
Don't start experiments. If it works - don't throw everything over board without good reasons. E.g. my previous example of GEdit: Turning a valuable text editor into a minimalistic unusable piece of crap and calling it a genius idea for the sake of simplicity... Nope. You murdered a successful product.
Gnome 3 felt like a complete experiment and judging from the last years of changes in the news it was an rather unsuccessful one... As they gave up quite a few of their ideas.
When doing design stuff or other big changes make it a community event or at least put a poll up on the github page. Even If it's an small user base, listen to them instead of just randomly fucking them over.
--
One of my favorite projects is a texteditor called Kate from KDE.
It has a ton of features, could even be seen as a small IDE. The reason I love it because one of the original authors still cares for his creation and ... It never failed me. I use Kate since over 20 years now I think... Oo
Another example is the git cli. It's simple and yet powerful. git add -i is e.g. a thing I really really really love. (memorize the keyboard shortcuts and you'll chunk up large commits faster than flash.
Curl. Yes. The (http) download tool. It's author still cares. It's another tool I use since 20 years. And it has given me a deep insight of how HTTP worked, new protocols and again. It never failed me. It is such a fucking versatile thing. TLS debugging / performance measurements / what the frigging fuck is going on here. Take curl. Find it out.
My worst enemies....
Git based clients. I just hate them. Mostly because they fill the niche of explaining things (good) but completely nuke the learning of git (very bad). You can do any git action without understanding what you do and even worse... They encourage bad workflows.
I've seen great devs completely fucking up git and crying because they had really no fucking clue what git actually does. The UI lead them on the worst and darkest path imaginable. :(
Atlassian products. On the one hand... They're not total shit. But the mass of bugs and the complete lack of interest of Atlassian towards their customers and the cloud movement.... Ouch. Just ouch.
I had to deal with a lot of completely borked up instances and could trace it back to a bug tracking entry / atlassian, 2 - 3 years old with the comment: vote for this, we'll work on a Bugfix. Go fuck yourself you pisswads.
Microsoft Office / Windows. Oh boy.
I could fill entire days of monologues.
It's bad, hmkay?
XEN.
This is not bad.
This is more like kill it before it lays eggs.
The deeper I got into XEN, the more I wanted to lay in a bathtub full of acid to scrub of the feelings of shame... How could anyone call this good?!?????4 -
Just got a new job at an old school hardware company. The codebase is giving me heart attack. They don't care about dev experience or code navigation at all. Every attempts to modernize the codebase is so half assed. All patches are so bloated that make the codebase even worse.
Frontend is migrated from prototype-oop-jquery cluster fuck to AngularJS, then finally angular. Holy moly, all business logics are baked into UI "classes" using prototype chain. When they migrated to AngularJS, someone simply added a wrapper to that jQuery cluster fuck class and overwrote all the prototype with a 10k +lines file. Since all the methods are hidden in either prototype, JS object, or callback function, it's impossible to trace the data pipeline using IDE when "go to definition" on update() method gives you all the update methods/string in all objects/classes. And they don't care about immutability. References are taken out, renamed, and mutated everywhere. Finding the source of a bug is fucking guessing game.
I don't know what trick they use that makes cLion static analyzer fail.
And there is no unit test or spec doc.
Fuck me dead3 -
Discovered pro tip of my life :
Never trust your code
Achievements unlocked :
Successfully running C++ GPU accelerated offscreen rendering engine with texture loading code having faulty validation bug over a year on production for more than 1.5M daily Android active users without any issues.
History : Recently I was writing a new rendering engineering that uses our GPU pipeline engine.. and our prototype android app benchmark test always fails with black rendering frame detection assertion.
Practice:
Spend more than a month to debug a GPU pipeline system based on directed acyclic graph based rendering algorithm.
New abilities added :
Able to debug OpenGL ES code on Android using print statement placed in source code using binary search.
But why?
I was aware of the issue over a month and just ignored it thinking it's a driver bug in my android device.. but when the api was used by one of Android dev, he reported the same issue. In the same day at night 2:59AM ....
Satan came to me and told me that " ok listen man, here is what I am gonna do with you today, your new code will be going production in a week, and the renderer will give you just one black frame after random time, and after today 3AM, your code will not show GL Errors if you debug or trace. Buhahahaha ahhaha haahha..... Puffff"
And he was gone..
Thanks satan for not killing me.. I will not trust stable production code anymore enevn though every line is documented and peer reviewed. -
Most succesful project was around this time last year.
A scary club of privacy haters made a 'webapp' to advise people what to vote for in the national elections.
The tool was really bad in multiple ways. For instance, if two parties would score the same amount of points, one would, at random take second place without conveying this to the user.
Oh and it also collected all the data people entered "for scientific purposes". A very sketchy practice, a non profit, funded by the government and George Soros (I kid you not, illuminatie confirmed ;) ).
The tool had this disclaimer on the bottom, saying this webapp needs cookies to function. So that triggered me to make a copy of the tool that works better and ... offline, and without cookies. You could download a html file and turn of your wifi (for the paranoid ppl among us), use the tool, delete the file. No trace.
It was a little bit of tung and cheek project, a gimick, the original was called stemwijzer, mine was called offline stemwijzer.
It was a one day build and a day after launching I got a call of the original stemwijzer project leader. Demanding to take the thing offline for infringing copyright (yeah sort of was). I tried to explain him why I made this and why privacy for such things should be held in high regard. He basicly told me I was talking shit and did not want to discuss, I told him I don't take stuff offline because of phone calls. I told him to email me a seist and desist.
So that guy prolly had a stressful day (because of the launch of his tool), had a few glasses of wine, and wrote an email. He wrote me I was a pathtic kid and I should do more useful stuff. He wrote that anyone could program a tool like that. And he wrote me I should do him a favour not share this email with my measly amount of twitter followers. Super professional email.
So I did him that favour, I did not share it with my twitter followers, I shared it with one of the largest political blogs in the country.
My tool sort of took of after that. To stop infringing copy right I changed the name and I removed their content from the script and wrote instructions on how to copy and paste in the json content yourself and "make your own tool".
The response was great, people actually emailed me job offers and I think that the current job I have is due to the succes of said project. So be balsy, challenge giants, start riots, it will get you places.2 -
By accidentally telling his computer to delete everything in his servers, hosting provider Marco Marsala has, according to tech "experts", removed all trace of his company and the websites that he looks after for his customers.
http://n.mynews.ly/!QB.Dtj65 via @NewsRepublicUK2 -
Still on the primenumbers bender.
Had this idea that if there were subtle correlations between a sufficiently large set of identities and the digits of a prime number, the best way to find it would be to automate the search.
And thats just what I did.
I started with trace matrices.
I actually didn't expect much of it. I was hoping I'd at least get lucky with a few chance coincidences.
My first tests failed miserably. Eight percent here, 10% there. "I might as well just pick a number out of a hat!" I thought.
I scaled it way back and asked if it was possible to predict *just* the first digit of either of the prime factors.
That also failed. Prediction rates were low still. Like 0.08-0.15.
So I automated *that*.
After a couple days of on-and-off again semi-automated searching I stumbled on it.
[1144, 827, 326, 1184, -1, -1, -1, -1]
That little sequence is a series of identities representing different values derived from a randomly generated product.
Each slots into a trace matrice. The results of which predict the first digit of one of our factors, with a 83.2% accuracy even after 10k runs, and rising higher with the number of trials.
It's not much, but I was kind of proud of it.
I'm pushing for finding 90%+ now.
Some improvements include using a different sort of operation to generate results. Or logging all results and finding the digit within each result thats *most* likely to predict our targets, across all results. (right now I just take the digit in the ones column, which works but is an arbitrary decision on my part).
Theres also the fact that it's trivial to correctly guess the digit 25% of the time, simply by guessing 1, 3, 7, or 9, because all primes, except for 2, end in one of these four.
I have also yet to find a trace with a specific bias for predicting either the smaller of two unique factors *or* the larger. But I haven't really looked for one either.
I still need to write a generate that takes specific traces, and lets me mutate some of the values, to push them towards certain 'fitness' levels.
This would be useful not just for very high predictions, but to find traces with very *low* predictions.
Why? Because it would actually allow for the *elimination* of possible digits, much like sudoku, from a given place value in a predicted factor.
I don't know if any of this will even end up working past the first digit. But splitting the odds, between the two unique factors of a prime product, and getting 40+% chance of guessing correctly, isn't too bad I think for a total amateur.
Far cry from a couple years ago claiming I broke prime factorization. People still haven't forgiven me for that, lol.6 -
Sorry I haven't been as active lately, however this is one of the better prompts, so I feel I should have it in my track record. Beware, it's a long one...
Let's trace the roots: My uncle was building desktops and he told my dad he'd build him one if my dad paid him for the components. These days I know builds aren't rocket science, but back then my parents didn't do their research. So my dad paid him.
Give or take some time, and most of the parts are complete. He underestimated the prices of a few things and had to ask for $200 more to complete the build. This...caused my dad to explode.
Later, I heard my dad ranting to my stepmom in January 2017 about how the last convo he had with his brother was a "Fuck-you conversation" - it was the last because my uncle had died in 2003.
Flash forward to March 2017. My mom and I are sitting in a Fazoli's, a nice sunset out of the full-length windows. I had to probe. HAD TO.
"You promise you won't tell your dad I told you this?" she asked.
"You know Kellie and I can't stand to be around him." I replied.
As the story goes, that last "Fuck-you conversation"? Over a fucking measly $200. Yup, the last conversation between my dad and his brother to ever happen was a shouting match over a relatively short amount of money. I wish I could say my dad had remorse, but he doesn't. He still talks shit. He's also technologically illiterate, so I doubt there was a way his brother was going to be able to reason with him.
In late 2003, my uncle, who had been a smoker, passed away due to cardiac arrest. The build was still not finished. This was one of the OTHER things that I have mixed feelings about.
After my uncle passed, my aunt paid someone to finish the build and get it shipped to my dad. We'll get back to why I feel this is fucked up, stay tuned...
---------
It's Spring 2004. I'm in the last half of what I think is Kindergarten or some shit...too lazy to do the math. Anyway, my dad announces we have a family computer - however, I couldn't read yet. That didn't stop the waste of oxygen that is my father from going in the Windows XP screensavers and putting text in that said "GAGE MORGAN WILL NOT TOUCH THIS COMPUTER." He's such a fuckin' dick, now AND back then.
My mom had an issue with this. I don't know why, but she did. Later, I was slowly taught how to use the mouse, under heavy supervision. Then I went to my grandma's house. She taught me one very specific thing on her old Win98 (386, maybe? IDK my old hw shit man), and because I know you guys are gonna love this one:
"The blue "e" opens up your games!"
The blue "e" does not open up your games, it opens something that can lead to your games.
I went home and tried this...without permission. My dad came down and discovered my lollygagging on the homepage - this is fucking weird. It was before Nextel, IIRC, so Sprint's logo was red still. Yes, we had broadband from Sprint. I don't know what saga led to that going the way of the dodo, but...
Back on track, I literally got my pants pulled down and had my bare bottom beat. He was gonna drag my ass upstairs and lock me in my room, but before he could, he accidentally slammed MY FUCKING RIGHT TEMPLE into the corner of a hardwood table at the bottom of the staircase.
The wailing that resulted probably was different than the previous form, which is probably what got my mom involved. My dad had a way of going too far, and in retrospect I'm more terrified now of what could've happened than I was then.
Later, I was given access to games in the form of my own account and bookmarks bar. That wasn't the end of the madness/drama from my use of that machine, but it was the earliest form.
Ever since Kindergarten, that one fateful day, I've been defying any/all imposed limitations on tech set on me by my parents...well, not anymore, but literally grades K-12. I'm living on my own, aka "adulting" now. It sucks more than you think, man.
---------
Let's tie this up before I reach the limit. I said I thought it was fucked up when my aunt paid to have the build finished and shipped to us after my uncle's death.
Yes, my aunt's intervention led to me ultimately majoring in computer science.
That doesn't change the fact that she shouldn't have done it.
My dad was an asshole to her husband, who passed. She is ultimately too caring. I don't think my jackass father should've been able to get by with that, he didn't deserve the freebie. Someone else should've told him his brother did in fact need that $200.
I haven't seen her IRL since the funeral when my grandpa passed in 2005. 2006 spelled the end of my parents' marriage.
Hope you guys enjoyed this - it's only a small segment of how I got to where I am now - tiny, actually.2 -
So I'm tryna register for classes using my college's portal, and I click on "add/drop classes", and an entire Java stack trace gets dumped on my screen, with a warning at the bottom not to expose these errors to production in order not to let potential attackers know about how your backend works. I guess nobody at the college ever read that message.3
-
I just have to rant...
7 months ago, I was still a pretty new iOS developer, but finally coming into my own. My boss gave me my first feature ever... a fully custom backend tweaker for our development builds, complete with text fields that devs and testers alike could fill in themselves for whatever they needed to test. I worked harder on that than I’ve ever worked on anything... and I got to make all the decisions on how it looked, behaved, what exactly the user saw/read... everything.
A month ago the most senior dev on my team was asked to update the tool to prepare for a backend migration to a new server. He was then hired to work for Apple, hurried to finish this task, and left forever. (He deserves it, we probably were slowing him down realistically. But that doesn’t forgive the following...)
Unfortunately, he thought it’d be a good idea to remove my entire custom backend tool in the process. Not sure why— maybe he thought it was legacy code or something. He must not have tested either, because the entire backend selector stopped working after that. But that was no problem— I could fix the pre-filled environment buttons just by updating a few values.
It’s the fact that he removed 100+ lines of my custom code from 3 separate classes (including entirely removing one of those classes), for no known reason, and now I have to completely rebuild the feature. Since it was entirely custom, it required no change for our migration in the first place. But he rewrote how the entire view works by writing an entirely new VC, so there is no chance I can just restore my work as it was written.
And in the shared class, he erased every line with the word “custom.” So, so many lines of hard work, now irrelevant and only visible in old defunct versions. And my boss has asked me to “just make it look how it did before the migration.”
I know it’s useless to be angry at a guy who’s long gone, but damn. I am having a real hard time convincing myself to redo all this work. He removed every trace, and all I can think is WHY DID YOU DO THAT YOU FUCKING MONSTER? IT WAS MY GREATEST WORK, AND NOBODY ASKED YOU TO DESTROY IT. THIS WAS NOT EVEN RELATED TO THE TASK YOU WERE GIVEN, AND NOW A SIMPLE TICKET TO RESTRUCTURE A TOOL HAS BECOME A MANDATE TO REBUILD IT FROM SCRATCH.
Thank you for being here, devRant. I would’ve gotten myself into deep trouble long ago if I didn’t have this safe place to blow off steam 🙏4 -
My country's "track" and trace system.
... A fucking joke, especially when you consider the fact it uses Excel as the FUCKING Database!15 -
fuck my school. all i had to do was log in to see my grades and what do i get? the fucking stack trace. security? i think not. seriously though, why the fuck would my county want to make their own grading website when the one we had worked just fine? it looks like it was written terribly, the cause was just a bad socket connection and it even gave me the server name and version. i copied it to a google doc (it was already shortened) and it took up seven pages. jesus.2
-
Part two of: a day off an iOS developer life:
1. App crashed and stack trace gives no info in which file it happened, I have a generic table view cell that is used in so many places and Xcode just wrote: xcell does not support key value.
2. Mac freezing when Xcode is creating IPA file thanks to a new feature in Xcode 9 (Mac freezing is the new feature, even mouse pointer doesn't move -.-)
3. Let's check the value of this class property, Xcode: fuck off and either print it in console (after hitting a break point) or expand that shitty tree at the bottom to reach your class property!
An advice: never click jump to definition when Xcode is indexing, it will either freezing Xcode or crash it.
Part 1 link: https://devrant.com/rants/1137208/...1 -
Me: does literally anything
Npm: breaks
Why NPM? Why must you do it? This is the third time this week on a third system. I just wanted to update so my packages would work. But nooooooo. Oh you wanna update? It'd be a real shame if I, I don't know, didn't update properly whatsoever and all of a sudden couldn't find any internal modules I need to run.
"Just use npm i npm@latest"
Yeah I would except for the whole I can't use NPM at all thing. even npm -v breaks. Can't find internal module. So I literally have to wipe eveey trace of npm/node and do a clean install.
It's so frustrating! I can't do any work because I spend all my damn time fuckin around with NPM.10 -
Microsoft's new dialog messages in their software are pretty annoying. "Want to save your changes?". "Oops, something went wrong!". "Your PC ran into a problem it couldn't handle...".
I feel these messages are unprofessionally written and that they lower the bar for acceptable computer (and English) literacy in this day and age.
Its not like I think they should give a stack trace everytime something happens but just don't dumb it down any more!7 -
I just wasted 2 hours together with a colleague to trace a bug, through several modules, functions, data, etc to find out it was usage of the wrong information in the wrong place. The data used was never intended to be used this way.
I HATE SUCH SOFTWARE ARCHAELOGY.
Carefully uncovering layer over layer, getting one detail after another, from which you don't know if it's really necessary to trace the bug, until you lose the sight of the whole picture. Then when you're confused to the maximum, try to figure out what's important and what not and reassemble the puzzle until you can see where the road is heading.
At least we found the cause of the bug, so it wasn't useless. Now we have to waste more time to develop a solution (...preparing for next rant 🙇)3 -
I gleefully await the day that languages are so high level that stack traces can be generated simply for unintended behavior, not just errors2
-
Do you all remember the dark ages of DVDs when honest customers made a worse deal than pirates because legitimate media was packed with unskippable advertising and PSAs about piracy?
Well, looks like video game publishers are on their best way to recreate that mistake. Why do games nowadays need to be forcefed with storage-consuming, unappealing and technically nonessential launchers that all look and do the same? And why for God's sake do very old and offline-only games need to go through this sodomizing procedure?
prime example: GTA 3 was released back in 2001 and capable of running on Windows 98SE/2000/XP. There's a Steam-only release out there that requires you to install community-made patches if you want the game to run smoothly on modern hardware. Steam itself as a requirement for this atrocity to even launch the executable dropped support for XP more than two years ago. If you'd wanted to play this game on original hardware, you would rely on a real DVD that was made back then, but there are even better options if you know what I mean.
When a multimillion-dollar industry relies on communities of volunteering enthusiasts to make its products work, it won't receive a trace of my empathy when customers and non-customers alike try to download their games from more reliable and honest sources.2 -
There should be a competition for java developers where they compete to generate the longest stack trace.
#javasucks1 -
I guess the time has come finally. 🤔
I'm now thinking of how to trace a Facebook user's current location. At first I thought of touching Facebook.
But then I thought that I can just write a webpage which will trace the visitor IP. And send the url to the user.
Oh it's not for me. One of my friends who is also a partner and a client of mine is being harassed by his former business partner. He has sued him but the guy is in hiding but still posting bad news on his Facebook profile.
So my friend came to me for help. :311 -
What is worse than React native? A crash in flutter ....
They need to work on their stack trace all it's errors lead to framework assertion failed, but which fucker in my code caused it....
No one knows, time to play cat and mouse with this thing 😒3 -
Bug requires 2 developers, full-time for 4 days to trace, debug, scratch heads, analyse logs. Third developer helping occasionally. Finally identify fix. Fix is 2 lines. D'oh.3
-
It took me two full weeks to study this complex system (the system is a nice piece of work) and learn about graph theory to trace this bug reported by the client in order to find out that it was a data-entry issue. I had to trace x and y coordinates to debug this issue.
Although the result was a bit frustrating, it made feel capable and responsible. It was a good feeling in the end. -
I swear to god this industry needs some serious purging. I was trying to google the parameter to Node that crashes on unhandled promise rejections so that I can get a stack trace and debug it properly, and literally all relevant SO questions were asking how to _prevent node from crashing on unhandled promise rejections_. In what realm is that preferred behavior?7
-
So about two months ago in my consulting firm I was asked to replace a colleague on a project (node and Angular). The project is only a few months old but it’s already a total clusterfuck. DB is very poorly designed. It’s supposed to be a relational database but there’s not a trace of a foreign key or any key for that matter and I’ve seen joins like tableA.name = tableB.description (seriously, that’s your relation??). The code is a mess with entire blocks of code copied from another project and many parts of the code aren’t even used. He didn’t even bother renaming variables so they would make sense in the context they were shamelessly thrown into. The code is at best poorly typed if not typed at all.
During our dailies I sometimes express my frustration with my other colleagues as I very politely allude to my predecessor’s code as being hard to work with. (They are all “good friends" with him). I always get the same response from my colleagues: "yeah but you’ve gotta understand Billybob was under a lot of pressure. The user stories were not well defined. He didn’t have time to do a proper job". That type of response just makes me boil inside.
Because you think I have time to deal with this shit? You don’t think I’m working with the same client and his user stories that are barely intelligible? How long does it take to write type definitions for parameters going into a function? That’s right, 30 seconds at most? Maybe a minute if it’s a more elaborate object? How much time do you think you’ll save yourself with a properly typed function or better yet an interface? Hard to tell but certainly A LOT MORE than those 30 seconds you lost (no, the 30 seconds you INVESTED) in writing that interface!!!
FUCK people with their excuses! Never tell me you don’t have time to do a proper job! You’ve wasted HOURS of my time just because you were too fucking lazy to type your functions, too lazy to put just a little more thought into designing your tables, too lazy to rename a variable so that it’s name actually makes sense where it’s being used. It’s not because you were short on time. You’re just lazy!
FUCK!!!!!!3 -
Today during a follow-up meeting of the grand project I'm workng on...
TL: ... and I want to start working on the production environment and have it ready by next month.
Me: (interrupts) hold up! We are not ready, we have a huge backlog of technical tasks that need to be addressed and we are still not in possession of the very crucial business and functional requirements that you are supposed to provide. The acceptation environment is just set up on infra perspective but does not have anything running yet! The API we depend on is still not ready because you keep adding change tasks to it. We have a mountain of work to do to even get to a first release to integration yet and there is still the estimations on data loads and systems... your dream will not be possible until at least Q2 of 2024.
TL: stop being so negative @neatnerdprime and try to be more customer friendly. I want it by the end of the next month.
Me: remember what I said to you about moving prematurely. Remember I don't take any responsibility if things break because you rush the project. Please, reconsider!
TL: I just want it, please do it
FUCK YOU YOU SORRY EXCUSE OF A PEOPLE PERSON KNOWING JACK SHIT AND JUST LICKING THE MIDDLE MANAGEMENT ASSHOLE TO RECEIVE ATTABOY PETS ON YOUR UGLY ASS BALD HEAD AND CROOKED TEETH. YOU SHOULD FUCKING DIE IN A FURNACE AND LEAVE NO TRACE BEHIND.4 -
- They had an error in production
- Almost one year without looking in this codebase
- Last backend dev in the building
- 1h debugging and reading the Stack Trace
- Had a feeling, and changed the place of a single asterisk (groovy's spread operator in the wrong place)
- Now everything is working, our PM is happy, and the client didn't even noticed
- Probably the shortest commit I've ever done
It was a good day :D -
Context: We have a 96-port wall-mount patch panel. We're not even using half of those ports. "We" (read: "I") are completely redoing our network rack, as it's an ancient nest of wires. Currently all the ports in use on the patch panel just have random-length cables which are just drooped down beside the rack before running to switches. When I need to trace a cable from patch panel to switch, it's a complete nightmare. However, the cables going to the patch panel do have enough of extra length to do a rack-mount patch panel. I suggest this...
MGR: "Ehhh... I don't really like the idea of tying the rack to the wall... What if we want to move it or something?"
(this rack is in a tiny room and has been there since probably the 1800's.)
ME: "Well the problem currently is that it's all but impossible to trace cables. And even if I rewire it and bundle them nicely, it will still be a headache. With a rack-mount panel, we could just have super short patch cables and so it's super easy when I need to move stuff around."
MGR: "Okkkk..... So what if we would purchase like 3 or 4 switches to get 96 ports, then we run a cable to every patch panel port. That way we never need to change anything :)))."
Dude. Great idea. Let's drop hundreds to thousands of dollars on switches we don't need, rather than just doing a single patch panel. Brilliant. Also another great idea that, running thirty or forty unnecessary cables that we aren't even using. That won't clutter up the rack or use up valuable space or get confusing which ports on the switches are/aren't in use.
I'm trying so hard not to scream right now. I can't deal with this.
EDIT: It gets worse. Apparently part of the reason he wants to do this is "to make it simple". Currently we have our POS system running to its own switch, the printers are on another switch, etc. (yes I know some of this could be accomplished with a VLAN, this was set up before my time). But apparently "if we just had every single port wired then we could plug in whatever we want wherever we want and it wouldn't matter." I just... That's... That's not how you do a network.1 -
Fuck these fucking youtube ads! I got blocked on youtube and cant play any video on desktop unless i disable adblocker. Shits so fucking LAME. Fuck off. Switching over to brave browser now and never looking back. Fuck off chrome.
Get fucked google. Now Google dropped to the last place for me from cloud providers. I'll prioritize the pedophille childfucker bill gates Azure cloud over GCP Now! Fuck Off. Shove ur ads into someone elses ass just how bill gates shoves his dick into childrens assholes on the epstein island!
Brave browser found a solution to all this fuckertry! It has built in adblockers for everything including built in vpn IP cloaker trace blocker and so much more for privacy and data integrity. Playing yt videos on brave browser works like a charm with no fucking ads or extensions installed! Everything is the same like chrome including layout development etc, minus ads tracking and data harvesting!
Before:
AWS > GCP > Azure > OCI
After:
AWS > Azure > OCI > GCP
Google ur now worse than a pedophile azure. Deserved to get spot #3 now. Shitheads9 -
We basically don't unit test at work. I write some tests for my code and honest to God people complain I'm wasting time saying a test bed and manual tests are good enough. We don't write test beds for about half of our production code and rely on integration tests for the rest. We only test release builds which have been symbol stripped, I get handed a crash report with no stack trace that I'm unable to reproduce and expected to stay late to fix it for some arbitrary internal deadline.
I've since moved to R&D where basically I'm left to do my own thing so it's better.
We don't project manage. Project leads take time estimates and double them so management might cut them some slack. This doesn't matter because management made up time estimates before the project started. Last project I was on had a timeline of 3 months and took a year.
We have released broken products. Not that any of the above really matters, our software products have made about 50k revenue in 2 years. There are 6 people on software. Fortunately hardware has made about 3 mill. That said our hardware customers are getting frustrated with us as we keep fucking up, shipping broken products and missing deadlines.
I've been working there about a year and a half and will be looking for a job at the end of the current project.
I joined devRant about when I was most pissed off with my job, my rant frequency has definitely gone down since I moved over to R&D. -
Below is a transcript from work Slack today. Only the names and some code are changed. It ended up causing a bit of drama. DevRanters, what do you take from this?
---
Delivery Lead:
Hey Gang. What's the blocker for FEATURE-123?
Dev1:
FEATURE-122 crashed on iOS app when viewing Feature Introduction page.
Teach Lead:
I've talked about this with Dev1 on a side channel.
And diagnosed the stack trace.
It looks like there is/was some bad handling of a List in the Feature Introduction view logic.
But this is confined to changes that Dev2 is still working on.
(It's not present in master)
Dev2, what's your current position on this?
Dev2:
I have tested at my end with Dev1 but it seems to be working fine
Tech Lead:
There is a race condition related to the use of someList.first()
My guess is that theres a Flow of those lists defined, with an initial value of emptyList
And that on your machine, that Flow is updating with a new value quickly enough that it doesn't matter.
But on Dev1's, for whatever reason, it doesn't get there in time, hits the empty list and falls over.
The logic that's performing the first() needs to gracefully handle empty lists as well.
Dev2:
Where is that logic called?
Tech Lead:
Here's the stack trace Dev1 provided in our conversation earlier:
Caused by: kotlin.NoSuchElementException: List is empty.
...
at 3 iosApp 0x00000000 kfun:kotlin.NoSuchElementException#<init>(kotlin.String?){} + 00
at 4 iosApp 0x0000000 kfun:kotlin.collections#first@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0 + 000
...
at 9 iosApp 0x0000000 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 0000
This line:
kfun:kotlin.collections#first@kotlin.collections.List<0:0>()
...says that it's first() being called on an empty list.
Dev1:
FYI: Dev3/Dev4/myself are seeing the same issue with the same stack-trace above.
Tech Lead:
So Dev2, have you introduced such a call?
Because I checked master branch and there isn't one, in that version of the file.
Ok, I'll check your working branch Dev2
...
Yes you have here:
var processed1 = someList.first()
var processed2 = someList.first()
...
Lines 123, 124.
Solution looks really straightforward guys.
Dev2:
Okay, I will fix that and push the change
Tech Lead:
Check if someList is empty and allow for generating / handling null processedValues in the view.
Now; I'm going to be straight with you here.
This issue has been discussed over several hours today.
I expect that either one of you could have gone through the process I did in the last 10 minutes above, and resolved it in the same way :point_up:
Dev2:
I went on a break and it's not reproducible on my machine
Tech Lead:
I didn't reproduce it on mine either.
Dev1:
Dev2 and myself are now on sharing screen to sort this issue out. Hope to update back later.
Tech Lead:
<Screen shot of diff with changed code>
:point_up: That change should do it.
Dev2:
Already have pushed the change.
Tech Lead:
...just seen it, is good - same approach :ok_hand:
Dev1 please let us know when tested on your machine.
Dev1:
That does it. It fixes the issues. Thank you, Dev2. I will pick it off from here.
Tech Lead:
Glad to hear it guys.
Dev1:
I have to say this that it is not because we are not working on the issue - Dev2 and myself (together with Dev3/Dev4) have been on this issue all this morning. It just difficult to connect the dot when it wasn't reproducable on Dev2's machine. I brought the issue up because I wanted to switch to working on other tickets while waiting for this to resolve. Still thank you largely for Dev2's work and your keen eyes that spot and resolve the issue quickly.
Tech Lead:
Noted Dev1.
I think the take-away has to be to read the stack-trace carefully... don't worry - we've all been guilty of not reading the error in full, at some point.
The stack trace said that the 'first' element is being referenced from an empty list - that's just logically impossible, right?
Looking for that call to first, we saw it wasn't in the code before, and is after (two of them, in fact).
So then we ask ourselves, how can we deal with an empty list - and then solution almost presents itself.
It didn't really take reproduction of the error to resolve.
Maybe working with a new tech stack creates an anxiety that every issue faced will have a complex solution related to that stack; but I think you'll agree, this particular issue really just required a deep breath and your trusty 'debugging skills 101'... don't lose them! :smiling_face:4 -
Man, I love how G++ (and every other Gnu tool for that matter) makes 0 effort to understand what you fucked up, and they only tell you where they got stuck. What am I supposed to do with this error that doesn't contain a single reference to my project?7
-
I really hate PHP frameworks.
I also often write my own frameworks but propriety. I have two decades experience doing without frameworks, writing frameworks and using frameworks.
Virtually every PHP framework I've ever used has causes more headaches than if I had simply written the code.
Let me give you an example. I want a tinyint in my database.
> Unknown column type "tinyint" requested.
Oh, doctrine doesn't support it and wont fix. Doctrine is a library that takes a perfectly good feature rich powerful enough database system and nerfs it to the capabilities of mysql 1.0.0 for portability and because the devs don't actually have the time to create a full ORM library. Sadly it's also the defacto for certain filthy disgusting frameworks whose name I shan't speak.
So I add my own type class. Annoying but what can you do.
I have to try to use it and to do so I have to register it in two places like this (pseudo)...
Types::add(Tinyint::class);
Doctrine::add(Tinyint::class);
Seems simply enough so I run it and see...
> Type tinyint already exists.
So I assume it's doing some magic loading it based on the directory and commend out the Type::add line to see.
> Type to be overwritten tinyint does not exist.
Are you fucking kidding me?
At this point I figure out it must be running twice. It's booting twice. Do I get a stack trace by default from a CLI command? Of course not because who would ever need that?
I take a quick look at parent::boot(). HttpKernel is the standard for Cli Commands?
I notice it has state, uses a protected booted property but I'm curious why it tries to boot so many times. I assume it's user error.
After some fiddling around I get a stack trace but only one boot. How is it possible?
It's not user error, the program flow of the framework is just sub par and it just calls boot all over the place.
I use the state variable and I have to do it in a weird way...
> $booted = $this->booted;parent::boot();if (!$booted) {doStuffOnceThatDependsOnParentBootage();}
A bit awkward but not life and death. I could probably just return but believe or not the parent is doing some crap if already booted. A common ugly practice but one that works is to usually call doSomething and have something only work around the state.
The thing is, doctrine does use TINYINT for bool and it gets all super confused now running commands like updates. It keeps trying to push changes when nothing changed. I'm building my own schema differential system for another project and it doesn't have these problems out of the box. It's not clever enough to handle ambiguous reverse mappings when single types are defined and it should be possible to match the right one or heck both are fine in this case. I'd expect ambiguity to be a problem with reverse engineer, not compare schema to an exact schema.
This is numpty country. Changing TINYINT UNSIGNED to TINYINT UNSIGNED. IT can't even compare two before and after strings.
There's a few other boots I could use but who cares. The internet seems to want to use that boot function. There's also init stages missing. Believe it or not there's a shutdown and reboot for the kernel. It might not be obvious but the Type::add line wants to go not in the boot method but in the top level scope along with the class definition. The top level scope is run only once.
I think people using OOP frameworks forget that there's a scope outside of the object in PHP. It's not ideal but does the trick given the functionality is confined to static only. The register command appears to have it's own check and noop or simply overwrite if the command is issued twice making things more confusing as it was working with register type before to merely alias a type to an existing type so that it could detect it from SQL when reverse engineering.
I start to wonder if I should just use columnDefinition.
It's this. Constantly on a daily basis using these pretentious stuck up frameworks and libraries.
It's not just the palava which in this case is relatively mild compared to some of the headaches that arise. It's that if you use a framework you expect basic things out of the box like oh I don't know support for the byte/char/tinyint/int8 type and a differential command that's able to compare two strings to see if they're different.
Some people might say you're using it wrong. There is such a thing as a learning curve and this one goes down, learning all the things it can't do. It's cripplesauce.12 -
Right now. It's happening. I'm sitting on one of those seemingly impossible issues. I'm reading the exception and can't fathom how it can be true. I mean, the evidence is right there! The error message must be wrong! But that's the thing, it never is. It's always something stupid and obvious. After you figure it out, you shake your head and laugh at yourself for not seeing it. It's all shits and giggles after you figure it out, but that's not where I'm at right now. Right now I'm being laughed at by this stack trace. It's mocking me even!
Jokes on you though, because I'm coming for you!!2 -
I sadly had to delete my old account because I realized people could trace me back with my old username (and by some of the info I shared).
I love devRant too much to leave though. I genuinely feel like I've known some of you for years when that's just some internet forum full of ranting avatars5 -
Now that my math posts have failed to garner the anger they formerly did, we here at Wisecrack Studios, like all teams of people completely out of ideas, have come up with a brilliant never-before-tried concept to bring fresh shitposts to your pocket-telescreen this fine year of 2020.
We present to you the DevRant shitposter census!
Yes we pride ourselves in our quality bait and bullshit here at WS. Founded in [previous year a long long time ago], we focus on craftmanship, tradition, and doing it right. Our bait is loved the world over for "it's fresh flavor", "so good, it's like you're abusing heroin right along with the company employees!'
And now, you too get to participate and choose your very own bullshit!
You could say we may have invented a totally new word just to describe it: crowdsourcing!
Isn't it just *brilliant*.
Here is Wisecrack's "Private Select" census, of only the most choice *premium* finely-aged shitpost ideas for this [current year].
Please, please, one vote per customer!
* Moar javascript shitposts (no we won't be doing any more, even WE are tired of js rants).
* Overly pixelated memes (obviously not) blatantly ripped and automatically uploaded via shitty selenium scripts
* Real life hijinxs, trolling shitty companies hiring processes for fun at their expense!
* DevRantCon now with 100% more orgies. Reserve your kickstarter ticket today.
* Disappointing vaporware announcements that take ten minutes to read and build your excitement up only to crush it before your very eyes like a child's first lego build in the hands of an angry nd merciless andre the giant disappointed by the craftmanship of a five year old.
* A livestream of a monkey on an actual typewriter, with a btc betting pool each time an actual word is typed, along with a $5 "shock the monkey" button to spice things up a bit
(our lawyers are informing us this may or may not be illegal in some or all nations. We'll get back to you when sealand responds with our request about their laws on unnecessary animal cruelty. )
* Video conference with devrants creators where we all play "I've never" that doesn't end until at least one person passes out black drunk.
* Weekly comedy write ups with jokes (not obviously) blatantly stolen from cards against humanity
* HipsterRants: why your favorite [thing - game, music, movie, book] sucks, and why I hate you for liking it.
* Did we mention javascript rants?
* Cool new projects by devranters and our merciless breakdown of why each one is pure, unadulterated shit, everything that was done wrong, and why you should personally be ashamed for using it.
* SadRants: cancer, meth abuse, homelessness, how we'll all die at the end, and how the sun will one day turn into a giant ball of fire that will consume the earth and leave no trace that anyone ever existed, and nothing we do will ultimately matter.
* HappyRants: ( ͡° ͜ʖ ͡°) oh yeah, you feeling it now mr krabs?
* Technical breakdowns that are completely wrong, utterly incompetent, intentionally misleading, and wildly upvoted by people who are unfamiliar.
Vote for your favorite topic/idea today! or even submit your own for our 'consideration'!
Clickbait, now in technicolor!8 -
Complete bug reports for devs: Error name, stack trace, what did you do when it happened and all that stuff
Complete bug report for users: it crashed help1 -
Why the hell are senior engineers coming to me me to debug and figure out issues? I don't even own this code..why should I care? Does your brain stop working as soon as you see the stack trace leave the code you have written? You are getting paid more than I do so go figure it out yourself. Why are you asshats even getting paid more than me? How did you even get there if you can't debug? Again why am i getting paid less than these asshats7
-
Yesterday was a horrible day...
First of all, as we are short of few devs, I was assigned production bugs... Few applications from mobile app were getting fucked up. All fields in db were empty, no customer name, email, mobile number, etc.
I started investigating, took dump from db, analyzed the created_at time stamps. Installed app, tried to reproduce bug, everything worked. Tried API calls from postman, again worked. There were no error emails too.
So I asked for server access logs, devops took 4 hrs just to give me the log. Went through 4 million lines and found 500 errors on mobile apis. Went to the file, no error handling in place.
So I have a bug to fix which occurs 1 in 100 case, no stack trace, no idea what is failing. Fuck my job. -
I ask myself whether there is a connection between people proudly proclaiming they don't need to get a decent education and people posting rants about being impossible to get their projects to work and have to trace down bug all the time.2
-
A dev in the team just found out about JavaScript promises. Now he is putting them everywhere but never handling errors, so it's impossible to tell where the app is actually failing because the error points to the Babel polyfill and the stack trace is not long enough.1
-
When my boss thinks doing anything is better then doing nothing...
I have to explain to my boss for the Nth time already that doing random tests and things will not replicate a PRODUCTION network issue that seem caused by particular factors at a particular time and location.
And that the best way to trace is for whatever is raising the issue to log the exact time and error so the problem can be traced through all the steps...
FML.....1 -
/** Null until this web socket is connected. Used for writes, pings, and close timeouts. */
private ScheduledExecutorService executor;
Dear boys and girls.
If you ever do this again and release this as a public library (even better - an official client of your solution, e.g. kuber-fucking-netes), I will get my way into dR's gateway servers, trace down your IP in nginx's logs, find your location, probably use some means to get your first and last name (you prolly have a domain registered under your IP anyways...), buy a ticket to your town, get to your home and wait for night to fall. Once it's dark and you're asleep, I'll make sure to leave a real nice, warm and extraordinarily smelly turd on your doorstep (I'll also make sure the process of manufacturing that gem is as noisy as it gets - you just have to bend the right way, and....).
Gents. If you really, REALLY want to make writes asynchronous, at least provide a way to either get a notification once the write is synchronized, or allow the user to handle the threads/executors himself!
https://youtube.com/watch/...5 -
I asked our professor for help, because the code that I exactly copied from her lecture wasn't working.
I forgot to erase my trace('wtf'); code that is literally on every function (mouse_over,mouse_down,mouse_out).
Right after she saw the code, she looked at me like and I was like.....2 -
To fix a bug I added a few log messages to trace what gets executed and in what order (very new to the project). Fixed the bug, pushed PR and the only comment was to remove the log files. 🤦♂️🤦♂️
Please tell me this is normal or should I start looking for a new place that hires "only the best" 😭10 -
Returning back to the C# with NET Core was a mistake.
Currently working on a simple web project and I'm already stuck with the simplest problem: cannot connect to the local PostgreSQL instance.
"Cannot resolve host", bull-fucking-shit, localhost is not resolvable, 127.0.0.1 is not resolvable.
Better enough, tried to run Dns.GetHostEntry (which failed from the stack trace) on same localhost and... It's working... Why it's not working on the fucking Npgsql, why it's not working in the lib.
Now I totally understand that I don't get Microsoft's way of solving problems.13 -
"Exception has been thrown by the target of an invocation"
This error message pisses me off. I know the SSIS Script component is capable of catching exceptions, you can wrap all your code in a try/catch (please don't) and get an exception. So would it be so hard that if the Script Component throws an exception that it tells me what it is instead of sending me on a goddamn scavenger hunt?
The whole bullshit system of errors is why I hate SSIS. Just tell me what went wrong.
I did what I wasn't supposed to do, wrapped it in a try catch and it gave me a stack trace and an error message and all sorts of actionable shit. But why the hell can't it just do that on its own?
There is literally nothing worse, except maybe Hitler, than a goddamn vague error message.4 -
!rant but wondering,
this time I did not get my self blocked out of my server lol
But I have set up nginx to receive url then redirect to another server, my question is:
I ran tracert on the url but it ended on the nginx server, is there a way I can find out if my nginx IP is forwarding?
I have a webservice on server z, and nginx on server x, tracert end at server x, so does dev tools in chrome/firefox they show host ip header as server x. Is there a way where I can trace my call to server x if it is forwarded to another server?
I know I'm forwarding it, but if someone wants to know, can they? -
Hi I’m a Python Developer, tired of doing internal applications using Excel as a UI. I’m thinking of proposing to turn most of our projects into internal web apps instead. Has anyone gone through this sort of problem?
My team is quite pro at using Excel, so naturally they prefer to use the tools I build from Excel. Some of those tools are also used by external teams, but they are not as capable with Excel, so they need supervision and guidance.
There are multiple concerns that arise:
- I code on Mac, but they need to run it on Windows, so compatibility issues
- Some of their laptops might not have enough resources to run the tasks
- Errors are harder to trace and could be very user-specific.
- New developers might not be familiar with Excel and the way to integrate with Python
I would like to know your opinion or criticism10 -
Fixed a 9 month old bug today which couldn't be reproduced in debug and the stack trace from the release was utterly useless.
Total fix..... 4 lines of which two with only brackets1 -
A developer couldn't get a application performance monitoring (APM) tool to trace his application. They claimed that their libraries and their configurations were alright and that the APM tool was non-performant.
The developer then argues with sysadmin that the APM tool can't trace the application and that there's nothing wrong with the application or the configurations. When sysadmin questions whether the developer got the tool to work anywhere, they say, "No" and head off to make it work at least in one place. They come back saying that it works on their development environment (which is their local machine). Sysadmin claims that the system configurations on the server instances cannot be matched by the development environment and there could be a lot more factors to be considered for the problem. The sysadmin asks to prove it on a server instance on one of the test environments and then they'd agree that it is a problem with the tool. They also argue that this is not the only application that uses the APM tool and the tool happily traces other applications with no issues.
The developer tries the same configuration on a staging instance and fails. In order to make it work, they silently uninstall the existing version of the APM tool and then compiles an unstable branch of the tool. It finally works with this version.
They go back to the sysadmin and show that it works on the staging environment, but does not on production. After banging their head on the wall for a while, the sysadmin figure that the tool had been swapped out for the unstable branch that was manually compiled. When questioned, the developer responds, "It works with this version on staging, so deploy the same version on production"
WTF? You don't deploy an unstable branch to production. Just because you can't make it work on the stable branch doesn't mean that it is the problem with the tool itself. There's a big difference between a stable branch and a non-stable branch. How would you feel if the sysadmin retorted by asking you to deploy the staging branch of your application to production? -
I just learned the hard way not to recklessly daemonize stuff; I ran into a case where my Python script crashes Python itself.
The issue was that one of the query that “requests” package makes for OS was not fork safe, thus causing a segfault. Since Python drops dead as soon as it receives SIGSEGV, all I had was macOS crash log (which is oftentimes hard to decipher). I spent like good one hour before I found “faulthandler” package which enabled me to log the stack trace to stderr and see what the f*<k was going on.
I mean, I’ve seen quite a lot of occurrences of thread safety issues, but now it’s fork safety!?
Maybe I should be sticking to Docker or something unless the situation *really* requires me to daemonize something lol2 -
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.8 -
What is your last WTF moment? I will start, today I was working on some abandoned tasks, finished the first one quickly and unexpectedly. I thought It would take more time though. The second task -the shitty one- finished it too, again quickly and unexpectedly. There was a tiny fix I should make, which shown on the image below, I wanted to change the CSS of this select box and the highlight color when the mouse is over one option, I spent about 2 hours without any luck, this shitty box has no trace in the dom or any CSS attached to it, I was going nuts, why the fuck this has no fucking trace in the HTML. Ok, I can change the select element background but it would be applied to all the box and the highlight color for the option element can't be changed. The WTF moment is that I was testing the website in chrome inspect with mobile devices enabled and thought, holy fucking shit this is not how the select is supposed to be shown on mobile devices, it will fall back to the native mobile system select element. what a fucking shit is this, I was going to go mad for 2 hours about this genie element displayed here.
-
Ranted earlier about how my debugger was fucking up. Jokes on me, it's now the only thing that works well.
The fucking C++ code behaves normally in debug build, but when in release build throws a SEGFAULT out of nowhere. Bet it's tellg() or my unsigned to signed conversion that fuck things up (while they work perfectly in debug, I repeat). But I can't tell, since the only way I have to trace back the issue is the disassembly ¯\_(ツ)_/¯7 -
You are stuck in a PM meeting, and all you can think of is that error message from the last stack trace.1
-
"hey, can you please help me out with this, it isn't working"
"What's it say?"
"I dunno, It's giving (not throwing) some exception/error" (no clear distinction between them)
Well, shit. Did NOT expect Java to do that in case of some undesirable flow in code! Stack trace, error message, what was happening when the exception (or actual error) occurred as inferred from logs... Nope.
Great! -
VSCode is doing really strange things to my language server, in such variety that I'm starting to suspect that it's simply incorrect because it's very unlikely that I'd misunderstand so many distinct things at once.
- The trace level is verbose, yet VSCode absolutely spams the LS with trace: off requests
- the capability update request I used to set file watchers never gets a response even though the standard clearly states that all requests must get responses or progress reports quickly, and I'm not getting file updates even after vscode responds to a file system change. By the way, if file watching is a capability, why can't I set it in the protocol handshake with all the other capabilities?
- my semantic token provider (used for syntax highlighting) is simply ignored, no requests, no errors
- the debug console is spamming editor internal errors2 -
When I say "error in an async function" you say "no stack trace"!
"Error in an async function"!
"No stack trace"!
"No stack trace"!
"Error in an async function"!
"Unhandled promise rejection DEPRECATION WARNING Unhandled promise rejections will be shoved up your ass in node v7.coffee.9.10.666."3 -
Only in React packages...
When you follow the documentation to the exact dot and you get an error and nothing works.
And the stack trace gives you an error coming out of some deep async call, made many calls before the error.
Therefore the stack trace has nothing to tell you.
Equivalent of a brick falling on your head, just bad luck, who said programming should be deterministic anyway...1 -
Android 12, stop telling me every other day which app has permission to access my location in the background. I know, I gave permission, and I want to keep the setting "Allow all the time". Where's the "don't ask again" option?
And why does this happen for an app released by the German federal government (about once a week) but never, ever for your shitty Google Maps that always seems to know where I've been (at least if don't leave my phone at home, which is hard to do in times when you have to show your digital proof of vaccination everywhere yo go). Fucking Android, fuck the Android 12 clunkiness (inspired by Apple's iOS?) and fuck the fucking notifications. This is my phone, I paid for it, I own it, I want to turn off this bullshit. Wait, Google, once I find time to get back to LineageOS/Cyanogenmod you will never see a trace of my digital existence again. Oh, and fuck your "digital wellbeing" as well! At least you let me turn that off. Yes, I know, I am not grateful, but that's what devrant is for, isn't it? Fuck you, Google!2 -
Scratch away the PCB trace that was initially connected and solder a wire straight to the IC pin to connect it it to the place you want1
-
After brute forced access to her hardware I spotted huge memory leak spreading on my key logger I just installed. She couldn’t resist right after my data reached her database so I inserted it once more to duplicate her primary key, she instantly locked my transaction and screamed so loud that all neighborhood was broadcasted with a message that exception is being raised. Right after she grabbed back of my stick just to push my exploit harder to it’s limits and make sure all stack trace is being logged into her security kernel log.
Fortunately my spyware was obfuscated and my metadata was hidden so despite she wanted to copy my code into her newly established kernel and clone it into new deadly weapon all my data went into temporary file I could flush right after my stick was unloaded.
Right after deeply scanning her localhost I removed my stick from her desktop and left the building, she was left alone again, loudly complaining about her security hole being exploited.
My work was done and I was preparing to break into another corporate security system.
- penetration tester diaries2 -
User: your python script is giving me error, <insert stack trace indicating a missing directory on the system path>
Me: Did you add the directory to the path
User: yes
Walks over to desk checks path, finds a space after the semicolon separator before the directory.
Removes space, problem fixed
Why Windows, why can't you just strip the white space.
Returns to desk, hides underneath and waits out the end of the day 😿 -
FUCK GOOGLE'S INSTANT APPS.
I know google is bad in general, but fuck Instant Apps in particular!
Doesn't matter if you've disabled them from every account you have, they will still update and install themselves no matter what! Doesn't matter if you're on wifi or on a mobile connection using data either!
What's even worse is that there is no trace given of these update - just a temporary notification while it's downloading and installing the update, then it's gone! Blink and you'll miss it.
Can't even get rid of this shite, because I have a few accounts tied to a project that are entirely based on google services :(
Fuckin' spyware10 -
More from my big black book of ai and neuroscience:
I think if trace theory is true to any degree it would go some distance in explaining phenomenal consciousness, assuming I haven't misunderstood anything.
In fuzzy trace theory (FTT) it is posited that people form two types of mental representations about a past event:
*verbatim traces: detailed representations of a past event.
*gist traces: fuzzy representations of a past event.
People can reason with verbatim *and* gist traces but prefer gists.
*vision was suggested to work similarly in 1999. With human vision, two processes could be used: one that aggregates local receptive fields and one that parses the local receptive spatial field. It was suggested that people used prior experience, gists, to decide which dominates a perceptual decision.
Gist processes form representations of events, semantic details, where verbatim reinstates the context found in the surface details of an event.
__notes__
Parallel storage: asserts encoding/storage of verbatim/gist traces operate in *parallel*, not in serial.
I like to think of verbatim traces as databases, and gists as queries constructed by recognition.
Several studies have found that the meaning (gist) of an item is encoded even *before* the surface details (verbatim).
This might be important as a survival mechanism but should not be taken to mean strictly that gists are formed wholly *without* details or important and recognizable features of the item in question. It may well be for high level el processing and classification efficiency this may be an important reprocessing step, in the same way that many functions of the brain are duplicated throughout.5 -
Seeing an exception with no stack trace , emailing every1 how dumb it is , a week later another 1 , i already found where they were thrown and who did it after revealing history and I'm going to call chuck Norris on him
-
PHP: "Full functionality changes? It's okay bro, just save me - I'm ready to rock and roll!"
Reload page: Beautiful.
ASP: "Changed the width of my div? Please recompile my entire solution. Thank you."
Compile.
ASP: "Hold on! There were build errors, compile anyway?"
Yes.
ASP: "Great! We're good to go and everything checks out!"
Reload page: Error. Stack Trace.3 -
Waiting to merge the rest of the team’s new code because you don’t want to deal with migrating your test account to a new backend until your feature’s ready, finally finishing your feature (!) and then seeing 100+ merge conflicts and realizing you‘re better off just re-implementing all your feature code into a new branch, & deleting every trace of your old branch so nobody sees the 1000+ merged commit mess you’ve made -_- today was supposed to be easy...
WHY WOULD ANYONE NEED THREE DEPENDENT SUBMODULES ANYWAY?!?! 😩1 -
Today is the first time I really wished we would use git, or some good version control. My coworker kept working on my project while I was on vacation and now something isn't working. I'm just not sure if it's not working because I was dumb enough to accidentally STRG+X (I know, I'm dumb) some of his lines or whatever, but the point is I have no way to trace back what it looked like before and now I gotta fill the blanks by deduction I guess10
-
While I haven't been officially hired for any UI dev jobs, there was one front-end position I was going for where the hiring manager viewed my programming test for the application process and just sort of gave me a "sorry, we're choosing not to move forward with you" email even though my code was simple and refractored. When I thanked him for the opportunity and asked for feedback he just kinda disappeared without a trace.
I understand that time is money and maybe they just didn't want to spend the time responding, but is this kinda thing normal?1 -
Why is it that windows 10's network adapter takes so fucking long in order to work and connect to the internet!!
Does anyone know a way to trace back what's causing it? And why it takes like full 15 minutes for the Ethernet or wifi drivers to even work? (I'm not even sure if this is something with the drivers or the way windows's network adapter way of working)
I couldn't find Jack shit on the internet (most of them are ghetto do this and that and hope it works) I want something more advanced so I can figure out for once why this happens on numerous windows computers
(Linux people, I understand you, please don't rant your stuff here, this is a bit serious issue, thx)6 -
Fucking fuck I had this one dashboard website I used some time and then stopped, they were sending me lots of trash via email since, but now when I actually need it again, I can't find a single trace, does somebody know some website where you can simply send a curl to with some number and it will save and graph it in a dashboard?6
-
This guy keeps insisting there’s a bug in my code, on a specific line. The stack trace shows that a NPE is thrown in his code, before that line is reached, but he won’t be persuaded by this argument and won’t send me the class.
Somehow he’s certain that Java would throw a NPE on trying to iterate through an empty list, as if his code was even returning an empty list. Can you imagine the chaos.1 -
When our app encounters an error, it shows an alert with an option to copy the error details to the clipboard, that includes the full stack trace, broadcasting to the world that we are coding in C#. Also, our page URLs show .aspx at the end, so anyone using it can see details of our implementation. Not exactly world-stopping since the desktop portal is only available on customer servers and the ipad app requires username/password AND pin authentication. But still....
-
Worst experience this week: bad_alloc in my C++ program in 5 out of 10 executions (all with the same arguments) without a stack trace. FML.
-
Microsoft Windows can burn.
I have this feature where I configure a remote API via some endpoints and the API pushes data back to some webhooks in my API.
Yesterday I set everything up for the final test; fired up my own API with some test data, added some configuration and started trace logging to ensure that everything works as expected when the remote site tries to send me data.
I was ready to collect ! Enter this morning: Windows have forcibly rebooted to install an update and shut everything down.
inb4 install Linux; No, I can not. Windows is company policy and I am required to use shit that is only designed for Windows.6 -
Okay so i want to do visualisations, like visualise pi or golden ratio or working if a triple pendulum, trace parabolas and stuff. Which language do i use and why?5
-
Bought a new Bare-metal Server in India and SSH to it was visibly slow (even when it's a 1GBpS line)
Did a trace-route via my location in South East Asia
The pings went from SEA -> San Jose (im guessing US) -> … more US -> Chiba (Japan) -> … more Japan -> Singapore -> India.
So it crosses CONTINENTS and OCEANS even though both are in Asia, connected by land.
Also, there's direct submarine cable route to Singapore, so why go to US in the first plane :v
Idk whom to blame but have internet routes always been this unmanaged/inefficient? I was sure DCs go out of their way to ensure the shortest connection route is followed -.- but look at this ffs7 -
Why is it that every time I want to make some dead simple script with Python it turns into the utmost awful programming experience?
Ah no you see you have to install this dependency but even if pip doesn't give you an error your script will still crash on import and vomit up some ugly back trace that doesn't tell you anything.
And then some retarded sub sub dependency wants to run on Python 2 and that has its entire own shithole of dependency hell.
And then for some unknown reason the Python installation wasn't compiled with zlib and some library wants it so you either you compile the entire thing yourself or idk go fuck yourself?
Why is this hot mess of a language still in use? I dont get it, it's easier to set up a cmake project with C++ for gods sake.4 -
Embedded Qt project. Has to ship in a week. Has problems with touch events.
Trace it to a problem in Qt itself.
Bugtracker: "Fix version: Qt 5.8"
5.8 is currently alpha.
Oh well... -
Upgrade some spring.jar files as per ticket.
Bumble fuck cargo program your way into getting the project to be runnable again after fucking with gradle.properties and build.gradle.
Find out that shit doesn't work and now you gotta dug around to see where the fuck logs might be.
Thanks for providing no stack trace or useful information to help me debug spring.2 -
"When you do something, you should burn yourself up completely, like a good bonfire, leaving no trace of yourself." - Shunryu Suzuki2
-
Top 12 C# Programming Tips & Tricks
Programming can be described as the process which leads a computing problem from its original formulation, to an executable computer program. This process involves activities such as developing understanding, analysis, generating algorithms, verification of essentials of algorithms - including their accuracy and resources utilization - and coding of algorithms in the proposed programming language. The source code can be written in one or more programming languages. The purpose of programming is to find a series of instructions that can automate solving of specific problems, or performing a particular task. Programming needs competence in various subjects including formal logic, understanding the application, and specialized algorithms.
1. Write Unit Test for Non-Public Methods
Many developers do not write unit test methods for non-public assemblies. This is because they are invisible to the test project. C# enables one to enhance visibility between the assembly internals and other assemblies. The trick is to include //Make the internals visible to the test assembly [assembly: InternalsVisibleTo("MyTestAssembly")] in the AssemblyInfo.cs file.
2. Tuples
Many developers build a POCO class in order to return multiple values from a method. Tuples are initiated in .NET Framework 4.0.
3. Do not bother with Temporary Collections, Use Yield instead
A temporary list that holds salvaged and returned items may be created when developers want to pick items from a collection.
In order to prevent the temporary collection from being used, developers can use yield. Yield gives out results according to the result set enumeration.
Developers also have the option of using LINQ.
4. Making a retirement announcement
Developers who own re-distributable components and probably want to detract a method in the near future, can embellish it with the outdated feature to connect it with the clients
[Obsolete("This method will be deprecated soon. You could use XYZ alternatively.")]
Upon compilation, a client gets a warning upon with the message. To fail a client build that is using the detracted method, pass the additional Boolean parameter as True.
[Obsolete("This method is deprecated. You could use XYZ alternatively.", true)]
5. Deferred Execution While Writing LINQ Queries
When a LINQ query is written in .NET, it can only perform the query when the LINQ result is approached. The occurrence of LINQ is known as deferred execution. Developers should understand that in every result set approach, the query gets executed over and over. In order to prevent a repetition of the execution, change the LINQ result to List after execution. Below is an example
public void MyComponentLegacyMethod(List<int> masterCollection)
6. Explicit keyword conversions for business entities
Utilize the explicit keyword to describe the alteration of one business entity to another. The alteration method is conjured once the alteration is applied in code
7. Absorbing the Exact Stack Trace
In the catch block of a C# program, if an exception is thrown as shown below and probably a fault has occurred in the method ConnectDatabase, the thrown exception stack trace only indicates the fault has happened in the method RunDataOperation
8. Enum Flags Attribute
Using flags attribute to decorate the enum in C# enables it as bit fields. This enables developers to collect the enum values. One can use the following C# code.
he output for this code will be “BlackMamba, CottonMouth, Wiper”. When the flags attribute is removed, the output will remain 14.
9. Implementing the Base Type for a Generic Type
When developers want to enforce the generic type provided in a generic class such that it will be able to inherit from a particular interface
10. Using Property as IEnumerable doesn’t make it Read-only
When an IEnumerable property gets exposed in a created class
This code modifies the list and gives it a new name. In order to avoid this, add AsReadOnly as opposed to AsEnumerable.
11. Data Type Conversion
More often than not, developers have to alter data types for different reasons. For example, converting a set value decimal variable to an int or Integer
Source: https://freelancer.com/community/...2 -
I was talking to a few people at my school while playing with the Chrome dev shell, one of them told me to trace the path for Pornhub, after a bit I learned that the bottom IP was from Amazon Tech. After some more interesting searches I found out the Amazon placed a 3.4 billion bid to buy Pornhub.
I found this interesting to say the least.
(I don't know when this happened, I couldn't find a date)2 -
Please do not send an entire stack trace asking how to fix something unless you've absolutely made the effort to solve or atleast google it.
-
Background: We switched from just simple old PHP and JS using notepad++ to PHPStorm and its infinite configurables, Symfony 4, Twig, Composer, Doctrine, Yarn, NPM, Bootstrap, ( thank the stars we didn't try to add Docker in with all this ), any other junk I'm missing here? Then upgraded to Symfony 5.
Symfony's autowiring: madness behind the curtains. I get frustrated about when and where I can just magically inject these dependencies or use config variables, you know, like the ones you define in service.yaml. Hmmm, "service".yaml. In a controller you can say getParameter() but in a service you have to inject the parameter, FROM THE "SERVICE".yaml!!! Autowiring drives me nuts. Ok, so we can supply dependencies using the constructor, that's great! Within a controller you never have to instantiate the object you're passing to the constructor (autowiring handles that). That's cool, weird when we you try to trace it for the first few times, but nice I guess. Feels like half-assin' it. What bugs me here is that it only works in controllers... I guess out of the box.. i'm not even sure. To get that feature to work for services you have to make some yaml edits. Right?Maybe? Some of the Symfony tutorials have you code up some junk then trash it. Change config then wipe that out and do X instead... so I have no idea what "out of the box" for Symfony really is.
Found this cool article that describes my frustrations in better terms and seems like a good resource to learn about autowiring. I need to continue my yaml wizardry classes. https://alanstorm.com/symfony-autow...
.....And on to YAMLs, or CSS, or JS or any other friggin' change you make to a file anywhere... Make a change, reload page, nothing... nope you have to do some hidden cheat combo of yarn dostuff -> cache:clear -> cache:warmup -> cache:cache:the:cache ... I really really hate this crap. Maybe I'm too old school for all this junk. It was simple with pure PHP. Edit code, push file, reload page, and oh look it changed! Done. So happy! Ok, Ok. Occasionally the js or css might get cached by the browser and you have to ctrl/f5 or Shift/f5 .. one of those. With this framework there's just so much more that you have to remember to do get some new feature of your site loaded.
Now, I totally get wanting to use some type of entity framework, but I feel like my entire world turned backwards. Designing tables using something like MySQL Workbench made sense. I can see all the columns and datatypes right there as i'm building them. From what I've experienced now with Symfony/Doctrine is you have to make and entity, get a shit-ton of question lobbed at you and if it's a relation field you have to really have a clear idea of the cardinality up front. Then we migrate that to the database. Carefully read through the SQL if you really really just want to use migrations:migrate in Prod. That alter table could cost you some some downtime if your table is large.
Some days man.... -
Is it just me or is python community's dependency management a bit unreliable?
I just can't seem to easily install any python programs without missing dependencies. Updates have caused libraries to become incompatible, which in turn causes the application that used to work to just produce a stack trace.
Is this the state of python or am I doing something wrong.3 -
WSL GUI... WHY?!?!
I have an assistant(no better defined title) in Myanmar who we've ruined from ever being a "normal" 21yr old Burmese kid again... First non-android computer experience was remote access to our local RHEL server; He's gonna be a dev... being a blank slate, started him primarily on CLI.
Yesterday he tells me wsl stopped working and he can't figure out why. I ofc asked what the last thing(s) he did was... simple wget. I tunnel in, check processes... one of the catch-all wsl ones had hulked out.
Despite very limited abilty to trace whatever was going on, I found what I thought may be responsible. Quickest way to know, kill it...
Whatever will we do without GUI for wsl debian?!?!?
Seriously... the wsl Deb culled things like systemd for simplicity... but arrives loaded with numerous GUI functionalities. I reeeeeallly want to know what advanced practical applications are coming from this -
Why is iOS debugging so fucking useless? Instead of having a normal stack trace which takes you to the line of code that went wrong it just takes you to the bootstrap line in AppDelegate with a random code and basically says "Fuck you, figure it out yourself". Their stack traces are just as useless. IS THIS WHAT SOME PEOPLE CALL THE PREMIERE DEVELOPMENT EXPERIENCE, GODDAMNIT? at least Swift is nice tho, unlike Objective-C4
-
I've been playing around with Nim lately, and I'd have a question. Already asked on StackOverflow, but my question disappeared without a trace (if you allow others to delete stuff, at least notify me it got deleted!).
Question is: if I have "defer: doSomething()" in an iterator, does doSomething get called when I break iteration early (before consuming everything) using a break statement?1 -
Had to rewrite all of my ORM services just to get a proper stack trace for an error I was getting. I finally got an actual error... just to realize that it's a bug in the backend server.
-
The problem with Java errors is you ask for the error of a banana and you get the stack trace of the past 100M years of evolution.4
-
!rant
How do you use to keep trace/state of a project at work? Teamgantt? Asana? Pipefy? Slack with integrations?4 -
trying to make a live usb disk. i took shots at random combinations from 2 usb sticks, 2 oses, different tools or technics on each os... each failed with a different outcome. then i realized i should have kept a failure matrix so that i don't try the same combinations, or can trace the roots of the problem.
each time i need to build a live disk, a part of me dies inside.6 -
when the stack trace wasn't included in the error logging
fuck me, how the fuck am i supposed to know where the exception occurred
perhaps i've taken it all for granted thinking that the default toString implementation of an exception would've included that5 -
We have this C# class which is like the core of our entire business logic. If you are in another class and it doesn't contain an argument in the constructor and/or property of that core class you're gonna have a bad time.
That core class has lots of useful business logic bools, "IsSomething", "HasSomething" etc. However that core class has a parameterless constructor which is sprinkled dangerously throughout our app, meaning the object is often not initialised properly and it's a 2 day mindfuck to make sure your "IsSomething" bool is actually false and not just false because the other business logic that bool relies on wasn't initialised and the bool has never had a chance to be true.
It's difficult to trust even a simple "if' statement. And if you're somewhere were you've had a list of that core class passed in, you need to trace how the list was initialised to make sure all your bools have been set 😴4 -
Saw my colleague debugging. He's got a try-catch, then I asked, "Why aren't you logging the stack trace?". He answered, "I don't cause it will be a security risk". So there he was having a hard time debugging.🤯
Can you guys confirm if what he said is true?4 -
I have a Angular webapp that's minified in production. And it's throwing an error thought it seems to get caught by a catch-all and relayed to a toast message.
Is there anyway to trace it back to the source code?11 -
Why does BigDecimal have to be so annoying to work with! Trying to trace my brackets from an excel sum over to Java... Got the sum working now greeted with dodgy rounding! Doh!
-
HOW TO RECOVER STOLEN BTC FROM SCAM - OMEGA CRYPTO RECOVERY SPECIALIST
Recovering stolen btc/usdt/eth and other assets without professional help can be a daunting task, especially for individuals who lack the technical expertise required to trace and recover stolen assets. Therefore, it is essential to choose a reputable and experienced specialist to assist in recovering stolen assets. OMEGA CRYPTO RECOVERY SPECIALIST is a trusted and reliable option for recovering stolen BTC from scams. With over 22 years of experience in the field, they have a team of experts with diverse skills and knowledge. Reach out to them immediately
Website: omegarecoveryspecialist .c o m
Mail: omegaCryptos@consultant .c o m
Whatsap; +1 (701 660 (04 75)2 -
What's the worst part about testing React components? Using the equivalent of fucking stone tools to do your component integration tests! We got errors with no context and errors with no stack trace, just spewing out bullshit! A sample:
The classic "Can't access .root on unmounted test renderer"
The unforgettable and ALWAYS visible "Warning: An update to YourShittyComponent inside a test was not wrapped in act(...)."
We do love it! -
At last, I'm doing some unknown stuff. We are using Terraform, to create our load balancers and them, kops to deploy our stateless services inside K8 clusters and Jaeger to trace requests end to end (and being able to test/debug our services).
Next step will be using gRPC for our RPC API.
Pretty cool1 -
Due to budget cuts all the contractors in my team where let go by the end of last year. My two remaining colleagues can't read a stack trace right and take a week to try that maybe the repo that isn't building correct should be cloned again. I'dont consider myself a great developer by any stretch. I'm pretty willing to support anyone. Those two incidents left me speechless. I'm so tired sometimes.
-
!Dev
Fuck people using trace rifles in momentum control. How the hell am I supposed to kill someone who kills me in two rounds and also fires at 1000 rounds per minute. I was trying to get the catalyst aka upgrade for the seasonal weapon which is pretty bad and the upgrade makes it usable but I am getting ripped apart after my first kill because someone can kill me with 2 bullets wherever he shot me.
Yes momentum control is supposed to be a gunfight mode and it comes around rarely but that does not mean a broken weapon can roam around killing anybody in sight before they even know you fired a shot at them from some lane. Shotguns do the same but you need to get close. Shotguns are still a problem but at least you can dodge or counter with a shotgun since your radar tells you someone is nearby and snipers need a headshot. These weapons can fire at your toe and you are dead. Oh the devs knew that such fast firing weapons wil be op and needed their damage and made them use the same ammo as shotguns, sniper and non heavy grenade launchers. However the game mode gives all weapons a damage buff which is enough for trace rifles to be broken. Yes you can use other primaries but what are you gonna do when a auto rifles kills you with two shots to the toe. And since they burn ammo quickly and take more rounds to kill then their counterparts like shotguns which use he same ammo as them they spawn in with 50 in the mag and anybody who is using shotguns snipers or grenade launchers give them ammo and they only need two rounds to kill. Also after I kill 50 PvP opponents I need to kill a few hundred opponents in PVE or PVP to actually apply the upgrade and who you kill does not matter.
Seriously and the second weapon I want to upgrade which is able has tracking but you need to aim down sights after hipfiring the tracking shots
which dl negligible damage so they explode or aim down sights and shoot which deals more damage but I am probably not going to have enough time before some random kills me again.
And this is just the first game. From what I heard it was supposed to be a fun game mode which focused on gunfights with your primary not the infamous laser tag show of Prometheus lens which happened a few years ago but now all trace rifles can do that. Oh and I still need to get 50 kills there for a seasonal challenge so I can get the free version of the premium currency and I can only skip one challenge and I have already skipped one challenge since it requires a dlc K don't own.
Seriously why cant some actual good game come up to challenge this. All the competition seems to be third person shooters. Also most of the guns don't feel good and lore is pretty lacking but lore is not top priority. The only competition is Warframe which is not my style, Titanfall 2 but I get insane pings from here so no multiplayer so after the story nothing to do unless I want to do airtstrafing which is useless since I can't play multiplayer. Granted Titanfall 2 is not a looter shooter but the guns feel good and the movement is too good and Halo 1 - 3 since I heard 4 and 5 are pretty bad and I have only played halo 1. I might complain about jackal snipers in halo 2 but at least they have fixed spawns.
Maybe I am overreacting since it is my first game of momentum control -
Alright, fellow DevRanters, gather 'round for a tale of woe and frustration. 🙄
I was knee-deep in my code, chasing down a bug that had me stumped for hours. I thought I was on the verge of a breakthrough, but then it happened—the code disappeared! Poof! Vanished into the digital abyss without a trace. 😱
I mean, it's one thing to wrestle with bugs and errors, but it's a whole new level of insanity when your code decides to pull a disappearing act on you. I scoured my directories, I even questioned my own sanity. But nope, my code was just playing hide and seek.
So, here I am, feeling like a detective in a coding noir thriller. 🕵️♂️ The hunt for the vanishing code continues, but I'm not giving up. This bug won't escape me! 💪
Has anyone else had their code pull a vanishing act when you needed it the most? Share your tales of coding mystery and mayhem below! 🕵️♀️👇5 -
vue errors impossible to know where it caused
https://pasteboard.co/E5ynqes5IISK....
when I click on vue.js?3de6:634
it just gives some inside file. No stack trace to my file. Are you thinking what you are creating? Or are you making it to make it more difficult to debug vue creators?
https://pasteboard.co/geCmKtufSmQI....3 -
That second when you scan the stack trace, spot the line in error and just think to yourself "wtf just happened"