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 - "nulls"
-
You know what I realized we should always say no for demo driven application development.
We should always ask for enough time do a proper development and if its not enough, shouldn’t write a single line.
Because once we deliver a working demo. Its release ready for them because its FUCKING WORKING..
And trying to explain why this is just a demo and cant be put to production is even bigger pain in the ass than saying no in the beginning.
LESSON LEARNED .4 -
One step through the door my wife whips around, a look so disgusted she barely seems human. "What's that smell?" she cries. "It's you! You smell like...like bad code!"
Indeed, I am covered with the scent of the forbidden love child of a man who read half a chapter on if-then statements and then pushed out into the world, earthworm-like, a mangled misshapened gelatinous mass that my employer gave the title of line-of-business application purely out of pity.
For more days than I'd like to count I have been porting a ColdFusion 5 application to .NET. Initially written in 2000 and last touched in 2006, it has a data architecture comparable to Dresden after the second world war. It features a table solely comprised of seven columns of IDs so that joins can be made between other tables lacking a common key. Columns that should be contained within a single table spread out among multiple tables. Single columns containing data that should be multiple columns (with handy flags to separate the subsets). A view with 14 joins that playfully displays unintended results. And so much more spread out over almost 200 stored procedures, views, triggers, and tables on the SQL server, and dozens of additional ADO-like SQL statements within the ColdFusion itself. Fortunately, the application overcomes these issues by having absolutely no data validation while allowing nulls pretty much everywhere.
When I am done this will be a very nice ASP.NET MVC app with at least 150 less stored procs, views, and tables. Auto-generated duplicate entries will be a thing of the past. Pop-up windows that inexplicably refresh the underlying screen to display a different part of the program than the one the user wants will be eliminated. And a UI based on the colors of a Rubik's Cube with usability that Mr. Rubik would find challenging will disappear with only the trauma of using it left behind.
Sadly, this is not my worse legacy code experience. Just the most recent. Just the most recent stench added to a lifetime of bathing in code rot.3 -
Received a urgent email from a business client saying that the application we support is completely broken. Their staff said they used the app to send several submissions that day but they did not come through. This is a major issue as these submissions need to occur daily.
I understand that this is a priority so I immediately check everything. I test the app, the server, check the database. Everything seems fine, but there's no record of these submissions. Maybe it's the specific device that was used. I reply saying that everything seems to be in order. Can I please be provided with more information about what occurred? What time were the submissions sent?
Client replies saying that the submissions were definitely sent and that the staff swear by it.
I now know something is up, so I remote into the the devices in question and check the logs. The app was not even used that day! I've got them! Those liars!
I am now quite pissed off, but remain professional and reply saying that we log all app events and that the logs show that the app had not been used at all that day. Now they have to own up to their lie. Right?
Wrong. Client replies with: The issue has been fixed. Thanks.
Can you believe the bloody nerve? The client doesn't even have the decency to apologise but rather insinuates that it was all our fault.
Well I'm not having that. I reply: It is great that the app is functioning correctly. However, I believe it is important to understand the cause of the issue as to prevent it from occuring again.
Client: No reply.
Well, if you want to waste other people's time, here's the fat bill.
Moral of the story. Don't trust anything that the client says and for any issue, debug the user before doing anything else.2 -
Hello everyone 👋
I see people blaming the developers when you see a crappy software product , saying that they have done a bad job.
But even it could be true also it could be the product managers who didn’t give enough time todo what needs to be done or project scope is too big for the persons knowledge.
I’ve worked in a company where deadlines were so tight I didn’t have enough time to proper UI and Testing. I used to be only developer who has someone experience and I had to train the interns as well. I am also to blame to joining such company but in desperate times takes desperate measures.
And now when i’m leaving the company and I have spend 2 years of my life for apps that I’m not proud of.
Just rant. Please feel free to give ur thoughts2 -
* Calls themselves "Software Engineer"
* Doesn't know what a thread is.
I swear these coding boot camps are churning out code monkeys whose real skill is building shitty React apps.
I believe a CS degree is necessary if you want to work on something more than CRUD applications.
Nothing against devs without degrees, but at least make an effort because my head will explode next time I have to explain to someone what a thread is and why it's a very bad idea to run blocking code on the main thread.26 -
Hahahahahahahahahha I'm not going to do anymore of your "quick" projects that result in shit pay and drain me out. I got actual fulfilling projects I enjoy working on hahahahah not again "friend". The audacity of this guy to ask me to handle a big project alone while he sits on his ass and gets a 50% cut. He should have paid attention in school if he wanted to be a programmer. All he does is lie to clients that he can code yet runs to me to do all the work. Hahahah let's see how he gets out of this one. Not gonna help you today "friend".5
-
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 -
I feel like a piece of shit because I don't want to help my "friend" who has been faking being a web developer for years. He now has a real project he must develop that actually requires writing code (It's a serious project that requires real Javascript skills) and he's basically fucked.
He usually would hop on the web and download a template, edit it and get paid. But then again I don't want to help him because he always comes to me and I do all the work and save his ass while he does nothing.
I'm in a rock and a hard place right now because I'm also a dev and I actually have a lot of work to do, unlike his lazy ass.5 -
I'm convinced no one really understands OAuth2, probably not even the creators.
Every blog, articles and tutorial, you have people saying don't do this, don't do that. Basically, no one agrees on a single implementation.
Want to use passwords for auth in a first party system you fully own? Apparently, that's unsafe.
Hmmm, what about magic links for passwordless auth? Also not safe you say?
Okay, I believe Okta just wants people to use their services, nothing else.15 -
ChatGPT sucks so much for coding tasks and it's laughable.
Like, it's come to a point where it's unusable for me. At all.
It's like a toddler, anything you tell it, it agrees. Then spits out non-existent functions.
The thing actually slows me down.
And yes, I've tried Claude AI and it's slightly better but in no way, shape or form did it improve my productivity.
Those who claim it made them n times faster were never working on complex tasks to begin with.8 -
CTO: We'll use epochs for any time related fields in our services.
After service integration...
Dev from producer team: Hey the time field is showing up as 1970 and not null in your table. That seems to be a bug.
Me: Code looks fine. We are converting epochs to timestamps here. Null is taken care by the library function itself.
The same dev: Actually we are sending zero instead of null values in that time field. But we'd want the end table to treat that as null.
Me: Why can't you send null then?
The dev: Actually avro doesn't support nulls. Hence the zero.
Me: WTF??????
Manager to me: Actually you need to convert them as null. Anyways, this is not a blocker and we can live with it for now.
END OF RANT
Why can't they fucking send it as null? And when I asked about the details, that particular event type doesn't require that field. Still the manager insists on sending that field for it.23 -
When you find out the last 3 hours of your life has been wasted finding that some numbskull confused the Round method with the Random method in the currency conversion logic1
-
Last Monday I bought an iPhone as a little music player, and just to see how iOS works or doesn't work.. which arguments against Apple are valid, which aren't etc. And at a price point of €60 for a secondhand SE I figured, why not. And needless to say I've jailbroken it shortly after.
Initially setting up the iPhone when coming from fairly unrestricted Android ended up being quite a chore. I just wanted to use this thing as a music player, so how would you do it..?
Well you first have to set up the phone, iCloud account and whatnot, yada yada... Asks for an email address and flat out rejects your email address if it's got "apple" in it, catch-all email servers be damned I guess. So I chose ishit at my domain instead, much better. Address information for billing.. just bullshit that, give it some nulls. Phone number.. well I guess I could just give it a secondary SIM card's number.
So now the phone has been set up, more or less. To get music on it was quite a maze solving experience in its own right. There's some stuff about it on the Debian and Arch Wikis but it's fairly outdated. From the iPhone itself you can install VLC and use its app directory, which I'll get back to later. Then from e.g. Safari, download any music file.. which it downloads to iCloud.. Think Different I guess. Go to your iCloud and pull it into the iPhone for real this time. Now you can share the file to your VLC app, at which point it initializes a database for that particular app.
The databases / app storage can be considered equivalent to the /data directories for applications in Android, minus /sdcard. There is little to no shared storage between apps, most stuff works through sharing from one app to another.
Now you can connect the iPhone to your computer and see a mount point for your pictures, and one for your documents. In that documents mount point, there are directories for each app, which you can just drag files into. For some reason the AFC protocol just hangs up when you try to delete files from your computer however... Think Different?
Anyway, the music has been put on it. Such features, what a nugget! It's less bad than I thought, but still pretty fucked up.
At that point I was fairly dejected and that didn't get better with an update from iOS 14.1 to iOS 14.3. Turns out that Apple in its nannying galore now turns down the volume to 50% every half an hour or so, "for hearing safety" and "EU regulations" that don't exist. Saying that I was fuming and wanting to smack this piece of shit into the wall would be an understatement. And even among the iSheep, I found very few people that thought this is fine. Though despite all that, there were still some. I have no idea what it would take to make those people finally reconsider.. maybe Tim Cook himself shoving an iPhone up their ass, or maybe they'd be honored that Tim Cook noticed them even then... But I digress.
And then, then it really started to take off because I finally ended up jailbreaking the thing. Many people think that it's only third-party apps, but that is far from true. It is equivalent to rooting, and you do get access to a Unix root account by doing it. The way you do it is usually a bootkit, which in a desktop's ring model would be a negative ring. The access level is extremely high.
So you can root it, great. What use is that in a locked down system where there's nothing available..? Aha, that's where the next thing comes in, 2 actually. Cydia has an OpenSSH server in it, and it just binds to port 22 and supports all of OpenSSH's known goodness. All of it, I'm using ed25519 keys and a CA to log into my phone! Fuck yea boi, what a nugget! This is better than Android even! And it doesn't end there.. there's a second thing it has up its sleeve. This thing has an apt package manager in it, which is easily equivalent to what Termux offers, at the system level! You can install not just common CLI applications, but even graphical apps from Cydia over the network!
Without a jailbreak, I would say that iOS is pretty fucking terrible and if you care about modding, you shouldn't use it. But jailbroken, fufu.. this thing trades many blows with Android in the modding scene. I've said it before, but what a nugget!8 -
My Favorite Senior Dev: Hmm, I don't understand this error.
Neighboring, Competent SQL Developer Coworker: What does it say?
Senior Dev: It says, "Cannot insert the value NULL into column 'person', table 'PEOPLE'; column does not allow nulls..."
*5 minute silence*4 -
I love javascript, but sometimes it's just an incredibly stupid language, such as when undefined variables get interpreted as string literal "undefined" when concatenating strings. I like it better how, for example, PHP handles undefined values, that nulls just turn into "". Better still: typed languages, where most stupid mistakes are caught already at compilation, instead of having to spend hours to track down where that mysterious "undefined" comes from. As I said, I love javascript - because it is easy to code, flexible and forgiving in many ways. But I hate it for the exact same reason, for being such a sloppy fluffy...thing, and a bugger to debug. If javascript would be an animal, it would be a cute and cuddly cat that you instantly find adorable, but it's actually quite fat and lazy, plus its fur is littered with ticks and other bugs.12
-
Working out how to continue an interview when the interviewee thinks Test Driven Development is fixing bugs raised by the Test Team5
-
Meme quoting one of our employees who sent in a ticket asking if something was a "phishing technique without the use of email."
-
!dev
I'm a hobbyist photographer but lately I've been getting offers to work on major gigs. Apparently people have started liking my photography.
However, just like some programmers are hardliners when it comes to particular stacks, the camera world is riddled with brand loyalists that can't accept that anything other than their camera gear is better. You have Canon/Nikon users who can't wrap their minds around the fact that Sony is making better cameras for the price.
I ask a question about what lens people recommend and a flame war starts about why X camera is better than Y camera.
Guess what, it ultimately comes down to the skill of the photographer and not the camera. All I wanted was a lens recommendation for a particular style of shooting.
Thing is, all modern cameras are more than capable of doing their jobs.8 -
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 -
Why the fuck these managers can’t understand that you can’t build a full blown system with in a week. After building a demo driven application to show the client you can tell the client we are fucking ready to launch the damn thing . I FUCKING MENTIONED BEFORE GOING TO THE MEETING ITS NOT RELEASE READY GOD DAMN IT.
Now when I say we can’t launch this app we need to fix things . THE FUCKING MANAGER HAS THE GUTS TO SAY “one day is enough to fix the issues right ? Shouldn’t be a big deal for you to fix this” .
Kill me now 🤬🤬🤬🤬🤬7 -
Anyone else get a feeling that some tutorials are made for trolling purposes? Like, why write an article about the most basic stuff about a particular stack and call it a day? Why copy paste from the docs without adding any new information whatsoever?
Medium.com is the worst offender.7 -
Testers who find an issue that prevents execution of an early step common to many scenarios, who then dutifully create 150 tickets to fail each scenario individually, crowing on about how many issues they've found1
-
Quick Tip:
There are jokes you tell to your best buddies that you should never tell your boss.
Just saying : |5 -
Apple Music is the worst music service I've ever used.
By far the worst UI/UX ever.
It doesn't allow me to easily organize my music the way I want.
Search is sluggish.
The recommendation algorithm sucks.
Can't LIKE a song without it asking me to also sync my local music files to the cloud. Seriously, why the fuck can't I like/favorite a song and be done with it? Why does it need to sync with my local files?
This is a basic feature that works in literally on any other music platform.
The damn thing can't even play FLAC.
I know Spotify has its issues, but it actualls feels like a well engineered piece of software.
Apple Music seems like it was made by junior devs for a school science fair.
The only thing going for Apple Music is the sound quality, everything else is bullshit.8 -
Having to join an emergency meeting to discuss progress of an urgent resolution the very attendance of which just delays the fix. Then repeating the meeting every 30 minutes.1
-
Do you need a degree to become a software engineer ?
Now this is a question I’ve seen many people ask. I personally have no degree and I’ve been doing programming for the past 10 years (since I was 18 ). Whatever I learned, I learned from reading and watching tutorials.
So far It wasn’t a problem for me.
What do u guys think and what is your experience is this matter ?9 -
!dev
fuck call of duty and activision. I finally had time to play with my friends when suddenly I had to download a 56 GB update. Why the fuck does every update have to be big? Then after that monstrous update, if you want to play multiplayer, you still need an additional 22 GB for a multiplayer pack which you already have. This has to be the most clueless company out there. I should have uninstalled this game a long time ago.11 -
People who think that emailing, texting, voicemailing, whatsapping and skyping are acceptable alternatives to raising a ticket/defect/issue
-
Pet peeve: the claim that static typing prevents errors.
Today I worked on a C# project that's a mess of nulls, side-effects, inferences, and race conditions. Then I went back to a JS project that's twice the size but written in a clean, well-tested, FP style and currently has fewer than 10 issues logged.
Look, I get that there are upsides to static typing, and I'm open to introducing typescript or flow for our JS code.
I just can't stand the faux-concern from the static typing dingleberries when they are the ones who produce these horrendous lumps of unmaintainable shit, and the JS/Python/Ruby/etc people are over here quietly reinventing functional programming and code modularity.10 -
Learning institutions move so slow. Kotlin and Swift are nowhere to be found in this mobile applications course.8
-
Some gamers: *Gaming sucks now*
Also, those gamers: *Plays only FPS games*
Like dude, there are so many genres with amazing games that you would have a new game to play every day if you wanted. But oh no, I only play COD and Fortnite and because they suck, every other game in existence must also suck.
Stop playing the same damn games then, maybe you will enjoy gaming once more.
Also, I feel like people complain about FPS games because they expect to win every single match, which is impossible. You will meet sweats and tryhards. That's the reality of any multiplayer game.5 -
Finding out that the Project Manager and Test Manager are actually in a relationship then spending the rest of the day trying to work out what you said to each of them in confidence
-
Anyone else work at a company where the employees don't know the difference between a developer and a help desk person??3
-
My company never used unit tests. And i would love to educate but i do not know how to unit test properly. I always en up with: if i want to properly test all ins and outs of this class's + operator. I need to add checks for positive number, negative numbers, nan, infinites, nulls etc. Etc. It needs so many tests for something so stupidly simple, that i don't see a way to motivate people to use it.
Am i missing something? Is there a guideline for "ok coverage"? Is testing just that much work and is that why nobody cares until it is too late?
I have been reading a book about working with legacy code. But still i got no answers. Halp!7 -
Well, I love react-native and how easy to build mobile app with it. but damn look at these folder sizes jeez1
-
It would really, really suck if we're alone in the universe. Like, I can't think of something that would suck more.
I hope aliens exist.13 -
Car reviewers are the bane of my existence.
In one video, a dude reviews a 3rd gen Rav4 and says "don't expect Porsche like performance or luxury materials".
Well, no fucking shit, Sherlock.
Who would've thought? An affordable compact SUV doesn't have sports car performance. Mind = Blown.
Also, vague and subjective criticism such as "unimpressive steering" or "not fun to drive". Not fun how? Whatever the fuck that means.
Dudes want a budget car with a Bugatti engine, that handles like a Porsche but priced as a Honda.
Seriously, why the fuck do these reviewers regurgitate the same shit, over and over again.
A good review must take into account the price of the car. And at most, compare it to similarly priced cars.
Comparing a Corolla to a 911 is down right moronic.3 -
Spent last 2 days trying to get an upstream data file loaded. I've now concluded it's just corrupted during transfer beyond repair... But I got to practice lots of Linux commands trying to figure out what the issue was and fix it (xml parser was throwing some error about nulls originally)
vi, grep, head, tail, sed, tr, wc, nohup, gzip, gunzip, input output redirection -
I'll put it this way. Svelte is like Kotlin. It's modern, elegant and a pleasure to work with.
React is like Java. Old, bloated and a pain to work with.
Svelte makes React look like it was built by masochists.
I don't work on frontend often, mostly because I despise the frameworks.
Svelte is a breath of fresh air.
I just want to ship a product quickly and it doesn't get in the way.2 -
Agents who try to convince you taking a job that earns less is a good idea for any reason other than them getting a recruitment fee
-
Whoever worked on the speak-to-chat feature for Sony XM4 headphones deserves to have a bunch of angry orangutans pull on their nipples for 1 minute.
Why the fuck do they get activated out of the blue when I'm simply talking? It feels like I'm under the water.
And the damn feature can't be turned off permanently. You can go into the app to turn it off, but it'll get activated again. You can use the two finger gesture on the sensor to toggle it off but it will still come back. It never stays off.
These are amazing headphones, but this is my biggest pet peeve. Almost ruined them for me.11 -
Project Managers who plan on the basis that weekends are part of the project plan, but specifically only for tasks that do not require them to be present
-
When you've managed to get to +99 ok your first day on devRant but can't think of anything else to post to get you into 3 digits!
-
Let's just say that I hate configuration of any kind.
AWS IAM, Cloudfront... it all makes me want to end it all.
Why can't this stuff just work?4 -
Postman freaking sucks now. It's bloated and can't easily do what's it's supposed to do without hassle. You have to login first, then it will inexplicably lose all your previous API requests.
I guess the company has forgotten who their base customers are.6 -
Question regarding android. I am having a problem with retrofit (I am using moshi converter factory) and hope that you can help.
Basically I have a screen with 3 checkboxes. User is able to select any of these checkboxes, and also user is allowed to select none of them.
When user doesn't select any checkboxes and click complete button, I send a PATCH request to backend with a model which contains 3 null values.
Problem here is that PATCH request which is being sent doesn't include any properties which have been nulled.
I spent some time researching why retrofit/moshi doesn't serialize nulled properties and I found a fix.
So I have this line
.addConverterFactory(MoshiConverterFactory.create(moshi))
Which I replaced with
.addConverterFactory(MoshiConverterFactory.create(moshi).withNullSerialization())
Now nulls are serialized and I am able to send a PATCH request model with nulled values. However now I'm facing another problem. Across my app I'm using only one retrofit client and I don't want to serialize nulls for all requests. Also I don't want to create another retrofit client.
How can I fix this problem? As far as I've researched it seems that I need to add an adapter with toJson() and fromJson() methods and then somehow enable nullSerialization only for that adapter. However I don't completely understand that solution and not even sure how to handle it.1 -
Knowing that being asked to help the PM with his Client Project Status Report on a Friday evening means a) it's late, b) he has no idea what has happened since the last one and c) you'll be writing it all anyway.
Repeat each week for the rest of eternity -
Nothing says asshole like a guy who won't approve your MR even though the feature is working but they prefer implementing it using their preferred approach.
Different coding styles for different folks. What matters is that the approach used is efficient, working and tested. But oh no, you have to write the code exactly how they want it.
Good thing we're free to merge our own MR when the reviewer takes more than two days to merge it.4 -
Trying to read the description/usage for WP functions to figure out what's going on is like getting lost inside a maze...inside a maze.
I swear people write these descriptions for people who already know what the functions are and what they do. #UselessToMe -
Why the fuck would Google promote Jetpack Compose as a stable toolset when it doesn't even support a basic feature such as a scrollbar.
A. Fucking. Scrollbar.
LazyColumn can't even come close to being as powerful as Recyclerview.
Here's an idea, before launching something and touting it as something usable, and encouraging people to drop the old, battle tested tool for the new shiny one, how about you make sure the new doesn't lack features present in the old one?
Seems logical, right?
Methinks somebody was just looking for a promotion because, clearly, Jetpack Compose is a half-baked product.
Now, developers will have to suffer because project managers will read about the new framework and ask devs to use it, then wonder why the app is suffering.2 -
do you store every variable in a relational db? more specifically, only just the class members not local vars. what if table has 200 columns and roughly 75% of the table is nulls. why or why not?5
-
Your language has nulls. Would rather smash my own skull in with a mechanical keyboard with blue cherry switches so everyone can hear because omg how do you even get by.