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 - "programming errors"
-
School time, programming class:
Girl: Hey, Can you help me?
Me: Sure, what's up?
G: I have an error but I don't know why
M: *looks at error stack trace* You're missing a semicolon in line 133 *puts comma, run... 27 more errors* Well, you have more issues up there, why don't you try to fix them?
G: Oh, Ok, thanks
-- 1 hour later --
G: Hey, can you come? I already fixed the other issues but I still have one I can't fix
M: *checks code, same mistake I fixed, missing semicolon, same line* Why did you erase the semicolon?
G: Oh, because if I erase it, I only have 1 error, but if I leave it, I have 27 so....
M: *turn around, walk away*19 -
/*
It's a pretty long rant. Hope you didn't get bored :P
*/
So I have this friend of mine who has learnt Python at good level (that's what he says) and is with me in all classes in college. I have worked with C, C++, C# and Java only and hated Python when it was taught (wk44).
So the following happened in the last 2 weeks:
Once he wrote a Python function in terminal just returning a hard coded string (lame right) and will show me how cool is it and that it is sooo much easier.
Whenever we do a mini project together he will force that we use Python. Even in Image processing when everyone is ready to work on Matlab, he insists that Python would be a better option.
We asked that this XYZ is very easy to implement on Matlab.
We then had to listen about the large and great community of Python and that it has Libraries for everything and that it is the greatest programming language ever.
One day he saw my C# project for DFA and NFA simulation which was the greatest project I have "completed" myself, and went like "Hmph, if I was you, I would use python and make a more "professional" code" (then went on arguing as always)
This happened today in Networking lab-
(Sockets was taught and we are expected to learn its programming aspects)
All students: Open linuxhowtos.org and start reading on socket programming
He : Opens some websites and downloads books on Networking with Python or someting
Now while I am reading the documentation of sockets and bind, he opens spider IDE, copy-paste the code in the book and start bugging ME that he is getting all these errors like literally showing me those errors and whining about all those problems.
Me: We are supposed to learn this in C. Here take a look at this link.
HE: No I'll use Python cuz it is better than your C. It has libraries for everything and is much easier.
Me: Alright whatever I am fed up, do whatever you want11 -
I type very fast and nearly without errors when tipsy. (tipsy is a step between normal and drunk here)
Also my easy-problem solving skills become awesome when on alcohol.
That's why i love programming tipsy! 😊10 -
When I was at my lowest, my buddy and me sat in front of the screen, and learned how to code from Bucky Roberts. A few years later, I finally got a proper programming gig, but never stopped freelancing. My buddy on the other hand, studied Computer Science and stopped coding for a while after graduating. 5 years later, today we sat in front of the screen and learned how to code together again. I think he has no idea what he has led me to. If he had not made me code, I would have remained the same boy from the streets. But it is not about me, I have heard so many incredible stories. The more codes you write, the more errors you'll encounter. The more errors you try to solve, the bigger the community grows. It's nice to know, there is a group of people out there, who will spend rest of their lives writing, thinking and interacting. Also, trying to figure out how to centre that piece of shit of a div with CSS! I mean wtf!5
-
Last week I almost lost my belief in everything..
A friend of minde, he's currently learning programming (Delphi 😂) in some kind of university, just told me:
"Hey, why do you spend so much time caring about error handling? I just surround all my programs with one try catch block and I never have to think about errors!"
Ehm. No statement needed, right?2 -
Once I had to do a 'hands on' pair programming session for a position I applied for... Together with the lead dev we would switch coding every 15 minutes It was somewhat of a horror story...
The assignment was to implement an password reset flow, connecting it to the api and then handling the entire password reset flow, in Angular becahs ye know has to be Angular...
After drafting the ui and setting up the click events, I wanted to hookup the api calls, but then it was time to switch around...
The fucktard dev first started to adjust my classmappings to be more in line with his preference, without touching the css classnames... Ok... Micro managing ... Check...
So after breaking the styles, he wrote the fetches to the api endpoints and that was his 15 minutes of shame...
I continued only to find out the endpoints we were using had errors in them and would not return anything workable...
The dev said he'd tested the endpoint before and it worked, but clearly it didn't...
After about an hour of going back and forth trying to get this to work he got a call from a client because server was down (surprise), he excused himself and had to prioritize on this, running out and leaving me there for the remaining morning ...
I just sat there waiting for the HR checkout talk, only to lean towards rejecting the position...
Fucking waste of time, and in the end the feedback was they doubted MY TECHNICAL SKILLS ... And wouldn't make me an offer 😂👍 nice story bro...
K THX BAI!7 -
Let the student use their own laptops. Even buy them one instead of having computers on site that no one uses for coding but only for some multiple choice tests and to browse Facebook.
Teach them 10 finger typing. (Don't be too strict and allow for personal preferences.)
Teach them text navigation and editing shortcuts. They should be able to scroll per page, jump to the beginning or end of the line or jump word by word. (I am not talking vi bindings or emacs magic.) And no, key repeat is an antifeature.
Teach them VCS before their first group assignment. Let's be honest, VCS means git nowadays. Yet teach them git != GitHub.
Teach git through the command line. They are allowed to use a gui once they aren't afraid to resolve a merge conflict or to rebase their feature branch against master. Just committing and pushing is not enough.
Teach them test-driven development ASAP. You can even give them assignments with a codebase of failing tests and their job is to make them pass in the beginning. Later require them to write tests themselves.
Don't teach the language, teach concepts. (No, if else and for loops aren't concepts you god-damn amateur! That's just syntax!)
When teaching object oriented programming, I'd smack you if do inane examples with vehicles, cars, bikes and a Mercedes Benz. Or animal, cat and dog for that matter. (I came from a self-taught imperative background. Those examples obfuscate more than they help.) Also, inheritance is overrated in oop teachings.
Functional programming concepts should be taught earlier as its concepts of avoiding side effects and pure functions can benefit even oop code bases. (Also great way to introduce testing, as pure functions take certain inputs and produce one output.)
Focus on one language in the beginning, it need not be Java, but don't confuse students with Java, Python and Ruby in their first year. (Bonus point if the language supports both oop and functional programming.)
And for the love of gawd: let them have a strictly typed language. Why would you teach with JavaScript!?
Use industry standards. Notepad, atom and eclipse might be open source and free; yet JetBrains community editions still best them.
For grades, don't your dare demand for them to write code on paper. (Pseudocode is fine.)
Don't let your students play compiler in their heads. It's not their job to know exactly what exception will be thrown by your contrived example. That's the compilers job to complain about. Rather teach them how to find solutions to these errors.
Teach them advanced google searches.
Teach them how to write a issue for a library on GitHub and similar sites.
Teach them how to ask a good stackoverflow question :>6 -
Using Eclipse for java programming.
My program doesn't work... No errors, no warnings, the logic seems good.
A couple of hours of debugging later still nothing.
I close it and open it again, it works, thanks Eclipse.5 -
Developer vs Tester
(Spoiler alert: developer wins)
My last developent was quite big and is now in our system testing department. So last week i got every 20 minutes a call from the tester, that something did not work as expected. For about 90% of the time i looked at the testing setup or the logs and told him, that the data is wrong or he used the tool wrong. After a couple of days i got mad because of his frequent interruptions. So I decided to make a list. Every time he came to me with an "error" i checked it and made a line for "User Error" or "Programming Error". He did not liked that much, because the User Error collum startet to grow fast:
User Errors: ||||| |||
Programming Errors: |||
Now he checks his testing data and the logs 3 times before he calls me and he hardly finds any "errors" anymore.3 -
The software development process
i can’t fix this
*crisis of confidence*
*questions career*
*questions life*
oh it was a typo, cool2 -
WASM was a mistake. I just wanted to learn C++ and have fast code on the web. Everyone praised it. No one mentioned that it would double or quadruple my development time. That it would cause me to curse repeatedly at the screen until I wanted to harm myself.
The problem was never C++, which was a respectable if long-winded language. No no no. The problem was the lack of support for 'objects' or 'arrays' as parameters or return types. Anything of any complexity lives on one giant Float32Array which must surely bring a look of disgust from every programmer on this muddy rock. That is, one single array variable that you re-use for EVERYTHING.
Have a color? Throw it on the array. 10 floats in an object? Push it on the array - and split off the two bools via dependency injection (why do I have 3-4 line function parameter lists?!). Have an image with 1,000,000 floats? Drop it in the array. Want to return an array? Provide a malloc ptr into the code and write to it, then read from that location in JS after running the function, modifying the array as a side effect.
My- hahaha, my web worker has two images it's working with, calculations for all the planets, sun and moon in the solar system, and bunch of other calculations I wanted offloaded from the main thread... they all live in ONE GIANT ARRAY. LMFAO.If I want to find an element? I have to know exactly where to look or else, good luck finding it among the millions of numbers on that thing.
And of course, if you work with these, you put them in loops. Then you can have the joys of off-by-one errors that not only result in bad results in the returned array, but inexplicable errors in which code you haven't even touched suddenly has bad values. I've had entire functions suddenly explode with random errors because I accidentally overwrote the wrong section of that float array. Not like, the variable the function was using was wrong. No. WASM acted like the function didn't even exist and it didn't know why. Because, somehow, the function ALSO lived on that Float32Array.
And because you're using WASM to be fast, you're typically trying to overwrite things that do O(N) operations or more. NO ONE is going to use this return a + b. One off functions just aren't worth programming in WASM. Worst of all, debugging this is often a matter of writing print and console.log statements everywhere, to try and 'eat' the whole array at once to find out what portion got corrupted or is broke. Or comment out your code line by line to see what in forsaken 9 circles of coding hell caused your problem. It's like debugging blind in a strange and overgrown forest of code that you don't even recognize because most of it is there to satisfy the needs of WASM.
And because it takes so long to debug, it takes a massively long time to create things, and by the time you're done, the dependent package you're building for has 'moved on' and find you suddenly need to update a bunch of crap when you're not even finished. All of this, purely because of a horribly designed technology.
And do they have sympathy for you for forcing you to update all this stuff? No. They don't owe you sympathy, and god forbid they give you any. You are a developer and so it is your duty to suffer - for some kind of karma.
I wanted to love WASM, but screw that thing, it's horrible errors and most of all, the WASM heap32.7 -
I had a huge epiphany on Friday... not all developers enjoy coding.
Discovered when they brought down 2 of our environments, well told them what was wrong with the changes in their code that caused the environments to break, gave them links directly to the file in the gitlab repo that needed to be updated, and...
They fucking went home. The change would’ve taken all of about 30-45 seconds to update and they fucking left.
This person’s team lead come storming in pissed off because her manager is furious about 2 environments going down and preventing everyone else from being able to deploy their changes.
We provide the exact same details to the team lead about what needs to be changed, and advise that her team member took off....
30 mins later, her manager is storming up to us (devops/sre) livid as hell.
Explain the situation for a third time... manager is like, why can’t you guys fix it?
Look here you dense motherfuckers, we can fix the code. We can be the plumbers that clean up your shit. But what value do you gain as a developer if you don’t understand how the systems work and you keep pushing shit in?
Made the changes, fixed the environments, done right? Wrong.
The original developer made more changes not knowing what would happen and thoroughly fucked the environments again.
This dumb-fucking dumpster fire of a dude then sends us a slack message. “It’s down again, can you fix it?”
Our manager steps in and tells us to send him a link to the logs and have him fix it himself!
Thank goodness we have a badass manager.
Send logs, send repo file links (again), and send line numbers in the logs to try and help just a bit more. Dude goes almost the whole day without fixing it, environments are down, other devs are pissed, we throw this dude to the wolves. His manager starts to head over and was about to talk with my team lead when our manager steps out of his office and tells him the in’s and out’s of the situation and that our job isn’t to play log parser/error fixer for the developers. This dude that’s breaking the environments needs to be the one to fix the issue and his team lead should be aware of the problems and should have been able to correct his errors before it ever came to us.
The amount of hand-holding we do is ridiculous.
(Disclaimer, this one guy making some mistakes doesn’t sound too bad, but this is actually a common occurrence for like 40% of all of our developers)
We literally have interns still in college running circles around some of our full time devs. I know I’m not a developer, but for anyone that’s new-ish to developing, when you see shit like that please don’t lose hope. Those ass-hats got into programming purely for a paycheck, not because of passion.
Stick with it and your greatness will know no bounds 👍
As for you craptastic dipstick lickers, FUCK YOU!!! Go back to school and learn how to give a damn.4 -
!rant
Yesterday I got a pretty straight-forward task of fixing SASS linting errors from our project. I thought, "How many errors could there be?" Turns out there were just around 2000 errors across 109 files!
I was almost like, "Man, this is going to take a lot of my time!"
So, I started fixing the errors one-by-one with my headphones on and switching music genres after every 2 hours.
After almost 6 hours of continuous bug-fixing, my mind kind of became repellant to the possibility of the outer world and my fingers automatically fell on the right keys in almost no time. My brain was functioning like a computer itself.
And after the end of 7 hours, I reduced the number to less than 1000 errors.
Today, I continued the task and found out that there were some scoping errors I made yesterday (web developers would know this pain of '&').
And after working for almost 6 hours today, I got the number down to 500.
Not a rant, but I felt extremely content with what I did today.
I guess every day is not just about programming, sometimes, it's also about making your code better.
Thanks for reading! :)6 -
If you make students take coding tests/quizzes on paper, don't grade them on picky syntax errors! We don't code on paper in the real world; syntactic highlighting and red squiggles will usually show you that you accidentally typed that declaration incorrectly. Understanding programming concepts is much more important than being able to write a program on paper.2
-
Some of these have been mentioned already but here they are, these things make me be a bit better at programming (at least I think so)
• sleep, I love sleep and I think a good night's sleep can do wonders
• music, music theory which is a language in itself and playing an instrument which teaches hand-eye-coordination and also creates patterns in your head, but certainly teaches us that you need to practice a lot to achieve your goals, that it's hard for beginners but gets a bit easier with time
• solving puzzles and riddles, I've been a huge fan of puzzles from an early age, it is something that teaches us solving problems and creating strategies
• other types of games that are helpful are games where you have to find things in a picture or in an environment, this has trained me a bit on finding nasty bugs in my code or at least syntax errors
• googling: sometimes you find out something that is not really related to your problem, but you remember it nevertheless and later on it can help you with something else
• maths, yes, you read correctly, I'm not a big fan of maths either, but what you learn in maths is that there are certain procedures you're often repeating and that you're always building on your knowledge and expanding it, sometimes solving mathematical problems is fun too ;)
• getting fresh air - self explanatory
• listening to other people's life stories, this helps me generally in life, to know that I'm not the only one struggling with something and so on
And I probably could go on with a lot more things, but I think that's enough for now15 -
Hey guys,
this rant will be long again. I'm sorry for any grammar errors or something like that, english isn't my native language. Furthermore I'm actually very sad and not in a good mood.
Why? What happened? Some of you may already know - I'm doing my apprenticeship / education in a smal company.
There I'm learning a lot, I'm developing awesome features directly for the clients, experience of which other in my age (I'm only 19 years old) can only dream.
Working in such a small company is very exhausting, but I love my job, I love programming. I turned my hobby into a profession and I'm very proud of it.
But then there are moments like the last time, when I had to present something for a client - the first presentation was good, the last was a disaster, nothing worked - but I learned from it.
But this time everything is worse than bad - I mean really, really worse than bad.
I've worked the whole week on a cool new feature - I've done everything that it works yesterday, that everything gets done before the deadline of yesterday.
To achieve this I've coded thursday till 10pm ! At home! Friday I tested the whole day everything to ensure that everything is working properly. I fixed several bugs and then at the end of the day everything seems to be working. Even my boss said that it looks good and he thinks that the rollout to all clients will become good and without any issues.
But unfortunately deceived.
Yesterday evening I wrote a long mail to my boss - with a "manual". He was very proud and said that he is confident that everything will work fine. He trusts me completly.
Then, this morning I received a mail from him - nothing works anymore - all clients have issues, everything stays blank - because I've forgotten to ensure that the new feature (a plugin) and its functionality is supported by the device (needs a installation).
First - I was very shoked - but in the same moment I thought - one moment - you've written an if statement, if the plugin is installed - so why the fuck should it broken everything?!
I looked instant to the code via git. This has to be a very bad joke from my boss I thought. But then I saw the fucking bug - I've written:
if(plugin) { // do shit }
but it has to be if(typeof plugin !== 'undefined')
I fucked up everything - due to this fucking mistake. This little piece of shit I've forgotten on one single line fucked up everything. I'm sorry for this mode of expression but I thought - no this can not be true - it must be a bad bad nightmare.
I've tested this so long, every scenario, everything. Worked till the night so it gets finished. No one, no one from my classmates would ever think of working so long. But I did it, because I love my job. I've implemented a check to ensure that the plugin is installed - but implemented it wrong - exactly this line which caused all the errors should prevent exactly this - what an irony of fate.
I've instantly called my boss and apologized for this mistake. The mistake can't be undone. My boss now has to go to all clients to fix it. This will be very expensive...
Oh my goodnes, I just cried.
I'm only working about half a year in this company - they trust me so much - but I'm not perfect - I make mistakes - like everyone else. This time my boss didn't looked over my code, didn't review it, because he trusted me completly - now this happens. I think this destroyed the trust :( I'm so sad.
He only said that we will talk on monday, how we can prevent such things in the feature..
Oh guys, I don't know - I've fucked up everything, we were so overhelmed that everything would work :(
Now I'm the looser who fucked up - because not testing enough - even when I tested it for days, even at home - worked at home - till the night - for free, for nothing - voluntary.
This is the thanks for that.
Thousand good things - but one mistake and you're the little asshole. You - a 19 year old guy, which works since 6 months in a company. A boss which trusts you and don't look over your code. One line which should prevent crashing, crashed everything.
I'm sorry that this rant is so long, I just need to talk to you guys because I'm so sad. Again. This has happend to frequently lately.16 -
My bosses...
Honestly, I give them shit over here for their errors, their actions and the fact that they don't know what's going on. But as they've been my first programming job, they've taught me a hell of a lot.
I started my internship about a year ago at my current job, and it would last for 4 months.
I was timid, did as I was told and didn't discuss orders.
Within a week, I started voicing my opinion whenever it was asked, and I was heard, and if it gave insight, the bosses would listen to me and we'd change the product.
After two weeks, one of the bosses wanted to show me a comparable website on my pc so I could get some idea of what the bosses meant when trying to explain their idea, and after five minutes of typing on the shitty keyboard I had (shittiest in the whole office), he asked me why I didn't complain earlier. Truth was, I was afraid, he was the boss and I was just merely an employee at his company. Who was I to criticize his office materials??
He told me to follow him, we got into his car and drove off to a shopping mall, went into the tech store and he literally told me to pick whatever keyboard suited me best.
A few weeks ago, we got active noise canceling headphones, these things cost a hell of a lot of money!
My senior and my bosses have taught me that I am still an individual, still a part of the team, of the company, and of the machine, if I can't do my work, the rest will suffer.
They taught me that I am valuable, that I am not just another employee and that I need to speak up for my needs, wants and opinions.
Don't forget how valuable you are guys and gals :)8 -
*working on a programming assignment for a graduate-level course*
"We will provide you code that implements the protocol in the server. You do not need to touch this code."
*provided file has syntax errors, including a block comment which doesn't close before EOF*1 -
I have this teacher who focuses so much on documentation that I hardly get to code sometimes. The worst experience with that teacher was with a project I think about two years ago. Every time I came up with (modified) documentation (we have to document EVERYTHING before allowed to start programming) she would turn me away with some bs argumentation and also point out non existing English grammar errors (my English is way better than hers). After nine weeks of documenting (so, no single line of code yet and projects take ten weeks) she gave me the green light. Then at 'delivery' she had the fucking balls to to tell me that MY CODE WASN'T THAT STABLE AND GOOD YET.
I WAS LITERALLY HAVING A LIVE RAGE ATTACK OVER THERE.4 -
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 -
soldering on a pcb is just as stressful as programming. u solder everything and u test it out and then it doesnt work like its designed to. its just like compiling it and a lot of errors are detected. the worst part of it, you cant detect the errors as soon as u try it out. you have to find where exactly in this kind of mess is the error:6
-
I've told the same story multiple times but the subject of "painfully incompetent co-worker" just comes up so often.
I have one coworker who never really grew out of the mindset of a college student who just took "Intro to Programming". If a problem couldn't be solved with a textbook solution, then he would waste several weeks struggling with it until eventually someone else would pick up the ticket and finish it in a couple days. And if he found a janky workaround for a problem, he'd consider that problem "solved" and never think about it again.
He lasted less than a year before he quit and went off to get a job somewhere else, leaving the rest of our team to comb through his messy code and fix it. Unfortunately, our team is mostly split across multiple projects and our processes were kind of a mess until recently, so his work was a black box of code that had never been reviewed.
I opened the box and found only despair and regret. He was using deprecated features from older versions of the language to work around language bugs that no longer existed. He overused constants to a ridiculous degree (hundreds of constants, all of which are used exactly once in the entire codebase, stored in a single mutable map variable named "values" because why not). He didn't really seem to understand DRY at all. His code threw warnings in the IDE and had weird errors that were difficult to reproduce because there was just a whole pile of race conditions.
I ended up having to take a figurative hacksaw to it, ripping out huge sections of unnecessary crap and modernizing it to use recent language features to get rid of the deprecation warnings and intermittent errors. And then I went through the same process again for every other project he'd touched.
Good riddance. -
I remember when an aunt met with me and I advised her to get a PC for her son.
he is just 7 years but he always wants to visit me everyday just to use my PC. even when I started using linux he still managed to find his way around. really smart for someone who didn't have a PC. I even found some Google search history of him Google weird instructions and errors and whatnot. since I wouldn't always be around since i was always travelling.
I put the PC together with the huge budget she gave me. it was waaaaay better than mine with all that rgb shit. I loaded it up with all that programming, softwares, ebooks and videos and games I could find. few weeks later he stopped calling me(usually he'd call me to know if I was at home), i felt lonely for a while before i moved out and i felt like i did the right thing. I felt like jesus, lol
at least if I dont get to become a pro at coding I know I did everything and helped him start early7 -
Did a bunch more cowboy coding today as I call it (coding in vi on production). Gather 'round kiddies, uncle Logan's got a story fer ya…
First things first, disclaimer: I'm no sysadmin. I respect sysadmins and the work they do, but I'm the first to admit my strengths definitely lie more in writing programs rather than running servers.
Anyhow, I recently inherited someone else's codebase (the story of my profession career, but I digress) and let me tell you this thing has amateur hour written all over it. It's written in PHP and JavaScript by a self-taught programmer who apparently discovered procedural programming and decided there was nothing left to learn and stopped there (no disrespect to self-taught programmers).
I could rant for days about the various problems this codebase has, but today I have a very specific story to tell. A story about errors and logs.
And it all started when I noticed the disk space on our server was gradually decreasing.
So today I logged onto our API server (Ubuntu running Apache/PHP) and did a df -h to check the disk space, and was surprised to see that it had noticeably decreased since the last time I'd checked when everything was running smoothly. But seeing as this server does not store any persistent customer data (we have a separate db server) and purely hosts the stateless API, it should NOT be consuming disk space over time at all.
The only thing I could think of was the logs, but the logs were very quiet, just the odd benign message that was fully expected. Just to be sure I did an ls -Sh to check the size of the logs, and while some of them were a little big, nothing over a few megs. Nothing to account for gigabytes of disk space gradually disappearing.
What could it be? I wondered.
cd ../..
du . | sort --sort=numeric
What's this? 2671132 K in some log folder buried in the api source code? I cd into it and it turns out there are separate PHP log files in there, split up by customer, so that each customer of ours (we have 120) has their own respective error log! (Why??)
Armed with this newfound piece of (still rather unbelievable) evidence I perform a mad scramble to search the codebase for where this extra logging is happening and sure enough I find a custom PHP error handler that is capturing (most) errors and redirecting them to these individualized log files.
Conveniently enough, not ALL errors were being absorbed though, so I still knew the main error_log was working (and any time I explicitly error_logged it would go there, so I was none the wiser that this other error-catching was even happening).
Needless to say I removed the code as quickly as I found it, tail -f'd the error_log and to my dismay it was being absolutely flooded with syntax errors, runtime PHP exceptions, warnings galore, and all sorts of other things.
My jaw almost hit the floor. I've been with this company for 6 months and had no idea these errors were even happening!
The sad thing was how easy to fix all the errors ended up being. Most of them were "undefined index" errors that could have been completely avoided with a simple isset() check, but instead ended up throwing an exception, nullifying any code that came after it.
Anyway kids, the moral of the story is don't split up your log files. It makes absolutely no sense and can end up obscuring easily fixable bugs for half a year or more!
Happy coding.6 -
No one fucking knows how to handle/raise errors.
I feel like this is the least talked topic in all fucking programming industry. This shit needs to be tought even more than the fucking SOLID, DRY, KISS, YAGNI and other kinds of buzzwords that fancy devs love tossing left and right.
Basically everyone just does "whatever you dumb error just dont bother me". They will just log/return null/ignore the errors and be in their oblivion with bugs propagating upstream the call stack.
"Throwing errors you say? Ew, why do you want to produce more errors?". Yeah, right, just stick another log/return null/or ignore the fact that the monke calling your function with bullshit arguments.
"But bro it's so difficult and time consuming and it would never happen!" Yes, you fucker! Yes! Programming IS fucking difficult if you want reliable systems! Did you not know that!? Well now you do! Go and fucking learn it!
FUCK!11!1!!27 -
I had defined a variable earlier, 'count', that I was trying to access later on in the code. Kept getting errors that the variable didn't exist.
When I looked, I had actually named it 'cunt'.
Best typo ever, gave me a good laugh as opposed to the usual annoying typos in programming.1 -
I don't hate Java, seriously.
I just prefer spending my first hours with a language actually programming in it rather than fixing shitty uninformative errors and learning libraries that follow no standards.
Pour your salt below.15 -
C++ errors in a nutshell
(The pics is from my college computer lab where it takes us forever to get a proper output )
(Maybe it's we who suck) xD4 -
On the twelfth day of Christmas
programming gave to me:
Twelve bugs in public branch
Eleven errors to fix
Ten freaking warnings
Nine Windows Updates
Eight blue screens of deaths
Seven minutes of compiling
Six servers down
Five Android Studio crashes
Four angry stackoverflow devs
Three kernel panics
Two burned graphics cards
and a one broken-dick piece of shit JavaScript framework4 -
I AM TIRED
warning: this rant is going to be full of negativity , CAPS, and cursing.
People always think and they always write that programming is an analytical profession. IF YOU CANNOT THINK IN AN ANALYTICAL WAY THIS JOB IS NOT FOR YOU! But the reality could not be farther from the truth.
A LOT of people in this field whether they're technical people or otherwise, just lack any kind of reasoning or "ANALYTICAL" thinking skills. If anything, a lot of of them are delusional and/or they just care about looking COOL. "Because programming is like getting paid to solve puzzles" *insert stupid retarded laugh here*.
A lot of devs out there just read a book or two and read a Medium article by another wannabe, now think they're hot shit. They know what they're doing. They're the gods of "clean" and "modular" design and all companies should be in AWE of their skills paralleled only by those of deities!
Everyone out there and their Neanderthal ancestor from start-up founders to developers think they're the next Google/Amazon/Facebook/*insert fancy shitty tech company*.
Founder? THEY WANT TO MOVE FAST AND GET TO MARKET FAST WITH STUPID DEADLINES! even if it's not necessary. Why? BECAUSE YOU INFERIOR DEVELOPER HAVE NOT READ THE STUPID HOT PILE OF GARBAGE I READ ONLINE BY THE POEPLE I BLINDLY COPY! "IF YOU'RE NOT EMBARRASSED BY THE FIRST VERSION OF YOU APP, YOU DID SOMETHING WRONG" - someone at Amazon.
Well you delusional brainless piece of stupidity, YOU ARE NOT AMAZON. THE FIRST VERSION THAT THIS AMAZON FOUNDER IS EMBARRASSED ABOUT IS WHAT YOU JERK OFF TO AT NIGHT! IT IS WHAT YOU DREAM ABOUT HAVING!
And oh let's not forget the tech stacks that make absolutely no fucking sense and are just a pile of glue and abstraction levels on top of abstraction levels that are being used everywhere. Why? BECAUSE GOOGLE DOES IT THAT WAY DUH!! And when Google (or any other fancy shit company) changes it, the old shitty tech stack that by some miracle you got to work and everyone is writing in, is now all of a sudden OBSOLETE! IT IS OLD. NO ONE IS WRITING SHIT IN THAT ANYMORE!
And oh my god do I get a PTSD every time I hear a stupid fucker saying shit like "clean architecture" "clean shit" "best practice". Because I have yet to see someone whose sentences HAVE TO HAVE one of these words in them, that actually writes anything decent. They say this shit because of some garbage article they read online and in reality when you look at their code it is hot heap of horseshit after eating something rancid. NOTHING IS CLEAN ABOUT IT. NOTHING IS DONE RIGHT. AND OH GOD IF THAT PERSON WAS YOUR TECH MANAGER AND YOU HAVE TO LISTEN TO THEM RUNNING THEIR SHITHOLE ABOUT HOW YOUR SIMPLE CODE IS "NOT CLEAN". And when you think that there might be a valid reason to why they're doing things that way, you get an answer of someone in an interview who's been asked about something they don't know, but they're trying to BS their way to sounding smart and knowledgable. 0 logic 0 reason 0 brain.
Let me give you a couple of examples from my unfortunate encounters in the land of the delusional.
I was working at this start up which is fairly successful and there was this guy responsible for developing the front-end of their website using ReactJS and they're using Redux (WHOSE SOLE PURPOSE IS TO ELIMINATE PASSING ATTRIBUTES FOR THE PURPOSE OF PASSING THEM DOWN THE COMPONENT HIERARCHY AGIAN). This guy kept ranting about their quality and their shit every single time we had a conversation about the code while I was getting to know everything. Also keep in mind he was the one who decided to use Redux. Low and behold there was this component which has THIRTY MOTHERFUCKING SEVEN PROPERTIES WHOSE SOLE PURPOSE IS BE PASSED DOWN AGAIN LIKE 3 TO 4 TIMES!.
This stupid shit kept telling me to write code in a "functional" style. AND ALL HE KNOWS ABOUT FUNCTIONAL PROGRAMMING IS USING MAP, FILTER, REDUCE! And says shit like "WE DONT NEED UNIT TESTS BECAUSE FUNCTIONAL PROGRAMMING HAS NO ERRORS!" Later on I found that he read a book about functional programming in JS and now he fucking thinks he knows what functional programming is! Oh I forgot to mention that the body of his "maps" is like 70 fucking lines of code!
Another fin-tech company I worked at had a quote from Machiavelli's The Prince on EACH FUCKING DESK:
"There is nothing more difficult to take in hand, more perilous to conduct, or more uncertain in its success, than to take the lead in the introduction of a new order of things."
MOTHERFUCKER! NEW ORDER OF THINGS? THERE 10 OTHER COMPANIES DOING THE SAME SHIT ALREADY!
And the one that got on my nerves as a space lover. Is a quote from Kennedy's speech about going to the moon in the 60s "We choose to go to the moon and do the hard things ..."
YOU FUCKING DELUSIONAL CUNT! YOU THINK BUILDING YOUR SHITTY COPY PASTED START UP IS COMPARABLE TO GOING TO THE MOON IN THE 60S?
I am just tired of all those fuckers.13 -
FFUUUuucccckkk me sideways. So I decided to look into USB type-c's power delivery and alt modes. Cause I kinda want to make an adapter card to run my displays over a single cable. TLDR of the rest: USB-C has some huge capabilities which noone is interested in using since its way to complex to handle for what its worth in the end.
Now PD alone is kinda ok to deal with since a lot of powerbanks use it and some hobby guys documented how to work with it. I find it really odd thou that you NEED to use a dedicated IC for using the configuration chanel to negotiate how much power you can draw. Why the USB standard didnt use some simple 5V low speed signalling? Also the standard says that you only have to implement 5v 0.6A with every other power level being optional. (This is also true for cables. Most manufacturers use only the USB 2.0 standard for them and brag about how fast type-C is. ლ(ಠ益ಠლ) )
Now to the alt modes. These motherfuckers are a real shitshow to deal with. First you need a Mux to deal with USB-C's two way insertion, so your signals wont get flipped. Next thing is that you have four lanes at your disposal in alt mode. Which you can either use for four Display Port Lanes or two DP lanes and two USB 3.0 lanes. (You always get USB 2.0) Now you may think that there would be one simple chip to do it all? Nope you need atleast two at the price of 6$ each. One for PD and one for Alt modes. Both are very hard to solder (QFN, 0.5 mm pitch 40+ pins) TI ended up being the only one with a decent offering of IC's that do what I need. As for working with them, you would think that you just slap a simple MCU on there that communicates over I2C or SPI to configure the chips? Nope! You program the chips memory from which it configures itsself. And the programming is done with some TI tool which gives me no idea as to how you can handle everything whith no control logic behind it.
Looking into alternative IC's leaves me with cypress semi. And their documentation is basically a total mess. I wanna know what that chip is good for and what I need to do to make it work. I dont care about technical details mixed with marketing jargon nobody understands. And I really despise that I have to register just to download a datasheet. Especially since there is no info about it on the main page.
And this whole rant hasnt even touched the topic that USB-C only uses DP and nothing else. So you better hope that you have DP++ so you can use a passive conversion.
This was my Ted Talk about USB-C. Some info in it may be subject to my stupidity and errors as it currently is 02:15 in the morning and I need some sleep.14 -
When you try learn a new programming language and think it will take 40 mins and you cannot install any packages and spend 4 hours googling the errors with no solution... So you admit it's not meant to be, and try another one6
-
Some fun facts :
☻ Programmers spend approximately 30% of the time surfing the source code 😁
☻ Progress in programming can be classified into 4 stages:
(a). Complex Programming
(b). Making Progress
(c). Slow Progress
(d). Stuck
☻ Programmers have a tendency to report their problems incompletely
☻ The main error messages, execution times and runtime compilation errors and the average time to solve them
☻ The software maintenance consumes more than 50% of the effort
☻ Ctrl C, Ctrl V, and Ctrl-Z have saved more lives than Batman tbh😇3 -
No errors/warnings with the first run after a few hours of programming... getting an anxious feeling..
-
Installed Linux on a crappy laptop got many many errors. in the process of googling then fixing them I fell in love with the os itself and it turned me towards programming now we sit here me a game Dev major15
-
Hey, Unity!
I love you and how your bug system works, but can you polish your errors?
I don't have any experience in programming and I am only a level designer.
I have no idea what this error meant so I begged to my boss crying that this FATAL error popped up.
Then my boss comforted me with pizza and coke.
I just realized that my boss is better than Unity.
I'm sorry, Unity. I was just about to buy the Unity license, but I changed my mind to just use the [personal edition and hack the dark theme by hex edit.
Best regards,
cozyplanes
(* This is a real e-mail sent to Unity Help Center *)8 -
It is only now that I can finally appreciate how brilliant PHP is.
When you're new to programming, you write some HTML + CSS, it looks good, but the dynamic part is missing. So, you install PHP and just… write dynamic parts right in your HTML? How crazy is that? You can even write regular code there too! Errors are logged right away, common features like DB driver and sessions are built in…
It's all about marketing. Next.js does exactly the same thing when they brag about writing SQL in React. When they do it, it's revolutionary. When PHP does it, PHP bad. Gotcha fam 🫤15 -
Progress: I have Lua code running, however it returns an error every time.
An error containing the result I wanted.3 -
These are the things that finally finally helped me stick to learning programming.
Hello world! This is my first story on devrant and I would like to share how I finally overcame the barriers that had always prevent me from learning programming in a more serious and structured way.
I know my way around linux, had some experience with BASIC many years ago and have more than basic notions of cryptography... however I never got myself to learn programming in such a way that I could write an app or interact with an API. Until now.
I have advanced more than ever before and I believe it might be thanks to these aspects:
1. C#
I have always had struggles with languages that were too compact or used many exotic or cryptic expressions. However I have found C# to be much more readable and easier to understand.
2. Visual Studio
My previous attempts at learning programming were without an IDE. Little did I know what I was missing!
For example when I tried learning python on Debian, I almost went crazy executing programs and trying to find the compile errors in a standard text editor.
Intellisense has been live changing as it allows me to detect errors almost immediately and also to experiment. I'm not afraid to try things out as I know the IDE will point out any errors.
3. .NET library and huge amounts of documentation
It was really really nice to find out how many well documented classes I had available to make my learning process much easier, not having to worry about the little details and instead being able to focus on my program's logic.
4. Strong typing
Call me weird, but I believe that restricting implicit conversions has helped learn more about objects, their types and how they relate to each other.
I guess I should be called a C# fanboy at this point, but I owe it to that language to be where I'm now, writing my first apps.
I also know very very little about other languages and would love to hear if you know about languages that provide a similar experience.
Also, what has helped you when you first started out?
Thanks!!5 -
Does anyone know to get rid of a programming CURSE?
"You will have unique ERRORS, only in production, which would not be found on Stack Overflow"
:|1 -
"SO culture is so mean, they downvote good questions for no reason!"
Meanwhile, most of the downvoted questions in my list:
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
Translation:
- OP1: "Do my homework for me"
- OP2: "I am too lazy to google this"
- OP3: "Gimme code, here is a shitload of requirements"
- SO: "No."
- OP1/2/3/DevRant: "Oh mah gawd mah question was so gud, SO such toxic, very mean, much wow qq."
Kk.11 -
The best feeling according to my buddy is when drawing a character and then taking a photo of it and the phone recognizes the head as a real face.
Made me wonder of some programming equivalent scenarios.
Like checking your website for the first time on validator.w3.org and seeing the `No errors or warnings to show.`
Or writing code in a plain text editor and it works on first try without any errors.
How about letting a coworker do something you really want to do and already thought heavily about, to later realize they did it exactly how you imagined it.
Or even as simple as getting your first assignment on a new job and totally nailing it.
Do you got any good examples of a similar "omg ftw" moment?7 -
0 programming knowledge starting to learn C. write a chunk of code and go to another room to make coffee, friend changes all semicolons with greek question marks. I spent the rest of the day trying to fix the errors while my friends where laughing like maniacs.2
-
I think I've been doing too much Android programming in the last three days.
Had a lucid dream last night where I couldn't wake up until I figured out how to set up an inter-thread latch that would allow me to process through a shit ton of data points in parallel without duplication or skipping errors in the most efficient manner (effectively no blocking). We're talking several hundred lines of code. Slept 14 hours last night, I heard my alarm but didn't wake up. When I finally got up, I did what I did in my dream and it worked better than the existing code.
Turns out my brain is great at Java evaluation now, I guess.4 -
I HATE PROGRAMMING !!
I HATE PROGRAMMING !!
I HATE PROGRAMMING !!
*Compiled successfully with no errors or warnings*
I LOVE PROGRAMMING !!
I LOVE PROGRAMMING !!
I LOVE PROGRAMMING !!9 -
Random question that apparently screwed up even Google...
how does an IDE evaluate (and format) code and errors so quickly?
Was thinking maybe building a compiler/programming language would be the best way to learn/practice algorithm... Is it?19 -
I'm curious..
When does programming suck for you, and when is it fun?
Like I hate programming, when I run into an obscure use case that opens up some serious errors with my some, or gasp, all, of my architecture and forces me to rethink everything - especially DB design, ugh.
I love programming when my architecture and DB design create naturally readable code and everything falls into place and I feel like a genius.
I guess, in short.... plan before you code?
And then, plan again.
But don't plan too much.
The love/hate of my programming life summed up right there I think.
How about you?10 -
!rant // deprecated but who cares
I just wanted to write down something i realized. I realized that that I stopped growing as an individual a while ago.
Being a student put me in constant stress situations. I had to do things quickly. Lern things fast, drop things I don't understand immediately, move on, and repeat. I think this corrupted me, turning learning into something that it's not supposed to be. Even making me reject other people's opinions sometimes, which disgusts me every time I think back to it.
When I started programming I'd always try to read the code, until i completely understood what exactly this code was doing. Something I stopped doing a while ago because of the mentioned time constraints.
But today I got the hit by the consequences (German: Ich hab Retourkutsche abbekommen)
I was implementing an algorithm today, while my partner was writing the main program, which acted as indirect test cases. And the errors were discovered one after another because of my misinterpretation. Or Simply put, my lack of knowledge. Because it was already late, we stopped soon afterwards but I wanted to solve this problem by tomorrow. I really wanted to get my head around this algorithm, so that i could solve it with confidence. After getting my head smoking I felt something I haven't in a while: the feeling of achieving something. Making me finally realize not only how the algorithm was actually meant to work but it also made me again realize what learning is about.
Use your damn head.
Don't look away from the problem, solve it! Learning is about challenging yourself!
Sorry for stealing away so much of your time. Like i said, i just wanted to write this down. Maybe to burn this into my mind, to keep me on the right track from now on. But I also hope that i could deliver my message to someone that needed it as well.
Also it's late and i should have gone to sleep long time ago. 😴😵
I just hope my grammar didn't suffer because I'd that -
Who thought Lua was a good idea for extending gameplay functionality??
It's weakly typed, has no OOP functionality and no namespace rules. It has no interesting data structures and tables are a goddamn mystery. Somebody made the simplest language they could and now everybody who touches it is given the broadest possible tools to shoot themselves in the foot.
Lua's ease of embedding into C++ code is a fool's paradise. Warcraft 3's JASS scripting language had way more structure and produced much better games, whilst being much simpler to work with than Lua.
All the academics describing metatables as 'powerful extensionality' and a fill-in for OOP are digging the hole deeper. Using tables to implement classes doesn't work easily outside school. Hiding a self:reference to a function inside of syntactic sugar is just insanity.
Nobody expects to write a triple-A game in lua, but they are happy to fob it off to kids learning to program. WoW made the right choice limiting it to UI extensions.
Fighting the language so you can try and understand a poorly documented game engine and implement gameplay features as the dev's intend for 'modders', is just beyond the pale. It's very difficult to figure out what the standard for extending functionality is, when everybody is making it up as they go along and you don't have a strongly-typed and structured language to make it obvious what the devs intended.
If you want to give your players a coding sandbox, make the scripting language yourself like JASS. It will be way better fit for purpose, way easier to limit for security and to guarantee reasonable performance. Your players get a sane environment to work in and you just might get the next DOTA.
Repeatedly shooting yourself in the foot on invisible syntax errors and an incredibly broad language is wasted suffering for kids that could be learning the programming concepts that cross all languages way quicker and with way more satisfying results.
Lua is hot garbage for it's most popular application, I really don't get it. Just stop!24 -
How on earth are there people in their second year of a computer science course who are unable to understand how to read build errors. It's honestly not that hard, just look at the fucking build log and see where the error is and what type of error it is, but yet they don't bother reading the log and say that their "compiler is broken" when their 5 line code won't work.
If this was still first year I'd understand since many of the class didn't have much programming knowledge, but if you're in your second year and you struggle with this (that too for a Hello World script) it looks like you aren't even bothered and just expect the computer to magically understand what you mean.3 -
Context: Am Sysadmin, occasionally a programming job flies in.
I just told my superiors that i will can no longer program for a specific customer i already poured ~90hrs into due to stress and thus health issues that have been accumulating since the beginning of the year. Everything relating to this customer is giving me chills. I can't even do my other stuff without hinderance anymore.
Because this is in parrallel to an existing customer complaint that came in yesterday i just received a rather rant-y email about what the fuck would be wrong with me, which immidiately disappeared again.
It was revoked as i now know. So far they seem to be understanding, but i still don't feel good with the decision i made.
I really want to finish the project, but i just can't. It drives me insane. I never felt like this.
Sorry for the wall of text and any errors. I'm really not having a good time right now.4 -
So, today I wanted to program a bit and, after reading the last chapter, I want to see what I able to do.
I run my last Linux distro, I open sublime and I start typing code. I finish, I build. 0 warning, 0 errors. Nice! I execute the code: error.
I watch and I struggle on the code for hours, I search on Google, I search on StackOverflow, but after 1 hour I notice I'm looking for a needle in a haystack. So I search instead for a way to produce a better error. I found it, I'm very happy. Let's try what the error actually is:
Error: success
Ok....
Ok...... Well, maybe.... Uhm......
Ok, I won't give up. I search for a tutorial. Found.
The code is almost the mine, it's actually a usual snippet, nothing new. I compare my code with the code in the example/tutorial.
First line, is the same.
First 10 lines, are the same.
First 30 lines, are the same.
I build and execute the example: it works.
I build and execute my code: still doesn't work.
I won't give up, I said it. I won't give up.
I wonder if there's a tool like git diff, so I can see what the differences are, maybe I've no good eyes.
I search, first Google result, "diff"
diff myCode.c example.c
"the files are not identical"
...thank you
I search for a better command
diff -y myCode.c example.c
"the files are not identical"
I search for a still better command
Found. StackOverflow stroke again.
sdiff myCode.c example.c
"the files are not identical"
.....
....
.....
I gave up.
Ps. I've 10 years of experience in programming4 -
I might create a coding course for people actually interested in learning how to program correctly (not Get Rich Quick Bootcamp style, not webapps, not magic Javascript incantations).
I have an idea on how to structure it but I worry it'll be too weird for most people to follow (starting from binary theory and then teaching machine code and then working upwards to C and beyond) explaining how a computer works along the way, showing the real errors with annotations explaining things, etc.
I've always wanted to teach in this format but I feel as though it's too.. idk, "useless" to most people? But I've never had a friend go through e.g. CodeAcademy and come out knowing how to actually make applications from start to finish without just hacking together random React components and hoping the frankenstein project works well enough.
The target demographic would be those either completely new to programming or just have a fundamental or web-centric preexisting knowledge, or maybe those who simply want to understand computers better.
Am I barking up a shitty tree?28 -
Sometimes life takes unexpected turns:
I studied mechanical engineering and did some "computer stuff" in my free time, you know, "programming" with Java, toyed around with HTML/CSS/PHP a few years ago, some local server stuff with a raspberry pi, nothing fancy.
Half a year ago i got hired as engineer first but they said they needed an "IT Guy" also.
What i did since then
*Researching, Testing and Planning the introduction of an ERP software
*Planning, coordinating and (partially) setting up a new server for the company (actually two cause redundancy (heavy lifting got done by our IT partner, its not like i suddenly know how to do the entire windows server administration)
*Writing 3 minor tools for some guys in the company in java
*Creating numereous excel vba scripts that make work a lot easier
*doing all the day to day business that comes up when absolutly noone know how to use a pc in the company
*consulting the boss about webshops and websites in general and finding a decent partner
*and some engineering
Did i mentioned that i studied mechanical engineering? I know nothing about all this, or rather, i know enough to know that i know not enough.
My current side project is creating a small intranet, so creating a new VM in Hyper V, setting up some OS (probably slim CentOS), getting a Webserver running and making it somewhat secure. Then i need to create some content, i am very close to just install a mediawiki and call it a day. If i write anything in PHP i fear that i make way to many erros or just reinvent the wheel, on the other hand, i couldnt find anything resembling what i need. I also had to create the front end side, i knew CSS around 2010, there is probably tons of stuff i dont know and i will make so many errors.
This is frustrating, everything i touch feels like i am venturing the beaten path but noone ever showed me the ropes so everything i do feels like childs play. I need an adult. Also the biggest Question remains: What i am?1 -
I think I've reached the point where I've been programming for so long that I have off by one errors doing normal math by hand. Nothing more humbling than getting beat out to a bunch of simple math problems to a grade schooler.
-
My biggest programming pet peeve: The code throws a series of unchecked assignment errors and yet it compiles.
Go home Intellij you need some sleep.7 -
I had debug my perfectly working program.
Let me explain.
I wrote a python perform some calculations and return the result. In case the calculations were not successful, it would raise an error.
For some reason, it worked on all test cases: gave correct output with correct inputs and raised errors on non correct inputs but when I used it with another function, it just failed.
Turns out I had written 'return myExcetion' instead of 'raise my exception'.
Lol, I was almost gonna give up programming3 -
Pair programming a major refactoring, colleague tries to change _everything_ simultaneously. Spent hours fixing compiler errors, now it's not linking. ¯\_(ツ)_/¯
-
When I was a child I was allowed to use my dad's PC (my parents are divorced) (~1995-6, 3-4 yrs) - back then I played blockout and space Invaders on that windows 2.0 machine. My mum later got a win 3.1 box and I often played around in paint - so did I on my dad's new windows 95 pc. Back then I wasn't able to read (which usually isn't uncommon for a 4-5 yr old) but I was so fed up with those constant "do you want to save this thing dialogs" that I started to learn reading with the help of my parents. (Thanks to that I was able to play Monkey Island 2 :D )
Fast forward to the first years of school: we had two PC's in the classroom and I somehow fixed basic errors so my teacher signed.l me up for the computer course in the second year - usually only students in the third and fourth year may attend this course. I was so thrilled and that was the time where I learned basic DOS stuff and how to build a PC. Again fast forward some years to the 6th year - again another teacher saw my interest in it and asked me if I'd be interested in the basic programming course where I then learned basics in HTML, CSS and JS but that was not enough for me and so I did some research and learned php. In high school, my major was science and IT and in the last year, my IT teachers sat in the IT class and I held the courses as my knowledge was greater than theirs. And yep, that's pretty much how I started coding1 -
I need some opinions on Rx and MVVM. Its being done in iOS, but I think its fairly general programming question.
The small team I joined is using Rx (I've never used it before) and I'm trying to learn and catch up to them. Looking at the code, I think there are thousands of lines of over-engineered code that could be done so much simpler. From a non Rx point of view, I think we are following some bad practises, from an Rx point of view the guys are saying this is what Rx needs to be. I'm trying to discuss this with them, but they are shooting me down saying I just don't know enough about Rx. Maybe thats true, maybe I just don't get it, but they aren't exactly explaining it, just telling me i'm wrong and they are right. I need another set of eyes on this to see if it is just me.
One of the main points is that there are many places where network errors shouldn't complete the observable (i.e. can't call onError), I understand this concept. I read a response from the RxSwift maintainers that said the way to handle this was to wrap your response type in a class with a generic type (e.g. Result<T>) that contained a property to denote a success or error and maybe an error message. This way errors (such as incorrect password) won't cause it to complete, everything goes through onNext and users can retry / go again, makes sense.
The guys are saying that this breaks Rx principals and MVVM. Instead we need separate observables for every type of response. So we have viewModels that contain:
- isSuccessObservable
- isErrorObservable
- isLoadingObservable
- isRefreshingObservable
- etc. (some have close to 10 different observables)
To me this is overkill to have so many streams all frequently only ever delivering 1 or none messages. I would have aimed for 1 observable, that returns an object holding properties for each of these things, and sending several messages. Is that not what streams are suppose to do? Then the local code can use filters as part of the subscriptions. The major benefit of having 1 is that it becomes easier to make it generic and abstract away, which brings us to point 2.
Currently, due to each viewModel having different numbers of observables and methods of different names (but effectively doing the same thing) the guys create a new custom protocol (equivalent of a java interface) for each viewModel with its N observables. The viewModel creates local variables of PublishSubject, BehavorSubject, Driver etc. Then it implements the procotol / interface and casts all the local's back as observables. e.g.
protocol CarViewModelType {
isSuccessObservable: Observable<Car>
isErrorObservable: Observable<String>
isLoadingObservable: Observable<Void>
}
class CarViewModel {
isSuccessSubject: PublishSubject<Car>
isErrorSubject: PublishSubject<String>
isLoadingSubject: PublishSubject<Void>
// other stuff
}
extension CarViewModel: CarViewModelType {
isSuccessObservable {
return isSuccessSubject.asObservable()
}
isErrorObservable {
return isSuccessSubject.asObservable()
}
isLoadingObservable {
return isSuccessSubject.asObservable()
}
}
This has to be created by hand, for every viewModel, of which there is one for every screen and there is 40+ screens. This same structure is copy / pasted into every viewModel. As mentioned above I would like to make this all generic. Have a generic protocol for all viewModels to define 1 Observable, 1 local variable of generic type and handle the cast back automatically. The method to trigger all the business logic could also have its name standardised ("load", "fetch", "processData" etc.). Maybe we could also figure out a few other bits too. This would remove a lot of code, as well as making the code more readable (less messy), and make unit testing much easier. While it could never do everything automatically we could test the basic responses of each viewModel and have at least some testing done by default and not have everything be very boilerplate-y and copy / paste nature.
The guys think that subscribing to isSuccess and / or isError is perfect Rx + MVVM. But for some reason subscribing to status.filter(success) or status.filter(!success) is a sin of unimaginable proportions. Also the idea of multiple buttons and events all "reacting" to the same method named e.g. "load", is bad Rx (why if they all need to do the same thing?)
My thoughts on this are:
- To me its indentical in meaning and architecture, one way is just significantly less code.
- Lets say I agree its not textbook, is it not worth bending the rules to reduce code.
- We are already breaking the rules of MVVM to introduce coordinators (which I hate, as they are adding even more unnecessary code), so why is breaking it to reduce code such a no no.
Any thoughts on the above? Am I way off the mark or is this classic Rx?16 -
I need some advice, because I'm feeling like I'm getting ripped off by my company.
I'm a junior developer and this is the first company I've every worked at. I've been here for 1 1/2 year. I said in the first interview that I am proficient with a fullstack framework, for a rather niche programming language, but I don't want to do front end, because I'm not good at it and I generally don't like it.
I'm the sole coder working on a project that costs the client 100EUR/h. There are others, but they just organize the tasks I have to do. This project requires me to work a full stack of retardation server, that's a pain in the ass, not really compatible with this project and required hack after hack to be fixed. Finding bugs in this pile of shit often takes days of emailing around and asking for logs in hope something might pop up. I've had to scavage through threads saying the still bleed form the anus or have PTSD, beccause of this retarded stack. As you can imagine, I'm also responsible for all of the QA and obviously get shit for bugs. I'm supposed to remember every little detail I've done in this project at the end of the sprint, while also working on 2-3 other projects simutaniously.
I've developed some small servers with dashboard and api for apps on my own. I'm supposed to also do all of the QA so that my boss doesn't see any errors, because otherwise our clients have to be QA.
I have written a complicated chat system that is distributed across nodes. We've nearly missed a deadline of 6 days for this shit, because I've been put under preasure, because I estimated such a "large" amount of time for this.
Other things I've done include:
* Login/Registration on many projects
* Possibility to add accounts for subordinated, with a full permission system for every resource
* Live product configuration with server validation and realtime price updates
* Wallet & transaction system, dealing with purchases of said product and various other services offered on this platform
* Literally replaced the old, abandoned database framework from a project with a modern one.
I've made some mistakes during the WFH corona times, but this that doesn't mean you can put more preasure on me and pull stuff like this: https://devrant.com/rants/2498161 https://devrant.com/rants/2479761
Is all of what I'm doing and have to deal with worth the 9EUR/h salary?10 -
I think somewhere i read a quote from Gary Kasparov on his view on Chess.
He said that after certain point of mastering it, it becomes too much mental pain.
I think the same can be said about programming.
Devs really enjoy it, but sometimes, damn that Null pointer exception.rant programming semicolon ; java log devs errors python arrayoutofindex null pointer exception joke1 -
What the fuck is this piece of shit called Ubuntu? I was writing an automation tool on my local PC (ArchLinux) in c++ 17 (c++1z or whatever). Finished it today. Working and compiling so everything is fine. Went to my server, git clone, make.
Okay some errors because I havent installed my networking libs yet. So I installed them.
Make.
Error because I was using a c++ feature only available in c++ 17. But wtf. I told g++ I wanted to compile with c++ 17 support. I mean... On arch it compiled fine. On centOS it at least told me that it doesn't know c++1z (it was some really old centOS). BUT JUST TELLING ME ITS BECAUSE I SUCK AT PROGRAMMING?? THAT IS SO NOT OKAY. MY CODE IS LEGIT ISO C++ 17. FUCK UBUNTU. Installing Arch on my server now because I can't handle this shit anymore...16 -
"Reflective" programming...
In almost every other language:
1. obj.GetType().GetProperties()
or
for k, v in pairs(obj) do something end
or
fieldnames(typeof(obj))
or
Object.entries(obj)
2. Enjoy.
In C++: 💀
1. Use the extern keyword to trick compilers into believing some fake objects of your chosen type actually exist.
2. Use the famous C++ type loophole or structured binding to extract fields from your fake objects.
3. Figure out a way to suppress those annoying compiler warnings that were generated because of your how much of a bad practice your code is.
4. Extract type and field names from strings generated by compiler magic (__PRETTY_FUNCTION__, __FUNCSIG__) or from the extremely new feature std::source_location (people hate you because their Windows XP compilers can't handle your code)
5. Realize your code still does not work for classes that have private or protected fields.
6. Decide it's time to become a language lawyer and make OOPers angry by breaking encapsulation and stealing private fields from their classes using explicit template instantiation
7. Realize your code will never work outside of MSVC, GCC or CLANG and will always be reliant on undefined behaviors.
8. Live forever in doubt and fear that new changes to the compiler magic you abused will one day break your code.
9. SUFFER IN HELL as you start getting 5000 lines worth of template errors after switching to a new compiler.13 -
To me this is one of the most interesting topics. I always dream about creating the perfect programming class (not aimed at absolute beginners though, in the end there should be some usable software artifact), because I had to teach myself at least half of the skills I need everyday.
The goal of the class, which has at least to be a semester long, is to be able to create industry-ready software projects with a distributed architecture (i.e. client-server).
The important thing is to have a central theme over the whole class. Which means you should go through the software lifecycle at least once.
Let's say the class consists of 10 Units à ~3 hours (with breaks ofc) and takes place once a week, because that is the absolute minimum time to enable the students to do their homework.
1. Project setup, explanation of the whole toolchain. Init repositories, create SSH keys for github/bitbucket, git crash course (provide a cheat sheet).
Create a hello world web app with $framework. Run the web server, let the students poke around with it. Let them push their projects to their repositories.
The remainder of the lesson is for Q&A, technical problems and so on.
Homework: Read the docs of $framework. Do some commits, just alter the HTML & CSS a bit, give them your personal touch.
For the homework, provide a $chat channel/forum/mailing list or whatever for questions where not only the the teacher should help, but also the students help each other.
2. Setup of CI/Build automation. This is one of the hardest parts for the teacher/uni because the university must provide the necessary hardware for it, which costs money. But the students faces when they see that a push to master automatically triggers a build and deploys it to the right place where they can reach it from the web is priceless.
This is one recurring point over the whole course, as there will be more software artifacts beside the web app, which need to be added to the build process. I do not want to go deeper here, whether you use Jenkins, or Travis or whatev and Ansible or Puppet or whatev for automation. You probably have some docker container set up for this, because this is a very tedious task for initial setup, probably way out of proportion. But in the end there needs to be a running web service for every student which they can reach over a personal URL. Depending on the students interest on the topic it may be also better to setup this already before the first class starts and only introduce them to all the concepts in a theory block and do some more coding in the second half.
Homework: Use $framework to extend your web app. Make it a bit more user interactive with buttons, forms or the like. As we still have no backend here, you can output to alert or something.
3. Create a minimal backend with $backendFramework. Only to have something which speaks with the frontend so you can create API calls going back and forth. Also create a DB, relational or not. Discuss DB schema/model and answer student questions.
Homework: Create a form which gets transformed into JSON and sent to the backend, backend stores the user information in the DB and should also provide a query to view the entry.
4. Introduce mobile apps. As it would probably too much to introduce them both to iOS and Android, something like React Native (or whatever the most popular platform-agnostic framework is then) may come in handy. Do the same as with the minimal web app and add the build artifacts to CI. Also talk about getting software to the app/play store (a common question) and signing apps.
Homework: Use the view API call from the backend to show the data on the mobile. Play around with the mobile project to display it in a nice way.
5. Introduction to refactoring (yes, really), if we are really talking about JS here, mention things like typescript, flow, elm, reason and everything with types which compiles to JS. Types make it so much easier to refactor growing codebases and imho everybody should use it.
Flowtype would make it probably easier to get gradually introduced in the already existing codebase (and it plays nice with react native) but I want to be abstract here, so that is just a suggestion (and 100% typed languages such as ELM or Reason have so much nicer errors).
Also discuss other helpful tools like linters, formatters.
Homework: Introduce types to all your API calls and some important functions.
6. Introduction to (unit) tests. Similar as above.
Homework: Write a unit test for your form.
(TBC)4 -
Pet peeve: the claim that static typing prevents errors.
Today I worked on a C# project that's a mess of nulls, side-effects, inferences, and race conditions. Then I went back to a JS project that's twice the size but written in a clean, well-tested, FP style and currently has fewer than 10 issues logged.
Look, I get that there are upsides to static typing, and I'm open to introducing typescript or flow for our JS code.
I just can't stand the faux-concern from the static typing dingleberries when they are the ones who produce these horrendous lumps of unmaintainable shit, and the JS/Python/Ruby/etc people are over here quietly reinventing functional programming and code modularity.10 -
Did an interview and got some feedback and my coding challenge (I didn't make the cut) . Was surprised at a particular comment on why it was I didn't make the cut and it was about the code not compiling atall. So I went to check the repo and found some code which I oath to have removed lodged into the code base which prevented the reviewer from being able to compile it. How tf it wasn't flagged out when I was compiling before pushing to the repo is beyond me. Now I feel hella stupid and disappointed in myself 🤦🏾♀️ (to be fair it wasn't the only reason I didn't make the cut. The code could have being better)1
-
My weirdest dream about programming?
I was sitting with my buddy and we were programming, and literally, verbally arguing with compiler that he should compile, and he was spewing out different errors each time we compiled, and it somehow matched our arguments, so it literally was "replying" with different kind of errors ;-;
I mean, we didnt change code, but tell to compiler "no, no, no, you dont understand. This error is wrong, becouse here and there is this and that and it just should work" **pressed compile again and gets different errror**
Yes, that was after few nights of c++.
Edit:
yes, in that dream compiler was spewing out bullshit errors that didnt made sense.2 -
Me - Ooo I've got this idea ! This will fix this "No ones" problem in programming.
(Thinking this will change the programming for everyone)
Starts Coding......
Few minutes later ...Searching stackoverflow for silly syntax errors.
...Finds a 2 years old project from some guy, who already finished working on the idea and answering question as "This is a bullshit idea!, Never try to make something like this."
Me - (Suffering from existential crisis)2 -
Hey everyone!
Me and my team have been working very hard to create this programming language which people thought impossible to make. After years of work/research and hard-work we are now announcing the first beta release of this programming language. This programming language which we call "English_Code" is going to be revolutionary since it understands any English sentences. Now the programmers can finally code in English without learning the if-else, loops and other syntax keywords. Errors will be shown in pure English and your managers can now understand your code.
Anyway, let us know what you think, and we hope you enjoy!4 -
!rant
Had a dyslexic girl on my team doing Javascript for a few weeks, it was brutal to see her struggle with finding the errors the typing caused and even point them out to her when helping. She eventually quit our team and joined a Java team.
Anyone here with dyslexia doing programming? What language and what is your greatest challenges compared to your colleagues apart from the obvious?6 -
So I figure since I straight up don't care about the Ada community anymore, and my programming focus is languages and language tooling, I'd rant a bit about some stupid things the language did. Necessary disclaimer though, I still really like the language, I just take issue with defense of things that are straight up bad. Just admit at the time it was good, but in hindsight it wasn't. That's okay.
For the many of you unfamiliar, Ada is a high security / mission critical focused language designed in the 80's. So you'd expect it to be pretty damn resilient.
Inheritance is implemented through "tagged records" rather than contained in classes, but dispatching basically works as you'd expect. Only problem is, there's no sealing of these types. So you, always, have to design everything with the assumption that someone can inherit from your type and manipulate it. There's also limited accessibility modifiers and it's not granular, so if you inherit from the type you have access to _everything_ as if they were all protected/friend.
Switch/case statements are only checked that all valid values are handled. Read that carefully. All _valid_ values are handled. You don't need a "default" (what Ada calls "when others" ). Unchecked conversions, view overlays, deserialization, and more can introduce invalid values. The default case is meant to handle this, but Ada just goes "nah you're good bro, you handled everything you said would be passed to me".
Like I alluded to earlier, there's limited accessibility modifiers. It uses sections, which is fine, but not my preference. But it also only has three options and it's bizarre. One is publicly in the specification, just like "public" normally. One is in the "private" part of the specification, but this is actually just "protected/friend". And one is in the implementation, which is the actual" private". Now Ada doesn't use classes, so the accessibility blocks are in the package (namespace). So guess what? Everything in your type has exactly the same visibility! Better hope people don't modify things you wanted to keep hidden.
That brings me to another bad decision. There is no "read-only" protection. Granted this is only a compiler check and can be bypassed, but it still helps prevent a lot of errors. There is const and it works well, better than in most languages I feel. But if you want a field within a record to not be changeable? Yeah too bad.
And if you think properties could fix this? Yeah no. Transparent functions that do validation on superficial fields? Nah.
The community loves to praise the language for being highly resilient and "for serious engineers", but oh my god. These are awful decisions.
Now again there's a lot of reasons why I still like the language, but holy shit does it scare me when I see things like an auto maker switching over to it.
The leading Ada compiler is literally the buggiest compiler I've ever used in my life. The leading Ada IDE is literally the buggiest IDE I've ever used in my life. And they are written in Ada.
Side note: good resilient systems are a byproduct of knowledge, diligence, and discipline, not the tool you used. -
Remember folks, always test your code. Even if you're sure about your ideas there is something you haven't considered that fucks up everything driving you insane.
-
I'm thinking of designing a programming language.
I want it to have easy to read syntax like python. Inheritance and interfaces like java. More advanced concepts like pointers and memory management like c++.
I was originally going to write my own compiler but I figured it's not worth reinventing the wheel. So the current plan is to basically just create a parser that turns a source file into c++ code and then that is compiled with g++. The only problem I can think of with that is catching runtime errors.
How does this language sound?
My purpose is to have a language that is as easy to read as python but with the speed of a compiled program and the ability to use it for embedded projects. I feel like reading larger C++ projects can be quite time consuming. So I figure the trade off of taking a little longer to write the code to make it more obvious what is going on is better than having a lot of syntax that can be tough to walk though the logic of (I find this often with c and c++, not like I don't figure it out but It definitely takes longer than it does to read and understand python)4 -
I'm studying atm and I survived Haskell, SKI, ... now, in the second semester we started with Python (yeay ♡) and Java (that's fine).
One of the first exercises is about installing Jython ('cause it's good, right? /sarcasm off), using the lecturer's module and write some code for it. It's about painting some shitty graphics *gasp*...
I use PyCharm (not really necessary for these crappy exercises) and programming on Windows and/or Linux.
Downloaded Jython, installed it, set it as interpreter - works fine (win10, pycharm).
Some students got weird errors using linux - for me it's the same but meh Idc.
Today I tried using Jython on my notebook, too (win10, pycharm). Downloaded it from the Jython Project website. Can't update pip, can't run modules - error is about fckin charsets...
Some other student figured out - wrong version of Jython. The newer version has some bug fixes.
2.7.1 is the one and only - the download section of their website offers 2.7.0 as latest release...
So - how to know there is a version 2.7.1?
#1 version control website = Wikipedia
So... there is a blog, guy's writing about this release - this installer is hosted at maven central. Yeay. Obvious. Thanks.
Can't describe such stupidity - maybe it's the user again 😂 -
Before I went to school I was copying game code from book to atari computer cause it was faster than waiting for game to load from tape recorder ( especially when people are walking around on wood floor and you have constant read errors).
I probably wrote some magic spell that cursed me on my lifetime cause this shitty programming happened to chase me everywhere I go.
Damn you software you’re everywhere I go, why you’re haunting me all the time. It’s hard to find some quiet place without you watching.
So remember kids don’t write code you don’t understand cause it may fuck your life. -
A developer in my team just implemented a new design from a screenshot. Because the copy of the app isn't written in his native language he had written the copy from the screenshot letter by letter.
I told him I was really impressed with his work (almost no errors!), but to me it was unacceptable that he should have to go through all this trouble. I also told him that next time he could ask me to write down the copy for him (it's written in my native language).
So I'm curious: who else here is programming for apps that aren't written in your own language, and what are the challenges you face? Also: how can I help the developers in my team with this? -
So, i'm starting to hate being young...
I'm 19, and have been programming for 6 years, almost half of my life, people assume that due to my young age I must be an inexperienced incompetent, shit on me for every line of code I write, insult me every time I make a sintax error...
Well, now I'm working on my own on my first big project, a videogame (it's the reason I started programming in the first place), nobody blames me for their errors, I don't have to justify mi choices to people who don't want to understand and I can stop if I have to study for university...
All of this just to say one thing, please, before blaming the kid, think what you might have done wrong!5 -
I can't find a website I used years ago... maybe someone here remembers its name.
It was a place with daily code challenges, real time code battles, you had to fix bugs, syntax errors, you could choose different programming languages, and receive points based on the number of chars used to fix the issue, etc.
I hope it still exsits, it was really fun.
Thanks in advance!5 -
I don't drink, mainly because I'm not going to be 21 until November, but I have been extremely tired while programming before. One time it was like 4 in the morning and I just wanted to get my app to build successfully with no errors. I got that to happen, then went to bed. When I woke up seven hours later, I went back to work on the app some more, and I had no idea what I changed when I was borderline asleep to make the app build successfully. Go figure.
-
The setting is a computer lab on campus. The assignment was due tomorrow and I was just finishing up the code. I was a novice at C and programming in general at that time. I finish the ~250 lines of functions or so but behavior of the simple library isn't right. I'm getting wrong values and I cannot find the source - I hate myself for not testing incrementally. Then, after looking for hours piece by piece while looking at references and StackO, I realized that I improperly dereferenced a pointer, something like *(this) instead of (*this) in a function. I didn't even know that I was making a mistake because I missed one of the relevant lectures. After that I realized that the errors thrown by the compiler weren't all that bad...
-
I've been watching hours of Rust programming streams. Looks like no one knows what they're doing. People depend on the compiler to fix their errors but can't write one line without getting an error.7
-
Few of my frnds are doing a small hardware project , they need to make an android app for that, they arent much of devs and hadnt used an IDE yet.
They downloaded Android Studio and installed it. On trying to start project , an error poped up saying SDK is missing .😑.I have to set the path of sdk for them. After that they tried to start the first project. It worked and after a minute or so everything was done. I just waited for all squiggly lines and red colour in code to disappear , but they didnt. 😶
"Messages" showed lot of errors. I am also a noob so most of them were unfamiliar to me. I was a bit busy and was about to leave, so i couldn't say much to them other than to "google the errors, there will be simple solutions for all ".
My point is, if this is the kind off problem someone faces while starting out in android programming, wont they feel like quitting even before their "hello world" application is done.4 -
After three months of development, my first contribution to the client is going live on their servers in less than 12 hours. And let me say, I shall never again be doing that much programming in one go, because the last week and a half has been a nightmare... Where to begin...
So last Monday, my code passed to our testing servers, for QA to review and give its seal of approval. But the server was acting up and wouldn't let us do much, giving us tons of timeouts and other errors, so we reported it to the sysadmin and had to put off the testing.
Now that's all fine and dandy, but last Wednesday we had to prepare the release for 4 days of regression testing on our staging servers, which meant that by Wednesday night the code had to be greenlight by QA. Tuesday the sysadmin was unable to check the problem on our testing servers, so we had to wait to Wednesday.
Wednesday comes along, I'm patching a couple things I saw, and around lunch time we deploy to the testing servers. I launch our fancy new Postman tests which pass in local, and I get a bunch of errors. Partially my codes fault, partially the testing env manipulating server responses and systems failing.
Fifteen minutes before I leave work on the day we have to leave everything ready to pass to staging, I find another bug, which is not really something I can ignore. My typing skills go to work as I'm hammering line after line of code out, trying to get it finished so we can deploy and test when I get home. Done just in time to catch the bus home...
So I get home. Run the tests. Still a couple failures due to the bug I tried to resolve. We ask for an extension till the following morning, thus delaying our deployment to staging. Eight hours later, at 1AM, after working a full 8 hours before, I push my code and leave it ready for deployment the following morning. Finally, everything works and we can get our code up to staging. Tests had to be modified to accommodate the shitty testing environment, but I'm happy that we're finally done there.
Staging server shits itself for half a day, so we end up doing regression tests a full day late, without a change in date for our upload to production (yay...).
We get to staging, I run my tests, all green, all working, so happy. I keep on working on other stuff, and the day that we were slated to upload to production, my coworkers find that throughout the development (which included a huge migration), code was removed which should not have. Team panics. Everyone is reviewing my commits (over a hundred commits) trying to see what we're missing that is required (especially legal requirements). Upload to production is delayed one day because of this. Ended up being one class missing, and a couple lines of code, which is my bad (but seriously, not bad considering I'm a Junior who was handed this project as his first task at his first job).
I swear to God, from here on out, one feature per branch and merge request. Never again shall I let this happen. I don't even know why it was allowed to happen, it breaks our branch policies. But ohel... I will now personally oppose crap like this too...
Now if you'll excuse me... I'm going to be highly unproductive and rest, because I might start balding otherwise after these weeks... -
I am again utilising flowcharts for the structuring of my computer programs and strongly recommend to all of you similar behaviour; this facilitates the process of programming, because new tasks can be easily added and removed, and errors can be quickly spotted.3
-
"Most memorable bug you fixed?"
A recent instance happened in one of my Scratch projects, and the bug involved "Infinities."
I had an opportunity to teach kids programming, and it involved Scratch. So, to have something to show those kids at least, I decided to make a small game.
In that game, I had an object that takes some time before appearing after being cloned (i.e., instantiated.) The duration was calculated by dividing a constant with a variable:
[Wait for ((3) / (variable)) seconds]
The bug is that I forgot about the case where 'variable' can be 0, which is classic and insignificant.
Well, the thing is that I learned two things the hard way:
1: Scratch is very flexible about integers and floats (e.g., at one second, it looks like an integer, but one operation later, it's a float.)
2: Scratch does not provide any 'runtime errors' that can crash the project.
In other languages, similar "wait" methods take "milliseconds" in an integer, so it would have barfed out a "DivideByZeroException" or something. But Scratch was so robust against project-crashing behavior that it literally waited for f*<king "infinity seconds," effectively hanging that clone without warning or runtime errors. This masked my bug. It took way too long to debug that s#!+.
Don't blanket-mask any errors. -
I see a lot of people ranting about programming exams on paper. I acknowledged that not having a texteditor is not ideal. But not having a compiler is essential in testing the students programming skills in the first few courses.To many students are completely dependent on the compiler.
Syntax:
Some students writing C++ code have to try to build their program as many times they have lines because of all the syntax errors they make. Why think about all the ; if your compiler will tell you where they are missing?
Computational thinking:
As a programmer you should be able to look at (your own) code and be able to tell what the result should be. Of course this has its limits, but in the small exam questions they get in the first few courses they should be able to do that. To many first year students write a for loop without thinking about the starting value and the end condition. With the repeated process of running the program, changing the starting value or the end condition randomly they eventually get to the loop they need.
I think people underestimate the value of an exam without being able to compile or run your program. But I like to hear your reactions. -
I'm a Ruby on Rails developer. I love Rails because you can get so much done so quickly. I've built huge websites on Rails at the consultant shop where I work.
A couple of years ago we added a frontend guy to the team. We switched from doing full stack Rails to using Rails for API only with Vue with Typescript as the frontend. Since this transition took place, I am unable to get anything done on frontend. It takes a huge amount of effort to just add a new input box to a page. Our whole team is on the edge of getting laid off because we can't get things done in a timely fashion for clients and our products consistently run over time and over budget.
Here I'm trying to add an "Are you sure you want to delete this?" message to a form, and I'm on third hour trying to make Typescript happy. I want to assign a variable a value and I have to decipher errors like this "Type 'Ref<string>' is missing the following properties from type 'Vue<string, Record<string, any>, never, never, (event: string, ...args: any[]) => Vue<Record<string, any>, Record<string, any>, never, never, ...>>': $data, $props, $parent, $root, and 30 more." WTF?!?!
Am I just not smart enough for this? Why did programming suddenly become so hard for me? If I had to start off this way I wouldn't be a programmer because I wouldn't have been able to figure this out alone and it wouldn't have been any fun. Anyone else have the HATE for Typescript that I do?12 -
Tell me what is value of a "," ( comma) in programming?
Because
I spent a whole day debugging errors one after another and atlast the main reason of all errors leads to a fking comma 😑8 -
Ah, I have so many memories.
I was lab instructor at the local institute(it was more like tuition) where I had to train students for programming (C, C++, Core Java).
And my debugging skills got enhanced too, It was like I had to just look at the program and I could tell all the errors, it happens to everybody I think because our brain just find patterns un-consciously and it later becomes like one superpower.
No doubt there were a lot of bright students even brighter than me. Actually, that was my starting point where I broke out of my shell and started playing with coding a lot.1 -
My boss can barely speak the native language (Spanish) he keeps using grammatical errors and whenever he’s got an idea of how stupid he is he tries to reach us with explaining SOLID and programming paradigms…
I’m so stuck in this 8h, it pays well, but 90% of the time is just acting to admire someone who barely knows how to declare a variable5 -
One of the worst practices in programming is misusing exceptions to send messages.
This from the node manual for example:
> fsPromises.access(path[, mode])
> fsPromises.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK)
> .then(() => console.log('can access'))
> .catch(() => console.error('cannot access'));
I keep seeing people doing this and it's exceptionally bad API design, excusing the pun.
This spec makes assumptions that not being able to access something is an error condition.
This is a mistaken assumption. It should return either true or false unless a genuine IO exception occurred.
It's using an exception to return a result. This is commonly seen with booleans and things that may or may not exist (using an exception instead of null or undefined).
If it returned a boolean then it would be up to me whether or not to throw an exception. They could also add a wrapper such as requireAccess for consistent error exceptions.
If I want to check that a file isn't accessible, for example for security then I need to wrap what would be a simple if statement with try catch all over the place. If I turn on my debugger and try to track any throw exception then they are false positives everywhere.
If I want to check ten files and only fail if none of them are accessible then again this function isn't suited.
I see this everywhere although it coming from a major library is a bit sad.
This may be because the underlying libraries are C which is a bit funky with error handling, there's at least a reason to sometimes squash errors and results together (IE, optimisation). I suspect the exception is being used because under the hood error codes are also used and it's trying to use throwing an exception to give the different codes but doesn't exist and bad permissions might not be an error condition or one requiring an exception.
Yet this is still the bane of my existence. Bad error handling everywhere including the other way around (things that should always be errors being warnings), in legacy code it's horrendous.6 -
I swear I touched some weird and complex programming shit in over a decade of programming.
I interfaced myself through C# to C++ Firmware, I wrote Rfid antennas calibration and reading software with a crappy framework called OctaneSDK (seems easy until you have to know how radio signal math and ins and outs work to configure antennas for good performance), I wrote full blown, full stack enterprise web portals and applications.with most weird ass dbs since the era of JDBC, ODBC up to managed data access and entity framework, cloud documental databases and everything.
Please, please, please, PLEASE I BEG YOU, anyone, I don't even have the enough life force to pour into this, explain me why the hell Jest is still a thing in javascript testing.
I read on the site:
"Jest is a delightful JavaScript Testing Framework with a focus on simplicity."
Using jest doesn't feel any delightful and I can't see any spark of focus and simplicity in it.
I tried to configure it in an angular project and it's a clustefuck of your worst nightmares put togheter.
The amount of errors and problems and configurations I had to put up felt like setting up a clunky version of a rube goldberg's machine.
I had to uninstall karma/jasmine, creating config files floating around, configure project files and tell trough them to jest that he has to do path transformations because he can't read his own test files by itself and can't even read file dependencies and now it has a ton of errors importing dependencies.
Sure, it's focused on simplicity.
Moreover, the test are utter trash.
Hey launch this method and verify it's been launched 1 time.
Hey check if the page title is "x"
God, I hate js with passion since years, but every shit for js I put my hands on I always hope it will rehab its reputation to me, instead every fucking time it's worse than before. -
Please excuse: This is my first step into python. So consider this a beginners question:
https://github.com/paradonym/...
This forked script checks a twitter page for words and sends a mail (probably using .qmail) to the owner.
If I execute this python:
"[$USER@$HOST uberspace-downtime-notify]$ python fetch.py
Traceback (most recent call last):
File "fetch.py", line 11, in <module>
import html
ImportError: No module named html
"
Similar errors are fixed in this github commit https://github.com/datalib/... - but that's a more complex script and I don't quite get where the imported module is needed (on a code basis - on the logical basis all is clear)
Any idea for a guy with his first steps into python and back into programming languages since some years=5 -
I've reached the point where I write my Google sheets functions in the same IDE as my other programming, because it handles errors better...2
-
The bugs that make you think are the best/worst.
Had a ghost foreign key constraint from a dropped table. Cant drop it from a non existant table.
Turns out the dev copied a file for the new table and since you can technically name those foreign keys anything you want, there were no errors when he ran it.
Also sloppy/overworked dev teammates are the worst...
Also I'm pretty sure rule 2 of programming is "Never Copy and Paste" -
I’m too dumb to learn frontend frameworks.
I’m a backend developer, not the greatest but I get the work done. I can understand different programming languages even if I don’t write in them, you just understand basic principles and know what’s going on.
I can do some work in HTML, CSS and some JS.
But what the hell is with those popular frontend frameworks. I thought I pretty much understand how it works, so started doing some crap on my own, some pretty responsive navbar with dropdowns to start. Nevermind a million of npm packages to just start working and some weird errors in website source (“JavaScript is not enabled”, I spent few hours trying to fix it, but it’s just there, everything is working fine even with this message there). I have pretty navbar, nice, time to add dropdown.
Nope, not working. Maybe classic css solution?
Nope.
Ok, time to Google. What do I find? A million of npm dependencies that provide dropdowns, for some you need to pay, wtf.
But I want to write one on my own.
Found few tutorials that wasn’t even remotely helpful, it’s like with the online recipes, “when I was growing up on the farm…” and then something that it’s not working.
Finally found some nice looking tutorial, was following that and then.. it ended. It was maybe half of the solution, dude forgot about some components and just left.
I quit, I’m going back to writing jsp, my brain is too smooth for frontend frameworks2 -
I started learning to programming when my dad introduced me to it, I then just started teaching myself and learning via trial and error. Started in C#, went to web (learnt HTML, CSS, JS) then started on SASS and CoffeeScript, after that went to C and C++, then started looking at Angular, and now I'm on Ruby.
And every project from these languages has at least 10 errors -.-3 -
A friend of mine studies mathematics and he told me about a project he has to do and we worked on it together a bit: Numerically calculate the arctan.
He dug out a nice series by (the one and only) Euler and we started massaging the thing to get it into a bit of a nicer form (there were (n!)^2 and other shenanigans) and we eventually succeeded after some stupid simple errors and arrived at a quite simple recursive progression. After that he also found a formula to transform a given value into the region where our formula actually mimics the arctan and we proceeded to proof this formula. The programming was straight forward and now we only have to find the radius of convergence which I suspect is pi^2 (but no proof).
I had a lot of fun doing this, fiddling around with the formulas and then programming it to see it actually becoming real.3 -
any of you has experience with vs code + screen readers? we're trying to find tools for this kid to learn programming, but it's not easy. the screen reader reads punctuation but not {} and she's trying to learn C. also she's having a lot of trouble finding errors in the code, going back and forth, finding the right line.4
-
So yeah I just had Ubuntu show me two errors directly after startup, then claiming that there is a programming error in aptdaemon and then IntelliJ crashing because of a read-only FS.
After rebooting my VM im faced with a BusyBox prompt saying my disk is corrupted. Fuck VMWare. This is not the first time the disk in my VM got corrupted. -
In my experience programming, there's nothing scarier than fixing 29 errors, fixing the 30th error, debugging the script, and seeing you just made 70+ errors by fixing the last 30 errors.
-
Another hours wasted on debugging, on what I hate most about programming: strings!
Don't get me started on C-strings, this abomination from hell. Inefficient, error prone. Memory corruption through off by one errors, BSOD by out of bound access, seen it all. No, it's strings in general. Just untyped junk of data, undocumented formats. Everything has to be parsed back and forth. And this is not limited to our stupid stupid code base, as I read about the security issues of using innerHTML or having to fight CMake again.
So back to the issue this rant is about. CMake like other scripting languages as bash have their peculiarities when dealing with the enemy (i.e. strings), e.g. all the escaping. The thing I fought against was getting CMake's fixup_bundle work on macOS. It was a bit pesky to debug. But in the end it turned out that my file path had one "//" instead of an "/" and the path comparison just did a string comparison without path normalization.
Stop giving us enough string to hang ourselves!rant debugging shit scripts of death fuck file paths fuck macos string to hang ourselves fuck strings cmake hell12 -
I started programming with Threads (in C#) I though it can't be this difficult after i get it how to create a delegate right (2 hrs) and interact with my form without a crash (after another hr, but it didn't do this what it supposed to do) there popped up errors kind of randomly out of nothing and I have no idea how to avoid or catch them😩4
-
I really am in a love/hate relationship with programming...
I had some free time so I decided to do the Google foo bar challenge. For testing purpose, I code in sublime text and then copy the code in the browser.
Yesterday, I spent most of the afternoon doing one challenge. I figured out how to approach the problem, which was kinda easy, and coded it in about 10 minutes. For some reason, what worked perfectly in sublime text worked without throwing any errors in the browser, but 4 of the 5 test done by Google failed.
Today, after spending a good hour tweaking some stuff in the hope that it would work, the browser editor started throwing indentation errors...
Deleted the code in the browser, copy-pasted the exact same code from sublime : All test passed!
That's a couple of hours I'm never getting back. -
Python rant. Why does my 500 line Flask file look like one long oblong, & why am I adding comments that say “end of function” in *any* programming language when surely clear visual marking of this should be built in? Why did I spent 2 hours debugging SQLite3 dict factory function only to find the issue was a misaligned indented function block that my linter hadn’t picked up on because it appeared to be a logic error. Why do you make my missing tab spaces into logic errors Python? And why does everyone insist that curly braces are just as bad? Not in my world Python. Also, stop returning obscure objects unannounced like I’m supposed to know about it in advance, and stop making me run an entire file only to find I have another mystery type error because I expected x and got y. I hate you Python!!4
-
You ever get pissed at programming but also be having fun experimenting with getting something to work
I was up till 7 am angry at all the errors and issues but I couldn't bring myself to sleep until 7 when it worked a few consecutive times
Today I get to write tests -
People are like programming environments, in basics all people are the same like all programming environments are the same, every programming language have a loop and conditions, numbers, strings and dates. The problem starts with syntax to write code or can you call it communicate with person. There are syntax errors, someone use functions and classes and that’s ok but someone is writing everything in one file and then it’s hard to communicate or change something. But the real problem are libraries or you can call it believes. Everyone is believing something but when you start using it and want some advanced functions there’s always something missing. When you want to contribute to fix that stuff you often can’t cause it’s closed source or maintainers are pricks. You end up writing wrappers and decorators, ignore malfunctions to somehow live with that problem. That’s called social skills.
We’re just programming environments. That’s all.1 -
wish AIs were good at rust, borrowing rules, and async 😫
is it possible to have a impl of async &mut self on something that's gonna thread and update its own data via Arc Mutex or whatever or not
stop making syntax errors
guide pls
nobody uses rust, I swear. or at least they just do basic bitch "beginner" apps. please. get with the times and actually do something meaningful that's not picture perfect theoretical exercises. how come no one's RNG tested every feature against every other feature? where's your chaos monkey. the world is chaos! get with the times!
it would be nice if I stick this on the instance as a method but it _might actually never work_ if I try that so I don't wanna spend 3 days wrangling with the code to figure that out when I have a perfectly good dangling independent helper function in a random package here. gosh darnit
also apparently the only way to get something out of a Arc Murex is to clone it. but the API / usability of the thing would be exactly the same whether it was wrapped in Arc Murex or not. so it's like. if it was in Arc Mutex and you wanna use it in other parts of your app that aren't using multithreading in any way, are you just changing all the function signatures to Arc Mutex or are you cloning to get it back out? uegh I don't even. what if I mutex lock and just put that in the signatures (can I even? because I've tried using weird intermediary objects as part of signatures and then I get in trouble there too cuz arbitrarily the answer is "no" because some generic system limitation)? why all of this
May as well learn hieroglyphics but with French/English grammar exception rules on the side. yo dawg we heard you hate human languages with all their exceptions so we made programming languages the same way1 -
So... Tell me about your worst errors when deploying or programming something, your biggest fails. IM BORED AS HELL1