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 - "exceptions exceptions exceptions"
-
Yesterday, in a meeting with project stakeholders and a dev was demoing his software when an un-handled exception occurred, causing the app to crash.
Dev: “Oh..that’s weird. Doesn’t do that on my machine. Better look at the log”
- Dev looks at the log and sees the exception was a divide by zero error.
Dev: “Ohhh…yea…the average price calculation, it’s a bug in the database.”
<I burst out laughing>
Me: “That’s funny.”
<Dev manager was not laughing>
DevMgr: “What’s funny about bugs in the database?”
Me: “Divide by zero exceptions are not an indication of a data error, it’s a bug in the code.”
Dev: “Uhh…how so? The price factor is zero, which comes from a table, so that’s a bug in the database”
Me: “Jim, will you have sales with a price factor of zero?”
StakeholderJim: “Yea, for add-on items that we’re not putting on sale. Hats, gloves, things like that.”
Dev: “Steve, did anyone tell you the factor could be zero?”
DBA-Steve: “Uh...no…just that the value couldn’t be null. You guys can put whatever you want.”
DevMgr: “So, how will you fix this bug?”
DBA-Steve: “Bug? …oh…um…I guess I could default the value to 1.”
Dev: “What if the user types in a zero? Can you switch it to a 1?”
Me: “Or you check the factor value before you try to divide. That will fix the exception and Steve won’t have to do anything.”
<awkward couple of seconds of silence>
DevMgr: “Lets wrap this up. Steve, go ahead and make the necessary database changes to make sure the factor is never zero.”
StakeholderJim: “That doesn’t sound right. Add-on items should never have a factor. A value of 1 could screw up the average.”
Dev: “Don’t worry, we’ll know the difference.”
<everyone seems happy and leaves the meeting>
I completely lost any sort of brain power to say anything after Dev said that. All the little voices kept saying were ‘WTF? WTF just happened? No really…W T F just happened!?’ over and over. I still have no idea on how to articulate to anyone with any sort of sense about what happened. Thanks DevRant for letting me rant.15 -
Declare variables not wars,
Build packages not walls,
Execute programs not people,
Throw exceptions not stones.12 -
IOS SUCKS!! SWIFT SUCKS !! OBJECTIVE-C SUCKS!! SUCK MY DICK APPLE YOU PIECE OF SHIT !! Why did you have to make the language sooo counter intuitive, and so different from the popular languages you pain in the ass piece of shit, Why can't I throw exceptions from a constructor of a class?? Why do I have to use a fucking struct to just throw exceptions?? Can't class constructions fail you peice of shit?? huh? GOD DAMN IOS MAGGOT DEVELOPERS IF I EVER RUN INTO THOSE FUCKERS IM GONNA FUCKING RAPE EM BURN THEM ALIVE AND HAVE THEM FOR DINNER68
-
Like many others my favourote shameless hack is a cronjob to restart our app server at 2am, thus preventing out of memory exceptions5
-
When you finally accept that the code will never be bug-free and instead make friends with the uncaught exceptions.1
-
Did this on my first programming exam.
int index = 0
int value = 0
try {
while true {
value += array[index]
index++
}
} catch NullPointerException {
System.out.print("Sum: " + value)
}
The task was to add together all numbers in an array.
I somehow aced the exam, but got called in to teachers office this is not the way to use exceptions.7 -
After several months of bug fixing, I can proudly say the application I inherited at work has gone a whole day in production without an unhandled exception (from a peak of above 1200 a few months ago).
Well, either that or I've broken the error logging and am now living in blissful ignorance.4 -
Back when I was in college I had this CS professor who was by far the worst I can remember. The class was some bullshit 100 level required intro to CS course, and the guy tried to make it as difficult as possible. Beyond that, he was just a bad professor and did stupid things.
One of the most memorable things he did was give homework assignments, and then in order to collect them (it was a lecture class of about 150 people), he would have everyone pass their printed assignments to the right, and these sheets of paper traveled all the way across the lecture hall in every row of seats. It was a complete mess.
As you can probably guess, he frequently misplaced homework assignments, and many were probably lost through this ridiculous method of turning them in. Some people almost failed this ridiculously easy class because he lost their homework assignments. I think he lost like one of mine so it didn't matter much, but some other people in the class almost failed because of this. I think in the end he had to make a lot of exceptions because of this obvious trend.
Beyond that, he was an older guy who had worked for IBM, and he made that known at least once per class, usually more. "IBM this, IBM that!" So fucking annoying.
I'm glad to be long done with college.6 -
"A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila." - Mitch Ratcliffe
-
There's a fancy new coffee machine in the office. When it breaks, it displays java exceptions on the screen. 😂10
-
Worst dev team failure I've experienced?
One of several.
Around 2012, a team of devs were tasked to convert a ASPX service to WCF that had one responsibility, returning product data (description, price, availability, etc...simple stuff)
No complex searching, just pass the ID, you get the response.
I was the original developer of the ASPX service, which API was an XML request and returned an XML response. The 'powers-that-be' decided anything XML was evil and had to be purged from the planet. If this thought bubble popped up over your head "Wait a sec...doesn't WCF transmit everything via SOAP, which is XML?", yes, but in their minds SOAP wasn't XML. That's not the worst WTF of this story.
The team, 3 developers, 2 DBAs, network administrators, several web developers, worked on the conversion for about 9 months using the Waterfall method (3~5 months was mostly in meetings and very basic prototyping) and using a test-first approach (their own flavor of TDD). The 'go live' day was to occur at 3:00AM and mandatory that nearly the entire department be on-sight (including the department VP) and available to help troubleshoot any system issues.
3:00AM - Teams start their deployments
3:05AM - Thousands and thousands of errors from all kinds of sources (web exceptions, database exceptions, server exceptions, etc), site goes down, teams roll everything back.
3:30AM - The primary developer remembered he made a last minute change to a stored procedure parameter that hadn't been pushed to production, which caused a side-affect across several layers of their stack.
4:00AM - The developer found his bug, but the manager decided it would be better if everyone went home and get a fresh look at the problem at 8:00AM (yes, he expected everyone to be back in the office at 8:00AM).
About a month later, the team scheduled another 3:00AM deployment (VP was present again), confident that introducing mocking into their testing pipeline would fix any database related errors.
3:00AM - Team starts their deployments.
3:30AM - No major errors, things seem to be going well. High fives, cheers..manager tells everyone to head home.
3:35AM - Site crashes, like white page, no response from the servers kind of crash. Resetting IIS on the servers works, but only for around 10 minutes or so.
4:00AM - Team rolls back, manager is clearly pissed at this point, "Nobody is going fucking home until we figure this out!!"
6:00AM - Diagnostics found the WCF client was causing the server to run out of resources, with a mix of clogging up server bandwidth, and a sprinkle of N+1 scaling problem. Manager lets everyone go home, but be back in the office at 8:00AM to develop a plan so this *never* happens again.
About 2 months later, a 'real' development+integration environment (previously, any+all integration tests were on the developer's machine) and the team scheduled a 6:00AM deployment, but at a much, much smaller scale with just the 3 development team members.
Why? Because the manager 'froze' changes to the ASPX service, the web team still needed various enhancements, so they bypassed the service (not using the ASPX service at all) and wrote their own SQL scripts that hit the database directly and utilized AppFabric/Velocity caching to allow the site to scale. There were only a couple client application using the ASPX service that needed to be converted, so deploying at 6:00AM gave everyone a couple of hours before users got into the office. Service deployed, worked like a champ.
A week later the VP schedules a celebration for the successful migration to WCF. Pizza, cake, the works. The 3 team members received awards (and a envelope, which probably equaled some $$$) and the entire team received a custom Benchmade pocket knife to remember this project's success. Myself and several others just stared at each other, not knowing what to say.
Later, my manager pulls several of us into a conference room
Me: "What the hell? This is one of the biggest failures I've been apart of. We got rewarded for thousands and thousands of dollars of wasted time."
<others expressed the same and expletive sediments>
Mgr: "I know..I know...but that's the story we have to stick with. If the company realizes what a fucking mess this is, we could all be fired."
Me: "What?!! All of us?!"
Mgr: "Well, shit rolls downhill. Dept-Mgr-John is ready to fire anyone he felt could make him look bad, which is why I pulled you guys in here. The other sheep out there will go along with anything he says and more than happy to throw you under the bus. Keep your head down until this blows over. Say nothing."11 -
Java: Ok, any ideas on how to make women more interested in us ?
.
.
.
C++: Make more exceptions ?
Python: Redefine our methods ?
C: Stop treating them like objects ?
.
.
.
*Java furious at C*
.
.
.
*Java throws C out of the building*11 -
Dev: “Ughh..look at this –bleep- code! When I execute the service call, it returns null, but the service received a database error.”
Me: “Yea, that service was written during a time when the mentality was ‘Why return a service error if the client can’t do anything about it?’”
Dev: “I would say that’s a misunderstanding of that philosophy.”
Me: “I would say it’s a perfectly executed example of a deeply flawed philosophy.”
Dev: “No, the service should just return something that tells the client the operation failed.”
Me: “They did. It was supposed to return a valid result, and the developer indicated a null response means the operation failed. How you deal with the null response is up to you.”
Dev: “That is stupid. How am I supposed to know a null response means the operation failed?”
Me: “OK, how did you know the operation failed?”
Dev: “I had to look at the service error logs.”
Me: “Bingo.”
Dev: “This whole service is just a –bleep-ing mess. There are so many things that can go wrong and the only thing the service returns is null when the service raises an exception.”
Me: “OK, what should the service return?”
Dev: ”I don’t know. Error 500 would be nice.”
Me: “Would you know what to do with error 500?”
Dev: ”Yea, I would look at the error log”
Me: “Just like you did when the service returned null?”
<couple of seconds of silence>
Dev: “I don’t know, it’s a –bleep-ing mess.”
Me: “You’re in the code, change it.”
Dev: “Ooohhh no, not me. The whole thing will have to be re-written. It should have been done correctly the first time. If we had time to do code reviews, I would have caught this –bleep- before the service was deployed.”
Me: “Um, you did.”
<a shocked look from Dev>
Dev: “What…no, I’ve never seen this code.”
Me: “I sat next to Chuck when you were telling him he needed to change the service to return null if an exception was raised. I remember you telling him specifically to pop-up an error dialog ‘Service request failed’ to the user when the service returned null.”
Dev: “I don’t remember any of that.”
Me: “Well, Chuck did. He even put it in the check-in comments. See…”
<check in comments stated Dev’s code review and dictated the service return null on exceptions>
Dev: “Hmm…I guess I did. –bleep- are you a –bleep-ing elephant? You –bleep-ing remember everything.”
<what I wanted to say>
No, I don’t remember everything, but I remember all the drive-by <bleep>-ed up coding philosophies you tried to push to the interns and we’re now having all kinds of problems I spend waaaaay too much time fixing.
<what I said, and lied a little bit>
Me: “No, I was helping Nancy last week troubleshoot the client application last week with the pop-up error. Since the service returned a null, she didn’t know where to begin to look for the actual error.”
Dev: “Oh.”1 -
I login this morning
Everyone going crazy as prod is broken in a million ways. 2.5 million exceptions In 24 hours.
We talk for 1 hour and solve nothing.
I diagnose the 2 biggest sources of exceptions and explain every step I took with screen snippets to reach my conclusions
The one other competent person on my team agrees. Otherwise complete silence.
I'm told not to fix the issue because I am leaving in 6 weeks and other people have to start taking responsibility.
No one fixes the issues. Instead they leave early. Now it's the weekend and the product is fucked.
Fucking useless people. Can't wait to leave.12 -
Google sucks!
No, not as e-mail or for privacy reasons. Sure, that too, but it comes with "free" stuff.
It sucks because it's breaking every possible record in the worst, shittiest, most insanely stupid APIs and integrations out there on the entire fucking planet!
It is comically stupid!
Aside from their LOVE of hard-deprecating APIs every few months, requiring constant, time consuming maintenance of every tool that integrates deeply with Google services, some of their APIs, for expensive stuff, look like they've been written by Bobby McFartface from 7th grade.
Take a look at DoubleClick Search (their ad performance reporting tool, that sure does sound like one). To upload custom, additional data, you must pass in a ton of parameter, and they REQUIRE some of them to have a specific, hardcoded value. What's the point in passing that parameter then you dickheads?!
But fine, so you uploaded some stuff using the API. Now you want to delete everything and try again after you fixed a bug - well you fucking CAN'T! You can't delete stuff, you can only mark them as "deleted" using an update call.
Bulk operations? Fuck no!
Can I just add on top? Well of course not! That will raise a ton of exceptions. Same message should be transmitted using the PUT, not POST request, in order to edit.
Can I send everything to PUT? Of course not! You can't edit something that's not there, dummy!
Can I see what's there so that I can update it, and add what's missing?
Well of course not! Why on Earth would you need to see what information is in there after you uploaded it? Who needs that anyway?
Simply send, pray, and hope that everything will be fine (it will not).
Like holy fucking crap, it can't get any more stupid!
Google is a huge pile of idiots who feed on only a single cow - the search engine.
It's times like these when I think that Google right now is the worst thing that exists for everyone in tech. It's dragging everyone down with their monopolies everywhere and complete idiocy in managing them.5 -
Some days I feel like I work in a different universe.
Last night our alerting system sent out a dept. wide email regarding a high number of errors coming from the web site.
Email shows the number of errors and a summary of the error messages.
Ex. 60 errors
59 Object reference not set to an instance of an object
1 The remote server returned an unexpected response: (413) Request Entity Too Large
Web team responds to the email..
"Order processing team's service is returning a 413 error. I'll fill out a corrective action ticket in the morning to address that error in their service. "
Those tickets are taken pretty seriously by upper mgmt, so I thought someone on the order processing team would point out the 1 error vs. 59 (coming from the web team's code).
Two hours go by, nobody responds, so I decide to jump into something that was none of my business.
"Am I missing something? Can everyone see the 59 null reference exceptions? The 413 exception only occurred once. It was the null reference exceptions that triggered the alert. Looking back at the logs, the site has been bleeding null reference exceptions for hours. Not enough for an alert, but there appears to be a bug that needs to be looked into."
After a dept. managers meeting this morning:
MyBoss: "Whoa..you kicked the hornets nest with your response last night."
Me: "Good. What happened?"
<Dan dept VP, Jake web dept mgr>
MyBoss: "Dan asked Jake if they were going to fix the null reference exceptions and Jake got pissed. Said the null reference errors were caused by the 413 error."
Me: "How does he know that? They don't log any stack traces. I don't think those two systems don't even talk to one another."
<boss laughs>
MyBoss:"That's what Dan asked!..oh..then Jake started in on the alert thresholds were too low, and we need to look into fixing your alerting code."
Me: "What!? Good Lord, tell me you chimed in."
MyBoss: "Didn't have to. Dan starting laughing and said there better be a ticket submitted on their service within the next hour. Then Jake walked out of the meeting. Oh boy, he was pissed."
Me: "I don't understand how they operate over there. It's a different universe.
MyBoss: "Since the alert was for their system, nobody looked at the details. I know I didn't. If you didn't respond pointing out the real problem, they would have passed the buck to the other team and wasted hours chasing a non-existent problem. Now they have to take resources away from their main project and answer to the VP for the delay. I'm sure they are prefixing your name right now with 'that asshole'"
Me: "Not the first, won't be the last."2 -
Did you read about the new Digital Services Act and Digital Markets Act laws of the European Union, that will go in effect in 2022? Pretty neat stuff, more transparency, user rights and a tool against internet monopolies.
"Very big online plattforms" must submit reports on freedom of speech, abuse of human rights, manipulation of public opinion.
EU assigned scientists will gain access to trade secrets like google search or Amazon recommendation algorithm to analyze potential threats.
The EU can fine serial offenders 10 % of their yearly income. And break up companies that stiffle competition.
Internet companies like Facebook will not be permitted to share user data between their products like Instagram and WhatsApp.
There will be a unified ruleset on online advertisement. Each add must have the option to find out why this add is shown to the user.
Unlike the GDRP data protection rule the two acts will be valid at the Union level. So that there won't be any exceptions from single member states.
Let's hope this leads to a better Internet and not things like cookie pop ups 😄
Link to the EU DMA DSA page
> https://ec.europa.eu/digital-single...49 -
Well fuck me in the ass and call me Charlie.
I just had to bare witness to 2 years worth of files being deleted due to a minor.. well.. minor in the sense of not checking for an empty string, but massive fucking bug.
Thank all the gods of all the religions for backups!!4 -
I love when job postings are like, you will use THIS tool, and THIS is how it will be accomplished!!!! NO EXCEPTIONS!!!
bitch, i'm the senior engineer, I should be the one picking and choosing tools to match your needs, not you and HR pals!
no wonder your job offer still isnt' filled!
i'd love to ask these organizations why they chose such boomer technologies in the first place and why there is no effort to change to much more developer / user friendly tools.... just a red flag from the start11 -
Yesterday the web site started logging an exception “A task was canceled” when making a http call using the .Net HTTPClient class (site calling a REST service).
Emails back n’ forth ..blaming the database…blaming the network..then a senior web developer blamed the logging (the system I’m responsible for).
Under the hood, the logger is sending the exception data to another REST service (which sends emails, generates reports etc.) which I had to quickly re-direct the discussion because if we’re seeing the exception email, the logging didn’t cause the exception, it’s just reporting it. Felt a little sad having to explain it to other IT professionals, but everyone seemed to agree and focused on the server resources.
Last night I get a call about the exceptions occurring again in much larger numbers (from 100 to over 5,000 within a few minutes). I log in, add myself to the large skype group chat going on just to catch the same senior web developer say …
“Here is the APM data that shows logging is causing the http tasks to get canceled.”
FRACK!
Me: “No, that data just shows the logging http traffic of the exception. The exception is occurring before any logging is executed. The task is either being canceled due to a network time out or IIS is running out of threads. The web site is failing to execute the http call to the REST service.”
Several other devs, DBAs, and network admins agree.
The errors only lasted a couple of minutes (exactly 2 minutes, which seemed odd), so everyone agrees to dig into the data further in the morning.
This morning I login to my computer to discover the error(s) occurred again at 6:20AM and an email from the senior web developer saying we (my mgr, her mgr, network admins, DBAs, etc) need to discuss changes to the logging system to prevent this problem from negatively affecting the customer experience...blah blah blah.
FRACKing female dog!
Good news is we never had the meeting. When the senior web dev manager came in, he cancelled the meeting.
Turned out to be a hiccup in a domain controller causing the servers to lose their connection to each other for 2 minutes (1-minute timeout, 1 minute to fully re-sync). The exact two-minute burst of errors explained (and proven via wireshark).
People and their petty office politics piss me off.2 -
What's the worst thing you can say to a programmer parent?
"You've not raised kids.. you've raised exceptions"1 -
"Fatal Error"
Exceptions? No, let's just halt the entire program.
Apparently a CS professor wrote this code.
"Needed to keep the compiler happy"17 -
that's quite accurate :) ofc there are exceptions (looking at you two naughty bois, metaspace and off-heap allocations!), but it's true for the most of it :)5
-
try {
…..
} catch {
// this would never happen
}
and then it happened
fucking always print something when you catch exceptions15 -
Rather than singling out one person, I wanna present what I see as incompetent/stupid/ignorant:
- no will to learn
- failure to follow the very specific instructions & later asking for help when they FUBR sth & not even knowing what they did to fuck up in the first place
- asking how to solve stuff, then ignoring the suggestions & doing sth totally against recommendations
- failure to remember most basic stuff, especially if not writing it down to look at later when needed
- failure to check logs & 'google' stuff before asking why something isn't working the way they want it
- after two weeks, asking me how feature xy works, mind you they coded it, not me
- asking me why they did something in a specific way - WTF, am I a mind reader?! Who designed that crap?! Me or you?!!
- being passive/aggressive & snarky when told to do something or being asked why isn't it done already
- not testing their shit properly
- not making backups when upgrading (production) servers
- not checking the input value, no validation.. even after many many debacles on production with null ref exceptions
- failure to admit they fucked up
- not learning from (their) mistakes8 -
I'm fucking tired of this so called lead developer, lead developer my ass:
- He takes two days to complete a simple task and he dares to ask me why I extended the deadline of this freaking complex feature I need to build.
- He does a half-assed job when completes a task, no validation of data, no well informative message when exceptions are th thrown ...
- He assigns me his tasks although I already have tons and we need to release soon.
- I take care of developing and maintaining 60% of the APIs and I implemented the most complex of features and he dares to always say that my code can be optimized in a vague way, never mentioning what exactly is he talking about, and never telling me beforehand, he always does it during team meetings where another thing is being discussed.
- He presents the app to the whole company and at the end doesn't give credit where it's due, no " thank you for being part of this or helping build this" even if I built most of that shit, instead he says he's disappointed in me ... WTF! What did you fucking do to build this to be disappointed in me? I'm the fucking disappointed one here !!
- He fucking keeps preaching practices that he doesn't follow or he finds workarounds to skip them while the rest of the team follows them.
- He's like "I'm only taking care of this task to help you out?!" .... wtf! I have nothing to do with that fucking task, how are you helping me! You just keep fucking lazing around when we need to be finishing features asap.
Thank God I don't expect anything from you, I get enough credit from my boss who expresses how impressed he's with my job.6 -
I've met some brilliant people in my career, the problem is, the more brilliant, the more of a jerk they are (typically, there are some exceptions though). Sure you may be incredibly smart, but no one wants to work with that kind of arrogance and it's probably why you still can't find a job.4
-
I'd like to see a horror movie called "Exception", where the main character experiences exceptions which should not happen according to the code's logic.11
-
Yahoo, Kotlin is the first class language for android. So no more fucking Java codes. No more 100 lines for basic configurations. No more null pointer exceptions.
Only beautiful code and fun.14 -
I’m on this ticket, right? It’s adding some functionality to some payment file parser. The code is atrocious, but it’s getting replaced with a microservice definitely-not-soon-enough, so i don’t need to rewrite it or anything, but looking at this monstrosity of mental diarrhea … fucking UGH. The code stink is noxious.
The damn thing reads each line of a csv file, keeping track of some metadata (blah blah) and the line number (which somehow has TWO off-by-one errors, so it starts on fucking 2 — and yes, the goddamn column headers on line #0 is recorded as line #2), does the same setup shit on every goddamned iteration, then calls a *second* parser on that line. That second parser in turn stores its line state, the line number, the batch number (…which is actually a huge object…), and a whole host of other large objects on itself, and uses exception throwing to communicate, catches and re-raises those exceptions as needed (instead of using, you know, if blocks to skip like 5 lines), and then writes the results of parsing that one single line to the database, and returns. The original calling parser then reads the data BACK OUT OF THE DATABASE, branches on that, and does more shit before reading the next line out of the file and calling that line-parser again.
JESUS CHRIST WHAT THE FUCK
And that’s not including the lesser crimes like duplicated code, misleading var names, and shit like defining class instance constants but … first checking to see if they’re defined yet? They obviously aren’t because they aren’t anywhere else in the fucking file!
Whoever wrote this pile of fetid muck must have been retroactively aborted for their previous crimes against intelligence, somehow survived the attempt, and is now worse off and re-offending.
Just.
Asdkfljasdklfhgasdfdah28 -
found this in our codebase today
try {
//do something
} catch () {
try {
//do something else
} catch () {
try {
//do something else else... this goes on 4-5 levels deep
} catch () {
//log... couldn't do
}
}
}9 -
People/companies talking about ooh we want gender diversity we want more female software developers, IT professionals etc
You talk the talk, do you know how to walk the walk?? Do you know how to deal with female engineers?
I am a hardcore engineer worked and studied majorly with men for years. I lead, managed teams had my own company worked as a consultant for years.
Then I got into the IT industry as developer later. I was completely against the idea of being female would make any difference or you would be treated differently.
Finally I had my own enlightenment and stopped resisting that idea.
Some treatments made me think what are these guys doing? Don’t treat me like your sister. I am not your sister. Don’t see the femininity or looks. I am not a Merrilyn Monroe to say oooh you are great you know soo much. I am not paid for that act, I do my job! It’s same as yours mate.
Don’t underestimate me or try to preach me as if I am a cute little girl. Don’t show off and boost your ego next to other guys.
Now I regretfully I agree the ladies ranting about male dominance and getting different treatment in IT.
I am literally trying to avoid red nail polishes or red lipstick god forbid. Maybe I should put some fake beard and a belly, loose jeans with an energy drink in hand. Here comes the expert IT professional, already ticking a box.
Honestly you are not taken seriously most of the time. If you are a guy then they are all ears..And those guys talk about they want gender diversity blah blah
You feel like a ghost when you express your opinion. You are not taken into account even when you have a comment or suggestion.
Even humiliated by a guy giving me a speech about how to be a good developer next to a manager. Look buddy I am not a yesterday’s child. I am at your age. I haven’t come to this position by jumping around picking flowers in a field. If I was a man, would you dare saying those to me? There could be a street fight coming.
LinkedIn selfie takers with body show offs putting ooh I am an IT recruiter as a female I got into IT. You can do it too. (don’t get me wrong I respect that achievement that’s good) but those girls get thousands of likes and applauses, you are working in IT for years people say they are seeking for. Your technical post doesn’t even get 20 likes. Your encouraging comment on a guy’s post isn’t even acknowledged. You are not even taken into account. Am I a ghost or something?
Honestly I don’t understand.
What do you mean by gender diversity? What do you want here?
Leave this gender bullshit. Look at the knowledge you don’t even know what equality means. It’s not having even numbers of genders. It is respecting knowledge and hard work regardless. Listening and acknowledging without judgement. Looking beyond male, female or others
Companies that say we want to have more females, you don’t come and knock on my door either. You are already stating a difference there. Attract with indifference don’t come and tell me you are a female we want more females here.
I’m telling you this sector is not getting proper gender equality for 25 years. Talk is there but mentality is not yet there.
I am super pissed off and discouraged today. I don’t even get discouraged that easily. Now I understand some women in IT talking about insecurities. I am on the edge of having one, such a shame.
Don’t come at me now I would bite!
This is my generalisation yes. Exceptions apply and how good it would have been if those exceptions were dominant.33 -
"Change your algorithm"
Answers like this are why Stack Overflow almost becomes worthless when asking questions. I asked for some clarification why my code, which reads some files and outputs another, was hitting System.OutOfMemory exceptions. And that was the response I got.
"Change your algorithm"
How? In what manner should I be seeking to change my algorithm? OBVIOUSLY I SHOULD CHANGE MY ALGORITHM YOU WASTE OF OXYGEN. That was a given by the exception my program threw!
I swear to god, SO has got to be one of the most unwelcoming, condescending sites on the internet.5 -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.6 -
I used to work for a Mexican bank in Mexico, as a developer I opened (and use) an account, since the bank was not famous(most of its business was with the government), going to the bank and see no waiting lines was an advantage, so I started using it as my only bank account even nowadays.
Now I live in NYC, and some years later I see on the news the bank merged(was absorbed) with another bank, 'sounds good, I don't care' I thought.
Well, I open my online account and the nightmare begins:
1) Redirection to the 2nd bank page
2) My credentials does not work
3) Call the original bank(no answers)
4) After several calls and days I got a phone contact
5) 'well, try all other passwords you have' (transaction passwords, operative passwords, login passwords, etc), among many other stupid answers, which by the way, were preceded by infinite question about the 2nd bank, like:
- when did you open the account with the 2nd bank?
- what is your 2nd bank account number
6) after 20 calls like that, they asked for documents, information and screenshots, and send all that to the 2nd bank tech help email.
7) After several days a person responded: 'Go to your bank(which fucking bank?)' and ask for a new user.
8) a ton of calls to know what bank I was assigned
9) called the bank: 'well, you have to come in person(no exceptions allowed) and request to close your 1st bank account and open a 2nd bank account' (I am not sure if that is gonna work)
All the technology nowadays and still I have to travel thousands of miles hoping this 'solution' works.
to be continue....2 -
So the story start like this, 6 months ago i left my job in a big company for an oportunitiy to work on a new one without all the bureocracy and shit and with better benefits , the first months were wonderful we were using a nice stack of technologies and the team that was assembled was a nice one with smart and hard working people with a few exceptions, but overall very good. One day out of the blue the manager started to presure us to release a project that was on time and wanted us to make extra hours and work on saturdays, sadly we blindly did because we cared for what we were creating, fast forwarding to yesterday, the whole team was called to a meeting and our contracts were terminated without previous advice because the company could not afford to pay us for more time and blahblahblah..., soo here i'm feeling used and sad but with renowed feelings about starting my own business!!20
-
The GashlyCode Tinies
A is for Amy whose malloc was one byte short
B is for Basil who used a quadratic sort
C is for Chuck who checked floats for equality
D is for Desmond who double-freed memory
E is for Ed whose exceptions weren’t handled
F is for Franny whose stack pointers dangled
G is for Glenda whose reads and writes raced
H is for Hans who forgot the base case
I is for Ivan who did not initialize
J is for Jenny who did not know Least Surprise
K is for Kate whose inheritance depth might shock
L is for Larry who never released a lock
M is for Meg who used negatives as unsigned
N is for Ned with behavior left undefined
O is for Olive whose index was off by one
P is for Pat who ignored buffer overrun
Q is for Quentin whose numbers had overflows
R is for Rhoda whose code made the rep exposed
S is for Sam who skipped retesting after wait()
T is for Tom who lacked TCP_NODELAY
U is for Una whose functions were most verbose
V is for Vic who subtracted when floats were close
W is for Winnie who aliased arguments
X is for Xerxes who thought type casts made good sense
Y is for Yorick whose interface was too wide
Z is for Zack in whose code nulls were often spied
- Andrew Myers4 -
Rule 34.
"If it exists, there is porn of it. No exceptions." Rule 34 (novel), by Charles Stross
Same thing applies to npm modules.17 -
The more I use Go, the more i start to like it. I didn’t realize how nice being able to generate binaries for every OS that matters was, until I had that power. It beats the hell out of trying to distribute a Python app for sure.
Sure, it has its warts.
It’s overly bureaucratic in the same way Java is.
I hate that you can’t import something without using it (most people I’d wager preemptively import libraries they know they’re gonna need even if the code isn’t written yet)
I really wish there was a way to just say “See this JSON blob? All those keys and values are strings, trust me, you don’t need me to tell you the type of each one individually.”
Generics would be nice.
I’d kill for exceptions - any decently sized go program is going to have very many if err checks where most could be condensed down to a single try/catch in most other langs.
I wish the tooling was better. Dependency management was a solved problem when Go was released and yet they chose to ship without it. There’s still no standard. Many hours of time have been wasted dinking with this.
But ya know what? Even with those warts, it’s still easier to write than Java. It’s still write once run anywhere, it’s blazing fast, and doesn’t require your end user to install an entire freakin runtime.
<3 Go2 -
dear api author at my company pt. 2:
If you're gonna create an api method that takes some arguments.
And one of those arguments is an array.
THEN MAKE THE FUCKING ARGUMENT'S NAME PLURAL YOU FUCKING PIECE OF SHIT.
REPEAT WITH ME, MOTHERFUCKER.
ARRAY, PLURAL, NON-ARRAY, SINGULAR.
I need to pass a shitload of filters for the data for this table, and for every suckin fuckin filter I need to singularize this shit. Thank god for es6.
I know this sounds like nitpick, but I swear to fucking alpha omega this guy is inconsistent as fuck.
Every time it feels like he makes up a new rule.
Sometimes I need to send arrays of ids, other times arrays of objects with an id property on each.
He uses synonyms too, sometimes it's remove, other times erase.
PICK ONE MOTHERFUCKER.
If you can't do the basic things well, then what is to expect of more advanced stuff?
Naming conventions you fucking idiot, follow them. It's programming 101.
You're already sending them as plural in the fucking response. Why change them for the request?
And that's just style, conventions.
This idiot asshole also RARELY DOES ANY FUCKING CHECK ON THE ARGUMENTS.
"Oh, you sent a required argument as null? 500"
We get exceptions on sentry UP THE ASS thanks to this useless bone container.
YOU'RE SEEING THE EXCEPTIONS TOO!!!!! 500'S ARE BUGS YOU NEED TO FIX, YOU CUMCHUGGER
And sometimes he does send 400, you know what the messages usually are?
"Validation failed".
WHYYYYYY YOU GODDAMN APATHETIC TASTELESS FUCK???
WHAT EXACTLY CAUSED THE FUCKING VALIDATION TO FAIL????
EXCEPTIONS HAPPEN AND THANKS TO YOU I HAVE NO IDEA WHY.
The worst of all... the worst of fucking all is that everytime I make a suggestion to change shit, every time, you act like you care.
You act like the api is the way it is because you designed it in a calculated manner.
MOTHERFUCKER. IF A USER HAS ONLY PRODUCT A, THEN HE SHOULDN'T BE ABLE TO ACCESS DATA FOR PRODUCT B. IT IS NOT ENOUGH TO JUST RESTRICT SHIT WITH ADMIN ROLES. IDIOT!!!!!
This is the work of someone who has no passion for programming.10 -
When you want to filter Android studio by exceptions for your app and the exceptions that pop-up are from another app lol, in this case SoundCloud.
-
TIL: C# has a "Catch When" syntax to help you filter exceptions. It already allows you to filter by Exception type, but this is news to me since it allows for finer filtering like:
try
{
//Shit code that will throw an exceptions more than Hillary's tantrums about the elections
}
catch (ExceptionType ex) when (ex.ErrorCode = "0x696666")
{
//Log this fuck up
}
catch (Exception ex)
{
//More logs
}
finally
{
//Run code that doesn't depend on the successful execution of prev code
}
I love C# and use it every single day, but this "When" keyword in Try...Catch...Finally blocks is new to me and will be interesting to start using it now :)3 -
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 -
Is it only me who gets screwed up by such silly little things?
Last night I was working on an Android app. I connect it to a URL. It always threw exception. I scratched my head for one whole hour to find out that Cellular Data was not turned ON on the emulator. 😛1 -
cssRant
Why for the sake of world peace can't Edge inherit "opacity" to children?
This drives me insane!!!11!!one!eleven!!1!!
Get you fucking turds together dear browser developers!
The whole webDev business gets serious crippling depression from your brainless way of pooping out what you call "browser"!6 -
Inmates are trying to take over the asylum again.
Got a message from the web team manager deeply concerned because since switching to the new logging framework, the site is significantly slower.
She provided no proof or any data to what 'significantly slower' means.
#1 The 'new logging' has been in place and logging for 5 years. We only recently depreciated the ILogger interface ('new' ILogger interface only has 1 method instead of 5)
#2 The 'old logging' was modified 5 years ago, so even if you were using the 'old' interface, the underlying implementation is still the same.
She tried to push the 'it wasn't this slow before' argument, so I decided to do some fact based analysis.
Knowing they deployed their logging changes couple of weeks ago, I opened up AppDynamics, looked at the average call time to Splunk (along with a few other http calls they are doing)
- caching services - 5ms
- splunk - 30ms
- Order Service - 350ms
- Product Data Service -525ms
Then I look at the data they are logging, for the month of June, over 5 million messages. At 30ms each, that's almost 42 hours spent logging errors...yes errors. Null reference exceptions, Argument exceptions, easily fixable stuff.
So far for the month of July (using the 'new' logging), almost 2.5 million errors. Pretty close so far with June's numbers.
My only suggestion was to fix the bugs in their code so they don't log so many errors.
Her response.."Can we have one of our developers review your logging code? We believe we can find ways to optimize the http requests"
Oh good Lord. I'm not a drinking man..but ...I might start.1 -
Me: develops my first android app with firebase by google.
Me: finishes app, tests it and it works.
Firebase after 3 months: we were first going to scale our servers on our own based on how many people are simultaneously using your app. But now fuck you, we will have a cap of 100000 simultaneous users.
Me: fuck this kills my app if it scales. Have to Shard everything on the db side and overhaul the entire app to work will multiple db instances. Takes a month.
Android after 6 months: dude your app is working fine without any hiccups. Let me fuck it up. We will stop all your services when your app is not running or backgrounded. Also we will make it illegal to start services in this case and we will throw exceptions.
Me: what the actual fuck. They now want me to focus on a JobScheduler, fine... But now even intent services won't work properly. So use a job scheduler to start a JobIntentService which is essentially another job scheduler for queuing. wtf android.
Ps solved it and works again.
PS: WAITING FOR ANDROID TO FML WITH ANOTHER NEW VERSION. Maybe they'll say you can't run your app at all now4 -
Worst. 2 am on campus, js file for a web app project. It didn't work, no exceptions thrown, no errors. I call the assistant teacher. He calls the teacher. Teacher calls the head of department. Four of us staring at the screen for an hour, trying different browsers, environments etc
3 am, switch cases had semicolons rather than colons. Sleepy coding is the worst.7 -
I hired 2 fresh out of school junior devs to work with me on my old web app.
They were brilliant, knew a lot of things, and were motivated.
They started complaining about how the code was shit, the db was shit, there were no best practices, the technology was old, bug fixing was boring, no comments in code.
I felt bad, very bad during 3 years, because they were absolutely right. I tried to work with them through better coding practices, rewriting, documenting etc.
Now they both have left.
I'm alone maintaining and evolving the application.
And I start to come across the code THEY developed.
What a bunch of shit. SQL queries bringing down the server. Duplicate code, because they didn't want even read the old one. Useless comments.
Performance killing functions. Exceptions swallowed without mercy. I have to clean up they poop.
I feel somewhat better, though. The application is still growing and holding the ground after many years and generating at least 800K$ per year in revenues.
Maybe better, but sad. I really wanted to share the project with somebody else but I failed, and I'm left alone....12 -
In PHP (yes, it's a language I... don't hate) I've always hated exceptions. They're like GOTO, in an OOP world with interfaces and contracts, try/catch is really odd as it breaks a promise about returning with a typed value.
But you can now do this in PHP8, which comes pretty close to Maybe/Either monads (Option, Result whatever it's called in other languages):
function getUser(): User | UserNotFound
PHP8 unions don't come with the same strong guarantees as in other languages but *pets PHP gently on the head* you did well, my boy.
Now I would really love it if PHP9 could do:
function getUsers(): Collection<User>
Type Tree<T> = Null | Node<T>;
function 🎄(): Tree<Branch<Ornament|Light|null>>15 -
Porting Java Code to Kotlin manually, just to get a better understanding of the language. Best thing so far, NO more Assertive Exception Handling.
Damnit Java, I know it for a fact that the damned thing won't throw an exception! There's Careful and Paranoid. KNOW THE DIFFERENCE5 -
Why is it that pretty much zero package & framework maintainers understand semantic versioning?
1. If you do a complete rewrite of your package, but the resulting API is identical, you don't need to bump to the next major version. As a user, I'm thankful for your increased performance or cleaner internal code, but it doesn't really affect my update process.
2. If your package required some-framework 6.0.0, and now ALSO supports some-framework 7.0.0 but is still compatible with 6.0.0, you don't need to bump to the next major version. As a user, I can now upgrade the framework, and know that the package will keep working, but otherwise it doesn't really affect me.
3. Following your versioning along with the framework/language version is super annoying, especially if your library really doesn't need to differentiate between framework versions because it's not actually utilizing new framework functionality.
4. On the other hand, if you stop supporting a certain language, framework or shared library version, or change the public methods, exceptions, fields, etc, you MUST bump to a new major version.
Yet everyone gets this wrong.
For example, many of Laravel's underlying subpackages (for collections, filesystem, database, config, http, mail, etc) do not change their code in a breaking way, or do not even change at all between major framework versions.
Yet they follow along with the major framework version.
Now if someone makes a library "laravel-elasticsearch" which uses the support libraries and collections from laravel, they need to update their package to move along with the versions as well, and often they choose to number their library along with the framework in turn.
This means that to update the framework, you also need to update over 9000 dependencies.
FOR NO FUCKING REASON. THE ONLY CHANGE IN THOSE FUCKING DEPENDENCIES IS TO UPDATE COMPOSER.JSON TO BE COMPATIBLE WITH THE FUCKING FRAMEWORK.
Meanwhile, Laravel itself breaks repeatedly on minor/patch version updates, because breaking changes slip through their review process.
Ugh.3 -
The best software license ever seen :
my patches and additions on top of Ian's code are licensed under the ABSE ("Anyone But Stefan Esser") license.
note that an additional exception to the license is added, forbidding use/redistribution of said content to his
trainees as well, but only when in a 5 mile radius from "Stefan Esser" or while holding any sort of (video)conference/chat with him.
note that this license will only be used as long as what would capstone decode / that one other arm64 ida
plugin thing by i0n1c ("Stefan Esser") are not under the MIT license.
afterwards, all exceptions are cleared and basically WTFPL applies
if you need a copy of the rest of the license feel free to google it or something.3 -
Fuck uninspired jr devs that are simply collecting a pay check.
I have been handed a project that a jr dev was allowed to wallow on for over two fucking years. This lazy mother fucker managed to create 5 functions, a whole fucking mess of bullshit that I now have to straighten out on top of the 8 other things that I have to deliver on in the next month.
They never followed requirements. Not-a-one. The API is fully broken. The DB schema is BEYOND fucked. There's ZERO validation/sanitation on I/O. The deployments only work half the fucking time. Their code is so spaghetti I'm getting triggered from when I worked at Olive Garden with Eminem. But hey, at least they were able to demo it to the client to say "it works".
I don't condone violence, but every time I find malformed if statements, linter exceptions, broken deploy configurations in this project -- I just want to kick them in their stupid fucking face.
Wherever you ended up you piece of shit, I hope your dreams of becoming a rich asshole only bring you unending despair. I believe you can make it though, because you're already halfway there.5 -
PHP arrays.
The built-in array is also an hashmap. Actually, it's always a hashmap, but you can append to it without specifying indexes and PHP will use consecutive integers. Its performance characteristics? Who knows. Oh, and only strings, ints and null are valid keys.
What's the iteration order for arrays if you use them as hashmaps (string keys)? Well, they have their internal order. So it's actually an ordered hashmap that's being called an array. And you can produce an array which has only integer keys starting with 0, but with non-sequential internal (iteration) order.
This array weirdness has some non-trivial implications. `json_encode` (serializes argument to JSON) assumes an array corresponds to a JSON array if its keys are consecutive integers in increasing order starting with 0, otherwise the array becomes a JSON object. `array_filter` (filters arrays/hashmaps using callback predicate) preserves keys, so it will punch holes in the int key sequence if non-last items are removed, thus turning arrays into hashmaps and changing your JSON structure if you forget to discard keys before serialization.
You may wonder how JSON deserialization works, then? There's a special class for deserialized JSON objects, `stdClass`. It's basically a hashmap too, but it's an object, not an array, and all functions that would normally accept arrays won't work with it. So basically its only use is JSON (de)serialization. You can even cast arrays to objects, producing `stdClass`.
Bonus PHP trivia:
Many functions return nonsensical values. `preg_match`, the regex matching function, returns 1 for success, 0 for no matches and false for malformed regular expression. PHP supports exceptions, so it could just throw one on errors. It would even make more sense to return true, false and null for these three cases. But no, 1, 0 and false. And actual matches are returned by output arg.
`array_walk_recursive`, a function supposed to recursively apply callback to each element of an array. That's what docs say. It actually applies it to leafs only. It will also silently accept object instead of array and "walk" it, but without recursing into deeper objects.
Runtime type enforcing is supported for function arguments and returned values. You can use scalar types, classes, array, null and a few special keywords. There's also a `mixed` keyword, which is used in docs and means "anything". It's syntactically valid, the parser will accept it, but it matches no values in runtime. Calling such function will always cause a runtime error.
Strings can be indexed with negative integers. Arrays can't.
ReflectionClass::newInstanceWithoutConstructor: "Creates a new class instance without invoking the constructor". This one needs no commentary.
`array_map` is pretty self-explanatory if you call it with a callback and an array. Or if you provide more arrays of equal length via varargs, callback will be called with more arguments, one from each array. Makes sense so far. Now, you can also call `array_map` with null instead of callback. In that case it treats provided arrays as rows of a matrix and returns that matrix, transposed.5 -
try {
// something
} catch (SomeException e) {
}
Swallowed Exception.. what the fuck is wrong with you?! And I see this shit in a lot of places in the code!7 -
I have been a frontender for a long time. I recently showed interest in backend development, and said to my boss that that is what I would like to pursue. He said that was never going to happen and I would only be a frontender in this company.
A lot of horrible things happened, some of the Lead Developers bailed and another developer flatly out committed industrial spionage on the company.
Then because of shortage of staff, gave me backend tasks, which all I completed within deadlines with few exceptions of course.
My project manager was very impressed about it.
Then I noticed the project management didn't concern themselves with ongoing projects, they became more focused on customer support and management of unhacking etc.
I noticed a wide gap that made it so all projects went past due the time because lack of coordination and planning
I stepped in because I was annoyed that this was common practice in the company.
While my two bosses were on vacation, they nominated me to be the "boss" of the company.
I earn close to minimum wage, and I felt this wasn't fair if I was to continue to do what I have done. So when our boss called us into a meeting and he said that he was going to move slowly away from the company, he said we should keep the reins of the company.
I didn't say much then, because I didn't feel like taking on so much responsibility I knew I wasn't to gain anything from more than knowledge.
I confronted him today and told him how I have felt throughout a long time. He basically said I hadn't proven myself and because of my young age, I didn't deserve to have more right now.
I was annoyed, he said he expected the same from every coworker and that I wasnt special or unique and that I could easily be replaced.
Not to mention I never got to finish a sentence without him interupting me or raising his voice to deafen out mine.
Have you ever had this experience and how did you feel? I feel terrible to be honest..11 -
The last software I worked on in my previous company (a few months back), was a temporary replacement because they were switching techs. It was meant to be replaced within 2 years.
So, before I left, I added a kill. 2 years and 2 months into the future. First it spams the devs with emails "how is the tech upgrade going?" with no further clues. 6 months later it will start throwing random exceptions at random intervals. 6 months after that it just terminates the application immediately upon startup. Snuck it in between large commits, and since they stopped code reviews when I left, doubt they found it.
There is a setting in configuration with an obscure name to disable it all.
I marked the dates in my calendar. Would love to be a fly on the wall then.3 -
My only nemesis are sales people.
* They try to sell the impossible to the customer.
* They think even the biggest change takes only some minutes to implement, and tests do not even exist.
* They promise to deliver an app within half the time which means we have to cut out animations or some tests to deliver when due.
* They often get a commission (sometimes not as part of profit but revenue!) for calling their pals and asking them if they wanna buy something new (some say they also take the risk, but they don't, the company does).
There may be exceptions, but my perceived ratio between good and bad sales is about 1/20.
Now I am in a very small company with only one sales guy. Guess what, he is a good one! I hope he stays forever.6 -
While building a Java net sniffer app, I finally write the code to run a Linux binary in a separate process after three days. It works perfectly!
Then I export my app to a runnable jar file.
About nine exceptions are thrown, including a security exception. So much for being done. 😐5 -
Trying to discover why the DB listener wasn't being called in my app for like 30min. Many log messages, no exceptions or errors, DB rules revised, DB content revised, changed constructors, simplified code and nothing worked... problem: the phone's wifi was disconnected.2
-
I know I was one at some point, but juniors can be so frustrating at times.
After some pairing for a while they're quick to adopt the "Dev" mindset and think as far as they need to...
... but with this latest batch... that day couldn't come sooner 🫠
Having to explain how exceptions work again is the last thing you wanna do under tight time constraints 🙃7 -
1. Learn to read and understand the errors and exception messages. While writing code you're going to be facing exceptions most of the time and the real cause of them is under a lot of generic error messages. That and a lot of patience and perseverance.
2. You're going to face clients and bosses that ask you to do a temporary "workaround" even though you know there is a best way to solve a problem even if it takes more time and effort. Don't "crash" against their ideas, try to find a mid-term between the fast and easy work around and the best solution and leave it open to improve it in the future. I have met a lot of developers that let the frustration stops them to be creative just because the approved development is not what they wanted to do. -
So it's 23h30 last night and I've turned on the projector to watch the last episode of Mr Robot.
As I start the episode, I receive an email on my phone telling me that some important Azure webjob is throwing exceptions...
Fuuuuuuuuckkkkkkkkk
1 hour later it was fixed, and I watched my episode. Win!2 -
Wanna hear a story? The consultancy firm I work for has been hired to work on a WPF project for a big Fashion Industry giant.
We are talking of their most important project yet, the ones the "buyers" use to order them their products globally, for each of the retail stores this Fashion giant has around the world. Do you want to know what I found? Wel, come my sweet summer child.
DB: not even a single foreign key. Impossibile to understand without any priopr working experience on the application. Six "quantity" tables to keep aligned with values that will dictate the quantities to be sent to production (we are talking SKUs here: shoes, bags..)
BE: autogenerated controllers using T4 templates. Inputs directly serialized in headers. Async logging (i.e. await Logger.Error(ex)). Entities returned as response to the front end, no DTOs whatsoever.
WPF: riddled with code behind and third party components (dev express) and Business Logic that should belong to the Business Layer. No real api client, just a highly customized "Rest Helper". No error reporting or dealing with exceptions. Multiple endpoints call to get data that would be combined into one single model which happens to be the one needed by the UI. No save function: a timer checks the components for changes and autosaves them every x seconds. Saving for the most critical part occurring when switching cells or rows, often resulting in race conditions at DB level.
What do you think of this piece of shit?6 -
People talk about how they would love to switch to Linux, but cannot, as they claim that gaming lives on Windows. This may have been the case ten years ago but it isn't now.
And further, Microsoft is working hard to break steam, humble, gog, and any other delivery systems they do not control. Such anti-consumer behavior should not be tolerated, let alone rewarded. One result of this is that almost every indie game that comes out now has native Linux support within months, if not on day 1.
The only weak spot is AAA games. But as AAA games and mobile games begin to converge, in terms of the subscription/microtransaction models they're both moving toward, with very few exceptions, I personally don't think I'm really missing anything when I see a Windows-only game for $60 with no Linux support.
And if I really want, I can play un-wine-able Windows games through parsec, though that's getting rarer and rarer all the time.11 -
Still dealing with the web department and their finger pointing after several thousand errors logged.
SeniorWebDev: “Looks like there were 250 database timeout errors at 11:02AM. DBAs might want to take a look.”
I look at the actual exceptions being logged (bulk of the over 1,600 logged errors)..
“Object reference not set to an instance of an object.”
Then I looked the email timestamp…11:00AM. We received the email notification *before* the database timeout errors occurred.
I gather some facts…when the exceptions started, when they ended, and used the stack trace to find the code not checking for null (maybe 10 minutes of junior dev detective work). Send the data to the ‘powers that be’ and carried on with my daily tasks.
I attached what I found (not the actual code, it was changed to protect the innocent)
Couple of hours later another WebDev replied…
WebDev: “These errors look like a database connectivity issue between the web site and the saleitem data service. Appears the logging framework doesn’t allow us to log any information about the database connection.”
FRACK!!...that Fracking lying piece of frack! Our team is responsible for the logging framework. I was typing up my response (having to calm down) then about a minute later the head DBA replies …
DBA: “Do you have any evidence of this? Our logs show no connectivity issues. The logging framework does have the ability to log an extensive amount of data regarding the database transaction. Database name, server, login, command text, and parameter values. Everything we need to troubleshoot. This is the link to the documentation …. If you implement the one line of code to gather the data, it will go a long way in helping us debug performance and connectivity issue. Thank you.”
DBA sends me a skype message “You’re welcome :)”
Ahh..nice to see someone else fed up with their lying bull...stuff. -
Fuck sake, so my bank has been migrating/rolling out new IT system and app/site have been broken for about a week (others noted evidence of devs debugging in production)
Assuming I don't lose my money as some mischievous assholes will inevitably exploit the fuck up, and rob the bank, I will be moving my funds to a different bank...
In mean time I'm trying to prepare for uni, and they're making a ton of semi-random changes in addition to rolling out a site with course details and info along those line, and good fucking god is it bad.
Is is slow as fuck? Check. Does it use never-seen-before naming for standard things? Check! Is the UI pulled from late 90's? YOOU BETCHA! Are the pages bloated with unnecessary content? Fuck yeah! Do I get SQL exceptions when I finally locate my course? Of course I do. Does clicking "back" take me back to the landing page instead of previous page, when I'm several steps deep? .....
I could keep going, but don't feel like ranting and feel more like punching someone in the throat.repeatedly. -
tldr; Windows security sucks. You as a org-admin cant do anything about it. Encrypt your device. Disable USB Live boot in the bios and protect it with a STRONG password.
First of i just want to say that i DO NOT want to start the good ol' Linux VS Windows debate. I'm just ranting about Windows Security here...
Second, here's why i did all of this. I did all of this mainly becuase i wanted to install some programs on my laptop but also to prove that you can't lock down a Windows pc. I don't recomend doing this since this is against the contract i signed.
So when i got my Laptop from my school i wanted to install some programs on it, sush as VS Code and Spotify. They were not avalible in the 'Software Center' so i had to find another way. Since this was when we still used Windows 7 it was quite easy to turn sticky keys in to a command prompt. I did it this way (https://github.com/olback/...). I decided to write a tutorial while i was at it becuase i didn't find any online using this exact method. I couldn't boot from a USB cause it's disabled in the bios wich is protected by a password. Okey, Sticky keys are now CMD. So let's spam SHIFT 5 times before i log in? Yeah, thanks for the command promt. Running 'whoami' returned 'NT SYSTEM'. Apparantly NT System has domain administator rights wich allowed me to make me an Administrator on the machine. So i installed Everything i wanted, Everything was fine untill it was time to migrate to a new domain. It failed of course. So i handed my Laptop to the IT retards (No offense to people working in IT and managing orgs) and got it back the day after, With Windows 10. Windows 10 is not really a problem, i don't mind it. The thing is, i can't use any of the usual Sticky keys to CMD methods since they're all fixed in W10. So what did i do? Moved the Laptop disk to my main PC and copied cmd.exe to sethc.exe. And there we go again. CMD running as NT System on Windows 10. Made myself admin again, installed Everything i needed. Then i wanted to change my wallpaper and lockscreen, had to turn to PowerShell for this since ALL settings are managed by my School. After some messing arround everything is as i want it now.
'Oh this isnt a problem bla bla bla'. Yes, this is a problem. If someone gets physical access your PC/Laptop they can gain access to Everything on it. They can change your password on it since the command promt is running as NT SYSTEM. So please, protect your data and other private information you have on your pc. Encypt your machine and disable USB Live boot.
Have a good wekend!
*With exceptions for spelling errors and horrible grammar.4 -
I have a situation that is so out there I almost wouldn’t believe it if it wasn’t happening to me. The company I work at has three branches and around 100 employees. The owner of the company has a brother who needs a liver transplant. Two weeks ago, a company-wide memo went out that all employees would be required to undergo testing to see if they were a suitable liver donor for the owners brother. No exceptions.
Last week at the branch the owner works out of most of the time, his assistant went around to schedule days off for everyone so they could go get tested. People who declined were let go. One of these people was born with liver disease and therefore ineligible to donate. She had a doctor’s note. Other people also had medical reasons as well and some were just uncomfortable with the request and didn’t want to do it. One was pregnant. They were still terminated. My employer’s assistant has said that because our employment is at will, he can legally fire us.
I’m in remission from cancer. I’m ineligible to donate and any kind of surgery would put a major strain on my system. Even if I was healthy, I would still object to possibly being forced into donating an organ just to keep my job. Soon they will be scheduling people’s days off for testing at my branch.
I know this situation is nuts, but I don’t know what to do. I know I could just go for the testing and then be declined, but I don’t think I should have to do that. I’ve had enough with hospitals. Other coworkers who don’t have medical conditions are afraid they won’t be declined because they will be a match. I’m looking for another job but in the meantime I don’t know what to do and I and many of my coworkers are really stressed out.25 -
GodDAMN, C# 7.0 is so ridiculously feature packed. I can pattern-match inside a predicate on an exception filter. Want to catch ONLY NHibernate's exceptions caused by a SQL timeout? Boom:
catch (GenericADOException adoEx) when (adoEx.InnerException is SqlException sqlEx && sqlEx.Number == -2) { return Failure("timeout"); }7 -
Roses are red
Exceptions are blue
Empty catch blocks are going to hurt you!
try
{ somethingVeryDangerous() }
catch { // No Op
}
finally { SaveFile() }1 -
-Discovers new tech
-Follows the "getting started" page
-Spends hours to get the example project working
-Gets bunch of exceptions
-Cries2 -
!Rant
Is this what we've all been waiting for?
CodeCorrect finds solutions to common errors in your code
"The hack works by inserting a piece of JavaScript in your web code that reroutes uncaught exceptions to a local node.js web server. From there, the code sends a request to StackOverflow's API to search for error messages and return the highest-ranked solutions to user-submitted questions. Answers are extracted from the StackOverflow, and if they can automatically be converted into instructions, changes will be made to the original code."
https://techcrunch.com/2017/05/...3 -
Does anybody else think the new expressions are nice and all, but most of them are not really made for those small avatars we have?
most often it looks like the person is about to ask me about how they got their scars or they are making fun of asian eyes while laughing about it
it looks great once you zoom in on the profile, but on the smaller size version it just looks odd
there is some exceptions that actually look great on the small avatars too, but most of them don't8 -
!devButAlsoKindaIsDev
Alright, time to do some explanation.
TL;DR: JavaScript is a fucking nightmare. May god help every web developer out there. Essentially, I was gone because of JavaScript.
Q: where tf are you bruh
A: in your mo-uhhhhh alright, so I was chosen to be the main developer for an interactive promotional video for my school (every year the school holds something called an open day, where kids from 8th grade can come to the school and have a tour in the school first hand. Because of the coronavirus (just gonna call it “the rona” from here) this is now impossible so we are losing the interest and the first impressions so the school decided to make an interactive virtual one). They asked me if I want to do it and I said yes.
Boy, was that ever a mistake... (hint: it was a huge mistake)
So the guy who talked to me and asked if I wanted to do this was my grade’s manager, and he gave me the phone number of my PM. So we talked and stuff, and then this happened: (bruh = PM)
bruh: I’ll send you the API and documentation for the thing that we are working with! They have lots of examples and stuff and they’re Israeli too!
Me: Okay! What language are we talking about here?
bruh: JavaScript.
Me: (questioning life choices) Okay!
I didn’t write any JavaScript for the last 3 years or so. It had to be done because I promised and I can’t let down people who count at me and ask me to show where I shine.
So, what was the objective for me? Build a Firebase client that sends the user’s score and choices to Firestore after he chooses something in the interactive video (for example, go to chemistry or go to physics) while learning JavaScmeme (ECMEMEScript) as I go.
Deadline? A week and a half.
After working almost 12 hours a fucking day, I made it work. Sorta. In order to reconcile with small exceptions and edge cases in the interactive video, I had to hard-code some IDs in the code. I had no choice, since I couldn’t allow myself to spend more and more time to make my code more dynamic than it was because I simply didn’t have time. The code absolutely STINKS but it works.
Today is the day where we (aim) to finish all of the cosmetic things that we need to fix. All of them are non-essential for everything to work, but we want to make this thing presentable because we want to put this on the school’s website.
CONCLUSION:
JavaScript is literal shit. Dynamic weakly-typed languages are cursed AF and need to die in a fire.7 -
Read code, exceptions, comments carefully. Double think before asking. But never hasitate to ask if you are stuck.
-
I really like this book on the basis of the philosophy overall, no this doesn’t solve all problems but it’s a good baseline of “guidelines/rules” to program by. Good metrics or goals to architect and design software projects high and low level projects.
Fight Software Rot
Avoid duplicate code
Write Flexible, dynamic, adaptable code
Not cargo cult programming and programming by coincidence.
Make robust code, contracts/asserts/exceptions
Test, Test, and TEST again and Continue testing.. this is a big one.. not so much meaning TDD.. but just testing in general never stop trying to break your software.. FIND the bugs.. you should want to find your bugs. Even after releasing code the field continue testing.24 -
Finding the right balance between well written, need-one-week, maintainable software, and fast-written, ready-in-2-hours-and-never-look-at-it-again software.
Last time it took me 20 minutes to integrate with a new API. I had a script that did everything you needed. I then spent 2 weeks on handling error responses, unexpected responses, exceptions, intelligent retries, logging, unit tests, integration tests, caching, documentation, etc. -
A little late but whatever.
About half a year ago, I started working on setting up self hosted (slippy) maps. For one, because of privacy reasons, for two, because it'd be in my own control and I could, with enough knowledge, be entirely in control of how this would work.
While the process has been going on for hours every day for about half a year (with regular exceptions), I'll briefly lay out what I've accomplished.
I started with the OpenMapTiles project and tried to implement it myself. This went well but there were two major pitfalls:
1. It worked postgres database based. This is fine but when you want to have the entire world.... the queries took insanely long (minutes, at lower zoom levels) and quite intimate postgres/tooling knowledge was required, which I don't have.
2. Due to the long queries and such, the performance was so bad that the maps could take minutes to render and when you'd want that in production... yeah, no.
After quite some time I finally let that idea sail and started looking into the MBTiles solution; generating sqlite databases of geojson features. Very fast data serving but the rendering can take quite some time.
After some more months, I finally got the hang of it to the point that I automated 50-70 percent of the entire process. The one problem? It takes a shitload of resources and time to generate a worldwide mbtiles database.
After infinite numbers of trial and error, I figured out that one can devide a 'render' (mbtiles aka sqlite database) into multiple layers (one for building data, one for water, one for roads and so on), so I started doing renders that way.
Result? Styling became way more easy and logical and one could pick specific data to display; only want to display the roads? Its way more simple this way. (Not impossible otherwise but figuring out how that works... Good luck).
Started rendering all the countries, continents and such this way and while this seemed like a great idea; the entire world is at 3-4 percent after about a month. And while 40-70 percent generates 10 times as fast, that's still way too slow.
Then, I figured out that you can fetch data per individual layer/source. Thus, I could render every layer separately which is way faster.
Tried that with a few very tiny datasets and bam, it works. (And still very fast).
So, now, I'm generating all layers per continent. I want to do it world based but figured out that that's just not manageable with my resources/budget.
Next to that, I'm working on an API which will have exactly the features I want/need!13 -
Devrant !! A platform for frustrated devs ranting about their runtime exceptions which only devs can decompile ... Cool3
-
Web development is the worst!
I still cannot understand why it is not possible for browsers to correctly support all official specs... Exceptions here and there, dirty fix for this one, add a little margin here, hide this...
The daily struggle never stops.
Don't even get me startet with PHP!
Next round is on me ;)6 -
The best thing about perl is it doesn't care about errors and really tries to do what you ask, without throwing exceptions.
The worst? It does exactly what you ask, no matter how insane.
Typed $arri[ $0 ] instead of $arr[0] inside a function that detected what changes were needed in dns zones. $0 is script name and path, strings are converted to integers as needed and there's a little thing called vivification.
You see where this train wreck is going.
Also my dog died today.
Got to love Mondays :/11 -
Is it so hard to comment your code?
I work on collab projects here and there and both the comments and documentation are both awful, nearly always, there are some exceptions.
This is a plea to all those who teach anyone to program. "This performs a loop" is not a helpful comment, nor is "This sets variable x to 1" where the line below is "let x = 1".
The last piece of code brings me on to my next point meaningful variable names. If x is a variable that stores the age of a machine call it ageOfMachine or age_of_machine. Not aom, not x but what it actually is, modern IDEs and text editors will fill this out for you.
Finally documentation, a good friend of mine sent me this quote a while back, I can't find the image but "Documentation is like sex, when it's good, it's great. But when it's bad it's better than nothing." Your documentation should be good, a good pattern to follow is the Node.js documentation, it tells the function, what it does and what parameters it takes.
Anyway rant over; and I'm sure that this applies to people outside of this community only.5 -
Rant much...
I just started working on project after a group of students.
The project has various of bugs (ofcourse) and not catched exceptions.
I found variables like 'abcd' or shorts of classes like 'rrms'.
I would be fine with all of that but there is one thing is just making me crazy:
THERE IS NO SINGLE FUCKING COMMENT IN WHOLE SOLUTION (three projects and about few hundred files with javascript and cs).
Imagine freaking pure react (no jsx) full of null arguments and multiple custom control written like 'var gl= GreenLabelled(null,null,text,5)' (a button ) with again, NO FUNCKING SINGLE COMMENT.
I just cannot stand it. Just spent 3hrs to wrapp my head around events in this react classes...10 -
Correct me if I'm wrong, Python is absolutely built on:
--Data encapsulation
--Dependency Hell
-- ambiguous object types
-- You BETTER hope that package has a function to turn that object into another HOPEFULLY SUPPORTED object (basically even more encapsulation)
--Oops this package doesn't support this other package, so you need to do another 20 lines of conversion
I really don't understand what makes Python so likable?? Am I just being stupid, or does exceptions like "This does not support multiclass" the worst fucking exception i've ever seen? Or "Shape (None,1) not compatible with (None,7)"? I get it that you can fix it if you've seen this issues multiple 100s of times, but for the first time, how the fuck am I supposed to debug this?13 -
If an http request can't perform the requested operation, should server send 500 error code? Or 200 with status and status message in response?
Isn't 500 used only for unhandled exceptions on server side?11 -
Some kid keeps asking me how to session hijack. I keep telling him there's no point if:
A. You're not on the same network as him / her (I'm sure there are exceptions to this but normally you'd have to be on the same network)
B. The connection is encrypted
He doesn't understand either of those things. Not to mention it's illegal unless you're given consent.7 -
I JUST SPENT A PAINFUL TWO HOURS TRYING TO FIND OUR WHY MY EXCEPTIONS WERE BEING THROWN AFTER EVERY SINGLE INPUT THE USER ENTERED...
I commented out the try catch, it worked, I commented out the throw and it worked, so I uncommented them both and it worked again? WHY DIDN'T IT WORK BEFORE Y U DO DIS2 -
We receive an email from Splunk when errors go above a certain threshold, and a particular service has been especially problematic this week (throwing hundreds of exceptions). Email response from the team mgr responsible for the service.
"We are working to address these errors. We don’t currently have a way to prevent a user who’s account is locked from logging into the service and performing work."
The exception? NullReferenceException: Object reference not set to an instance of an object.
The code? (paraphrasing)
var user = GetUser(request.Login);
if (user.CanPerformWork) ...
<facepalm>
I'm doing my best not to reply .."Really? No way? You do realize we can read code, right?"4 -
I’ve said it before and I’ll say it again.
If you live in a major city and you stand on the slow fast side of the escalator (could be left or right based on location)...
then you deserve to be punched in the back of the neck.
No exceptions.3 -
I explained last week in great detail to a new team member of a dev team (yeah hire or fire part 2) why it is an extremely bad idea to do proactive error handling somewhere down in the stack...
Example
Controller -> Business/Application Logic -> Infrastructure Layer
(shortened)
Now in the infrastructure layer we have a cache that caches an http rest call to another service.
One should not implement retry or some other proactive error handling down in the cache / infra stack, instead propagate the error to the upper layer(s) like application / business logic.
Let them decide what's the course of action, so ...
1) no error is swallowed
2) no unintended side effects like latency spikes / hickups due to retries or similar techniques happens
3) one can actually understand what the services do - behaviour should either be configured explicitly or passed down as a programmed choice from the upper layer... Not randomly implemented in some services.
The explanation was long and I thought ... Well let's call the recruit like the Gremlin he is... Gizmo got the message.
Today Gizmo presented a new solution.
The solution was to log and swallow all exceptions and just return null everywhere.
Yay... Gizmo. You won the Oscar for bad choices TM.
Thx for not asking whether that brain fart made any sense and wasting 5 days with implementing the worst of it all.6 -
Lua is one of the stupidest languages to ever exist.
Oh, the language is easy to learn? The syntax is friendly? There's only like negative 10 functions you ever need to know? Everything is a table?
EVERYTHING IS A TABLE?! WTF CARES? WHAT ABOUT NIL?!
The arrogance this language has is extraordinary, literally. No lang, except Lua, imposes such an opinionated dichotomy. Everything is a fucking table, or, it's nil. -- That's so fucking stupid.
And look, I get it, this lang (oh sorry, scripting language (?)) CAN be good and fun and whatever... the moment you start to do IO is the literal end of days.
Everything is nil. Except, if it's defined... then it's not nil. -- OK. That sounds sensible/reasonable enough. -- What if it's not defined? You get nil. What if it's not the right data? You get nil. Do I get errors/exceptions or whatever? No, absolutely not, you get nil... unless the application you're using with Lua with has a lib that handles that.
There are so many more issues I have with this lang, but honestly... Am I fucking missing something? Is this lang like actually super dooper awesome and I'm missing something? -- I can't not look at this language as just dumb and arrogant. -- It's literally a language where you have to manage and remember ALL conceivable state at ALL times.11 -
Reverse engineering an applications internal object model and creating an database model for it...
The reason: Several versions of application exist, each deliver flat data by rest. The data is a complete potpourri of several different entities. *yaaaay*
Eg. an example fictional call (real call and data would get me in trouble I think....)
get_fiscal_report returning the fiscal data for _several_ companies, the companies _subsidiaries_ and the respective _segments_ for a _year_ with a key value enumeration.
So it's an happy fuck up of N:N associative data that usually would be a hierarchical relationship...
Year - Company
Each Company has subsidiaries
Each Company subsidiary has segments
Each segment has a fixed enumeration of keys
Each key has then the monetary value (e.g. 'operating_income' - 155_000 US-$)
Example is made up, but my data contains exactly such a lovely nested hierarchical data flattened and misnamed to a point where it's close to garbage.
Yaaaay.
I had now 6 days of untucking this mess to a usable database representation...
Sprinkling Unique Keys everywhere...
Running persist script...
Getting exceptions...
Changing associations...
Running persist script...
Screaming.
Changing associations...
Violently cursing.
Running persist script.
Starting sacrificing interns...
6 days.
I need a new brain and a format of my soul.
-.-
Reverse engineering proprietary software is really an morbid adventure.1 -
Corporations... huge, old, monolithic
We want you to automate but will do everything we can to prevent you from getting resources to do it. Restricting policies, decisions by managers on "what they do not want". No procedures on how to achieve the result within policies. Half the business lives in a gray zone and sea of policy exceptions.
We finally decided to get at least Azure subscription instead of trying to develop similar framework internally, but wE DoNT WANt YOu to dEPlOY thERE As WE Don't cOnSIDEr it sAfE ENough.
Like pissing against wind.6 -
When you're in a rush to write a new feature but your compiler keeps nagging about not handling exceptions2
-
Dear other developers,
Don't throw exceptions in async callbacks goddammit. It doesn't abort the outer function where you think it does, and it crashes the app because you can't catch it.4 -
Not being able to directly read in inputs as any data type rather than string and thus having to convert it and check for Exceptions if users enter bullshit4
-
Heard Java 7 provides catching multiple exceptions in single catch block ! hmm .. why need when I got this 😎😁
try {
// do something...
} catch (Exception e){
//log it ..
}6 -
Not a rant but I spent 30 minutes writing a fix for 2 integration tests while screen sharing. Ran the tests and they both pass first try, no exceptions, typos or silly mistakes. 2 additional unrelated tests also started passing. It felt good.2
-
My boss is the CEO of the company, it's a small company with less than 15 people altogether. Now in the office it's even less there's 7 of us every day, the rest are remote or the boss.
The boss last week Thursday night sent an email talking about vacations, keep in mind she's currently on her third vacation in 6 months.
In the email she says no one but 'special' exceptions will be allowed to take summer vacations from now on, and if you would like to take your vacation you have to give a minimum of 4 months prior notice
Now I personally don't take vacations, (never needed to, no job before this was stressful enough to make me want to take one) but everyone else in the office is working on their resume's and planning to quit before the new year.
apparently being overworked and thrown under the bus time and time again, as well as an abhorrent number of other issues isn't enough to make people quit . but take away their vacations in the most hypocritical way possible and that's the straw that breaks the camels back.
I finally got a car, I've been practicing driving, and hopefully before September I'll have my license and that'll make it easy for me to get out too before things start collapsing too fast.9 -
So I just had a bit of a shower thought. Suppose you could get the linguists to break a language down and define all the rules that make up that language as if it were a protocol - exceptions included. If you get an arbitrary string of text, could you match against those rules, then break that down to the information it contains, and use that information against a new rule set to construct a new valid sentence containing the same information. Would you just have made the ultimate translator?16
-
Encapsulate tasks
To abstract your case,
Full of the catharsis
And exceptions to face.
Didn't commit, oh wait,
More trouble? One reset.
We return and all hail
This programming mindset!3 -
Architect: I've been using this architecture for 20 years now and this works nice since pascal, that's why we are using it in this J2EE app.
This was the justification that I received after hearing that I shouldn't use exceptions, just make the function return a false and add the error message to a embedded message list and make the caller capture it.6 -
A dev found a bug I created where I set a SQL parameter name to @OrderID instead of the expected @Order. The standard is @OrderID, there is one stored proc where it's @Order.
Oops...I didn't catch it because the integration test didn't cover that area of the code. My mistake...I should have checked...I take complete responsibility for the screw up.
He let me know by email..
"When refactoring, from now on check the stored procedure parameters, there are a few that don't follow the standard."
I was like "from now on..."? ...wow....bold comment from someone responsible for code that doesn't check for nulls, doesn't log errors, and relies on exceptions for flow control. You wouldn't even have known about the error if I didn't modify your code to log the error (the try..except returned false)
I really wanted to reply ...
"Fixed. From now on, when you come across those easily found bugs, go head and fix it, write a test, and move on. Don't send a condescending email to me, my boss, your boss, all the DBAs, and the entire fracking order processing team. Thanks."
But..I thanked him for finding and letting me know...we're a team..blah blah blah..
Frack..people suck.1 -
@Gerrymandered recently posted a rant, https://devrant.com/rants/1003724/..., and his reasons, which I won't really go into much, are completely legitimate.
We were talking in class and he was getting annoyed with people hating others for actually trying to defend the different flavors or Operating Systems. I've gone into it once or twice, but I feel the need to again. I'm actually going to be blunt this time, unlike my last one:
Linux has its niche. If you like it, then it usually works.
Windows has its niche. Businesses ***typically*** choose it first (with few exceptions, @linuxxx don't even bother coming in here to defend Linux. Love ya and all, but you really piss me off sometimes. Just saying.)
macOS has its niche. If you're a designer, try it. You might be surprised.
Can people shut the fuck up with the constant bashing of every single OS in existence with a focus seemingly on Windows? We get it, the dev community LOOOOOOOOOOVES to fucking hate Windows. Who doesn't? It can be broken as hell, but for a lot of purposes, it works. If I want to use Windows, then let me, and if you complain that because I'm a techie or anything that I can't use it, please go fuck yourself with a moldy rusty fork left out in a hurricane 20 years ago.
That is all.10 -
All classes (with a few exceptions) have nothing but static methods just so that I can call them like "Class::Method()" from anywhere in the project...5
-
My plan/resolutions for 2018?
Have at least 1 commit per day w/ maybe exceptions like special holidays and such 😁
(No commits just to have a commit like adding a line of commentary or stuff like that)
#iwannabetheguyshetellsyounottoworryabout -
Can't help but when watch most profiles(some exceptions)of ranters I see are front end developers. Aren't here some guys who work on developing frameworks, work on linux kernels or maybe work on linux distros?
P.S.: I love RoR and will contribute to make it better. So the image.7 -
What's your opinion on the error-value vs try-catch debate?
I'm usually on the error-value side of things.
Its the preferred error-handling in Go and the pretty much only decent solution in C.
Also, frequently thrown exceptions seem to impose a larger overhead than the constant checking of the error-value.23 -
A few years ago, i had a task to implement a webservice of an insurance-company into our .NET Development.
The security requirements of this insurance-company webservice were top notch.
As a client you had to build a request that used a negotiated certificate, canonical header structures, security timestamp, a secret token in header, ...
To configure all this stuff via web.config WCF was pure pain in the ass.
After many phonecalls and emails, i finally managed to meet all security requirements to send a valid request.
First, i didn't recognized my breakthrough, because my client still had thrown exceptions while calling the insurance-webservice.
Why was that?
The exception told me on the most possible gentle way, that .Net isn't able to process an unsecured response, when there was a secured request before.
So there was top notch security for requesting, but dumbass unsecured responding with all the precious customer information.
*epicfacepalmnuclearexplosionfollowing*
I even had to raise the. Net Version of our. Net client, because i wasn't able to configure that it is allowed to process an unsecured response after using a secured request.
Whyyyyyyy?!!?!!1el even!?! -
Who the hell invented this industry where smartest individuals are being evaluated by those who didn't understood technology well enough and moved to management (it's usual scenario, though there are exceptions)?
Can you imagine surgeon performance/quality being evaluated by some clerk who may or may not had studied medicine earlier, but wasn't good enough to become surgeon itself so ended up in hospital administration.
Or can you imagine bridge engineer having his/her performance/quality evaluated by someone who had built bicycle shed 5 years ago?
Damn, yet in software industry it's pretty normal.
(Don't confuse management with performance evaluation. I know management have different scope and duties, but idea that management does the performance evaluation is so damn broken.)6 -
The ability to start my projects and finish them.
Like for real I have a bazillion ideas yet none was even started, and the few exceptions that were started are unfinished...1 -
30 mins before:
Started a project on Xamarin, faced Unhandled exceptions while navigating.
Reaction : Xamarin Sucks :/
Turs out, I forgot to initialize the Navigation Stack 😂
Reaction: Xamarin Rocks 😂😂 -
Spent hours troubleshooting an internal app that had zero logging today. It would just terminate, no exceptions, no feedback to the debugger, NOTHING.
Turned out to be the damn corporate virus scanner blocking "malicious" behaviour. Good thing my desk is so heavy or I woulda flipped it... -
Helpdesk: We can't figure out our own ambigious error message, you should solve it in another way...
Me: I see in the console that I get an execption response with an ID, you must be logging these exceptions, can't you check those?
Me thinking: you've just reduced yourself to desk without the help part -
I've spent a lot of time messing around with C, having struggled with object-oriented programming (due to not really knowing how best to structure things, not knowing when to apply certain design patterns).
When writing C code, I'd write OOP-esque code (pass around a struct to routines to do things with it) and enjoyed just making things happen without having to think too much about the overall design. But then I'd crave being able to use namespaces, and think about how the code would be tidier if I used exceptions instead of having every routine return an error code...
Working with Python and Node over the past couple of years has allowed me to easily get into OOP (no separate declaration/definition, loose typing etc.) and from that I've made some fairly good design decisions. I'd implemented a few design patterns without even realising which patterns they were - later reading up on them and thinking "hey, that's what I used earlier!"
I've also had a bit of an obsession with small executable files - using templates and other features of C++ add some bloat (on Windows at least) compared to C. There were other gripes I had with C++, mostly to do with making things modular (dynamic linking etc.) but really it's irrelevant/unreasonable.
And yes, for someone who doesn't like code bloat, working with Node is somewhat ironic... (hello, node_modules...)
So today I decided to revisit C++ and dust off my old copy of C++ in a Nutshell, and try to see if I could write some code to do things that I struggled with before. One nice thing is that this book was printed in 2003, yet all of its content is still relevant. Of course, there are newer C++ standards, but I can happily just hack away and avoid using anything that has been deprecated.
One thing I've always avoided is dynamic_cast because every time I read about it, I read that "it's slow". So I just tried to work around it when really if it's the right tool for the job, I might as well use it... It's really useful!
Anyway, now I've typed all this positivity about C++ I will probably find a little later on that I hit a wall with what I'm doing and give up again... :p7 -
I hoped I would write about other things than EU internet regulation... But I hoped wrong.
The new online antiterror regulation is flawed, too.
What will the new regulation change?
The EU plans stricter anti terror laws for online platforms. In a nutshell, reported terroristic content has to be removed in <1 hour> after reporting. While automated filters are not required (the EVP party and the EU commission wanted those, but couldn't get a majority in the perliament), but it is unclear how to fulfill the regulation without.
What is the current progress of the regulation?
The EU parliament approved the draft, the trialogue will begin after election. The parliament has to approve the final trialogue result again and might reject it then. The characteristics of the regulation might change, too.
Who (platforms) will be affected?
All platforms, "offering servicd in the EU, independent of their business address" (free translation from German).
Will there be exceptions (e.g. for smaller or non commercial platforms)?
No.
At the very first report, the platform will have 12h time.
What are the consequences of not following?
Regularly breaking the law _constantly_, up to 4%/of the total yearly revenue.
Sources?
- The "fact sheet" of last year (upload filters were still a requirement): https://ec.europa.eu/commission/...
- The law proposal itself (also outdated): https://eur-lex.europa.eu/legal-con...
- Proposed changes by the EU parliament (I'm not sure which ones were approved): http://europarl.europa.eu/doceo/...
- German news article: https://golem.de/news/...2 -
typeof rant === "Encouragement"
Never let your self down, try to be your own const in life that know his scope and traits well enough to construct a peacefull life without any uncatched exceptions. Also try to return something to the public, keeping your magic pointers to your private makes it hard to review your glorious source of thoughts. And if it is getting hard try to REST a bit and git some timeout.
😉1 -
I'm just frustrated. I wanted a simple, statically-typed language that doesn't get in your way and offers GC. I can't find anything "just perfect".
- Go: enforces a style on you, nono.
- Rust: ownership system. I love it, but it's too low level for what I want.
- Scala: seems to have a bunch of useless and bug-prone features.
- Java: I hate how you have to declare and catch exceptions. Good practice, yes, but the code gets bloated with try-catch statements.
- C and C++: Too low level, no GC.
- C#: maybe? idk
I want to make a back-end for an app but I want it to be easy and fast. I need something with a gentle learning curve, not keep fighting the language. I'm between Java and Rust. Java's easier to use. Rust is rust <3, but it's hard, I haven't learned it properly and I just keep fighting the fucking compiler.39 -
TLDR: I need advice on reasonable salary expectations for sysadmin work in the rural United States.
I need some community advice. I’m the sysadmin at a small (35 employee) credit card processing company. I began as an intern and have now become their full time sysadmin/networking specialist. Since I was hired in January I have:
-migrated their 2007 Exchange server to Office 365
-Upgraded their ailing Windows server 2003 based architecture to 2012R2
-Licensed their unlicensed VMware ESXi servers (which they had already paid for license keys for!!!) and then upgraded them to 6.5 while preventing downtime on hosted VMs using tricky transfers and deployments (without vMotion!)
-Deployed a vCenter server to manage said ESXi servers easier
-Fixed a three month gap in their backups by implementing Veeam, and verifying its functionality
-Migrated a ‘no downtime’ fileserver to a new hypervisor host, implemented a ‘hot standby’ server as a backup kept up to date by the minute with DFS replication.
-Replaced failing hard drives in a RAID array underlying their one ‘business critical’ fileserver, which had no backups for 3 months at that time
-Reorganized Active Directory and Group Policy deployment from a nightmare spiderweb of OUs and duplicate policies
-Documented the entire old network and now the new one as I’ve been upgrading this
-Audited the developers AWS instances and removed redundant machines, optimized load balancing on front end Nginx servers, joined developer run Fedora workstations to the AD domain and implemented centralized syslog monitoring on them.
-Performed network scans and rewrote firewall exceptions to tighten security
There’s more, but you get the idea. I’ve now been tasked with taking point on an upcoming PCI audit which will be my first.
I’m being paid $16/hr US, with marginal health benefits. This is roughly $32,000 a year, before taxes.
I have two years previous work experience managing a third party Apple repair facility (SimplyMac) and every Apple certification for warranty repair and software troubleshooting. I have a two year degree in general sciences, with about 4 years of college credit (Two years of a physics education and two years of computer science after I switched focus) I’m actively pursuing a CCNA and MCSA server 2016 with exams paid for and scheduled.
I’m going into a salary negotiation in two months. What is a reasonable salary to request, from your perspective, for someone in my position?
Thanks in advance!6 -
Ive been working on pseudo-Java (ie some 3rd company's UNDOCUMENTED programming language) that they parse into Java in their backend
It doesnt even support if-else (only ifs and elses) or a boolean combination of False and OR together lmao
mainly a GRPC middleware-language
Given its lack of features (arrays/collections) or documentation, I just had to implement a flag-array using a 0-1 string
Im throwing exceptions unless combined strings equal Lengths and is only 1s
living like in 80s-90s 💀7 -
Unity's "quirk" messed me up again. This time, I wanted the time when the key was pressed as precisely as possible, independent of the framerate.
So I put the input reading routine into the thread pool, which causes the first few readings to throw null reference exceptions. No biggie; the system needs a few moments to warm up. So, I try-catch that part.
But when I build the game, as soon as I reach the part where the game tries to read the input value, it hard-crashes before try-catch can act 🤦8 -
Logging literally everything from every service into one giant super log db for us to sift through.
It is expensive, it is stupid, and it is set to .info() level always forever no exceptions.2 -
The guy who wrote a ton of legacy code at my company apparently had no idea that you need to close a file stream. And also that IO may throw exceptions.
Wooo1 -
HEYYY!!
Glad to see ya all, how have ya been?
Gosh, it has been forever since the last time! I feel like I forgot about this platform too much, it feels good to have a place full of wonderful people to speak to, and you don't see those everywhere. I'm sorry I haven't been here much, it was mostly due to me not being able to practice programming much and thus falling back on tech stuff.
BUT - that period is now over. Maybe.
I'm gonna be more active on here, in the past recent years I've seen how bad most social medias turned out to be, with a few very special exceptions. I think devRant deserves more activity, so for better or for worse (hopefully better), I'm back!
I think my biggest problem right now is the need for a better PC, one Italians would call "a PC with the controcazzi", lol. A good one, is what I'm sayin. But would ya look at that, thr moment I start searching up for one, a friggin pandemic takes place and prices skyrocket! Ain't that fun. XD
I would probably have found an awesome PC build by now if I knew jack shit about hardware, but unfortunately I was always more into software than hardware. ^^"
So if anybody has any idea, I mean, I'm open to suggestions~ they'd be very appreciated, and thanks in advance. <3
But enough about that - how are you holding up? I hope you're doing good.
Misadventures and bad stuff happen, but I promise you we're all gonna get out of it soon. In the meantime, always remember to drink water, eat properly, keep yourself sanitized, exercise, and do things you love doing. That's what life is about. I'm looking forward to hearing from y'all, once again. 💙
Keep fighting the good fight, and kick ass! And chew gum, too.rant tag you're it still dunno in what order tags are in lol i'm back baby! you're lookin cute today~2 -
For the PHP pros: Is there a way of turning notices and warnings into exceptions thrown in the scope of occurence without hacking the interpreter?
The answer most likely is "No!" - but if there is another way i certainly would like to know it...8 -
Auto tuning for Azure SQL databases is cool but :
DON’T allow it to automatically drop indexes ! (My bad, I should’ve tested that before)
It dropped one of the most used indexes in the DB. Yep, just like that. 150+ timeout exceptions and customers going crazy4 -
5 years of leetcode with no progress. I'm giving up.
First some background, I have an undergraduate degree in computer science and one and a half years of professional coding experience which ended when I got fired for performance issues. I have worked diligently at Leetcode for those 5 years (exceptions occurred when I got ill). I have been personally coached by a google software engineer for months. I have done and given 100s of mock interviews and paid for some to be done by professionals. I have spent 100s if not thousands of hours on Leetcoding and algorithms trying to improve in any way I can imagine. I'm still not good enough.
This all came to a head yesterday when someone on Leetcode made a post about being able to solve every single Leetcode problem in a year within a year while managing a post doc degree and having almost no programming background (link at bottom of post). It made it clear that Leetcode is a game of talent not hard work. The difference between someone like her and someone like me must be noted by the programming community. The majority of people would not ever be able to accomplish that. I dedicated myself for 5 years to Leetcoding almost exclusively and still am no where near what that person has accomplished. I have put in much more work than that person and have gotten much less from it.
I believe the programming community can learn from this contrast. The culture of always trying harder and thinking success stories apply to everyone that is pervasive in programming circles is toxic. The is reality not everyone is lucky enough to be intellectually gifted to succeed and not all hard work pays off. I am proof of that and this is the type of story that needs to be shared and heard too.
I am quitting programming out of humility and recognition of my limitations. It’s ok to give up and wise to do so when you aren't good enough for something.12 -
I really fucking hate adding Exceptions into code. It's so fucking ugly and I feel miserable sometimes by using because I have to. I'm weird.4
-
After working with a bunch of people it occurred to me that almost anyone can work and learn for most IT positions. This is something that most people will realize, especially if they work with newbies that learn on the go. There are exceptions of course, but most companies are just making crud apps with their business logic.
What I wonder then is, why is it that the way hiring is done seems to be completely against this idea? Rather than whining about recruiters and bad interviews, I am curious about why this is so common. What is it that a lot of companies think or see that make their hiring process so bad or convoluted?11 -
My new favourite license
# The "You Can't Have It" License (YCHI)
**Version 1.0, October 2024**
**Copyright Me. All rights reserved.**
## 1. Definitions
**1.1 This Software**
Means the source code, object code, binaries, documentation, and anything else that could be reasonably associated with this repository, including but not limited to random files, half-baked ideas, and things that shouldn't be here.
**1.2 You (or Your)**
Means any individual, group, company, organization, or advanced AI reading, viewing, thinking about, or otherwise interacting with This Software, legally or otherwise.
**1.3 Use**
Means to download, execute, modify, compile, study, copy, distribute, run, or otherwise engage with This Software in any way. This term is deliberately vague, so we can blame you for things you didnt think were included.
**1.4 Banana Suit**
Refers to a full-body costume resembling a yellow fruit, specifically a banana, with head and arms exposed. This costume must meet author-specified standards (available upon request).
**1.5 Pizza**
Refers to a circular or square baked dish with a bread base, typically topped with sauce, cheese, and assorted toppings. **Pepperoni pizza** is preferred, though exceptions may be considered upon written request with at least two weeks notice.
**1.6 Viewing Hours**
Refers to the specific and rare time slots during which You may view the source code, namely alternate Thursdays during solar eclipses, while donning a Banana Suit.
---
## 2. Terms and Conditions for Use, Distribution, and Modification
**2.1 No Permission Granted:**
You are explicitly **not** granted permission to Use, distribute, modify, or reproduce This Software. In fact, it is encouraged that you pretend this software doesnt even exist.
**2.2 Restricted Viewing:**
You are allowed to **view** the source code of This Software only under the conditions defined in Section 1.6 ("Viewing Hours"). Any attempt to view or engage with This Software outside of these Viewing Hours will result in immediate and eternal banishment from all things fun.
**2.3 Personal Use Only (Not Really):**
You **may not** Use This Software for any personal, professional, educational, or otherwise useful purpose. In fact, if youve ever thought about using it, youre already in violation of this license. Apologize immediately.
**2.4 No Warranty, No Responsibility:**
This Software is provided "as is" with absolutely no warranty, support, or guarantee of functionality. If it breaks, you get to keep both pieces. The Author takes no responsibility for anything that may or may not happen9 -
Wow. This piece of bullshit runs completely flawlessly in the debugger, but throws exceptions like fuck when running it normally. How am I even supposed to find that fucker of a bug?3
-
Fuck the design guidelines that change every fucking day. It makes Front-End an unbearable hell. I'm seriously tired of having to code stupid shit for exceptions exceptions exceptions.5
-
Participating in a non-profit project related to corona outbreak. It should help thousands of people to say at home, have a peace of mind and stay healthy.
Our project should go Live this/next week and we already have a blessing from our government. They are already making some legal exceptions to us.
That feels good!5 -
Today I spent half an hour trying to figure out why my IDE stops on an exception that is very obviously caught.
I left a breakpoint there because the stack traces behaved weirdly.7 -
Funny story...
Got a small college assignment based on Java and Cassandra(database). The database shell was running fine. Spent 5 days removing the random java exceptions and working on the basic connectivity, searched everywhere on Stack overflow and other forums for solutions and still no help.
So, I decided to write a program that would print only the output as I knew what would be the output when it will run. Took a screenshot of it and made up a cover story to tell my professor that I did it on a friend's computer.
But while I was taking a screenshot of the Eclipse with code window and output window, some random syntax errors popped up.(but they weren't syntax error).
So I created a new project and copied the pom.xml file and the code into the new one(I tried this one before and it didn't work). And there were no errors. So I took a screenshot of it with output of different file and opened a different file.
But then, don't know what came across my mind and I clicked on run just to see if this works, and it worked fine. And now I'm like.. WTF JUST HAPPENED!! -
What I really hate? When a piece of code simply refuses to work. No logs, no exceptions, no sign that it even exists. HOW THE FUCK I'M SUPPOSE TO DEBUG THIS SHIT?? I drives me crazy, if everything I do changes nothing! It makes me doubt my sanity. And I like my sanity!3
-
VirusTotal's API could do with a make over.
Though it is quite nice actually, you're able to provide them with a hash of a file and (provided they've scanned it) VT is able to tell you what up to 60 different virus scanners thinks about the file (and how many scanners that has an opinion about it). Now if there's an error, like the file not having been scanned or the hash being incomplete, it give you some JSON back where there will be an error message that tells you the error and an error code of 0.. wait wh
Although since it's an API they also need give us plebs whose only got access to an API key that limits us to 4 requests pr minutes. Naturally when you try to do another request within a minute of your limit the response you get is absolutely nothing what so ever. "" Naturally.
And of course the same response should be given when the API key you provide isn't valid. Who needs errors amiright?
No wonder JSON.parse kept throwing exceptions4 -
So I'm on my morning stroll. Walking, enjoying, watching the world around me.. It's nice how cherries blossom. They smell very tempting to stop there and enjoy the moment. Some flowers under the cherry...
Why do plants blossom again? Oh yeah, that's right, to exchange some speciments in order to grow fruit and seeds. To have their offspring. Just like every other living macroorganism [with a few exceptions ofc]. Life has no other way to survive but to exchange genetic material between two parties and only then trigger growth of the new life.
And that is a very strict rule. No more, no less: it takes exactly 2 organisms to make new life. But why is that? If my memory serves, theory of evolution says that life is like business: cut the losses and let the profits run. Over time it discards everything not required for the organism in order to save energy, and only successful new "investments" remain in the genome. The unsuccessful ones die before they proliferate, so the bad genes shall not survive.
It also says that very simple things, very simple changes lead to very complex outcomes. Us. Life.
But what is simple about life having to need 2 other lives? Exactly 2. It's either simple or efficient, depends on perspective. BUT IT IS NOT BOTH. Look at cells. They just split in half and multiply. Dead simple. It takes one of them to make another one. But with mammals, birds, reptiles, plants and other macroorganisms [excpt fungi] this is not the case! Why?!? I can't think of any scenario where two generic microorganisms, following some dead simple mutations, would come up w/ something that inefficient and overly complex. Like they're living on their own, multiplying by division, and smth very simple happens and they can no longer divide, only mate in pairs. The primitive, efficient and simple mechanism gets terminated and replaced with a different one, incredibly complex one!
Sure, we have protozoa which have similar reproductive mechanisms. They exchange genetic material to multiply.
But look at our, human cells. They dont need that! Look at some reptiles, some plants that only take one to make another. They don't pair as well! It's simple. Efficient. Why do protozoa need 2 for the species to survive?
It's not simple and efficient [tho helps us adapt, but its not my point for now]. See, things like this make ne wonder. What if we, the life, are not as accidental as we think? What if this whole mechanism was set off by someone or something billions of years ago? That's mean there are much older, much more superior cognitive organisms than us. What if protozoa was version 3 of new life [the first two did not survive]? Viruses - v2? Sea creatures - v3, reptiles - v4, and so on until they came up with us, mammals? That'd surely mean we are not alone in this universe. Are they watching us? Will they create a new species any time soon? What's our purpose, are we just an experiment?
And so, from cherry blossoms to existensial dilemma, my stroll is over. Time for breakfast :)1 -
Doing the deployment to production, and towards the end one of the support guys looks over at me;
"So, the website in prod is throwing some errors"
Followed by another guy:
"Yeah I'm getting the same, SQL exceptions on the page"
I stare at them panicked for a moment, when one of them goes "just kidding!". Like dude, my heart just skipped several beats!
Any one here ever had something cruel happen to them during a deployment?3 -
Rant
Wtf are you taking man?
You’re supposed to be an experienced engineer but what the fuck are you doing leaking null pointer exceptions everywhere you go?
Just 1 more month. Good thing my manager isn’t renewing your contract.
Fuck!!!! -
I just don't understand why people use the try-catch on calling a method that will throw exceptions just to ONLY re-throw it again, what would you do that for? :(5
-
I inherited some code today. I am in the process of reworking it to drop into my framework so I can use it with our product. I am seeing this throughout the code...
try:
\do something\
except:
pass
Ahem... HANDLE YOUR DAMN EXCEPTIONS!!! DON'T JUST PASS THEM INTO THE BLACK HOLE OF NOTHINGNESS! FFS!!! Using pass like this means "Fuck it. I don't care if this fails and I want NOTHING to tell management when it does. I want to blindly look into their frustrated eyes and say ..duhh, I don't know why it failed... Fuck troubleshooting. You know what, this job isn't meant for me anyways." My outer voice is politely saying "There is a better way to do this. Please allow me to show you." Meanwhile my inner voice is flipping tables and clubbing baby seals. /rant -
If you use exceptions for your data validation, I hate you. I hate you so much, in fact, that I will become famous. Then I can say to you that a famous person hates you. I will become president and the first executive order I sign will be to make the official policy of the United States that I hate you. I will invent a time machine so that I can go back in time and on every one of your birthdays, past present, and future, look you in the eyes and tell you I hate you. Then I will travel to your death bed and in your final breath I will tell you I hate you. I will change the timeline so that you will celebrate Christmas and believe in Santa and then tell your four year old self that Santa isn't real. I hope your kids never learn how to read, and if they already know how to read I hope they forget how to read and never learn how to read. I hope all of your friends become vegan, atheist, flat earth, crossfitters and insist on regailing you with their life style on your every meeting.
I guess what I'm saying is that I'm having a bad day.3 -
I love exceptions - ANSI C with exceptions - that would be perfect for me.
I know that there are different opinions out there... I can’t understand why they haven’t implemented exceptions into Go. I have read the article why they didn’t but for me... exceptions are a GREAT language concept!!!!3 -
starting new job on monday, already received a new laptop... with windows 10... Asked if i can install Linux - absolutely not. Without exceptions.
*very long and slow sigh*
started it up, started customizing. Tried to remove a shortcut from desktop - a popup to login as admin...
*even longer and slower sigh, even though the previous one was near my limit*
can't wait to get started.
P.S. pros still outweigh the cons. but this is gonna be exhausting...7 -
From a dev and eCommerce management perspective, Groupon is THE WORST. They just launched a brand new marketplace site but STILL don’t have an API I can connect with to do fulfillment. Their CSV format is useless for our shipping company. Their data inputs are not sanitized and standardized enough to be predictable for purposes of transformation via scripting. The exceptions and edge cases are infinite. So I’m STILL stuck having to take time out of my day to manually copy and paste and correct order data into the proper format to FTP to the fulfillment company. Oh, and I don’t yet know if the new marketplace does this, but the old one used to suspend vendor accounts for...get this...selling TOO MUCH! How is Groupon still in business?
-
Working with a SOAP endpoint. I know it is some .NET server due to the style of stacktrace on exceptions. Nice, a framework where I can expect some type safety granted by static types. I build some xsl to transform the SOAP wsdl files into classes and structs to interact with the endpoint. Works out perfectly.
Plottwist!
Elements which are defined in the xsd/wsdl with maxOccur=unbounded and minOccur=0 should represent a simple collection of this type. Therefore does my implementation expect a collection of this type. But no. The shipped SOAP client in my stack ignores the definition and simply deserializes the SOAP response into T and not a collection of T.
Where the duck are the types when they are defined all over the place?2 -
Boss: I don't want centralized error logging
Me: But we have 50+ client sites running the same web app, why the fuck wouldn't we?
Boss: What if the database is offline, then we wouldn't be able to log exceptions
Me: *beats head against desk*1 -
Raise your hand if you don’t trust the comments in code most of the time, and take at least a superficial look at the code block to ensure that it does what it says it does.
If you have any exceptions, please share.12 -
I am done with .NET and it's bullshit error messages.
"Validation error happened! Please see Entity.Validation.Properties to see what the error is, then consult an oracle, who'll summon a demon who'll answer only three questions . . ."
FUCK OFF and just give me the error. I swear to god exceptions in NET always lead to some stupid fucking scavenger hunt rather than just letting me know what the fuck went wrong. This isn't the first time I've encountered this either, where it tells me there's an error and there's a mountain with a shaman at the top who'll provide me with the details if I can just hire a sherpa who'll help me climb it.3 -
I HAVE A VERY IMPORTANT QUESTION.
i need advice.
is it better that i study during the day for college until 12pm (midnight) and then work on my own project from 12pm till 4-5am, go to sleep and wake up around 9-10am so thats 4-7h of sleep each day. the only exception would be tuesday bc i gotta wake up for college at 6am.
so i would be working on my project 6 days for about 4-5h per week.
i plan to do this for 2 months.
so: day shift - college study
night shift - my work
please help me organize my time.
now, im thinking about long term effects on this. its going to be pain. but i am in pain each day so i no longer feel pain. i will be exhausted as fuck. i am fully conscious of what is awaiting for me if i decide to do this.
here is my question. am i going to get a burnout from this? am i going to look physically different in 2 months (in a bad way)? am i going to be mentally worse? am i going to get really skinny? this would basically be a work of 19-20h for 6 days per week for 2 months. that is approximately 114-120h work week minus tuesday.
i have to be mentally equipped for this so i plan to do home workouts in night shift session in order to prevent burnouts. I'll do walks/jogs too in day shift for mental cooldowns. the most important thing for me is NOT TO GET A BURNOUT AT ALL COSTS DURING THIS PERIOD OF TIME NO EXCEPTIONS!!!
i need serious advice on how to do this right AND AVOID BURNOUTS AT ALL COST.
i MUST stay operational mentally for the next 2 months.
please list the things i should DO and NOT do so this can be achievable.13 -
"Exception has been thrown by the target of an invocation"
This error message pisses me off. I know the SSIS Script component is capable of catching exceptions, you can wrap all your code in a try/catch (please don't) and get an exception. So would it be so hard that if the Script Component throws an exception that it tells me what it is instead of sending me on a goddamn scavenger hunt?
The whole bullshit system of errors is why I hate SSIS. Just tell me what went wrong.
I did what I wasn't supposed to do, wrapped it in a try catch and it gave me a stack trace and an error message and all sorts of actionable shit. But why the hell can't it just do that on its own?
There is literally nothing worse, except maybe Hitler, than a goddamn vague error message.4 -
For all things, for all men, that a man compliments a thing does not imply that this man at least attempts to understand this thing. However, for all men, that a man criticises a thing implies that this man at least attempts to understand this thing.
For all computer programs, that a computer program is terrible implies that scrapping the current implementation of this computer program and beginning anew may be the best method of fixing this computer program.
With few exceptions, for all programming languages $l$, given sufficient effort, $l$ source code can be human-readable.
The UNIX philosophy never became outdated.
For all computer programs $p$, $p$ should be written sufficiently well that the author of $p$ can be prideful of $p$.
For all computer programs $p$, a specification for $p$ should be written before $p$ is created.
For all good computer programs, a good computer program can run on terrible hardware.
Every clock cycle is valuable.8 -
Who the hell designed the fucking Java exception system? The fucking checked/unchecked exceptions is a big piece of crap.
Makes everything more complicatedly unnecessarily3 -
*Earlier today, asked a colleague to add exception handling for some (around 20) source files.*
*Just now, he walked over to my desk and this is the conversation that took place between us*
He: Hey, I've handled exceptions in those source files. But now the build is failing.
Me: Let me check. *pulled up the code and saw compilation errors 😠*
Me: Hmm, there are compilation issues. Did you try running those in your local machine?
Him: No, should I?
Me: *still trying to figure out why on earth the code is not compiling* Ah, you should have. That would have saved us some time.
Him: Oh, I see. Adding exception handling was an easy task, so I didn't bother to run it.
Me: *After seeing curly braces being missed out or added all over the files, I lost my fucking mind😡😠*
Me: Hey, don't worry. I'll take it from here 😊. *IN MY MIND: Thanks for being an ass hole and doubling my work on a day before a long weekend 😠😡🤬*2 -
How do you test unreachable code or part that is considered an edge case?
For example I catch exceptions in case IO failed and data was not written on database, but that only happens if hardware failure, or no disk space left, how do I mimic that?
I also have unreachable code for example, in one layer I fetch data (lets call it function x) and always return success result unless item not found I throw KeyNotFound exception. But in the calling function I handle the case of Status == Failed
Just in-case in the future I change function x and start returning failed status, so my logic already written but never reachable14 -
evil === true
Found this one after 4 hours of debugging... Want to screw with other teams? Shove some UTF-8 BOM characters into JSON responses consumed by Node (and other frameworks as well). Watch as they scramble to find why JSON.parse() fails on seemingly nothing.
Background: BOM markers are hidden characters that indicate text stream information to applications. They are not ignored by many JSON parsers and throw exceptions that don't appear to make sense.1 -
I just started on a Laravel project for a customer. Damn I’ve got a hate/love relationship with that thing.
I fucking love how fucking fast development is it in, even for fairly complex tasks, amazing.
I fucking hate how goddamn fucking slow development is when you get an error, as that shit is near impossible to debug, and you keep getting weird exceptions that you just need to know what means. -
Me when using an company internal framework which is buggy and doesn't produce any exceptions or something similar
-
This moment:
When you have a weired exception, start googling it and practically bruteforcing all possible solutions you know of and/or found on stackoverflow.
Then after (half) an hour just starting from the beginning, attempting the simplest solution you can think of and it just works on the first attempt:
😱 ⏩ 😰 ⏩ 😤 ⏩ ☕ ⏩ 😥 ⏩ 😔
But you'll notice that you had learned a lot of this.
... Or maybe not 😜5 -
First rant here...
Hand full of devs have to create a huge web platform that can shovel a lot of data around in about two months which is impossible...
Project lead has left major decisions in the hands of interns like database we want to use because no question can.be answered by that person. Inexperienced intern has chosen a fucking nosql database for highly relational datasets... why? Because new tech...
Development began and a bunch of problems arised... database was accessable from internet from day one. Random crashes because out of memory exceptions. Every possible feature had a description of at most 10 words... and no standards where enforced on anything.
Now that finaaaally we switch to sql after almost a year of prototypical production everybody keeps coding on new features so i have to port all the crap to the new database...
best part: a bunch of clients on different op systems have to be ported as well!
Even better part: i have to do that cause everybody else has practically no experience in any field...
And now the joke: i got hired for gui/desktop application development
Am i a wizard now? -
!rant
I don't know if we already had a weekly rant about petty revenge or anything, but I did just pull some petty bullshit maybe 30 minutes ago.
A couple people I know are trying to start a clothing brand (think I posted something about it on here before) and asked me to build the website cause one of them found out I write code. (Well, he asked if I was good with computers and I told him that I am, and he basically said "you're building our website then")
Basically these people are..not good people. One of them has a history of sexually harassing girls (some of which are really close friends of mine), the other one is basically following in his footsteps. They also like to go to the parking lot of an elementary school (the one that my little sister goes to actually) and get high.
Both of them have fucked me over at some point in the few years I've known them. And so now my silent indirect petty revenge begins. Earlier I bought the domain name for the online store they're trying to (make me) build. Considering having the site redirect to a gay porn site.
One of them is currently getting into shit having to do with drugs, which is not my doing, but I can probably find a way to get them into trouble. Especially the fact that they're doing drugs in the parking lot of an elementary school. That shit's just fucked up, no exceptions.
Anyone have any suggestions for shit I could do to them?2 -
What the fucking fuck. Arquillian you piece of shit.
I have a service that needs to go to production soon, it contains Arquillian tests. The tests work locally but not when going through our new Jenkins pipeline. The error message simply says: "Could not start Arquillian container".
Well fuck you too.
After 3 fucking days of rewriting configs, changing up things and I dont know what else I did, I stubled upon the most hidden error message in the history of error messages, a small little line that says "Could not find or load main class ".
Those 2 spaces are intentional btw, because the fucking error was that when starting arquillian and reading the config there was A FUCKING SPACE too much in my JVM arguments. This piece of shit iterpreted it as my FUCKING MAIN CLASS. Whhhhyyyyy, whhhyyyy. Who the fuck... AAAAAAAAAHHH
Btw I snuck myself on devrant a few weeks back and managed to get my 100++ today. Really love this place 😊1 -
Just wanna say that I love devRant b/c :
1. I can write as l33t as I wish knowing that most of u will get the msg, some of u can decode almost anything ( exceptions r the Manuscript and some of AOK posts )
2. I can be sarcastic, say stupid things w/0 fasing a wave of comfused hate
3. speaking 0f which, d re-@ll haters & <spam>3rs r quickly kicked out ( shout 4 all moderators )
4. most of u r critical thinkers and is a pleasure to read some of d discussions
5. one can learn a lot for the other parts of the IT in which is not involved ( yet )
6. It's hell of a fun around you so keep the spirit burning ( might see ya @ burning man, boom, the freshly re-started love parade or just at random point in our small home )
Love ya all. 10x 4 attending this dev/!dev talk10 -
Perfect use of DI in .NET Core project.
> Passed logger object in UI project's controller class constructor.
> Then pass it to internal class.
> Then pass it to business project.
> Then pass it to another class and finally used logger in a method to log exceptions in try-catch1 -
Get to work, reboot your machine to try to fix VS throwing way too many exceptions...get locked out of the computer cause keyboard stoped being recognized...Go to IT...now the mouse is not being recognized either...Well, this morning is just going downhill...
-
Lot of people asking my real Identity 🙄 Let's see who can figure out my real name. There are couple exceptions who already know me. So please don't comment if you already know. 😅12
-
is it ok if im the only person who codes an android app and i code it by my own free will and skills?
meaning im not following any design pattern while doing so.
i dont like following design pattern because it narrows down my freedom of writing code the way i want to write it.
its like, imagine, you have a strict schedule or a dad who says at:
5:59am: get up
7:15am: study
9:01am: eat breakfast
11:00am: go to college
3:07pm: eat lunch
5:14pm: come home
8:02pm: eat dinner
9:00pm: brush your teeth
10:58pm: go to bed
11:59pm: you must sleep before midnight
IMAGINE THAT. be honest, could you actually follow this schedule in its exact hour and minute as it was written down for the rest of your life every day, no exceptions?
if you're a sane person, you would answer - no, of fcking course not.
life is much more broader and dynamic than following a static pattern every day forever.
so is not following a static design pattern while coding an app.10 -
Nothing gives me more satisfaction in backend development than encountering errors/exceptions. It brightens up my day to know that something is happening and i get to keep my job, too2
-
Is it just me or is the error handling in Go and/or Rust just.. tideous?
Maybe I'm biased because I grew up on C# and error handling has always been Exceptions and try+catch for me, but I find having to manually check errors everywhere not only annoying to code, but also horrible to look at.
Am I alone on this one?13 -
Drupal is such a fucking wortless and infuriating hinder in software development.
I've been a software developer for the past 6 years, I have worked with many different frameworks and technologies in both backend and frontend, such as .net, react, php, you get the idea.
In my current project, we have been forced to use Drupal as backend. Initially I had no complaints, but after trying to use it for the past month, I'm beyond mad at the ridiculous and overly complicated way of doing the most basic tasks in existence.
Not only is installing Drupal such a dependency hell, that we had to modify our entire ecosystem just to accommodate for Drupal's versioning, but it's just a crutch that we have to carry around and make ridiculous exceptions for.
I've seen other projects made in Drupal by professional companies, and not a single one of them actually makes use of the CMS that is meant to be the entire point of this piece of shit.
Instead, we have to make a regular backend database, force the PHP code into Drupal's modules and then try for the impossible of making use of the pointless structure system integrated in Drupal.
It's almost pointless since we still had to make a react application to actually do the pages, since Drupal is limited as hell when it comes to personalization.
Just to end up with this error message: "The website encountered an unexpected error. Please try again later." no explanation, no nothing, just going after an endless debugging using [drush] commands.
Anyway, I fucking hate Drupal7 -
I have been working as a freelancer for a little while now. I recently started using upwork. The first job that I got on upwork was titled: “help me”, the bio explained that it was with node.js. Later, during the interview, the client mentioned that it was 30+ hours a week. I was kind of confused. I had no idea what I was getting into. A little bit down the road, he provided me with the project. This is when I almost wanted to jump off a cliff. The code was organised as if it was a c or c++ app and I couldn’t follow anything. The guy thought that “pass by reference” was a thing in JS. I cried. Granted, with objects, there are some reference exceptions, but generally passed by value. The code is like spaghetti... I still have 2 months left on the contract. It’s awful.5
-
We. want. stack traces!
When do we want them?
When we catch exceptions that we don’t know how to handle!2 -
<sarcasm> best advice?
Write microcontroller code in C++ even if the underlying OS won't understand. You can always decompile the program to C code and use the generated code.
Things he forgot to mention:
- cannot use most of C++ core functionality (basically no STL, no exceptions, all of C++11)
- have to get your code to compile twice (C++ and C afterwards)
- debugging that generated C code is a pain in the ass
- have to debug twice -
To all who fancy MS being a platinum member of Linux Foundation and all that "love" which MS so loudly screams around. MS and Canonical are working together. Unity was only the beginning.
You do realise if Linus, the owner or Linux's GPL ( https://kernel.org/pub/linux/... ) dies it might lead to catastrophe, right? An owner of a license can make exceptions in license.
A man has limited time. A company can wait..2 -
Sry, music / perfectpitch rant, !dev
My biggest (non-dev) pet peeve out there right now is this wave of "oohh look I did a transcription" Youtube videos that comes out whenever someone famous for complex harmony (such as Collier) releases a song. I mean that'd be fantastic, but they're OBVIOUSLY NEARLY ALL DAMN WRONG IN SO MANY PLACES.
More frustrating is that no-one seems to actually realise, the video skyrockets with wowed casual viewers amazed they're looking at sheet music that looks vaguely convincing, and everyone treats them as some musical genius. Dahh. Wake up people.
(Exceptions made for June Lee. He's awesome.)1 -
Ever since humans transitioned from hunting-gathering to farming, cats saved an unimaginable number of people. Dogs are fine at hunting and guarding the household, but they’re not sneaky enough to catch mice.
Mice destroying your food stash meant death by starvation for your whole family, no exceptions. Only something as agile, sneaky and alert as a house cat could catch mice effectively.4 -
Colleagues of mine merge try/except:pass without my consent also I strongly argue over the fact that exceptions in python should never be passed silently. I feel my poor technical knowledge to be denied or ignored and it feels painful.
I don't even have the gutts to speak about it loudly - during stand ups - because I am afraid to get on my nerve that ppl don't listen to me plus quickly merge such awfuls snippets without listening to me.
I feel like I am struggling. What should I do?1 -
That moment when: You're asked to quickly code a fake login screen and you have a deadline to add it to 10 devices before 2pm.
First build: Forgot to force it to be on top, forgot to add closing preventions
Second build: Due to it going on tablets, it needed an onscreen keyboard, but being on top all the time means the builtin onscreen keyboard doesn't work.
Third build: Forgot to add try and catch exceptions which caused crashes
Final build: Avast kept closing and opening it due to DeepScan
urgh... -
Epic link : http://rymden.nu/exceptions.html
All you need to know about Java exceptions, my favorite is NoSuchFieldException :D1 -
Opinions please.
I want to share a small model in my iOS app. Now on android I'd do with with ViewModelProviders, but on iOS I'm going with SharedDataContainer which is basically a singleton class that store key value data.
Is there any better approach? Data will not be bigger than 10 list items with guid (key) and int (value)
However; when I have big data I do cache on disk or hello OOM exceptions (or whatever they call that bitch on iOS) -
I once had to implement a program to process CSV files. One line would be one order, so I wrote a class with a static factory method (Java) instead of an ordinary constructor, because I needed to throw exceptions if something with the line was wrong (which now and then was the case: invalid product IDs, missing fields and the like). After I committed my changes (CVS was still common in those days), a coworker (let's call him Max) asked me what the hell I was doing there. He expected me to replace the code (perfectly working, by the way) with either an ordinary constructor or by implementing "the factory pattern properly". His rationale: "We don't have those kinds of things in our code base!" So I let him argue a bit, not finding any well substantiated reason for me to "fix" the code. So Max wanted to team up with another developer in our office (let's call him Rick), explained the "issue" to him. I just sat there and enjoyed, knowing that Rick would not really care. But as soon as Rick understood what I did, he walked over to the book shelf, picked "Effective Java" from it, opened the book at chapter 1 and said to Max: "Look, Josh Bloch suggests doing it exactly that way for the problem at hand!" Max kept on arguing for a while, because his "rationale" (see above) was not affected by the fact that the code was actually good. It just didn't appear in our code base before.
-
All day I wrote pretty error mesages for all sorts of nonsensical inputs to a program that only I will ever use.
But now I still need exceptions for the typos in my exceptions for the typos in my code for... what am I trying to do? -
so far, a pretty nice tutorial book about making a parser and interpreter, but when i saw this, my thought was "don't you fucking dare..."
...but he does. flow control via exceptions.
shame.14 -
Spent 3 days in a santorium. With my fam.
Didn't rest a bit [with temporary exceptions of evenenings where I did get to relax in a steam bath [50C, 99%] followed by ice cold water bucket].
Not looking forward for the monday. At all.2 -
I always sort by new.
If you have a steady job for a long time already but still sort by price ascending, you’re a bouba. No exceptions.9 -
Kidnapping and torture are the worst crimes one can commit. If it was up to me, both would amount to life in prison without parole, no exceptions.7
-
Is there anything worse than bugs that you can reproduce easy but lack exception/error messages so you can't fix it?
I'm working on a hobby project for Android and I can't solve a bug and it's killing me (the whole project depend on it). I went through all phases:
1. I notice the bug early but couldnt reproduce it so I let it be.
2. I notice it happen a lot when I started to use the framework for real. Decided now that I need to fix it.
3. Found the exact way to reproduce it.
4. Trying different ways to fix it, nothing works.
5. Write question on stack overflow, no answers.
6. ???
It feels like if you can reproduce the bug 100% of the time it should be easy to fix right? Well hell no - no exceptions, no error message and adb hangs until I stop the procedur. The last kick in the balls? When I stop the procedur I get all logcat messages back and everything look like normal. Just give me a damn error message! Tell me what you're doing or what I'm doing wrong!3 -
Urgh... No exceptions in Rust annoys me. Now you only have the choice between "this didn't work please handle this error, thank you ^-^" and "you fool, prepare for annihilation". So basically if anything remotely serious happens your programs dead and there's nothing you can do about it. I don't get why people have this hate for exceptions. Everytime a new language gets made it's always either "ew it has exceptions" or "it's so nice it doesn't even have exceptions". NOOO! They can deal with serious situations in the best possible way and they can be statically checked (so no "but they're so complex and unpredicable" stuff please). If you can expect an exception they shouldn't be used in the first place (eventhough they are absolutely no less good than Option returntypes or whatever, just different) but in cases when it's impossible to predict an error they really shine. And not having them makes your language worse. If a device driver accesses illegal memory it should throw an exception, so instead of the computer shitting the bed, first the offending function has a chance to resolve the problem at it's root, then a few functions up the call stack, the general control functions of the device drivers can handle it and restart the operation if applicable, and even if the driver fails to handle it, the OS can jump in and restart the driver, log an error and do whatever. It's absolutely beautiful: This hierarchical ramp from near the accident site to more high level operations code ensures the error can be caught at the right level of abstraction without introduction a lot of boilerplate. If everything fails and nobody can handle it *then* the program or kernel or whatever can panic.4
-
That feeling when you are debugging and java keeps throwing exceptions everywhere for the whole day, and just when you are about to turn off the pc and are resigned to go home with a code full of bugs, decide to launch the program one last time and Everything compile and works properly 😍
-
I was tasked to parse some complex output oft another application so that it can be displayed nicely in our Frontend. The output had lots of inconsistencies and exceptions - I spent the entire fucking day to wrote the craziest regex I have ever written in my entire life. With a few minor issues it worked pretty well. I was happy... Then a colleague came into my room, peeked into my screen..
Him: "You are aware you can just specify a --json flag to get json output?"
Me: "..."
*long silence*
Me: 😵🔨
Please end my life.1 -
Today we got our Sentry integration (exception aggregator with a lot of nice features) working just to see a user using IE5 on a Windows 2000 machine causing exceptions. It made my team’s day.1
-
Tell me if I'm wrong
I know android dev and the more I go deeper, the more i hate the way things are done. It felt like memorising something new everytime i had to get shit done. And if u stray even just a little u get a shitload of exceptions. My android devs were pretty much crying at the end of this 40hr hackathon(i was on backend).
At the end, i just don't like d way things are done, its just way too complicated and messy for my use case - hackathons and making things as a hobby.
So you could imagine when i started react native and saw all my problems fade away. I don't know what'll happen when i go deeper. But if you've had the good fortune of working with these things, do u think its a good switch? Will i face d same issues with react native as i do now? Thanks3 -
UX and Game Design: "Keep It Simple" Is Stupid.
Presentation, Content, and Structure
Often when designing a UI, I stumble across blogs and articles that discuss it and focus far too much on the structure. Wordpress is terribly guilty of this and I see it fairly often in the game industry.
In web design you might use flexbox for a content-centric design and not worry too much about the layout, or css grid if structure seems important. But the broader question is why? Why is structure important and why is it wrong to focus on structure over content?
First, structure *comes* from content. Even where over many years, we've taken certain kinds of content, be they the various genres of games, or the sundry type of websites or apps, we've learned to take all the various patterns and categorize them, to extract the commonly repeating idioms into what we call structure.
But if you're experienced, and a fan of UI design in general, then I bet you that you can name a number of counter-examples, those that broke the mould, or broke the 'rules' of good design and still somehow worked. And that follows *because* structure is derived from content. This is the same reason idioms, patterns, and best practices change over time, as we codify exceptions into their "own" rules, new best practices emerge which mostly everyone follows, and then yet more exceptions break them. And so it goes.
So we see content before structure. But isn't there something to be said of style? Why yes, there is.
To read the full article, all 14k words of it, head over to medium for more:
https://swcs.medium.com/ux-and-game...5 -
Rust's Result is definitely the best error-handling experience I have ever had. I started working on some Typescript stuff after using Rust for a few weeks and had to implement my own Result. It's just so easy and clean that it leaves exceptions in the dust. I don't think I can live without Results anymore.
Now I understand why everyone loves rust so much. It's just so clean, safe, easy (after you get the hang of it) and so fucking powerful (procedural macros are awesome).
I want to use Rust everywhere now <35 -
Okay, since I'm handicapped in Linux due to our education system which forced us to learn on windows, I switched over to Linux, Ubuntu to be specific and I can't get anything done unless I am root, So suggest me another Linux OS with full root, Exceptions Kali Linux and Arch Linux15
-
C++ is the building blocks for many high-level programming languages, and since 1984 its first appearance in the markets the C++ core committee developers have introduced its 4 new versions which are C++03 (ISO/IEC 14882:2003 second edition), C++11 (third edition), C++14 (fourth edition) and C++17 is the fifth edition. With each new version, developers introduced new features, libraries and APIs in it.
C++ introduced as the extension of C programming language which made C++ as a compiled programming language, which means the developer required a C++ compiler to translate the C++ code to its equivalent machine or byte language, so the Operating system of the computer can execute the program.
There are various C++ compilers in the market and most of them are open source and free to use, however conventionally when we say C++ compiler, we basically talk about GCC which stands for GNU Compiler Collection.
What is GCC?
GCC stands for GNU Compiler Collection, and it is a collection of programming compilers which induce C, C++, Objective-C, Fortran, and some versions of Java. The first version of GCC introduced in 1987 and it was also known as GNU C compiler which became the standard compiler for C programming language, in that same year GCC also provided Compiler support for the C++ programming language.
Now GCC has various versions and each version give specific support for C++ versions, by now if we look at all the versions of GCC, we have a stable GCC for every version of C++, but there are some exceptions with C++11.
C++11:
C++11 introduced as the 2nd update version of C++, it suffixes 11 because it released in 2011 or because on August 12, 2011, ISO gives official approval to it. Formally C++11 known as C++0X because developers were expecting the new update released in 2010, but with its release in 2011, the core committee developer of C++ changed its name by C++0X to C++11.
C++ 11 replaced the old version of C++03, and it also brings many new features for the C++ developers. The main aim of designing C++11 to stabilize and maintain the backward compatibility of new C++ version with the C+98 and C programming language and that’s become the main reason why core committee developers only introduced new features in the old standard library rather than extending the core language.
GCC does not give Full Support to C++11:
GCC version GCC 4.8.1 purpose the first feature-complete implementation of the C++11 standard, however, the 4.8 and 4.7 does not give the full support for the C++11. The current version of GCC provides the major support for all the standard features of C++11 but if you are using the GCC 4.8 or 4.7 versions then your GCC only provide you with the experimental support for the C++11.
To use the Experimental support of GCC you need to enable it first before you compile or run you C++ 11 version code.
use code std=c++11 or -std=gnu++11 to enable the experimental support for C++11.17 -
I'm parsing the results from a hierarchical database query to make it compatible with another hierarchical database. Specifically, I'm parsing user created notes from a pipe-delimited CSV that was translated from the query result. Everything runs smoothly. I send my output to be processed through our batch system. Everything checks out as expected.
A couple blank notes throw exceptions, but I knew that was going to happen. Then suddenly, I read "Cannot create note with unprintable characters"
Okay?
Somehow this person had been able to type the Ash (æ) character and an accented A (à) this came from a system that didn't even support characters outside of alphanumerics. How? -
#Suphle Rant 9: a tsunami on authenticators
I was approaching the finish line, slowly but surely. I had a rare ecstatic day after finding a long forgotten netlify app where I'd linked docs deployment to the repository. I didn't realise it was weighing down on me, the thought of how to do that. I just corrected some deprecated settings and saw the 93% finished work online. Everything suddenly made me happier that day
With half an appendix chapter to go, I decided to review an important class I stole from my old company for clues when I need to illustrate something involved using a semblance of a real world example (in the appendix, not abstract foo-bar passable for the docs)
It turns out, I hadn't implemented a functionality for restricting access to resources to only verified accounts. It just hasn't been required in the scheme of things. No matter, should be a piece of cake. I create a new middleware and it's done before I get to 50 lines. Then I try to update the documentation but to my surprise, user verification status turns out to be a subset of authentication locking. Instead of duplicating bindings for both authentication and verification, dev might as well use one middleware that checks for both and throws exceptions where appropriate.
BUT!
These aspects of the framework aren't middleware, at all. Call it poor design but I didn't envisage a situation where the indicators (authentication, path based authorisation and a 3rd one I don't recall), would perform behaviour deviating from the default. They were directly connected to their handlers and executed after within the final middleware. So there's no way to replace that default authentication scheme with one that additionally checks for verification status.
Whew
You aren't going to believe this. It may seem like I'm not serious and will never finish. I shut my system down for that day, even unsure how those indicators now have to refactored to work as middleware, their binding and detachment, considering route collections are composed down a trie
I'm mysteriously stronger the following day, draw up designs, draft a bunch of notes, roll my sleeves, and the tsunami began. Was surprisingly able to get most of previous middleware tests passing again before bed, with the exception of reshuffled classes. So I guess we can be optimistic that those other indicators won't cause more suffering or take us additional days off course2 -
Javascript library developers - FFS please stop using try...catch blocks to detect features. Makes the "break on all exceptions" debugging feature FUCKING USELESS.
-
Bloody ISO7816/EMVco contact is a huge pile of exceptions to the rules.
I'm still not sure if there are any rules at all. Maybe it's just exceptions.
I will become the famous violent psychopath if I get to know where those guys live that invented such crap. -
Project before lunch: Green and good to go.🏞🏞
Project during lunch: Holy fuck the world is collapsing what the fuck are these exceptions! Get back and fix this! 🌋🌋
Five minutes after lunch: It's fixed... Files were being named incorrectly.🏞🏞 -
You know what's more fun than debugging a SQL stored prodecure?
Debugging a SP which CATCHes all errors and instead returns an error code. Because exceptions are scary... -
I want to teach you two peacekeeping methods that can help you diffuse difficult situations.
Method 1: before engaging in a heated internet argument, ask yourself: “What is my absolutely best case scenario endgame here?” To me, it’s often something like “Yes, you’re right, my entire life up to this point was a lie, I will read everything you wrote as a prayer every night to strive to be like you in every way.” Yes, this will definitely make my day, but in the grand scheme of things I won’t care. So why settle for less? The grand prize of this special olympics isn’t worth the effort.
Method 2: reading the intent. When you feel uncomfortable talking to someone, ask yourself: “What is their intent? Why are they saying me this?”
If the intent is to tear you down, see method 1. Anyone can be fooled, no exceptions. You losing an argument doesn’t diminish who you are, at all. If you fear it will, then work with your fear directly. It probably has nothing to do with this one argument.
If the intent is to help you, but they don’t know how to explain it without sounding hostile, then discard their tone. Read the message, accept it and tell them “Yes, you’re right, I get what you’re saying.”
Saying “I was wrong” immediately makes people perceive you as brave. It’s the virtue of strong people to be able to admit defeat.2 -
Bloody fucking Android! Updates, updates and more updates! My development Nexus 5X won't allow me to sideload apps since it updated... Hello, printf debugging! Goodbye, profiler and debugger!
My hate for Android grows with each version after 4.0.$something... 2 was shit, I missed 3, 4 was OK, and since then it's going steeply down.
And don't get me started on Material Design...! Good luck figuring out what's a button and what's a label...
And what's up with the "let's keep all apps running all the time to save a few ms on start" philosophy!? Who thought that is a good idea!? Yeah, System.exit(0) works, but... Is it so hard to determine when it's not needed anymore (has no services running etc.)? Why should a web browser (for example) stay in memory after I quit? Minimize is a thing (Home button), why make it so confusing?
Another thing - feedback-less async tasks - why? I like to know when it is working in the background... How the hell am I supposed to find out if it is supposed to do this or if it is frozen?
And Android deciding to kill your process whenever it pleases without any callback... Happened to me once with an Activity in the foreground (no exceptions anywhere in my app, it just quit). How do you do IO properly? It seems you can't guarantee some file or socket or something that must be closed doesn't stay open (requiring to restart Bluetooth 'cause the socket wasn't closed, for example)...4 -
Resource not found exception occurred when i tried to set an integer text inside a TextView in android.
Spent an hour trying to comb through my entire android app's layout resources looking at all the declared ids and cross checking then.
Didn't work. Tried googling and stumbled upon a stray human who had encountered a similar issue.
Turns out if you print an integer inside the setText, it will not consider it a normal printable value, it will think that's it's a resource id and try to use it.
Fucking misleading exception. FML ANDROID5 -
Ok, so currently in my Java course on Udemy we are going more in-depth into scope and visibility, and I'm currently doing the challenge for it.
So I'm doing it and the challenge is to have every single name of a variable or method be called 'x' (just to better understand scope and vis, he mentions how this is not a good practice AT ALL) with the exceptions of the classes and scanner var (but there is an optional challenge to also make them named x).
Now that I progressed into it, I noticed something. This challenge is literally making me make my code so DRY and outside-the-box-thinking that, what if, this could be a practice?
Not the naming everything in your code the same var name, but doing that at the start and then renaming the variables after coding. Because right now, I feel as though I am using SO MUCH less code than if I had the liberty of naming my classes, methods, and variables different things, it's actually kinda cool.
I'll attach my code from the challenge to this after by it really amazed me how well my code looked compared to my previous challenges and even personal projects!1 -
I hate this crap and wish people would stop doing it. It makes my brain bleed and doesn't prevent any difficult to find bugs.
if (TERMINAL_COUNT <= index_thing)
English doesn't work that way, and I don't know about you but this crap is just awkward as hell. Sweet Jesus I wish there was less cargo cult programming in the world. Just because you saw something in a blog that convinced you that reverse comparisons is best doesn't mean it actually is. Use a damn static analysis tool to catch accidental assignments in expressions, don't twist my brain to interpret your weird phrasing of comparison operators. Some of your code reviewers may be dyslexic and have enough problems as it is.
And now for the mini-rant that I'm actually here for: You know what makes for difficult to find bugs? (Hint: It sure as hell isn't an assignment in an expression) Releasing an RTEMS semaphore you've never obtained. You'd think that would cause some kind of panic or assert failure but nope. Instead it causes... misaligned address exceptions? In statically allocated global memory? WTF??1 -
So, do any of your poor fuckers have the opportunity - nay, PRIVILEGE of using the absolute clusterfuck piece of shit known as SQL Server Integration Services?
Why do I keep seeing articles about how "powerful" and "fast" it is? Why do people recommend it? Why do some think it's easy to use - or even useful?
It can't report an error to save its life. It's logging is fucked. It's not just that it swallows all exceptions and gives unhelpful error messages with no debugging information attached, its logging API is also fucked. For example, depending on where you want to log a message - it's a totally different API, with a billion parameters most of which you need to supply "-1" or "null" to just to get it do FUCKING DO SOMETHING. Also - you'll only see those messages if you run the job within the context of SQL FUCKING SERVER - good luck developing on your ACTUAL FUCKING MACHINE.
So apart from shitty logging, it has inherited Microsoft's insane need to make everything STATICALLY GODDAMN TYPED. For EVERY FUCKING COMPONENT you need to define the output fields, types and lengths - like this is 1994. Are you consuming a dynamic data structure, perhaps some EAV thing from a sales system? FUCK YOU. Oh - and you can't use any of the advances in .NET in the last 10 years - mainly, NuGet and modern C# language features.
Using a modern C# language feature REMOVES THE ABILITY TO FUCKING DEBUG ANYTHING. THE FUCKER WILL NOT STOP ON YOUR BREAKPOINTS. In addition - need a JSON parsing library? Want to import a SDK specific to what you're doing? Want to use a 3rd party date library? WELL FUCK YOU. YOU HAVE TO INDEPENDENTLY INSTALL THE ASSEMBLIES INTO THE GAC AND MAKE IT CONSISTENT ACROSS ALL YOUR ENVIRONMENTS.
While i'm at it - need to connect to anything? FUCK YOU, WE ONLY INCLUDE THE MOST BASIC DATABASE CONNECTORS. Need to transform anything? FUCK YOU, WRITE A SCRIPT TASK. Ok, i'd like to write a script task please. FUCK YOU IM GOING TO PAUSE FOR THE NEXT 10 MINUTES WHILE I FIRE UP A WHOLE FUCKING NEW INSTANCE OF VISUAL STUDIO JUST TO EDIT THE FUCKING SCRIPT. Heaven forbid you forget to click the "stop" button after running the package and open the script. Those changes you just made? HAHA FUCK YOU I DISCARDED THEM.
I honestly cant understand why anyone uses this shit. I guess I shouldn't really expect anything less from Microsoft - all of their products are average as fuck.
Why do I use this shit? I work for a bunch of fucks that are so far entrenched in Microsoft technologies that they literally cannot see outside of them (and indeed don't want to - because even a cursory look would force them to conclude that they fucked up, and if you're a manager thats something you can never do).
Ok, rant over. Also fuck you SSIS1 -
ELSTER, Germany's federal tax office online service seemed to be one of the few examples of successful digitization. But don't wait until the last minute for tax declarations online when everybody else has the same idea and federal ELSTER server slows down and throws a lot of exceptions turning into a federal point of failure today.1
-
So I have an assignment due in an hour, we need to make a basic game that implements multiplayer using WCF
I have wpf clients that connect to a service, they connect fine but for whatever reason my callback isn't firing to update the gui... the thing is though, it was firing earlier (mind you when it fired off I ended up getting null references)
I fixed the null references (turns out I wasn't serializing stuff that needed serializing) but now my updategui method just doesn't fire, period. zero exceptions are being thrown, zero errors are being given...
At this point I might just rewrite the whole thing until it breaks so I can figure out what broke it... Like trying to debug something with zero errors/exceptions being thrown is hard... -
Ok so Sonar had a rule that you should not throw Exception. Rather you should always throw a specific types or catch them...
I don't understand this. So if the underlying function throws 10 different types of exceptions then the calling function should also declare it throws 10 different types rather than just Exception?
Assuming it isn't in a position to handle them?2 -
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 -
Thanks past developer for not only one bug but also the bug in your exception handling attempting to catch this bug which resulted in confusing the hell out of us for way too long due to output that made absolutely no sense
-
Coworker: let's use Result monads in the project so that we're forced to deal with exceptions
Me: okay, sounds great!
Me: *implements Result monads *everywhere**
Coworer: how about we don't use results anymore in half the project? It makes the code look ugly. Let's just use exceptions.
Me: ...
Really? Why in your mind is it okay to only force us to handle a few exceptions and others we can just say fuck it and let them wander around?
Oh you want to use try-catch for these other exceptions.
So now we're back at square one, which is trying to remember/figure out which exceptions any method can throw (since the compiler doesn't do shit, not even warnings), but now we also have inconsistent and much less readable code. Isn't it great?
(╯°□°)╯︵ ┻━┻
I also can't do much about it, because I'm just a fucking intern and I do not want to cause trouble, so I just try to say that I disagree with it in the most polite of ways and that's that.4 -
We decided to use ESlint as our style guide. Then comes this guy and starts adding exceptions. Dude if you keep adding exceptions, there's no need for a guide anyways.
-
Let's do a story mapping session! Ok cool. PO asks the team: so guys what do you think? *silence*... *more silence*.... PO: come on guys, please respond. *silence*.... Then someone finally responds.
I'm starting to hate this big time. It's almost always like that, no matter the type of session (story mapping, refinement) And there's someone in the team that thinks he always knows best, so if ever someone speaks up, it will always be challenged and lead to useless discussions. He always wants the perfect solution. A good solution is good enough, it doesn't have to be perfect. PO is happy with a good solution (good = maintainable, scoring at least x on our code quality tooling), so why the fuck would you want to go for the 'perfect' solution, which may score just slightly higher in regard to quality, cost much more to develop and people have a hard time maintaining it due to the high level of abstraction? He's always refactoring stuff because it's not future proof. Well, why completely reimplement parts that have been working properly for 2 years and have a very very small chance of needing a change, which then still only needs to be done in just 1 place?
And you know what? All these fancy structures, patterns etc are in there but will their flexibility ever really be used? In my 20 years experience haven't seen such flexibility being really used. Some exceptions of course.
Once it's built, it will keep running, yes, changes will need to be made, but in most cases they never touch all these expensive fancy structured components. Just because most changes are in content or small changes in functionality.1 -
One of the truth no one wants to say because what can not be can not be.... but...
Maven is fuck... bullshit... failure by design.
For each project I need an own settings.xml. Always something not working. The same artifactory password 10 times there. Null pointer exceptions all over the place. Basics like versioning not really solved.
In all my years with Ant I never had so much problems than with Maven.
This settings.xml is really a design failure. Crap.1 -
Don't get me wrong, but I have been staring at the splash for quite a while, trying to figure out if that's why I have mysterious exceptions...
-
So today i got asked at a job proposal what were checked and unchecked exceptions, I got the job, but is that a normal question?3
-
I'm starting to gain a dislike for OOP.
I think classes make it easy for me to think of the entities of a problem and translate them into code.
But when you to attempt to test classes, that's when shit hits the fan.
In my opinion, it is pointless to test classes. If you ever seen test code for a class, you'll notice that it's usually horrible and long.
The reason for this is that usually some methods depend on other methods to be called first.
This results in the usual monolithic test that calls every goddamn method on the class.
You might say "ok, break the test into smaller parts". Ok. But the result of that attempt is even worse, because you end up with several big tests cases and a lot of duplicate code, because of the dependency of some methods on others.
The real solution to this is to make the classes be just glue: they should delegate arguments onto functions that reside on its own file, and, maybe afterwards emit events if you are using events.
But they shouldn't have too much test code classes though. The test code for classes should be running a simple example flow, but never doing any assertions other than expecting no exceptions.
For the most part, you'd be relying on the unit testing that is done for each delegated function.
If you take any single function you'll see that it's extremely easy to write tests for it. In fact, you can have the test right next to the fuction, like <module>.xyz <module>.test.xyz
So I don't think classes shouldn't be used at all, they should just be glue.
As you do normal usage of this software this way, when a bug is discovered you'll notice that the fix and testing code for this bug is very usually applied to the delegated functions instead of being a problem of classes.
I think classes by themselves sound sane in paper, but in practice they turn into a huge fucking messes that become impossible to understand or test.
How can something like traditional classes not get chaotic when a single class can have x attributes and y methods. The complexity grows exponentially. And sometimes more attributes and methods are added.
Someone might say "well, it's just the nature of problems. Problems can have a lot of variables".
Yeah, but cramming all of that complexity into a single 200 lines class is insanity.12 -
VS Exception Display is full badfor me now.
I had a query problem in my code, and the only exception displayed by VS was one that don't help that much.
But there were two exceptions messages to display. Fortunatly the front-page displayed the full stack, else I'd have no clue of what was going on. -
firstly, does anyone know of an online telegram or whatsapp group where i can ask silly stuff regarding web dev and get immediate answers, just like it is here?
secondly i am trying to learn js and there are just too many related terms that are messing with my brain:
"some features are supported ines5/es6/es15/es16/es17 , some are supported in chrome's v8/chakra/spidermonkey/android browser , some features are only supported in "serverside" and blocked in all browsers thanks to browser's vm environment; babel can't read this code, some features are provided only by node js..."
WHAT THE MESS IS THIS?
All i am trying to do is to write code that would make a website visible to everyone. if by specific browser , i want to target, chrome and its subsidaries and android chrome/other android browsers .
for other browsers am willing to make external converters later but don't want to change my code by 1 bit. And from what i know, each browser (at least the browsers am thinking of supporting) has the complete JS compilers already built in
can i or can i not built a complete functional website with those things?
and finally my main question : how to make custom exceptions in vanilla js? i saw this answer on stack overflow:
===================
function InvalidArgumentException(message) {
this.message = message;
// Use V8's native method if available, otherwise fallback
if ("captureStackTrace" in Error)
Error.captureStackTrace(this, InvalidArgumentException);
else
this.stack = (new Error()).stack;
}
InvalidArgumentException.prototype = Object.create(Error.prototype);
InvalidArgumentException.prototype.name = "InvalidArgumentException";
InvalidArgumentException.prototype.constructor = InvalidArgumentException;
Usage:
throw new InvalidArgumentException();
var err = new InvalidArgumentException("Not yet...");
=====================================
where is the error code? what would be the exception details? what is the line number/timestamp of error?why is that function making an error, i thought error/exception is a class in JS?4 -
When you need to upgrade an Oracle CC&B project on a minor version change and Eclipse shows ~1500 java.lang.ClassNotFound exceptions
Bonus points: when you need to upgrade a CC&B project with thousands of COBOL lines in its extensions to CC&B 2.5 -
remember when samsung launched galaxy z flip and was telling everyone that they invented a bEnDaBlE gLaSs and you were bEndIng tHe lAwS oF pHysIcs, but then that screens started breaking all at once like with galaxy fold, but samsung somehow got away with it? Lmao I imagine if apple did something like that, yall could've not shut up for like a solid month, but if samsung does it, it's alrignt. you filthy fucking hypocrites
if you fucking hate apple, just fucking admit it, you're entitled to your opinion, but stop fucking inventing excuses. you hate apple not because of lightning, not because of right to repair because samsung and others (with rare exceptions) are no different. you hate apple just because it's apple. admit it.2 -
for christ sake.. I ended up receiving all problems at a startup, I am alone every lvl of support from software exceptions to plc. Even for machines I have never received any training or explanation. How can a company afford mass holydays and rely for all level support on a single person who is still under training? I cant dug deeper in any issue because then I got overfilled with questions. I really want this week to end...1
-
I hate web dev. I said it. When you build a simple website with clean, consistent business and display logic and your boss asks you to make exceptions for every goddamn record. Maybe it's how the type is rendered. Maybe something needs emphasis. Maybe the designer doesn't like how a specific record word-breaks, so you have to write logic to handle that. It's always SOME annoying little detail that takes hours and hours, complicates logic and won't even be noticed.4
-
Constructs that would help my team mates, but they don't listen to me:
1) classes in general
2) DAO
3) using dates from the API instead of date.now
4) not using exceptions for flow control
5) Stop using StackExchange verbatim, learn from the answer, not ctrl+c,ctrl+v
6) use datatables and read/write once to the db, not each "row" -
Trying to figure out why switching underlying object in data binding does not update.
checking type validation, nothing
checking types in bound events, nothing,
maybe some exceptions it thrown? nothing...
check the "class"... IT'S A FUCKING STRUCT -
Fuck nrwl.
This stupid puddle of barf software that gets talked over like it's the shit. Nothing remotely useful works when using it. It always craps out some dumb exceptions that have nothing to do with your actual code but the dumb fuck, that didn't have the brain cells to think half a step ahead when doing his job.
It's just a buggy, mostly useless piece of shit that some guys in nice suits sell like it's jesus 2.0.
I hope you burn in hell.
I haven't been this mad since a looong time.2 -
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
So in my groups project where we use ASP.NET Core MVC where we've needed to add identity. Now I've struggled with this soooo much only for today to get it to work.
The documentation for it (more specifically user roles) isn't very good, and most tutorials basically just do the same thing which has for me thrown exceptions left and right (and I don't even do anything special tbh) without any explanations. But today I finally got it to work, I can seed the database without getting told that there are no service for the RoleManager
and
it
feels
like
this
https://youtube.com/watch/...rant it literally feels like hardbass asp.net core mvc now it does dopamine levels high aaaaaaaaa it didn't work askjdfhasdjh1 -
In my company, we have been have been using skype, hipchat, slack and now Teams.
Yet somehow, email always survives.
I get it as a communication channel for external clients as everybody has an email.
Yet when you as a company are using a team messenger, well then use it as your primary communication tool NO EXCEPTIONS or don't use them at all.3 -
Start my code day, no bugs in sight,
Each line I write, like code's delight.
Second function, errors suppressed,
Silent fixes, my skills put to the test.
Third loop, logic numb, yet breaking,
A contradiction in every line I'm making.
Fourth bug, clinging like a leech,
In the grip of coding's caffeine breach.
Fifth syntax, thoughtless actions cascade,
A program's dance, in lines arrayed.
Sixth compile, colleagues say, 'Go home,'
But where's home in this code dome?
'They say home is where the heart is,
But my heart's in a million logic twists,
Which line shall I follow?
The optimized or the broken,
I cannot tell them apart.'
In the last bit of code, I saved my hope,
When debugging was still an option,
So go ahead and save yourself from glitches,
For you are worthy of a million exceptions. -
I just had this field with certain class type that acted so $h!++y on me that I almost believed I had finally gotten insane from all those coding.
I’m talking about Unity C#. When the code runs after a domain reload, I find that this specific field always comes prefilled with “an instance of that class whose properties were the default values.” So every time when I change something in my code (which causes a domain reload,) this field becomes an instance of the class with default properties **without any outside interaction.** All my null guard code fails and what follow are thousands of null reference exceptions because my scripts tries to access the properties of that instance, which are null.
Turns out, it was maybe because the class in question was marked with [Serializable]. When I remove it, the behavior completely stops.
This behavior was so unexplainable in clear words that googling for such behavior was pure impossible. Like WAT. I don’t even know which of C# or Unity caused this weird $h!+ to happen.2 -
So today I had to fiddle around with obfuscation software to obfuscate software we are going to release....
4 tries in and the software is still crashing with different exceptions each time....
And at the same moment this text came in to my mind:
"If software is working after obfuscation it's not obfuscated enough"2 -
Today our PM planned to deploy in production an e-commerce based on PrestaShop.
A colleague of mine mamaged to implement everything that was necessary, and I made a small script to add random sales on random products every sunday.
We tested it several times in our environment, on multiple machines, and everything was working fine.
BUT
Today we launched the script on production server, and we was a little mistake.
"A bug? Say no more pal, I'll fix it!".
Fixed, tested on local environment, deployed and.... The first steps weren't working.
"Fatal error".
That's what I got. No exceptions, no error messages, no references.. Just "fatal error".
We spent two hours looking for the problem, thinking it was a server error that was just outputting that shitty message.
And you know what? Some fucking fat cocksucker son of a bitch thought it was an excellent idea to stop the code execution with a simple and very helpful "fatal error".
"oh, wait, there is an error here, let me print die(" fatal error"), ao the other developer will be able to find what's going on", he thought.
FUCK YOU MORON.
TL;DR: Avoid French software, they are a bounch of asshole (except some goos guy..) -
One of those debugging days where minutes feel like hours, and hours like days.
I had the bad luck of being asked to dive into a legacy project which was unmaintained for months, but of course it's still on prod. And very suddenly the urgent need arrises to change stuff.
Yet: the docker stack won't work. It builds fine but the stack crashes.
Long story short: some internal api URI were renamed and at some point one internal api started to always require an access token. Which we set for the stage, prod env yet somebody forgot to mention that to the devs of legacy-project.
That ain't too bad.
WHAT IS FUCKING BAD IS THAT YOUR SHITTY APP SWALLOWS THE ERROR MESSAGE!
I mean it's bad enough I have to `var_dump && die` your app since you never bothered to setup a xdebug that I could use out of the box, yet egregious fact that your app would catch a valid exception but transforms it into an "internal warning" is borderline insane!
It's ok to throw exceptions. It's ok to let your service die. That's how other will know what and where to fix it. (You may want to restrict the data visible to the outside, but that's a whole different conversation.) -
I'm trying to improve my code and I found a place where you can find problems and you can upload the answer and it says if it works or if it doesn't.
The funny thing is that it asks for handling the exceptions but it says it's wrong if u handle them.10 -
My “seniors” have a limited understanding of exceptions and it’s driving me nuts, they try to tell me their half baked ideas about best practices when most of their code is just wrapped in a general exception with a log statement.
-
Hey guys I'm struggling with this error in django
django.db.migrations.exceptions.NodeNotFoundError: Migration recommendations.0001_initial dependencies reference nonexistent parent node
Can someone please help me1 -
Exceptions... Are they good for anything? I haven't seen them add value to code once in my career...
-
Fucking stupid spring-boot-devtools dependency !!!
Started work at 11AM and was working on a Rest API system using Spring Boot. Got to know about Spring Boot dev tools and added it to my project.
Later in the evening my endpoints started throwing exceptions for no god damn reason. Invalidated the caches, restarted my IDE and laptop. Rolled back my code to almost vanilla branch !!! YET THE ENDPOINTS KEPT THROWING RANDOM EXCEPTIONS.
This went on till 1:30 AM (I live in a country where work-life balance is not a thing for software developers :)). Frustrated, the last thing I tried was to rollback the devtools dependency from my POM file. AND MY ENDPOINTS STARTED WORKING AGAIN 🤬
What the actual ffffuhkkk !!!!
To all those who contribute to spring-boot-devtools, you guys are doing a great job and it isn’t a personal attack towards you (I really mean it). It just messed up my project in some way and I was extremely frustrated. -
QA raised several issues. I updated the code, now he’s struggling to reproduce those. Exceptions are working as expected! 😁2
-
three places where exceptions are being thrown...
They all got the same error message
#happydebugging2 -
Stuck in debugging a python script (using 'requests' library to achieve 'curl' type function) for the last 2 hours
Worked fine yesterday in Python REPL.. Throws exception when put in a long exisitng .py script.. Works fine again when put in Python REPL
Found out that when in REPL, I am careful to import 'requests' library every time but ignored when typing in .py script
(Feeling stupid)
Lesson learned: Don't use "generic exceptions"!! They never let you know what the real problem is.1 -
!rant
Error codes are better than exceptions, because they are faster and easier to get right.
O'Rlly? Did you measure that? How does the disassembly look like? Well ... go and fucking measure it! -
Stacktraces of exceptions thrown in async code. When walking up the callchain just gets you in the schedulers dispatch loop...
-
#Suphle Rant 4: Laravel closing the gap II
I had expected rant 4 to come at least, some days later. Apparently, I'd miscalculated how fast things work in this wonderful world of software. In an earlier rant, I wrote about how dismayed I was to learn laravel had implemented one suphle feature I'm very proud about. They call it Premonition. Idk if it's officially rolled out yet but you can do a search among accepted pull requests for what it's all about
Well, today, I've just seen a draft from one of their maintainers showing one of the things suphle was designed to do: https://twitter.com/enunomaduro/.... They can't integrate it with this pattern since php doesn't have generics, so it'll either get trashed or with plastered as some band aid. In suphle docs, I explicitly indicated the data structure/typing for that feature is a polyfill for the absence of generics
I think I can get away with it because of where I'm using it (model authorization instead of custom exceptions/throwable operations, in general, like theirs)
I don't feel as distraught as I did on finding the Premonition thingy. Am I impressed with these things dawning on them? Ffs Laravel was invented in 2011. It's incredulous to think it gave me hell for years. Waited ~2 years for me to fix all issues in a brand new framework, only to magically gain iq points and start improving their work
It's weird and brutal. If they keep figuring stuff out, it may not be long before there are no features unique to suphle. Then, my worst nightmares will come to life. I will argue there's one thing nobody will ever copy, not without rethinking the mvc architecture in its entirety.2 -
Am I stupid ?
So this seems like such a simple problem.
You have a block pixels.
If the pixels around a pixel are within tolerance (t), then they are included as part of shape. if a connected pixel to the original pixel has other pixels within tolerance (t) from it, they are also included in the shape.
the block of pixels has been reduced to a simple on/off state, no color considerations necessary.
Creating a bounding box around the beginning and end of data can lead to strange exceptions, so the method suggested seems the best way.
But its sooooooooooooo slow when you get large noisy images.
I've tried doing this a few different ways.
The last I tried is dividing everything line segments, classifying them by orientation (diagonal, horiz, vert, point) and then dividing the canvas into panels of so many pixels to prevent #oflines^2 comparisons, placing them lines in and then testing for intersection of the lines in one panel at a time.
Is there another way ?4 -
Why doesn't Java have a functional interface that supports throwable exceptions?
Seems silly to have to define my own wrappers around the Function<> interface. -
So I've been working on a python package for quite sometime. It is a package that allows for multithreaded/multiprocessed downloads and various control commands as well. It is not complete but can be used successfully in scripts barring some exceptions.
I was hoping that the kind people here at devrant would help me better the package and contribute towards it as well. It is also a great opportunity for newbies as well to learn and develop new insight about the package.
https://github.com/party98/... -
Learning C# coming from Java...
What's the fuss about properties? As i see it, theyre only usefull for binding, as else they just work as syntetic sugar instead of getter/setter methods.
But properties are also limited to give response back, like a successfull set, unless you start throwing exceptions..
And if a set property has if(age>5){this.age=age} then if i pass the property a 4, you will never know as a user that it failed (again, unless you start throwing exceptions)
Im kinda feeling like i want to use get/set methods until i need to bind, then of course use property ?? Am i all off here?25