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 - "int32"
-
Pro tip: never try to convert the date (formatted as "yyMMddHHmm") in an int32.
It will stop working in 2022. 😉
I just found out I accidentally invented the "2022 bug" two years ago.8 -
Me: Return data from Firebase into unity project
Firebase: Returns data as object
*Type casting fails for 6hrs*
Finally find the reason Data return type is int64 and I was saving as int32
Now I sit and question my life while listening to epic music2 -
Might be more of a self-rant.. We’re developing an application with token-based authentication.
It’s a big an complex authentication model and flow, which we wrapped up a month ago. All of us very proud of it.
All of a sudden none of it worked.
We debugged for days, there were no errors or anything to trace what was happening.
Today we realized that we set the expiration of the token to 20 years.
Aaaand the expiration time is later on converted to epoch.
Guess what happens when you try to use a value > 2 147 483 647 in C#? Stuff blows up, cuz that’s the limit of an int32.
So yeah, feels good having prepared for the Y2K38 bug already, even though we’ll be replaced by AI writing better software than my dumb ass by then.
(To be fair, it was hidden in Microsoft Owin, which could use some error handling and/or proper messages..) -
Every language ever:
"You can't compare objects of type A and B"
Swift, on the other hand:
"main.swift:365:34: note: overloads for '==' exist with these partially matching parameter lists: (Any.Type?, Any.Type?), ((), ()), (Bool, B ool), (Character, Character), (Character.UnicodeScalarView.Index, Character.UnicodeScalarView.Index), (CodingUserInfoKey, CodingUserInfoKey ), (OpaquePointer, OpaquePointer), (AnyHashable, AnyHashable), (UInt8, UInt8), (Int8, Int8), (UInt16, UInt16), (Int16, Int16), (UInt32, UIn t32), (Int32, Int32), (UInt64, UInt64), (Int64, Int64), (UInt, UInt), (Int, Int), (AnyKeyPath, AnyKeyPath), (Unicode.Scalar, Unicode.Scalar ), (ObjectIdentifier, ObjectIdentifier), (String, String), (String.Index, String.Index), (UnsafeMutableRawPointer, UnsafeMutableRawPointer) , (UnsafeRawPointer, UnsafeRawPointer), (UnicodeDecodingResult, UnicodeDecodingResult), (_SwiftNSOperatingSystemVersion, _SwiftNSOperatingS ystemVersion), (AnyIndex, AnyIndex), (AffineTransform, AffineTransform), (Calendar, Calendar), (CharacterSet, CharacterSet), (Data, Data), (Date, Date), (DateComponents, DateComponents), (DateInterval, DateInterval), (Decimal, Decimal), (IndexPath, IndexPath), (IndexSet.Index, IndexSet.Index), (IndexSet.RangeView, IndexSet.RangeView), (IndexSet, IndexSet), (Locale, Locale), (Notification, Notification), (NSRange,
NSRange), (String.Encoding, String.Encoding), (PersonNameComponents, PersonNameComponents), (TimeZone, TimeZone), (URL, URL), (URLComponent s, URLComponents), (URLQueryItem, URLQueryItem), (URLRequest, URLRequest), (UUID, UUID), (DarwinBoolean, DarwinBoolean), (DispatchQoS, Disp atchQoS), (DispatchTime, DispatchTime), (DispatchWallTime, DispatchWallTime), (DispatchTimeInterval, DispatchTimeInterval), (Selector, Sele ctor), (NSObject, NSObject), (CGAffineTransform, CGAffineTransform), (CGPoint, CGPoint), (CGSize, CGSize), (CGVector, CGVector), (CGRect, C GRect), ((A, B), (A, B)), ((A, B, C), (A, B, C)), ((A, B, C, D), (A, B, C, D)), ((A, B, C, D, E), (A, B, C, D, E)), ((A, B, C, D, E, F), (A , B, C, D, E, F)), (ContiguousArray<Element>, ContiguousArray<Element>), (ArraySlice<Element>, ArraySlice<Element>), (Array<Element>, Array <Element>), (AutoreleasingUnsafeMutablePointer<Pointee>, AutoreleasingUnsafeMutablePointer<Pointee>), (ClosedRangeIndex<Bound>, ClosedRange Index<Bound>), (LazyDropWhileIndex<Base>, LazyDropWhileIndex<Base>), (EmptyCollection<Element>, EmptyCollection<Element>), (FlattenCollecti onIndex<BaseElements>, FlattenCollectionIndex<BaseElements>), (FlattenBidirectionalCollectionIndex<BaseElements>, FlattenBidirectionalColle ctionIndex<BaseElements>), (Set<Element>, Set<Element>), (Dictionary<Key, Value>.Keys, Dictionary<Key, Value>.Keys), ([Key : Value], [Key : Value]), (Set<Element>.Index, Set<Element>.Index), (Dictionary<Key, Value>.Index, Dictionary<Key, Value>.Index), (ManagedBufferPointer<Hea der, Element>, ManagedBufferPointer<Header, Element>), (Wrapped?, Wrapped?), (Wrapped?, _OptionalNilComparisonType), (_OptionalNilCompariso nType, Wrapped?), (LazyPrefixWhileIndex<Base>, LazyPrefixWhileIndex<Base>), (Range<Bound>, Range<Bound>), (CountableRange<Bound>, Countable Range<Bound>), (ClosedRange<Bound>, ClosedRange<Bound>), (CountableClosedRange<Bound>, CountableClosedRange<Bound>), (ReversedIndex<Base>, ReversedIndex<Base>), (_UIntBuffer<Storage, Element>.Index, _UIntBuffer<Storage, Element>.Index), (UnsafeMutablePointer<Pointee>, UnsafeMut ablePointer<Pointee>), (UnsafePointer<Pointee>, UnsafePointer<Pointee>), (_ValidUTF8Buffer<Storage>.Index, _ValidUTF8Buffer<Storage>.Index) , (Self, Other), (Self, R), (Measurement<LeftHandSideType>, Measurement<RightHandSideType>)"17 -
Interviewing with a company that brands itself as "AI-powered software development company".
Get sent code test and rules are no AI to help with code test.
I get it, but it's just so ironic...5 -
i ain't gonna build a tetris game for a code test for a job that might force me to work in the office. fuck that shit. code tests are a retarded way of assessing candidates.8
-
Triggered by a spelling error in a backend API endpoint.
Must resist urge to change it.
It says "respondants" instead of "respondent".5 -
I fix antique code for a living and regularly come across code like this, and this is actually the good stuff!
Worst usecase for a goto statement? What do you think?
int sDDIO::recvCount(int bitNumber){
if (bitNumber < 0 || bitNumber > 15) return 0; //ValidatebitNumber which has to be 0-15
//Send count request
if (!(send(String::Format(L"#{0:X2}{1}\r", id, bitNumber)) && flushTx())){
bad: //Return 0 if something went wrong
return 0;
}
String^ s = recv(L"\r"); //Receive request data
if (s->Length != 9) goto bad; //Validate lenght
s = s->Substring(3, 5); //Take only relevant bits
int value; //Try to parse value and send to bad if fails
bool result = Int32::TryParse(s, value);
if (!result) goto bad;
int count = value - _lastCount[bitNumber]; //Maximumpossible count on Moxa is 65535.
if (count < 0) count += 65536; //If the limit reached, the counter resets to 0
_lastCount[bitNumber] = value; //This avoids loosing count if the 1st request was
//made at 65530 and the 2nd request was made at 5
return count;
}4 -
Took a chance at telling my bosses how burned out I am and had a really great discussion with them.
Turns out they want me to lead the front end team, because I'm good at it and can make them do higher quality work. Agreed with me that there's something wrong with the code if you have to use a different IDE lmao.
And I can use my 30+ days of sick leave (which I've never used because I don't get sick) to take time off when I need to. Burn out is a disease.
Not all bosses are shitty.6 -
when you end up in the ER with excruciating pain early on a Saturday morning from persistent inflammation from chronic job stress and getting sick more than normally, you gotta change jobs.
no amount of money is worth your health.
(the drugs they gave me were pretty fun though, but not something I ever want to go through again)6 -
messy backend API. root level payload object has a property that is being repeated in a property that takes an array of objects where this same property exists in each object in this array.
why do people work in a messy manner like this? why pass the same data twice in the exact same request?
(lead architect is smart, but holy fuck is his work a goddamn mess of technical debt and hurts my brain and productivity)1 -
Retarded point of view: "Angular is great for enterprise because it enforces good coding practices and makes developers more efficient."
BULLSHIT. This is the biggest lie and people die on their stupid Angular hills with this. It's about team culture, regardless of framework or language.
I've seen some messy as FUCK Angular code that takes a dev way more time to do a basic thing than it should. Angular is not more resistant to technical debt than any other JS thing.
"But TypeScript." Utterly useless if you're just adding any for every object and variable.
Angular is no better than vanilla JS.
I dare you, challenge my point of view.13 -
when you're adding whiskey to your coffee during work hours, you know you really should find a new job.8
-
Angular is a pile of dog shit.
Making web dev unbearable and harder since 2010 (or 2016 if you ignore AngularJS).
Fuck you, Miško Hevery5 -
spent the whole week working on a bug fix last week.
implemented a method to filter some data to make it easier to use in the HTML template.
friday's session with other programmers to review code went well, they said the method is pretty good and works nice. (I must admit there was an elusive bug that prevented the component to render and none of us could figure it out)
i get back on monday to a message from the lead saying the code is unusable and they reverted to the previous (convoluted) way of doing things and i should do the same in the future. just copy their work.
i check the typescript class. fucking method that was used (which he told me not to use and I should copy and work off of), he went and just changed the method's name, and the body is EXACTLY the same as his existing method.
this code base is ridden with re-used methods (I managed to extract two reused ones into a service some time ago), the use of any for 90% of method return types and variables...
WTF. I am losing all of my respect for seniors and faith in this company.
This is why I am burned out. You are farting against a hurricane and everyone else's shit is coming back onto you. This is fucking insane. Or am I insane?13 -
Am I in a toxic work environment or not?
1. I suggested implementing some code guidelines for our team so we can all work the same way. Lead architect sends me a DM telling me to stop talking about it until after projectX is done because it might stress out other devs. Friday he talks about how important it is to use standardised tools and ways of doing things.
2. Spent a week working on a bug fix and they said solution is good, but then invalidated all of my work by DM-ing me saying it's unusable because i worked on wrong branch and he quickly fixed it over the weekend and I should just copy his (inefficient) code.
3. I ask him a basic question of what version the backend software is using and he doesn't even respond. I ask another team member who quickly helps me check. it would have taken 1 fucking integer to answer that question. i wanted to learn the backend stack, but not so much anymore.
4. Lead doesn't respond to project management software ticket mentions.
5. Lead randomly makes hotfixes to the QA server without prior notice so the backend randomly goes down at times during work hours and then my local copy of the front end stops working for no reason at all when I am trying to focus on bug fixes
6. UX/UI designer's screen designs look completely different than the actual app, so I spent weeks implementing a feature looking like his nice designs, then having to change it again, taking another week.
7. Generally poor comms
8. Leadership mentioned jobs are safe, then 2 months later retrenched a bunch of people.
9. People getting sick all of the time.
10. Nobody gives a shit about technical debt22 -
Do coding test for Vue.js job, because I don't want to work with shitty Angular anymore.
HR person sends React test, with some random string manipulation question in vanilla JavaScript.
I don't do React, but tried the test anyway. Better than shitty Angular.
Told her uhm this is the wrong framework...
I hate web dev.15 -
Don't know if I just shot myself in the foot, but I reached out to my previous team lead who abruptly left a couple of months ago with no real reason, but I have a suspicion that I'm looking to leave the company for similar reasons.
Manager said "he butted heads with us on how we do things."
Well, I am butting heads with them now.
Would be interesting to see what he says. He is a genuinely nice guy.8 -
reminding myself to calm the fuck down and just get this damn huge-ass feature implemented in this messy as fuck code base which is triggering me so badly.5
-
So at one point I worked on an inherited project that had the worst code I've ever seen. I mean bad, so bad there may no quantifiable measure that can accurately convey how bad. We ended up naming the thing 'the hydra', cause it had a million issues and they just kept growing as we fixed things. To my point, in C++ they implemented their own primitive type Boolean32 as a signed int32 pointer. If that wasn't enough they used it as an octal bit mask. They also switch the value using logical and / or between 2 numbers, 037777777777 and 000000000001. So essentially they only switch this value to 1 or -1 and end up comparing it to their own const true or false. In c++ any value not 0 is == true...apparently not in this code.undefined octals why me? why would you do that? terrible code awful code c++ coding no designs bad code
-
Another terrible rant from the inhereted Hydra source code. So deep in the dark dungeon of that code I noticed something interesting. They declare this INT32 array with an incredibly long (like 200 values) list of hard coded magic numbers. Something along the lines of:
INT32 array[200] = {-1,0,1,21,4,7,19,33...};
However, the resulting output was incorrect. After spending a fort night and a good chunk of my remaining sanity I had overcone the 437 levels of indirection left by the previous programmers, and narrowed it down to this line. But it looked perfectly fine.
I pull up the diffs and notice someone had checked in a change to the source. I track it to this line and find what the original data had been.
INT32 array[200] = {-1,0,1,2l,4,7,19,33...};
In VS the default font shows l and 1 as fucking identical. Someone had accidentally made that change to 21 from the original 2l and checked it in. I mean I can't really blame them. Who the fucking hell inatantiates a fucking int32 array and peppers in a fucking 2l (long) for no fucking reason?! -
got this cloud provider who is very knowledgeable, however they set up some logs analytics shit on our one Azure tenant which is costing more than the web apps we host and he's going on about how it's really important that this shit is there because hurr durr security.1
-
Some Angular Bro: "Angular so great, cowboy programmers hate it."
Me: "Bitch, have you seen the Angular code base I have to work on?!"7 -
Option A: Take new job for immediate 10% salary increase, but have to start at the bottom again, being just a programmer and having to clean up messy code (almost no career growth), which I am a bit burned out from TBH. People seem nice.
OptionB: Stay at current place with no immediate salary increase, but get assigned to Front End Lead and have decision-making powers (good career growth and leadership opportunities) and make them conform to a more standardised way of working so the team becomes more efficient.8 -
Technically brilliant, builds amazingly unique solutions, but the solution is extremely difficult to understand for other devs and makes it extremely difficult for new people to get up and running and implement features and maintain.
You're a shitty architect.5 -
Spent 4 hours trying to figure out why API endpoint keeps returning a 404, the data guy checked the database and the row exists. Didn't know the one endpoint it was using was for debugging, which also isn't working.
Turns out Angular somehow decided to switch environments and called the wrong endpoint. I was working in an HTML template and then suddenly shit stopped working. Someone probably committed the debugging endpoint by accident and I pulled the change into my code. Imagine a dev puts some super secret API key in there and pushes it to the remote repo. Congratulations, you now leaked a potentially private API key.
"Good practices", my arse.
The way Angular uses environments is retarded. Just use fucking .env files, why is it so hard?
Angular is retarded. -
Complained about how bad Angular is. Other Angular devs tell me I should use VS Code in retrospective. I smile and say no thanks, my IDE handles Angular just fine, it has native support.
Lmao. VS Code is for plebs.
Using a different editor won't fix how shit Angular is.7 -
Did you know that theres no real long in php (if so, please tell me how to cast..)?
And did you know that mongodb decides what it puts into it's collection?
I have no idea how to force it to set an int64 instead of int32..5