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 - "debug help"
-
That awkward moment when you tell your gf you want a rubber duck for your birthday present but you mistyped it.
Gf: "Sweetie, what gift do you want for your birthday?"
Me: "a rubber dick would be fantastic! it'll help me debug things"
Gf: "Ok... if you say so..."8 -
Today I became a rubber duck debugger 🐤
I was leaving from office and spotted my senior collegue sitting glued to the screen solving an issue. I sat along with him to embark on a debug adventure. I casually asked him about the issue and what might cause it. After a bit of discussion *bam* he figured out where the problem lies and solved it in an instant.
Quack quack off I run 🐤5 -
So. A while ago I was on OkCupid, trying to find the Pierre to my Marie Curie (without the whole brain getting crushed under a horse carriage wheel obviously) and I decided the best way was to have my profile lead with my passion for technology. It turned out pretty unique, if I do say so myself.
At the end of it, I amassed some interesting and unique messages:
- A Java pickup line (that I never responded to. Yes I'm a very basic Devranter)
- A request to turn the man's software into hardware (to which I politely informed him that this was scientifically impossible unless a reader proves me wrong)
- Another impossible request to turn his floppy disk into a hard drive (how outdated too, why not HDD to SSD for faster speed amirite? That was awful don't mind me)
- A sincere request to help troubleshoot a laptop (Honestly I would've helped with help requests but this is a dating site...)
- A sincere request to help debug a student project followed with a link to a GitHub repo
- Another sincere request with studying for a computer exam
- And lastly, my favourite: a sincere job offer by a guy who went from flirtatious to desperate for a programmer in a minute. He was looking for *insert python, big data, buzzwords here* and asked me for a LinkedIn. I proceeded to inquire exactly what he wanted me to do. He then asks me to WRITE a Python tutorial and that he would pay a few cents per word written so he could publish it. Literally no programming involved.
Needless to say I went to look elsewhere.26 -
Friend: My C code's not working.. Can you please help me debug?
TA: *puts a space before a semicolon*
TA: *Changes "i++" to "i=i+1"*
😤😤😤5 -
It's more than a story bear with me.
Open source world is big enough to scare a beginner like me, which happened when I started with my first contribution in the year 2015. So many platforms, lot of organisations, freaking images of coding languages, pull request, issues and bugs- these all were enough to freak me out.
The only thing which motivated me to stay and know about the open source technology was to develop my first program using python. I was in great difficulty as when I started writing my program I was stuck after almost every two to three stages of compilation, so I needed guidance. I started my search on Github by creating my repository, pushing my code and following developers. I was amazed to see such a good response from people around me, not only they helped me to debug and fix the issue but they also helped me to understand and build my program from a new perspective. Daily discussions and communication, new issue build up and solving them by the traditional way of GUI further motivated me to learn the Git using the command line tool.
I still remember the year I worked on a repo using the command line tool, it was amazing. Within months or few, the fear of open source tools, community, interaction all just flew away. With this rant I will like to suggest all the beginners and open source enthusiast to just step a foot ahead and ask openly to the world- "I need help" and believe me you will be showered with information and help from all the world.
Happy contribution.8 -
Should you use webpack in your next front end application? Well heres one question to ask yourself to help you decide:
While developing your application, do you feel your application could benefit from the introduction of 14,372 impossible to understand errors, each requiring hours of research to debug ...
you do? well boy are you in luck!6 -
"Hey! Could you help me debug this issue? So yeah, it's blah blah bl... oh wait, got it!" - Everytime.3
-
I coded for a whole day (uninterrupted, literally woke up, grabbed my laptop and headphones and started) and suddenly, let wild parent shows up.
"Aren't you going to go out? You need to see some friends"
My response: As stated before, I have no friends, now leave
**Leaves**
**Comes back 2 hours later**
"Hey can you help me with my computer?"
Me: you didn't state the issue, what computer, what os, what you have done to fix it, have you even tried rebooting?
"Don't talk like that to me! Now come and help me!"
Me: nope, hint, answer the questions about your issue
"You rude piece of..."
**Starts screaming bla bla bla**
Wow, it has happened before that I treat people wanting help like me trying to debug, but I usually correct myself. I took it way to fucking far this time...15 -
It was friday evening and almost everyone in office had left. I was assigned a bug related to some of my code changes. I called my senior to help me debug (has three years of experience, whereas me having only one year exp, who is also a very good friend of mine *always helps in debugging*).
So the code goes
switch (someEnum) {
case One:
doSomething()
// no break
case Two:
t.x = someEnum
break
case Three:
.....
}
I had recently added new enun One and was reciting the code logic to him as we were looking through code.
Him: Hey you haven't set t.x in case One. How did you miss that?
Me: No look, I haven't but a break on it. It will go ahead and set it in next case.
Him: What are you talking about? if the someEnun is One why would it execute Two case. Lets copy that line up there and try it locally.
Me: No no no wait. Are you saying that groovy doesn't need breaks in switch (Me being new to groovy but good with Java).
Him: Why would you need break in switch case even in Java?
Me: *stares at him*
Him: I'm going to execute a psvm right freaking now.
Me: *while he writes the psvm* Why did you think there were breaks in switch in any code?
Him: Shut up. *writes psvm code cursing me everywhere*
*executes code*
No way. Really??
Me: Tell me why do you think are there breaks in switch.
Him: I though they were to get you out of switch block and not execute the default block.
Me: So were you coding switch until now without breaks?
Him: I don't know man. I'm starting to doubt all the switches I have ever written.
Me: Anyway that's not the problem, so moving on.
*a while later*
Him: If a interviewer would ask me how would you rate yourself in Java. I would be like "Well I worked on various projects for 3 years in Java, but didnt know why we put breaks in switch. So you figure it out yourself."
One of the best moments in office.8 -
writing library code is hard.
there are sooo many details that go into writing good libraries:
designing intuitive and powerful apis
deciding good api option defaults, disallowing or warning for illegal operations
knowing when to throw, knowing when to warn/log
handling edge cases
having good code coverage with tests that doesn't suck shit, while ensuring thry don't take a hundred years to run
making the code easy to read, to maintain, robust
and also not vulnerable, which is probably the most overlooked quality.
"too many classes, too little classes"
the functions do too much it's hard to follow them
or the functions are so well abstracted, that every function has 1 line of code, resulting in code that is even harder to understand or debug (have fun drowning in those immense stack traces)
don't forget to be disciplined about the documentation.
most of these things are
deeply affected by the ecosystem, the tools of the language you're writing this in:
like 5 years ago I hated coding in nodejs, because I didn't know about linters, and now we have tools like eslint or babel, so it's more passable now
but now dealing with webpack/babel configs and plugins can literally obliterate your asshole.
some languages don't even have a stable line by line debugger (hard pass for me)
then there's also the several phases of the project:
you first conceive the idea, the api, and try to implement it, write some md's of usage examples.
as you do that, you iterate on the api, you notice that it could better, so you redesign it. once, twice, thrice.
so at that point you're spending days, weeks on this side project, and your boss is like "what the fuck are you doing right now?"
then, you reach fuckinnnnng 0.1.0, with a "frozen" api, put it on github with a shitton of badges like the badge whore you are.
then you drop it on forums, and slack communities and irc, and what do you get?
half of the community wants to ban you for doing self promotion
the other half thinks either
a) your library api is shitty
b) has no real need for it
c) "why reinvent the wheel bruh"
that's one scenario,
the other scenario is the project starts to get traction.
people start to star it and shit.
but now you have one peoblem you didn't have before: humans.
all sorts of shit:
people treating you like shit as if they were premium users.
people posting majestically written issues with titles like "people help, me no work, here" with bodies like "HAAAAAAAAAALP".
and if you have the blessing to work in the current js ecosystem, issues like "this doesn't work with esm, unpkg, cdnjs, babel, webpack, parcel, buble, A BROWSER".
with some occasional lunatic complaining about IE 4 having a very weird, obscure bug.
not the best prospect either.3 -
I have to rant a bit about the toxic reactions to a constructive Q&A website.
People keep complaining that they get downvotes and corrections, or stuff like that.
Are you fucking kidding me?
So you expect people to spend their own time for absolutely free, to help you, while you don't even want to invest in describing the issue you're having properly? And then complain that people are having issues in understanding your questions?
Let's look at this scientifically. Let's gather up some questions that have been received badly on SO in the last few hours. From the top (simply put https://stackoverflow.com/questions... in front of the id):
47619033 - person wants a discussion about an algorithm while not providing any information about what worked and what failed. "Please write a program for me". Breaking at least 2 rules.
47619027 - "check out my videos" spam
47619030 - "Here's the manual that has my answer but I can't find my answer in it".
47619004 - "how do I keep variables in memory"
47618997 - debug this exception, I'll give you no info on what I tried and failed. Screw this, you guys figure this out, I'm going out for beer.
47618993 - expects everyone to guess what the input is, what the expected output is, and whether he has read what HashMap is in the manual. But sure, this question is so far the best out of all the bad ones.
47618985 - please write code according to my specifications
Should I go on? There wasn't a single clear question about problems in code in this entire small set. Be free to continue searching, let me know if you find something that:
1. You understand what's being asked
2. Answer is clear and non-ambiguous (ex. NOT "which language is the coolest?")
3. Not asking someone to write a program for them.
4. Answer is not found in the most basic form of manuals (ex. php.net)
5. Is about programming.
The point is:
If you get downvoted on Stackoverflow - then you wrote a shitty question. Instead of coming over here and venting uselessly, simply address the concerns and at least TRY to write a clear question if you expect any answers.5 -
What is it with this team and the developers it attracts. 2 devs joined and left, both had several years of experience, both couldn’t google an issue to save their lives and needed to be helped 24/7.
Now we are mentoring a PHD student for a piece of his project. Dude was left stumped by an error message that said “Can’t find file at path ...” because the path didn’t exist. He spent a few hours trying to fix it before asking for help.
How, HOW are people getting through college / university without being able to read, or debug such a simple fucking error message2 -
Okay so this happened ages ago (nearly five years) but this suddenly came to my mind again.
It was in the first year of my study (currently in my 5th and last year).
I was experimenting around with php and mysql during some free hours. All the insert,delete and so on statements worked perfectly find except for one update statement. Started to debug of course and after a little while of no results I was like "oh yeah right, something like logs exists of course". Looked in the logs but nothing. No matter how I altered my code (rewrote it numerous times for some 'clean starts') it just would not run the update statement.
Alright, time for some class mate help. After multiple hours of debugging with a few classmates, there was still no result at all.
Time to bring in one or more teachers. After hours of debugging, still no result even with the help of a few good teachers.
Decided to give it a rest for that day.
Two weeks later it still was not updating anything/working and I finally gave up.
Till today, I still have no clue what went wrong and it still bugs me from time to time :/4 -
So, a few years ago I was working at a small state government department. After we has suffered a major development infrastructure outage (another story), I was so outspoken about what a shitty job the infrastructure vendor was doing, the IT Director put me in charge of managing the environment and the vendor, even though I was actually a software architect.
Anyway, a year later, we get a new project manager, and she decides that she needs to bring in a new team of contract developers because she doesn't trust us incumbents.
They develop a new application, but won't use our test team, insisting that their "BA" can do the testing themselves.
Finally it goes into production.
And crashes on Day 1. And keeps crashing.
Its the infrastructure goes out the cry from her office, do something about it!
I check the logs, can find nothing wrong, just this application keeps crashing.
I and another dev ask for the source code so that we can see if we can help find their bug, but we are told in no uncertain terms that there is no bug, they don't need any help, and we must focus on fixing the hardware issue.
After a couple of days of this, she called a meeting, all the PMs, the whole of the other project team, and me and my mate. And she starts laying into us about how we are letting them all down.
We insist that they have a bug, they insist that they can't have a bug because "it's been tested".
This ends up in a shouting match when my mate lost his cool with her.
So, we went back to our desks, got the exe and the pdb files (yes, they had published debug info to production), and reverse engineered it back to C# source, and then started looking through it.
Around midnight, we spotted the bug.
We took it to them the next morning, and it was like "Oh". When we asked how they could have tested it, they said, ah, well, we didn't actually test that function as we didn't think it would be used much....
What happened after that?
Not a happy ending. Six months later the IT Director retires and she gets shoed in as the new IT Director and then starts a bullying campaign against the two of us until we quit.5 -
Somewhere in a lonely break room
There's a guy starting to realize that eternal hell has been unleashed unto him.
It's two a.m.
It's two a.m.
The boss has gone
I'm sitting here waitin'
This desktop's slow
I am getting tired of fixin' all my coworkers' problems
Yeah there's a bug on the loose
Errors in the code
This is unreadable
Rubber ducky can't help
I cannot debug, my whole life spins into a frenzy
Help I'm slippin' into the programming zone
Git push to the prod
Set up a repo
My hard drive just crashed
All my code is gone
Where am I to go
Now that I've broke my distro
Soon you will come to know
When you need Stack Overflow
Soon you will come to know
When you need Stack Overflow
I'm falling down a spiral
Solution unkown
Disgusting legacy, ugly code
Can't get no connection
Can't get through to commit
Well the night weights heavy
On my confused mind
Where's the error on this line
When the CEO comes
He knows damn well
To keep his distance
And he says
Help I'm slippin' into the programming zone
Git push to the prod
Set up a repo
My hard drive just crashed
All my code is gone
Where am I to go
Now that I've broke my distro
Soon you will come to know
When you need Stack Overflow
Soon you will come to know
When you need Stack Overflow
When you need Stack Overflow
When you need Stack Overflow, a ha
When you need Stack Overflow
When you need Stack Overflow, a ha
When you need Stack Overflow
When you need Stack Overflow, a ha
When you need Stack Overflow
When you need Stack Overflow, a ha
When you need Stack Overflow4 -
I fucking hate ppl who transferred from business program into the CS program. They are all talk and no action. Literally this girl who claim to be “good at algorithm” doesn’t even know how to write a quick sort. In the past 2 months I have received more request from business program students to “help debug program” than all of the other departments (science, engineering) combined. Worse, some just straight ask for my code so they can copy off my implementation.
Seriously, it’s okay if you don’t know how to do stuff. But it’s not okay if you don’t want to learn AND feel so fucking entitled. I have a lot of homework as well, it’s not my responsibility to **help** you.8 -
I started attending this IoT class in some computer training school. During my first class, I was early because I had the raspberry pi class earlier in the day. A guy came up to me and started chatting to me, he was bragging about how he created some big projects, how he works in his dad's company which develops IoT products (he codes it). Later on in class he talked about how he hacked his school's server or something and changed his marks. Whenever he brags, he has a tendency to use a deeper voice (which is pretty annoying).
Anyways so I thought he is pretty good and maybe I can learn a thing or two from him. A few class later, I started having my doubts, why? Because he doesn't know how to debug code, he copies the lecturer's code and still copies it wrong, and he doesn't know what variables and constants are. He uses IE and doesn't know about GitHub.
Now he asks me or the guy in front for help in class. He makes the class more fun, it's funny listening to him brag. Love it.2 -
A colleague of mine had to debug performance problems in a foreign, proprietary application that is ancient.
To be crystal clear: Only reason that thing exists is because some old geezers fear change.
Asked me for help cause it's an _ancient_ MS SQL server that is luckily running on hardware owned by us.
Finding the credentials was already a funny task.
We had to access the vault (not joking here, we have a physical vault for storing sensitive data and critical backups), grab a folder and find the necessary data cause no one ever dares to touch that thing.
The application is btw for a sort of ERP / inventory system that is used in some ancient shops not yet migrated...
Yeah. Story speaks for itself.
Anyway, after dusting off ourselves, we were able to connect.
Was a bit ... Interesting. Everything's in german. The worst kind of german.
After looking at the first tables, I started giggling.
My colleague knew immediately that this was a sign of danger (insert Simpson meme here), raised his eyebrows and asked "How bad is it....".
Me, still giggling, "lemme take a further look, this is gold".
*long sigh from the colleague*
Well... It ended with me putting my hands in front of my eyes, turning around and saying: "I cannot look at it anymore, it hurts too much...."
To summarize:
- German table names
- When a table exceeded 300 plus columns, they added another table with the same plus suffix "_ddd"… where ddd is an zero filled integer sequence like 001
- To join this mess, they created views... Named "generator" - Sequence Number ... Some had the beginning of table names appended, which doesn't make it less confusing.
- the process list was listing queries running longer than 5 mins.
Which isn't at all surprising when generating carrtesian products of N tables with left join.
I've seen shit.... I've seen a lot of shit.
But that shit scared me.1 -
Escalation channel
Q: @here I'm sending a request to X and I'm getting a timeout. Please help.
A: Can you please share the request you're sending?
Q: It's <URL> and I send this token as a Bearer: <token>
A: I understand that, but it's a lot easier to debug if we have the curl for said request. You can find it here: <postman_screenshot_with_arrows>
Q: Here's what it looks like: <postman_screenshot_with_17.4_km_long_curl>9 -
Short story for the one interessed in the image: when we change idea we change the whole idea. And it is likely to happen very often. Sometimes twice a day, every day, for a week.
Long stort:
I am hopeless:
I am an IT university student, i know how to program and how to search for a fucking manual, but i am dealing with eletronics and PCB...
I have to make the firmware for a board (atmel things) and it have to talk via spi with some other devices (it is slave of one, and master for all the others(i will use two spi channels)), this should be easy...
I am have no senior to ask to, all i have is google and i found problems in every thing i try to do, every - fucking - single - one!!!! I know that the solution is always of the "you have to plug it in" type, but
NEITHER GOOGLE IS BEING OF HELP!
Let me explain this morning pain:
i can't add libraries in atmel studio, something wrong with the asf wizard, i have only found a tutorial that says what buttons press to solve my problem... I DO NOT HAVE THIS BUTTONS!!!
And the library i wanted to add is the one to make the board talk with the computer on his COM port... (And have some debug message...)
And the wizard gives problem because i created the project using an online atmel tool...
YES, i tried to create a project with asf and then add the files given by the online tool.... THEY DO NOT COMPILE, I SHOULD HAVE TO MESS WITH A 400 LINES LONG MAKEFILE, that is anything but human readable...
I haven't even look for anything spi related this morning
I am even forced to use windows, because every question in the forums, or every noobbish tutorial is based on it...
And then i find the tutorial with the perfect title, holy shit this is the thing i truly need!!!!! It says how to open a file. And then stops. WHAT ABOUT THE THING YOU WERE TALKING ABOUT IN THE TITLE??????
This project is the upgrade of a glue-pump based on an atmega328 (arduino uno processor), that is currently being produced and sold by our "company" .... .... That is composed by me and the boss.
He is a very nice and and smart person, he tries to give me ideas for the solution, if i cannot find out how to do something we can even change a lot of specifics of the project (the image shows our idea-change) and every board has some weeks of mornings like the one described above (i work only in the morning).
I am learning a very lot of things...
But the fact that every thins i try fails is destroying me, what would you do in my place?
Ps. Lot lf love for the ones who made it until the end <36 -
The joys of using overpriced enterprise software...
Me: Hey, I tried connect to the server, but I'm getting a "connection refused" error. Is it really running.
Other: hmm, I'll check
Other: The host restarted, but I'll get the software up again, no problemo
Other: I started the server again, but there's, but it's throwing errors while initializing. Time to write customer support
And then you get that premium customer support that think we don't know how to use their software at times. And once they realize we do, they don't know much better either. And once they realize we know how to use it there are 3 possibilities:
* They need our help to debug stuff before knowing what is going on
* They need to release a new version and accidentally break backwards compatibility and create enough work for us to burn through the clients contact hours
* They provide helpful advice (secret ending)
These fuck don't even release a proper changelog for their software nor their manuals.1 -
So many years of programming and it's still complicated to explain to my parents why lecturers at university won't spend time to help me debug my code on big projects
And that doesn't mean that I'm -not learning to code- if I don't receive help on finding bugs2 -
Two big moments today:
1. Holy hell, how did I ever get on without a proper debugger? Was debugging some old code by eye (following along and keeping track mentally, of what the variables should be and what each step did). That didn't work because the code isn't intuitive. Tried the print() method, old reliable as it were. Kinda worked but didn't give me enough fine-grain control.
Bit the bullet and installed Wing IDE for python. And bam, it hit me. How did I ever live without step-through, and breakpoints before now?
2. Remember that non-sieve prime generator I wrote a while back? (well maybe some of you do). The one that generated quasi lucas carmichael (QLC) numbers? Well thats what I managed to debug. I figured out why it wasn't working. Last time I released it, I included two core methods, genprimes() and nextPrime(). The first generates a list of primes accurately, up to some n, and only needs a small handful of QLC numbers filtered out after the fact (because the set of primes generated and the set of QLC numbers overlap. Well I think they call it an embedding, as in QLC is included in the series generated by genprimes, but not the converse, but I digress).
nextPrime() was supposed to take any arbitrary n above zero, and accurately return the nearest prime number above the argument. But for some reason when it started, it would return 2,3,5,6...but genprimes() would work fine for some reason.
So genprimes loops over an index, i, and tests it for primality. It begins by entering the loop, and doing "result = gffi(i)".
This calls into something a function that runs four tests on the argument passed to it. I won't go into detail here about what those are because I don't even remember how I came up with them (I'll make a separate post when the code is fully fixed).
If the number fails any of these tests then gffi would just return the value of i that was passed to it, unaltered. Otherwise, if it did pass all of them, it would return i+1.
And once back in genPrimes() we would check if the variable 'result' was greater than the loop index. And if it was, then it was either prime (comparatively plentiful) or a QLC number (comparatively rare)--these two types and no others.
nextPrime() was only taking n, and didn't have this index to compare to, so the prior steps in genprimes were acting as a filter that nextPrime() didn't have, while internally gffi() was returning not only primes, and QLCs, but also plenty of composite numbers.
Now *why* that last step in genPrimes() was filtering out all the composites, idk.
But now that I understand whats going on I can fix it and hypothetically it should be possible to enter a positive n of any size, and without additional primality checks (such as is done with sieves, where you have to check off multiples of n), get the nearest prime numbers. Of course I'm not familiar enough with prime number generation to know if thats an achievement or worthwhile mentioning, so if anyone *is* familiar, and how something like that holds up compared to other linear generators (O(n)?), I'd be interested to hear about it.
I also am working on filtering out the intersection of the sets (QLC numbers), which I'm pretty sure I figured out how to incorporate into the prime generator itself.
I also think it may be possible to generator primes even faster, using the carmichael numbers or related set--or even derive a function that maps one set of upper-and-lower bounds around a semiprime, and map those same bounds to carmichael numbers that act as the upper and lower bound numbers on the factors of a semiprime.
Meanwhile I'm also looking into testing the prime generator on a larger set of numbers (to make sure it doesn't fail at large values of n) and so I'm looking for more computing power if anyone has it on hand, or is willing to test it at sufficiently large bit lengths (512, 1024, etc).
Lastly, the earlier work I posted (linked below), I realized could be applied with ECM to greatly reduce the smallest factor of a large number.
If ECM, being one of the best methods available, only handles 50-60 digit numbers, & your factors are 70+ digits, then being able to transform your semiprime product into another product tree thats non-semiprime, with factors that ARE in range of ECM, and which *does* contain either of the original factors, means products that *were not* formally factorable by ECM, *could* be now.
That wouldn't have been possible though withput enormous help from many others such as hitko who took the time to explain the solution was a form of modular exponentiation, Fast-Nop who contributed on other threads, Voxera who did as well, and support from Scor in particular, and many others.
Thank you all. And more to come.
Links mentioned (because DR wouldn't accept them as they were):
https://pastebin.com/MWechZj912 -
A client is like: Help! We got a 500 in our wordpress administration panel and there is no error in the log, it must be your infrastructure at fault!
So I calmly replied to them that wordpress handles its errors on its own, and without the appropriate debug flags enabled, doesn't log it anywhere. Even mentioned that a PHP app can change the error handler no problem, and linked them to both, PHP and Word press docummentation.
Didn't hear from them since.2 -
I'm on this fair and there are suits walking almost everywhere!
Even in the "Tech" area.
Like 'a-bit-to-confident' ducks with their heads up in the cloud exposing their throat while walking right into my sharp blade. Inexorable stumbling headless right over the edge of the next bridge, hitting the rails with their rubies. Helpless, waiting to get caught by the next hype-train.
*sigh*rant two-face everywhere masquerade walking talking farting ducks ducks everywhere they won't help me debug my shit17 -
I really can't focus on anything else when there's an unfinished assignment or a deadline approaching.. I debug in my sleep and daydream in public transport thinking about all the things I'll have to code later.
I hate it because I'm ignoring all my loved ones during days like these and it always backfires on me somehow. However, I can't help myself - I am always stressing out..3 -
So this just happened,
Me and my co-worker (we are junior developers) were working on the same bug, it was a post call throwing a server exception.
We had asked for help to debug this issue from a senior developer the day before, he was quite busy with his own tasks.
He is one those kinds who would keep working even if the entire bay is wasting their time, always keeping to himself, needless to say I haven't seen him smile.
Back to my story, he couldn't spare time yesterday so we tried to squash the bug ourselves thinking he might have forgotten we had called him.He then comes out of nowhere, he firsr checks the button bindings, params sent and the call being made.
He then went through the backend code strategically placing the break points, clicks and debugs a few times and then opens the console. BAM!!!!
" D' hell yo !!" Shows up in the console, not just once but multiple times. Turns out I forgot the logger I had placed in the catch block.
He turns to me in super slo-mo looks me in the eye and whispers "what the hell yo!" and kept quite for some time, meanwhile the sense of cringe was slowly creeping on me. That was when he let out a loud blurt and the entire cabin turned to us. Needless to say it was awkward.
His smile was creepy though :/ -
People don't seem to know how to properly do print-debugging, so here's a simple guide:
1. A log of "aaaaaa" or "got here" isn't as helpful as you think when ALL OF THEM ARE THE FUCKING SAME. You put a descriptive label or copy verbatim the conditional statement. This saves time matching statements, allows one to watch multiple branches at once, and allows others to understand and help faster when dragged in to help.
2. When trying to see where code fucks up, before each line, paste said line into a proper print statement for your language. If there's, say, a function call or some shit, have it output something like "functionCall(varA=<varA contents>,varB=<varB contents);" Most normal lines should be like this too, but it's especially helpful for calls and comparisons.
If need be, add return values after if they're not shown in another print statement later.
This allows for a trail of execution AND the line that fucks up will be the last in the log, making finding it easier when dealing with hangs and such.
3. Putting something unique like "DEBUG: " or something in front of all statements ensures you can just search for them to ensure you're not rolling one out to production. It also separates debug output from normal output at a glance, making digging through logs faster.16 -
Anyone who has experienced this without falling into desperation deserves a beer, I know I need one.
Colleague: Python says I have an indentation error, halp. *Sends screenshot*
You: okay, it says it's located on file.py line 39. Can I see the related line?
Colleague: *sends a screenshot of the whole file, without numbered lines*
You: ummm, could you send me the related lines tho?😐
Colleague: 😒 yeah. *Resends a screenshot of the error and the whole file...again*
You: I REALLY need you to send me only the function scope to help you cuz I can't visually debug the whole file on a picture.
Colleague: *sends a panned phone picture with an arrow to the function (half of it)*
Plot twist: she's your girlfriend.
[EDIT]
GF: I can't see it, I'll go have a snack.1 -
lately my IT mantra in the vein of "have you tried turning it off and back on again" has become "did you check the logs for error output"😡
NOTE to all developers of any level: if you want help do your due diligence! Check the logs, try to step debug and at the very least please at least pretend to perform a cursory search3 -
!rant
Need some opinions. Joined a new company recently (yippee!!!). Just getting to grips with everything at the minute. I'm working on mobile and I will be setting up a new team to take over a project from a remote team. Looking at their iOS and Android code and they are using RxSwift and RxJava in them.
Don't know a whole lot about the Android space yet, but on iOS I did look into Reactive Cocoa at one point, and really didn't like it. Does anyone here use Rx, or have an opinion about them, good or bad? I can learn them myself, i'm not looking for help with that, i'm more interested in opinions on the tools themselves.
My initial view (with a lack of experience in the area):
- I'm not a huge fan of frameworks like this that attempt to change the entire flow or structure of a language / platform. I like using third party libraries, but to me, its excessive to include something like this rather than just learning the in's / out's of the platform. I think the reactive approach has its use cases and i'm not knocking the it all together. I just feel like this is a little bit of forcing a square peg into a round hole. Swift wasn't designed to work like that and a big layer will need to be added in, in order to change it. I would want to see tremendous gains in order to justify it, and frankly I don't see it compared to other approaches.
- I do like the MVVM approach included with it, but i've easily managed to do similar with a handful of protocols that didn't require a new architecture and approach.
- Not sure if this is an RxSwift thing, or just how its implemented here. But all ViewControllers need to be created by using a coordinator first. This really bugs me because it means changing everything again. When I first opened this app, login was being skipped, trying to add it back in by selecting the default storyboard gave me "unwrapping a nil optional" errors, which took a little while to figure out what was going on. This, to me, again is changing too much in the platform that even the basic launching of a screen now needs to be changed. It will be confusing while trying to build a new team who may or may not know the tech.
- I'm concerned about hiring new staff and having to make sure that they know this, can learn it or are even happy to do so.
- I'm concerned about having a decrease in the community size to debug issues. Had horrible experiences with this in the past with hybrid tech.
- I'm concerned with bugs being introduced or patterns being changed in the tool itself. Because it changes and touches everything, it will be a nightmare to rip it out or use something else and we'll be stuck with the issue. This seems to have happened with ReactiveCocoa where they made a change to their approach that seems to have caused a divide in the community, with people splitting off into other tech.
- In this app we have base Swift, with RxSwift and RxCocoa on top, with AlamoFire on top of that, with Moya on that and RxMoya on top again. This to me is too much when only looking at basic screens and networking. I would be concerned that moving to something more complex that we might end up with a tonne of dependencies.
- There seems to be issues with the server (nothing to do with RxSwift) but the errors seem to be getting caught by RxSwift and turned into very vague and difficult to debug console logs. "RxSwift.RxError error 4" is not great. Now again this could be a "way its being used" issue as oppose to an issue with RxSwift itself. But again were back to a big middle layer sitting between me and what I want to access. I've already had issues with login seeming to have 2 states, success or wrong password, meaning its not telling the user whats actually wrong. Now i'm not sure if this is bad dev or bad tools, but I get a sense RxSwift is contributing to it in some fashion, at least in this specific use of it.
I'll leave it there for now, any opinions or advice would be appreciated.question functional programming reactivex java library reactive ios functional swift android rxswift rxjava18 -
Years ago, one of my friends in college was taking an intro to CS class. He asked me for help on one of his assignments. It was a simple Python program, but it wasn't running as expected. I go in figuring it will be easy to fix. But everything looks exactly right. An hour later I'm tearing my hair out! It isn't even entering the function although it's clearly called. I'm beginning to feel very self conscious, as a CS major who can't even debug a 15 line program for a friend.
Then it hit me. This is Python. I used an editor macro to convert all indentation to tabs, lined them up, and it ran on the first try. Turns out, he had somehow ended up with a mixture of tabs and spaces.
I'm not sure what the takeaway is, but I think he got a surprisingly honest introduction to the life of a developer...2 -
I'm thinking of tattooing "reload the fucking debug-config you giant moron" on both of my arms and giving away all my long-sleeved shirts to charity to help me become a better programmer.
-
Ladies and gents, it was a 🍺 day, today.
I spent more hours than I care to say today tracking down an issue in our web workflow, even looping in our only web dev to help me debug it from his side. There ended up being multiple bugs found, but the most annoying of them was that the json data being pulled back was truncated because a certain someone, in their migration script, set their varchar variable to a size of 1000 and then proceeded to store a json string that was 2800+ characters in length.
C'mon man!
I got nothing productive done today. Hate, hate, hate days like this!
Beer me.3 -
Had a bad day at work :( They gave me this code for some obscure streaming job and asked me to complete it. Only after 3 days did I realize that the LLD given to me was incorrect as the data model was updated. Another 2 more days, I was able to debug the code and run it successfully— I was able to parse the tables and generate the required frame but not able to stream it back to the output topic as per the LLD. That’s where I needed help but none of my emails/messages were replied to. The main guy who is pretty technical scheduled a code review session with me— I expected that I would run the code and he would spot it something I might’ve missed and why my streaming function isn’t working. Instead, what happened was that he grilled me on each and every line of the code (which had some obscure tables queried) and then got super mad at me saying “Why are we having this code review session if your code is not complete?”. I’m like bruh, you asked for it, and yes, the main parsing logic is done and I’m just having this issue in the last part. And he’s like “Why didn’t you tell me earlier?”. Wtf?! I left at least 5 emails and a dozen messages. He’s like this has to go live on Monday, and I’m like Ok, I’ll work in the weekend. And he’s like “Don’t tell me all these things! You’re not doing me a favor by working on weekends! How am I to ask my colleagues to connect with you separately on Saturday/Sunday? You should have done the on the weekdays itself. What were you doing this whole week?”. Bruh, I was running the code multiple times and debugging it using print statements. All while you were ignoring my attempts to reach out to you. SMH 🤦♂️ I can go on and on about this whole saga.4
-
I’m trying to explain the theory behind ‘Rubber Duck Debugging’ and to be honest, they don’t believe me 😂 they say I’m drunk. Help me out here, who else uses a rubber duck or something similar to help debug code?8
-
Look, I get it. Wordpress sucks. It’s bloated. It’s slow. It’s not elegant. It’s a nightmare to debug and code for. The plugin ecosystem is an insecure, confusing mess of outdatedness and issues.
We can all agree that in a perfect world all power to determine everything about a website, from the code to the content, would be in our power as developers. But we don’t live in a perfect world. People want convenience, even at the cost of performance and security, and they will inevitably resent technologists who refuse to give it to them. We do ourselves and our customers a disservice when we only do what we feel is in our own best interests or preferences and not what will help them with their realities.
Yes, it sucks. Yes, it’s a pain. Yes, it’s in demand and there’s nothing any of us can do to change that.
And that’s all I have to say about that.5 -
!rant
I need pancakes
on a evening
I'm weird help I can't debug code and I crave for pastry aaaaaaa3 -
I used to think that I had matured. That I should stop letting my emotions get the better of me. Turns out there's only so much one can bottle up before it snaps.
Allow me to introduce you folks to this wonderful piece of software: PaddleOCR (https://github.com/PaddlePaddle/...). At this time I'll gladly take any free OCR library that isn't Tesseract. I saw the thing, thought: "Heh. 3 lines quick start. Cool.", and the accuracy is decent. I thought it was a treasure trove that I could shill to other people. That was before I found out how shit of a package it is.
First test, I found out that logging is enabled by default. Sure, logging is good. But I was already rocking my own logger, and I wanted it to shut the fuck up about its log because it was noise to the stuffs I actually wanted to log. Could not intercept its logging events, and somehow just importing it set the global logging level from INFO to DEBUG. Maybe it's Python's quirk, who knows. Check the source code, ah, the constructors gaves `show_log` arg to control logging. The fuck? Why? Why not let the user opt into your logs? Why is the logging on by default?
But sure, it's just logging. Surely, no big deal. SURELY, it's got decent documentation that is easily searchable. Oh, oh sweet summer child, there ain't. Docs are just some loosely bundled together Markdowns chucked into /doc. Hey, docs at least. Surely, surely there's something somewhere about all the args to the OCRer constructor somewhere. NOPE! Turns out, all the args, you gotta reference its `--help` switch on the command line. And like all "good" software from academia, unless you're part of academia, it's obtuse as fuck. Fine, fuck it, back to /doc, and it took me 10 minutes of rummaging to find the correct Markdown file that describes the params. And good-fucking-luck to you trying to translate all them command line args into Python constructor params.
"But PTH, you're overreacting!". No, fuck you, I'm not. Guess whose code broke today because of a 4th number version bump. Yes, you are reading correctly: My code broke, because of a 4th number version bump, from 2.6.0.1, to 2.6.0.2, introducing a breaking change. Why? Because apparently, upstream decided to nest the OCR result in another layer. Fuck knows why. They did change the doc. Guess what they didn't do. PROVIDING, A DAMN, RELEASE NOTE. Checked their repo, checked their tags, nothing marking any releases from the 3rd number. All releases goes straight to PyPI, quietly, silently, like a moron. And bless you if you tell me "Well you should have reviewed the docs". If you do that for your project, for all of your dependencies, my condolences.
Could I just fix it? Yes. Without ranting? Yes. But for fuck sake if you're writing software for a wide audience you're kinda expected to be even more sane in your software's structure and release conventions. Not this. And note: The people writing this, aren't random people without coding expertise. But man they feel like they are.5 -
Smashing on the keyboard
with 3 screens infront of my face
i spot a nasty bug,
In one of the features someone else made,
I called their office for aid,
But found no one is there to be
Of any aid to my sorry ass,
Now i have to debug the whole thing,
Oh,
Documenting code
Documenting code
Why didnt you document the damn thing
At least tell me you left some comments
To help debug thy algo tree
Oh ...
:'(1 -
Avoid ACPICA if at all possible. It's one garbage tier cluster fuck of bad design, horrible documentation and downright misleading and wrong code
It's meant to consist of an ASL compiler, disassembler, debugger, dumper, various user space utitilies and a kernel resident OSPM implementation *if* you can figure out what belongs to what. Even just compiling this pile of trash is a mystery in itself. Think you need the source files in source/common? EEEEH, wrong. Well, at least partially since most of them seem to be for the user space stuff..? Other ones *are* needed on the other hand. At least the disassembler and/or debugger and/or dumper components seem to reference them. Not that I could figure out how to compile those anyways. The real path to your goal seems to be to ignore a seemingly arbitrary subset of source and header files until your linker stops complaining
There's also a bunch of configuration defines, some of which *you* define, some defined *for* you, based on again others. Of course most of them do stupid shit. Enabling the debugger automatically enables debug logging. Enabling the disassembler force enables debug allocation tracking... What?
The code itself isn't of much help either. Looking in "os_specific/service_layers" you find what looks to be reference implementations of acpica functions in certain os' like windows and unix. Of course I had a look because AcpiOsReadMemory is supposed to read physical memory and I don't know how I would even implement that. But hey, osunixxf.c (xf for interface... of course) should tell me. I'll let you see for yourself in the attached image. Apparently it does fuck all and just returns AE_OK. No error, no logging, no nothing. Just ok. As you can imagine, AcpiOsWriteMemory doesn't do much more either.
...okay so maybe physical memory accesses aren't actually used and these functions are some sort of relic from past times? Nope! They are absolutely necessary for doing low level device interaction. WTF. So finally I went to the linux source and checked how *they* implemented them, and just as I thought, these functions are anything but no-ops...
...So for what fucking reason do these stupid interface implementations even exist but to purposefully mislead you?? They aren't used for fucking anything! As far as I know Windows doesn't even *use* ACPICA and Linux have their own fork with working implementations... They just sit there, just to tell you how to NOT do it
So that's some of my thoughts about ACPICA. Note that I haven't even used it as a library yet, I just got it to compile and link and it already fucked with me this much.
There's also so much more I didn't mention like that you *have* to modify the acpica source in order to get your own platform header working (else #error) eventhough the docs explicitely instruct you not too but you get the point
Don't use ACPICA if you don't have to. Save your sanity for something that's worth it -
I think bugs are always my fault..
Still after so many years on this project I alwaaaaays go debug/recheck what I coded first before checking the old code and data...usually turns out it's something long before me that's still fucked up & buggy, but still.. I always think I managed to fuck up something.. :/ I need an egotrip/egoboost or sth.. but I doubt even this'd help.. I know my code is not pictureperfect, but still.. I never think it's good enough..and that it has bugs.. o.O I also have a bit sex daily so I dread to write/fix anything in js.. -
Am I the only one that goes crazy when I have to use a low-code system? It makes no sense to me. The abstractions that help an average schmuck make a feedback loop of abstractions in my brain.
How do I loop over this collection. Is this a collection or a single thing? How does a variable work? Logic doesn't work the same? How do I know what is actually coming into this little port? When does the database get this? Can I see a debug log somewhere? Why can't I see the code behind this little popup window?
I ask someone that isn't a developer and they say, "You are overthinking it."
Fuck that. You pay me to overthink things and describe them in excruciating detail. You wouldn't hand an illustrator three wax crayons and ask them to make a photo-realistic picture.7 -
So my friend works in this big MNC company with good pay. He has had good education and certifications. He runs into a simple issue with someone's github project he forked and calls me for me help to debug the issue. Just helped him figure out the reason for issue over the phone.
And here I am technically "jobless" and loser in my relatives eyes because I'm pursuing self employment with no cool certifications to brag about.
Not sure if I should feel stupid for the choices I made in my life.2 -
Earlier I used to help my college batch mates and juniors in coding and development stuff. Sometimes I used to do some projects with them myself to help them learn. Sometimes I used to go beyond limits to debug their errors, even spending hours with them physically or through TeamViewer.
But now I have realised that I had been no more than just stackoverflow.com to them. They just call me when they need me and don't even care about me as a friend.
So that's it. Now I have stopped helping such people. I don't care if that's rude or arrogant. I just don't want to do this. If they still are a friend, well and good otherwise they can leave. I don't care anymore. -
Two (2) senior developers and one (1) senior tester left our team and I am left with two (2) Java legacy applications that are hard to maintain. Here is a list of things I hate about these old webapps (let's call them app A and B):
1. App A depends on 80% web services. If one web service for a product or warehouse goes down, work flow is impeded while prod support team checks with the core services team for repair
2. App B is a maven project with multiple modules dependent on libraries that are dependent on company's internal libraries. So if we want to upgrade to OpenJdk 9 and up, the project will definitely produce a lot of errors due to deprecated/unsupported codes
3. App A is dependent on Tibco and I have no experience on that
4. App B's continuous integration build tool is Jenkins and the jobs that build it has a shell script that wasn't updated during the tech upgrade enhancement. The previous developer who did the knowledge transfer to me didn't tell me about this (it should be considered a defect on her part but she already resigned)
5. App A when loaded in eclipse IDE is a pain to work with since it is only allowed to build a war file using ant. I have to lookup in quick search instead of calling shortcuts (call hierarchy) because the project wasn't compiled via eclipse.
6. It's impossible to debug app A because of #5
7. Both applications have high priority and complex enhancements and I have no other teammates to help me
8. You never know what else can go wrong anytime1 -
tl:dr
i fucking hate that professor for whom i have to work on laboratory project right now.
reason#1
the project is using a stack full with java. JavaScript. react and some weird facebook api of which i have no clue about. not to mention the server side of this application which uses tomcat (ok its java after all) and sql.
well that wouldn't be not so bad if...
reason#2
we wouldn't have to fucking debug his mistakes he put into the fucking prepared code AND his fucking useless instructions how to set up the project for eclipse the first time. not to mention his fucking requirements which make no sense
oh yeah im a student. i can always go and ask him for help if i need any...
reason#3
i have another 70% mandatory course at the same time and that fucker refuses to upload hos sheets in moodle and answer even one fucking question via mail. not to mention no support if I am there unless i have eclipse setup. even through the projects should be build using gradle...
reason#4
oh. and have i mentioned that this course is only about design patterns? uts not like we could see several of them in a java only application. no we literally have to learn java itself. gradle. nodejs JavaScript Extended for react which i have no clue about at the moment... and yes i especially mentioned gradle and nodejs beccause we have to set shit up and not only use a script.
reason#5
and all that wont even give us a grade. no ita simply a pass or fail part of the module which the course is part of.
have i also mentioned that the whole shit should be done in 20 hours according to the schedule8 -
Learn to debug, breakpoints are your friends. Never ask someone help without trying yourself to debug your code.
Debug an existing code is, I think, as important than being able to write your own code.3 -
Two things actually bad I do :
* Put some printing lines everywhere to debug, and then, debug.
* A syntax than can be pretty bad if not handled properly :
if (your test)
do_something();
I actually always put a tabulation to see the hierarchy and break lines, which is not optimized AT ALL but help me to read, and I hope helps other to read too.
But that's a bad habit tho if you have bad presentation of your code (which I don't have, given how people compliments my code presentation) -
So we have this new vp guy, and a team in US and another in india
The vp asked me to finish one task by tonight 11pm, and if I need help with the India team's code, call a guy there to help debug
After some debugging with that dev, he replies with:
The code won't work because we haven't implemented it yet
.........
Yo, what the hell is wrong with people
How am I supposed to finish a task that isn't even implemented, and why pushing so much to have it done, wtf I'm so confused with this
Every week a new headache like this, but this was laughable, in two weeks I start a new job 😂6 -
Just showing off the devRant stressball...
I don't have an actual rubber-ducky, but I have a whole gaggle of rubber-ducky-stand-ins who help me debug.
Most of them happen to be skulls. (I have quite a few more scattered around the office). I guess it's an aesthetic... #skullsthetic? -
StackOverflow locked my account. I'm hoping someone here might be kind enough to help me with a bash script I'm "bashing" my head with. Actually, it's zsh on MacOS if it makes any difference.
I have an input file. Four lines. No blank lines. Each of the four lines has two strings of text delimited by a tab. Each string on either side of the tab is either one word with no spaces or a bunch of words with spaces. Like this (using <tab> as a placeholder here on Devrant for where the tab actually is)
ABC<tab>DEF
GHI<tab>jkl mno pq
RST<tab>UV
wx<tab>Yz
I need to open and read the file, separate them into key-value pairs, and put them into an array for processing. I have this script to do that:
# Get input arguments
search_string_file="$1"
file_path="$2"
# Read search strings and corresponding names from the file and store in arrays
search_strings=()
search_names=()
# Read search strings and corresponding names from the file and store in arrays
while IFS= read -r line || [[ -n "$line" ]]; do
echo "Line: $line"
search_string=$(echo "$line" | awk -F'\t' '{print $1}')
name=$(echo "$line" | awk -F'\t' '{print $2}')
search_strings+=("$search_string")
search_names+=("$name")
done < "$search_string_file"
# Debug: Print the entire array of search strings
echo "Search strings array:"
for (( i=0; i<${#search_strings[@]}; i++ )); do
echo "[$i] ${search_strings[$i]} -- ${search_names[$i]}"
done
However, in the output, I get the following:
Line: ABC<tab>DEF
Line: GHI<tab>jkl mno pq
Line: RST<tab>UV
Line: wx<tab>Yz
Search strings array:
[0] --
[1] ABC -- DEF
[2] GHI -- jkl mno pq
[3] RST -- UV
That's it. I seem to be off by one because that last line...
Line: wx<tab>Yz
never gets added to the array. What I need it to be is:
[0] ABC -- DEF
[1] GHI -- jkl mno pq
[2] RST -- UV
[3] wx -- Yz
What am I doing wrong here?
Thanks.17 -
AAARGH
I fucking give up. I can't debug my code, and all my programmer friends have better things to do than to help me. The fact that portaudio requires me to store things as void* makes it even more convoluted if possible.3 -
Dude GoogleAuth is pure nonsense magic. On one line you get your auth-instance from gapi.auth2.init..
But then you render the auth-button with a static method aka gapi.signin2.render (which has some kind of success and error handlers, but don't worry, they fire randomly, they won't help you debug this api mess)
SOME-FUCKING-HOW this static signin2.rendershit knows of your auth2 instance and it works. But actually it makes no sense and is just a big mess of api-calls. Google, get your shit together, this ain't pretty.
Oh and forget your informative console.log.. this shit will get erased everytime you try something because of "Navigated to https://accounts.google.com/o/...". why ever the fuck this clears the console even tho it doesn't affect the top window. So preserve that fucking log and drown in a mass of bullshit.
In the end, as it is with everything, it somehow works. But FFS that's some weird api design Google has going on..4 -
A CASE AGAINST BLUE PRISM
Let's review one of the worst weeks I had with Blue Prism
Monday: Yay! Solved one of the problems we've been carrying around for a week before.
One of the robots suddenly became slow. Like, REAL slow. A process that would take 3 minutes per record now takes 45, and that broke apart all the following schedule.
There were no updates on the application server, the production machine, the robot, it just became slow. And not always slow; a process manually run from console room would work, a process in debug room would work, it's just the scheduled part that caused problems.
It turned out, BP didn't seem to like that particular combination of schedulation + process + machine. Moving the process to a different machine seemingly fixed that. IDK why.
Tuesday: One of our processes waits for a code to appear in the page, and when that happens, it memorizes this code. However, now it is always returning blank. Worked for months, now it breaks every single time.
After half a day of debugging a bug which DIDN'T HAPPEN IN DEBUG MODE YET AGAIN, at 11pm I decided to just place a nonsensical timeout in page before reading and call it a day.
WEDNESDAY: a scheduled process didn't start. "No sessions created". Thanks Blue Prism, very cool.
THURSTAY: This time, schedulation did start, but the process is "waiting". As in: it's 9:30 am, the process has been stuck in the same step since 6:00 am. Turns out, it blocked during a navigate stage; you need to send a string to clipboard using the standard BP action for that, then paste and click "enter", but for some reason the standard BP object sent "ORRCO" instead of "ORRICO" to clipboard, which obviously returned no results and then... the process just didn't feel like doing things anymore. No errors, no logs, nothing: just sitting on its ass. Because fuck you that's why.
Friday: another process uses a very moderate amount of scripts to work. Nothing really fancy, just a couple of lines of code to place in page some IDs and selector to help BP do its thing, otherwise selecting these elements would be a nightmare.
But
Failed while invoking javascript method:Exception from HRESULT: 0x80020101-> at mshtml.HTMLWindow2Class.IHTMLWindow2_execScript(String code, String language)
The same script -it's not dynamically generated-worked yesterday, the day before and the day after. But sometimes it will not. Why? The answer, my friend, is blowin'' in the wind -
Any vim/nvim users here? Why do you use it despite having to setup that thingie for hours? People like me who wants to try vim/nvim, the setup process scares the crap out of us. What I want? I just want to be able to do what I can already do in vscode. all I wanted my vim/nvim to be able to debug TypeScript/JavaScript with Nodejs. There's packages like, Vim-vscode shit, that takes help from vscode to debug it using vscode! why not use vscode then?
I'm tired of trying nvim/vim over and over again, and every time, it feels like I'm just a little luckier that before. If it continues, Its gonna take forever to setup. No thank you! I'm going back to vscode. Let me know when there's a gui kinda thing where I can see all the available packages for neovim and its just one click/enter install away. else, consider me sleeping...16 -
So I'm basically fucked.
There's a major bug on an SPA I developed for a client, but I can't reproduce it because I don't have a recent iPhone or iPad (the only ones I have a way too old and either way I can't debug them without a mac) and I can't reproduce the bug on my android.
To overcome this in the past I installed a hackintosh on my pc and used it's iphone emulator, but I fucked it up and had to reinstall all my OSs but was too lazy to reinstall macos. Now I don't remember how to install it anymore, idk where I downloaded the fucking mojave virtual box image and the macos bootable usb stick I have just doesn't work anymore (probably some missing kext or whatever).
I really do not know what I'm gonna do. There's this ios-webkit-debug-proxy thing that might help me, but it just looks like it's a hassle to install and since I don't know what I'm doing the chances of it working are pretty slim. I might try that but I'm fairly confident it won't work. And even if it does, I still can't install chrome on the iphone I own because it's too old and my dad probably won't let me upgrade it to a new version.13 -
When you've already spent three days trying to debug a problem with a Magento site and start questioning your credentials as a developer.
But then the other senior says they get stressed just popping in and out to help so they can't imagine what it's like for you and your boss says 'look at it this way. You're one step closer to solving it than you were yesterday'.
Sometimes it's great being a developer... Even when it is stressful.1 -
Can you give me some tips on how to debug a massive app? (Android app running on android studio which is basically intellij idea).
For example I need to fix a bug where a certain action results in unexpected behaviour.
But oh my god the codebase is so large (mainly architecture is MVVM and rxjava) that searching for the specific place is like searching for a needle in haystack.
For example I added a breakpoint in few places, but I can see only like 4 or 5 last frames in the stack that led to the current action, last frame is a lambda which doesnt help me so frankly Im unable to even track where current event started. I am loosing my mind. I cant even find where the buttonclick action started because everything is reactive and done with observables which can be anywhere.
Any tips on debugging will be appreciated7 -
I had a pretty good year! I've gone from being a totally unknown passionate web dev to a respected full stack dev. This will be a bit lengthy rant...
Best:
- Got my first full time employment dev role at a company after being self-taught for 8+ years at the start of the year. Finally got someone to take the risk of hiring someone who's "untested" and only done small and odd jobs professionally. This kickstarted my career, super grateful for that!
- Started my own programming consulting company.
- Gained enough confidence to apply to other jobs, snatched a few consulting jobs, nailed the interviews even though I never practiced any leet code.
- Currently work as a 99% remote dev (only meet up in person during the initialization of some projects.) I never thought working remotely could actually work this well. I am able to stay productive and actually focus on the work instead of living up to the 9-5 standard. If I want to go for a walk to think I can do that, I can be as social and asocial as I want. I like to sleep in and work during the night with a cup of tea in the dark and it's not an issue! I really like the freedom and I feel like I've never been more productive.
- Ended up with very happy customers and now got a steady amount of jobs rolling in and contracts are being extended.
- I learned a lot, specialized in graph databases, no more db modelling hell. Loving it!
- Got a job where I can use my favorite tools and actually create something from scratch which includes a lot of different fields. I am really happy I can use all my skills and learn new things along the way, like data analysis, databricks, hadoop, data ingesting, centralised auth like promerium and centralised logging.
- I also learned how important softskills are, I've learned to understand my clients needs and how to both communicate both as a developer and an entrepeneur.
Worst:
- First job had a manager which just gave me the specifications solo project and didn't check in or meet me for 8 weeks with vague specifications. Turns out the manager was super biased on how to write code and wanted to micromanage every aspect while still being totally absent. They got mad that I had used AJAX for requests as that was a "waste of time".
- I learned the harsh reality of working as a contractor in the US from a foreign country. Worked on an "indefinite" contract, suddenly got a 2 day notification to sum up my work (not related to my performance) after being there for 7+ months.
- I really don't like the current industry standard when it comes to developing websites (I mostly work in node.js), I like working with static websites (with static website generators like what the Svelte.js driver) and use a REST API for dynamic content. When working on the backend there's a library for everything and I've wasted so many hours this year to fix bugs and create workarounds related to dependencies. You need to dive into a rabbit hole for every tool and do something which may work or break something later. I've had so many issues with CICD and deployment to the cloud. There's a library for everything but there's so many that it's impossible to learn about the edge cases of everything. Doesn't help that everything is abstracted away, which works 90% of the time but I use 15 times the time to debug things when a bug appears. I work against a black box which may or may not have an up to date documentation and it's so complex that it will require you to yell incantations from the F#$K
era and sacrifice a goat for it to work properly.
- Learned that a lot of companies call their complex services "microservices". Ah yes, the microservice with 20 endpoints which all do completely unrelated tasks? -
I think one of the hardest experiences as a junior is the oscillation from perceived competency to perceived incompetency.
I just spent the last 4 weeks putting together my first major UI set of components for a financial calculator. Uses Vue, Quasar, a lot of data transformation and reactive UI programming. I felt quite chuffed. Its pending merge.
Then my lead asked me to help him debug something on the flagship and legacy project; for educational purposes, not that he actually needs my help. The application is 100x the size of the one I have been working on, and monolithic. Orders of magnitude more complex.
The jump from a sense of “I might be able to do this” to “I could never do that” was almost soul destroying. Like looking back over the last ten meters you ran, realising that running is hard and you did it. Only to look ahead and realise there are easily 100 miles ahead of you.
How the fuck do you cope with that.2 -
Maybe I'm stupid, but I'm annoyed that there are no good ways to debug Blazor WASM.
It doesn't help to tell me that I got a null value, unless the error tells me which of my 50 variables is causing it5 -
I’m trying to update a job posting so that it’s not complete BS and deters juniors from applying... but honestly this is so tough... no wonder these posting get so much bs in them...
Maybe devRant community can help be tackle this conundrum.
I am looking for a junior ml engineer. Basically somebody I can offload a bunch of easy menial tasks like “helping data scientists debug their docker containers”, “integrating with 3rd party REST APIs some of our models for governance”, “extend/debug our ci”, “write some preprocessing functions for raw data”. I’m not expecting the person to know any of the tech we are using, but they should at least be competent enough to google what “docker is” or how GitHub actions work. I’ll be reviewing their work anyhow. Also the person should be able to speak to data scientists on topics relating to accuracy metrics and mode inputs/outputs (not so much the deep-end of how the models work).
In my opinion i need either a “mathy person who loves to code” (like me) or a “techy person who’s interested in data science”.
What do you think is a reasonable request for credentials/experience?5 -
When I need to talk to another office in my company about how one of their codebases works the weirdest thing happens. I end up on a call after local business hours with people who don't write code and thus cannot help me.
I show them the error I'm getting trying to run their shit and I get a high level buzzword filled spiel about the project that makes no actual sense. They use these technical words like federated and dynamic but they don't make sense in the contexts they're using them. And they don't answer my goddamn questions.
It turned out their debug config file was gitignored. -
That moment when you are very busy with an important feature busting your brain on a complex algorithm and a colleague cant wait to hold his questions..
Then finally agree to help him debug, and you find the problem within 10 minutes.. -
I don't mind helping people when they come across an issue as chances are I already know the answer, but it's got to the point at the company I work for where some devs automatically come to me for help without even trying to debug or find the answer themselves. Even when an error is written out in black and white - "this protected function must be public"... Anyone can code, but what makes programmer good is the ability to debug.1
-
<rant>
Linux: Manjaro XFCE
I disabled WiFi in the manage networks widget because reasons.
BIG Mistake!
Fuck! Can't enable it anymore.
😱😵😭😭😭😭😭😭😭😭😭
</Rant>
<Info>
More info in case you want to help me:
Widget sais: "Wifi Disabled" in grey letters and not clickable.
Googled around, debug info:
$ip list
wlp3s0 ... State DOWN
$ip link enable wlp3s0
Error: locked by RF-Kill
$rfkill list
....
1: phy0
Soft lock yes
Hard lock no
$ rfkill unblock 1
$ rfkill list
1: phy0
Soft lock no
Hard lock no
WiFi still disabled.
$ip link enable wlp3s0
$ip link
...
wlp3s0 ... Down
WiFi still disabled.
$ cat ..../NetworkManager/NetworkManager.status
....
Wireless ... Disabled.
Restarts case rfkill soft lock again.
The laptop is a 2015 Razer Blade 14 and does not have hardware switches or shortcuts that I know of, that dis or enable wifi, or Bluetooth.
</Info>10 -
Anyone want to help me debug some legacy code that hasn't gotten enough attention lately?
The US government could really use some help. Maybe we could debug it and present our findings to Trump, our all powerful carrot overlord.1 -
Trying to help a friend debug his function .
"result", "result_temp" and "resultat" on the same line. -
me: can you help me debug this issue in our artifactory server?
ops: we don't manage that server. devs do
me: can I get access to manage that server?
ops: why would you need access??
me: to manage server ಠ_ಠ
ops: exactly what commands you will need?
me: ಠ_ಠ -
Often when i see the annoying as hell t debug exceptionless let’s just bomb entirely but blazing fastness of c and c++ I feel like a nettard
I use c# for its immutable strings clean syntax and beautiful class markers that are redundant compared to c++ but ensure you tell after adding 1000 methods and total lack of all special characters to indicate reference and derreference and pretty lambda syntax... sure it’s lib poor but I get shit done goddamn it and can read my own code later
So why do I feel empty inside every time i run a ./configure and make under Linux like I’m missing some secret party where neat things are being done and want to sob like I do now
I am not a dotnettard even though 5.0 is an abomination in the eyes of man and god ! Even though Microsoft cooks up overcomplex framework technologies that make a wonderful language underused and make us all look like idiots that they then abandon into the scrap heap! We can’t help Linux users haven’t discovered how much nicer c# is and decided to implement it on their own and port their horrible undocumented ansi c bullshit can we ???? Oh god I feel
So hollow inside and betrayed ! Curse
You gates curse youuuu! Curse you for metro direct3d xna wpf then false promises of core ! May you have a special place in hell reserved for you and your cheap wallpaper shifting monitor paintings and a pool speaker that playeth not but bee jees and ac dc forever and ever amen !
Speaking of which do any c/c++ ides have anything that even begins to rival intellisense on Linux and don’t use some weird ass build system
Like cmake as their default ?
Oh sweet memories of time a while back when I already wrote this and still wasn’t getting then tail I deserved
Again4 -
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 -
Compromise.
I think that sums up development pretty much.
Take for example coding patterns: Most of them *could* be applied on a global scale (all products)… But that doesn't mean you *should* apply them. :-)
Find a matching **compromise** that makes specific sense for the product you develop.
Small example: SOLID / DRY are good practices. But breaking these principles by for example introducing redundant code could be a very wise design decision - an example would be if you know full ahead that the redundancy is needed for further changes ahead. Going full DRY only to add the redundancy later is time spent better elsewhere.
The principle of compromise applies to other things, too.
Take for example architecture design.
Instead of trying to enforce your whole vision of a product, focus on key areas that you really think must be done.
Don't waste your breath on small stuff - cause then you probably lack the strength for focusing on the important things.
Compromise - choose what is *truly* important and make sure that gets integrated vs trying to "get your will done".
Small example: It doesn't really matter if a function is called myDingDong or myDingDongWithBells - one is longer, other shorter. Refactoring tools make renaming a function an easy task. What matters is what this function does and that it does this efficiently and precise. Instead of discussing the *name* of the function, focus on what the function *does*.
If you've read so far and think this example is dumb: Nope... I've seen PR reports where people struggled for hours with lil shit while the elephant in the room like an N+1 problem / database query or other fundamental things completely drowned in the small shit discussion noise.
We had code design, we had architecture... Same goes for people, debugging, and everything else.
Just because you don't like what weird person A does, doesn't mean it's shit.
Compromise. You don't have to like them. Just tolerate them. Listen. Then try to process their feedback unbiased. Simple as that. Don't make discussions personal - and don't isolate yourself by just working with specific persons. Cause living in such a bubble means you miss out a lot of knowledge and insight… or in short: You suck because of your own choices. :-)
Debugging... Again compromise: instead of wasting hours on debugging a problem, ASK for help. A simple: Has anyone done debugging this before or has some input for how to debug this problem efficiently?... Can sometimes work wonders. Don't start debugging without looking into alternative solutions like telemetry, metrics, known problems etc.
It could be a viable, better long term solution to add metrics to a product than to debug for hours ... Compromise. Find a fitting approach to analyze a problem instead of just starting a brute force approach.
....
Et cetera et cetera. -
Anyone has any idea how to debug occasional (Severa times a day) where one of our servers decides to mount a second copy of the same NFS? It triggers our monitoring system thinking there was a change to the mounts of the system, and I was able to verify through the mounts command, that it indeed had the same NFS mount mounted twice, with exactly the same parameters.
Is there a debug interface of some sort to see what initiated that mount? Or any tool to help me track it down? I've been stuck with this mysterious issue for a while now (As it's not really a priority, it doesn't break anything, but it bugs me and I wanna know)3 -
Y'all have your rubber duck to debug, but I have my own technic: the SO debugging.
It simply consists as asking your question as you'd normally do, but while doing so, you still think about your issue, and how people not knowing your problem but still knowing about dev would react to your question, making you asking other related question (SO's related question might also help).
IMHO, the most important part is the "related" question, that helps you to think outside the box. It makes your problematic progress a lot, and has the gift of not making you loosing any hope ; and if you ever block for good, your question will look less silly than at the beginning -
-Recently started a new job so I’m new to the infrastructure-
Spent the vast majority of the day trying to SSH into one of my company servers to sort some random bug out on the website & the connection kept being rejected despite the day before it working when passing the .pem key into the SSH along with the ip & my username, nothing new there.
Anyway, everyone’s mad busy so I don’t wanna bother anyone to ask why, so I check confluence, no documentation for SSHING into our scheduler or the code the server I need to access. Never-mind.
Spend another couple hours trying debug it on my own, no luck. Never-mind.
Finally seize my opportunity and ask for help; ‘Oh the server IP changes daily so you need to run a task through our scheduler that you need to SSH into to return the list of IPS and that dynamically changes so that’s how you get the IP’
Oh ok. Why is there no documentation for that again? I mean. Thats generally some pretty important information you’d pass onto your starters.
At least I can say I won’t be making that same mistake again.5 -
I'm at college and I was learning Java. While we were practicing in class, one of my friends was having a problem with his code, it was printing that he needed to use java.lang.String.
Because he only told us after class, we didn't have the teacher to help us, so we tried debug it. After a long time, we realized that he was trying to create the class String...
We still talk about it. -
Me: *Asks for help with functionality they added and I have just started working on yesterday*
Them: "Just debug it" -
Was moved from frontend to backend. I am an absolute noob in java, code has no documentation, no formal training, code has cross repository dependencies and I have been assigned with a case and was asked to debug, felt like a pathetic piece of shit. One of those depressing days, but the good thing is we were moved here as an entire team and apparently everyone feels the same way 😂 which makes me feel better.
These are one of those short phase of "0 productivity" days, I wish Java god help me and let me write code with my usual speed, untill then I am going to feel miserable and bad about myself. -
Critical Tips to Learn Programming Faster Sample:
Be comfortable with basics
The mistake which many aspiring students make is to start in a rush and skip the basics of programming and its fundamentals. They tend to start from the comparatively advanced topics.
This tends to work in many sectors and fields of Technology, but in the world of programming, having a deep knowledge of the basic principles of coding and programming is a must. If you are taking a class through a tutor and you feel that they are going too fast for your understanding, you need to be firm and clear and tell them to go slowly, so that you can also be on the same page like everyone else
Most often than not, many people tend to struggle when they reach a higher level with a feeling of getting lost, then they feel the need to fall back and go through basics, which is time-consuming. Learning basics well is the key to be fast and accurate in programming.
Practice to code by hand.
This may sound strange to some of you. Why write a code by hand when the actual work is supposed to be done on a computer? There are some reasons for this.
One reason being, when you were to be called for an interview for a programming job, the technical evaluation will include a hand-coding round to assess your programming skills. It makes sense as experts have researched and found that coding by hand is the best way to learn how to program.
Be brave and fiddle with codes
Most of us try to stick to the line of instructions given to us by our seniors, but it is extremely important to think out of the box and fiddle around with codes. That way, you will learn how the results get altered with the changes in the code.
Don't be over-ambitious and change the whole code. It takes experience to reach that level. This will give you enormous confidence in your skillset
Reach out for guidance
Seeking help from professionals is never looked down upon. Your fellow mates will likely not feel a hitch while sharing their knowledge with you. They also have been in your position at some point in their career and help will be forthcoming.
You may need professional help in understanding the program, bugs in the program and how to debug it. Sometimes other people can identify the bug instantly, which may have escaped your attention. Don't be shy and think that they'll make of you. It's always a team effort. Be comfortable around your colleagues.
Don’t Burn-out
You must have seen people burning the midnight oil and not coming to a conclusion, hence being reported by the testing team or the client.
These are common occurrences in the IT Industry. It is really important to conserve energy and take regular breaks while learning or working. It improves concentration and may help you see solutions faster. It's a proven fact that taking a break while working helps with better results and productivity. To be a better programmer, you need to be well rested and have an active mind.
Go Online
It's a common misconception that learning how to program will take a lot of money, which is not true. There are plenty of online college courses designed for beginner students and programmers. Many free courses are also available online to help you become a better programmer. Websites like Udemy and programming hub is beneficial if you want to improve your skills.
There are free courses available for everything from [HTML](https://bitdegree.org/learn/...) to CSS. You can use these free courses to get a piece of good basic knowledge. After cementing your skills, you can go for complex paid courses.
Read Relevant Material
One should never stop acquiring knowledge. This could be an extension of the last point, but it is in a different context. The idea is to boost your knowledge about the domain you're working on.
In real-life situations, the client for which you're writing a program for possesses complete knowledge of their business, how it works, but they don't know how to write a code for some specific program and vice versa.
So, it is crucial to keep yourself updated about the recent trends and advancements. It is beneficial to know about the business for which you're working. Read relevant material online, read books and articles to keep yourself up-to-date.
Never stop practicing
The saying “practice makes perfect” holds no matter what profession you are in. One should never stop practicing, it's a path to success. In programming, it gets even more critical to practice, since your exposure to programming starts with books and courses you take. Real work is done hands-on, you must spend time writing codes by hand and practicing them on your system to get familiar with the interface and workflow.
Search for mock projects online or make your model projects to practice coding and attentively commit to it. Things will start to come in the structure after some time.4 -
!rant
*reworks complete solution then publishes it to Azure*
"Okay, now let's debug"
*calls function, no response*
*directly opens function in browser*
Function host is not running.
Fuck.
*opens Insights*
System.BadImageFormatException
(additionally, it states that it couldnt load my main project or one of it's dependencies)
Shit, never even heard of that exception.
DDG: yo you're fucked, here, have 3 proper results
SO: lul thats some known bug Azure Functions havent fixed till now
Github: Yeah got a lot of open issues ok that, they just aint any help lmao
Me, a naive person: "okay lets try randomly changing some dependency versions, might help"
It didn't.
Now my question: how do I escape Dependency Hell?1 -
"To help you debug your app or extension, when you've loaded it unpacked, there's no limit to how often the alarm can fire."
https://developer.chrome.com/docs/...
So there is no limit while developing - but stuff will start timing out in production...
Just one question:
Why does Google give their devs Crystal for free? -
There is always this moment where a family member needs your help by something computer related, sadly I don't have time at the moment of need but after some hours I get to it and "debug". Everytime I debug on my own PC I need like a full day but on a family PC I get done in like 30 seconds and of course they'll ask why I wouldn't have done it earlier if it's that easy 😢
-
I'm working on a simple Flask project. But when I try to work with the database I got an error called "No module named MySQLdb". I also got error when I try to install "mysql clint" with this command:-pip install mysqlclient. So I searched for the solution of this problem but every time I find someone told to download "MySQL client" from this website:-
https://lfd.uci.edu/~gohlke/...
But the "MySQL client" file is no longer available on that website.
please help me by giving that file or any other way. You can also check my project from here:-
https://drive.google.com/file/d/...
unfortunately, my operating system is Android 6.0
Here is the code:-
from flask import Flask,render_template, request
from flask_sqlalchemy import SQLAlchemy
app= Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://localhost/codingthunder/"
db = SQLAlchemy(app)
class Contacts(db.Model):
sno = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
phone_num = db.Column(db.String(14), nullable=False)
mes = db.Column(db.String(120), nullable=False)
date = db.Column(db.String(12), nullable=False)
email = db.Column(db.String(20), nullable=False)
@app.route("/home")
def home():
return render_template("index.html")
@app.route("/about")
def about():
return render_template("about.html")
@app.route("/contact", methods=['GET','POST'])
def contact():
if(request.method=='POST'):
name=request.form.get('name')
email=request.form.get('email')
phone=request.form.get('phone')
message=request.form.get('message')
entry=Contacts(name=name,phone_num=phone,mes=message, date="2019-09-01 12:06:20", email=email)
db.session.add(entry)
db.session.commit()
return render_template("contact.html")
@app.route("/post")
def post():
return render_template("post.html")
app.run(debug=True)3 -
Anyone know how to get by the "Out of Memory" error on Android Studio when an image you have is like 102941092301mb too big and it crashes your app when you debug?
pls I need help, this image looks terrible when it isn't the resolution I would like...7 -
CRONS :(
I have some module which is not working at all, It is written as cron and now I don't have idea How to debug that
I miss office :(
This WFH sucks
I could have taken the help from my seniors But in WFH they just leave the messages after seen or on call --> Network problem -> talk to you later :(5 -
Well thanks a lot for the clarification of WHY I cannot sync my work (Office 365) mail using the mail client in Windows 10!
It's not that it's wrong; it's (probably) very much correct.
It's not that it's not precise; I don't think it could be anymore precise than a data dump like that.
It's not that trying to help me solve the problems; I'm sure it is.
But now that I have all the (debug) info about the security policies in place it would be great if it would show what violated which policy and maybe even what they mean and how to fix it?
The most concrete to go by is the error code, and judging by a google that has meant "your mail has problems" for at least three years...
...not even a single link was found to the (only) page detailing content, possible values, and dependencies between policies. -
first of all sorry for my english, its not my first language
hello, i am an aspiring programmer and im honestly just a really big newbie, im learning vb dot net and ran into an issue that i had. So basically i was using the WinActivate function from autoit with FindWindow(using the title of the window) to supply WinActivate the hwnd. Heres my issue: When the window is NOT minimized so selected or behind other windows the WinActivate function works completely fine, but when the window is minimized it doesnt work, i have read on the documentation that neither function cares wether the window is minimized or not so i came to the conclusion that it might have a different title when minimized? The window is the league of legends client by the way. What can i do to solve/debug this issue, perhaps spy++ could help me? how would i use this, i could upload the visual studio project if someone wants to help me out in that way. WinActivate((FindWindow(Nothing, "League of Legends"))) this is what it looks like.12 -
i miss the big job because i could not solve this problem.
A code to count the number of words in the sentence
" this is debug message " without the use of any internal function. Anyone want to help11