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 - "floats"
-
I stare through the blueish black backgrounds and blurry colorful syntax into a somewhat familiar office within a mirrored world. That damned reflective glass layer covering these meaningless pixels is certainly not on my side.
The rushing sound of transactions flowing through cables is silenced today. Some blood cloth in the invoicing system is zeroing out everything after the currency mark.
While sighing I spin a one-and-a-half pirouette on my desk chair — even when desperate, you shouldn't give up on style — I take three steps away from my screen and try to harmonize my thoughts.
So much noise, everywhere... Noise from within?
I have been stuck at the apogee of an inhale for a while now. Locked into some masochistic constriction, self-punishment for the blindness which stings my ego.
Just fucking take a deep breath you asshole...
I freeze in place, and fall backwards.
Patterns on the creamy drywall rapidly vibrate and synchronize on vivid rhythms of respiration and resonating basslines. Deep indigo rainbows ripple through tiny veins, in-between chalky grains, raining as fine magenta dust through the ceiling frames.
My bare feet slide over soft oscillating concrete, fine flows of unsievable sand surrounded by toes, toes surrounded by streaming variables veiled in obscure vile abstractions.
A jadegreen field of vectored compressions resiliently rumbles and bounces through the clearances and corners of the vibrant concrete office cave, whispering in tongues. I try to voice my woes in little blips and bleeps but I seem to be missing an asymmetric key to their shrouded sequenced speech.
Suddenly, a wild turbulence breaks up all signals.
Joanna floats by in her tipsy effervescent cloud of disordered black hair and alcohol perfume, one hand grasping grapes, her other waving at me.
With every finger she moves a thousand tensors propagating paradoxically flawed but perfect pieces of an intricate surreal picture, sketching whole constellations of possible paths throughout the leafs of the giant Ficus next to her desk.
She stops dead in her tracks, and asks somewhat hypocritically: "Are you high?"
I can not discern the meaning of her words, and respond stoically.
"Joanna! Check out those branches!".
"Pun intended?", she giggles.
I'm focused on her grapeless hand, her fingers stretching to reach the lush little tree.
On touch, the plant shivers, grappled in the tight net of the puppet master. She pulls her strings, applying measured weights, all nodes normalize, and Joanna speaks in an oddly soft tone:
"Isn't it beautiful, how so many models emulate nature"
Her cheek buried in foliage she babbles on about unbalanced search trees and machine learning models... but from the tips of her fingers tables and indexes flow into the plant. Users, payments, tariffs, invoices and taxes crawl over the bark, joining at thicker branches, joining at the stem....
Joining. JOINING. A JOIN.
"IF THERE'S NO FUCKING TAX MULTIPLIER IN THIS LEFT JOIN, EVERYTHING COALESCES TO ZERO" I shout at a perplexed Joanna who squeezes grape juice over her desk. I hop on the beat to my keyboard. She looks puzzled, hugs her Ficus tightly, and reaches for the whiskey bottle behind her monitor.
Attracted by my exclamation, Tom from finance swings open the door, while I push my branch.
I look at Joanna still half hiding between the leaves, and I laugh at her: "Branches! Oh, lame, I finally got it!"
Tom's heavy voice interrupts me: "Does this mean... does this mean that the invoicing bug is resolved?".
I smile at Tom with his tailored suit and waxed hair. "The money is flowing once more. All debts are being settled."
He releases his breath in relief, which he seems to have held since that morning as well.
Joanna adds: "Although I think he is forever indebted to my Ficus".
I nod.14 -
Instead of learning how CCS works I've been adding a bunch of floats in different directions until the layout looks alright. This has been going on for years.5
-
The list would be quite long.
I think Google is still making good tools, but just like Apple the integrations get all so tight and constricting... And with their data, if it goes wrong, it will go wrong hard.
I feel like YouTube is gliding into a state where cheap clickbait floats to the top and finding quality gets more difficult as well, their algorithm is more and more tuned to choose recent popular stuff over good older gems.
Microsoft is all pretend lovey dovey cuddling open source, but I'm still suspicious it's all a hug of death. I was never a big fan, but they're seriously dropping balls when it comes to windows-as-a-service, taking away so much personal control from end users even though they can't be trusted to babysit either.
Amazon is creeping it's way through the internet, charging $10/m to join the vip club infesting houses with spytubes to sell more plastic crap. Bezos' only right to keep wasting oxygen is BlueOrigin, but he'll probably fuck that up as well turning spaceflight into a decadent prime consumer orgy instead of something inspiring.
Facebook... Well, that's self explanatory. Fuck it, everything it pretends to be, and everyone who still has an account with a rusty spike.
Uber and AirBnB, with their fake ass mission of a green shared economy, but they trample over employees, customers and neighbors to build their ivory towers of progressive illusions.
Then there's a million declining brands.
I liked Skype for example when it was first released, Just like how I started out liking (and then hating) Discord, Slack, etc... They're all tools which seem fast and easy, but then they get us further away from solid protocols, get us entrenched into limiting, bloated and sometimes even dangerous tools. As my dad used to say: "Companies are like women, if you go for cheap, fast and easy you'll end up with a burning dick and half your savings gone"
You know what, fuck all tech companies.
OK, devrant is still pretty nice... For now.8 -
WASM was a mistake. I just wanted to learn C++ and have fast code on the web. Everyone praised it. No one mentioned that it would double or quadruple my development time. That it would cause me to curse repeatedly at the screen until I wanted to harm myself.
The problem was never C++, which was a respectable if long-winded language. No no no. The problem was the lack of support for 'objects' or 'arrays' as parameters or return types. Anything of any complexity lives on one giant Float32Array which must surely bring a look of disgust from every programmer on this muddy rock. That is, one single array variable that you re-use for EVERYTHING.
Have a color? Throw it on the array. 10 floats in an object? Push it on the array - and split off the two bools via dependency injection (why do I have 3-4 line function parameter lists?!). Have an image with 1,000,000 floats? Drop it in the array. Want to return an array? Provide a malloc ptr into the code and write to it, then read from that location in JS after running the function, modifying the array as a side effect.
My- hahaha, my web worker has two images it's working with, calculations for all the planets, sun and moon in the solar system, and bunch of other calculations I wanted offloaded from the main thread... they all live in ONE GIANT ARRAY. LMFAO.If I want to find an element? I have to know exactly where to look or else, good luck finding it among the millions of numbers on that thing.
And of course, if you work with these, you put them in loops. Then you can have the joys of off-by-one errors that not only result in bad results in the returned array, but inexplicable errors in which code you haven't even touched suddenly has bad values. I've had entire functions suddenly explode with random errors because I accidentally overwrote the wrong section of that float array. Not like, the variable the function was using was wrong. No. WASM acted like the function didn't even exist and it didn't know why. Because, somehow, the function ALSO lived on that Float32Array.
And because you're using WASM to be fast, you're typically trying to overwrite things that do O(N) operations or more. NO ONE is going to use this return a + b. One off functions just aren't worth programming in WASM. Worst of all, debugging this is often a matter of writing print and console.log statements everywhere, to try and 'eat' the whole array at once to find out what portion got corrupted or is broke. Or comment out your code line by line to see what in forsaken 9 circles of coding hell caused your problem. It's like debugging blind in a strange and overgrown forest of code that you don't even recognize because most of it is there to satisfy the needs of WASM.
And because it takes so long to debug, it takes a massively long time to create things, and by the time you're done, the dependent package you're building for has 'moved on' and find you suddenly need to update a bunch of crap when you're not even finished. All of this, purely because of a horribly designed technology.
And do they have sympathy for you for forcing you to update all this stuff? No. They don't owe you sympathy, and god forbid they give you any. You are a developer and so it is your duty to suffer - for some kind of karma.
I wanted to love WASM, but screw that thing, it's horrible errors and most of all, the WASM heap32.7 -
Inner Me: Where the fuck is this bug coming from
> Set a breakpoint in every single place where the method I'm using is being called.
> Try calling the method before every function call
Inner Me: FUCKING DAMNIT! It's been hours now
Inner Me: No way it's the library I'm using.
Inner Me: That couldn't possibly be the problem
> Try running it again and delete some more shit
Inner Me: FUCK MEEEEEEEE
> Getting delirious
> Begin to look at some stupid memes.
> Come back to it.
> Have an Ah-ha moment
> Try running it again but rearrange the order of the method calls
> Still no luck
> try git stashing a bunch of my changes
> git stash apply them back
> erase the method call entirely
Inner Me: well that sort of worked, but now all my numbers are incomplete
Inner Me: FUCKING FINE!!! I'LL LOOK IN THE GODDAMN LIBRARY
Inner Me: FUUUUUUUUUUUUUCCCCCCCCKKKKK a stupid integer casting was occuring to my floats!!!
Now Talking to my girlfriend.
Me: The problem was in the library I was using
Girlfriend: How are you going to fix it if it's in the library?
Me: ... I can, because I wrote the library...
Me: FUCK ME RIGHT?
Me: I guess moral of the story; sometimes the problems starts with ourselves
GF: Hahaha. Thats Deeep2 -
!rant
That rejuvenating feeling when you've been trying to get a piece of code working for days, google hasn't helped, and you're just about to call it another lost day, when a random "what happens if I do this" solves everything.
I'm going to dream about puppies, prancing through a meadow, and rootbeer floats tonight!2 -
When told to completely change clients website design (back then, I kind of worked with them), I simply changed colors to a bit darker ones, flipped floats on sidebars (yap, two of them), changed font and increased bold size.
That was all I did and proudly took the full payment.
Oh, and it was done in 30 minutes, last day before we had a skype call for the demo :)2 -
Wk29:
A 15 minute meeting to discuss what shade of yellow our product should use for warning. I had to attend because I was writing the product.
This was one of about 5 separate discussions on the colour, a few of which involved me showing them a colour wheel and telling them to pick.
I'm a back end developer, the colour is just 3 rgb floats to me, I don't goddam care!2 -
dammit. I fucking hate it when I get stuck because of low level computing concepts and there is no explanation on Google.
like.. I understand the difference between an int and a float, but no one ever explains how you convert 32bit signed vectors to floats. or how bgra and rgba differ. or how to composite two images on a GPU. etc. the internet is great and all, but fuck, sometimes it seems as everyone is just as dumb as I am.4 -
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 -
Imagine saving Integers and Floats in a MySQL table as strings containing locale based thousand sepatators...
man... fickt das hart!
Wait, there's more!
Imagine storing a field containing list of object data as a CSV in a single table column instead of using JSON format or a separate DB table.... and later parsing it by splitting the CSV string on ";"...7 -
While trying to integrate a third-party service:
Their Android SDK accepts almost anything as a UID, even floats and doubles. Which is odd, who uses those as UIDs? I pass an Integer instead. No errors. Seems like it's working. User shows up on their dashboard.
Next let's move onto using their data import API. Plug in everything just like I did on mobile. Whoa, got an error. "UIDs must be a string". What. Uh, but the SDK accepts everything with no error. Ok fine. Change both the SDK and API to return the UID as a string. No errors returned after changing the UIDs.
Check dashboard for user via UID. Uh, properties haven't been updating. Check search properties. Find out that UIDs can only be looked up as Integers. What? Why do you ask me to send it as a string via the API then? Contact support. Find out it created two distinct records with the UID, one as a string and the other as an Integer.
GFG.3 -
Reading up on how floats are stored and it's pretty cool how you can store numbers as large as 3.4×10^38 in the same amount of memory that an integer can store only about 2 billion.
Absolutely wonderful7 -
A programmer walks into a café and orders a double mocha. The barista replies, "sorry, sir we have floats only". :3
-
You know what really grinds my gears? When people criticize a programming language but uses edge cases and stuff that can be avoided by using the tried and true "don't be an idiot". Take for instance JavaScript, a language I like and a language that has a lot you can criticize. But I feel like a lot of peoples criticism isn't warranted.
What's that? No ints? Use parseInt or Math.floor.
What are you saying? == works in strange ways? Yes, that's what we have === for.
Type coercion is wonky? Think it's weird how string + int works differently than string - int? Wanna string with number + - + - - + - - etc? Don't! Don't add strings and ints, don't subtract strings and ints. You can't in statically typed languages and you aren't supposed to in dynamically typed
Adding arrays and objects, arrays and arrays, objects and objects etc. is inconsistent? Why are you trying to do that?
Adding floats together gives odd results? Now we're getting somewhere! And Mozilla responded to that with a method called toFixed.
Declaring variables with var doesn't always work that well? Use let and const
Then there's this weird attitude that some people I've met have, where they will complain about the module system and how "well you rely on the community for those packages" as if it's a bad thing. And then coming with the "well you don't know what the (open source) packages do internally" as if I (for the most part) give a shit. Then they'll swear by companies like Zend or Microsoft as if they can't just stop supporting the languages they use. Maybe it's just because I like community content more because of video game mods.
Wanna criticize JS, then there's plenty to talk about. Like the built in date object is basically shit. Or how in NodeJS you can have node_modules in your node_modules. Or how classes don't really have the best syntax. Left-Pad. And so on (it's too late for me to be able to remember much more).1 -
Who are devranters?
I know many devs and very few of them run Linux as their primary OS. And I've never met a single one using Arch.
Also, hardly any use Vim as their primary IDE...or even editor.
Yet, if DevRant was my first introduction to devs I'd be down Best Buy looking for a laptop (why so many laptops here?) running Arch and Vim as my word processor.
Don't misunderstand me---I have nothing against Arch and Vim. I don't give a rat's arse about the OS on my machine as I'm mostly in apps. I'm sure Arch would be fine. And whatever floats anyone's boat is fine by me.
But where are all the devs maintaining VB6 apps using XP? Is the community inclusive enough to welcome them?
Where are the "dark matter" devs? Lurking? Speak up!
Now, it may be that, say, China and India run on Arch Linux and Vim and I have a limited perspective. If so, Wow! My eyes are opened.10 -
How deep does the rabbit hole go?
Problem: Convert numpy array containing an audio time series to a .wav file and save on disk
Error 1:
Me: pip install "stupid package"
Console: Can't pip, behind a proxy
Me: Finds workaround after several minutes
Error 2:
Conversion works, but audio file on disk doesn't work
Encoding Error only works with array of ints not floats
BUT I NEED IT TO BE FLOATS
Looks for another library
scikits.audiolab <- should work
Me: pip --proxy=myproxy:port install "this shit"
Command Line *spits back huge error*
Googles error <- You need to install this package with a .whl file
Me: Downloads .whl file <- pip install "filename".whl
Command Line: ERROR: scikits.audiolab-0.11.0-cp27-cp27m-win32.whl is not a supported wheel on this platform.
Googles Error <- Need to see supported file formats
Me: python -c "import pip; print(pip.pep425tags.get_supported())"
Console: AttributeError: module 'pip' has no attribute 'pep425tags'
Googles Error <- Use another command for pip v10
Me: python -c "import pip._internal; print(pip._internal.pep425tags.get_supported())"
Console: complies
Me: pip install "filename".whl
Console: complies
Me: *spends 30 minutes to find directory where I should paste .dll file*
Finds Directory (was hidden btw), pastes file
Me: Runs .py file
Console: from version import version as _version ModuleNotFoundError: No module named 'version'
Googles Error <- Fix is: "just comment out the import statement"
Me: HAHAHAHAHAHA
Console: HAHAHAHAHA
Unfortunately this shit still didn't work after two hours of debugging, lmao fuck this7 -
No offense, but if you're expecting 0 and not -80, then you know you're using floats.... Are there really devs that don't know what floating point round off is?9
-
A bug is born
... and it's sneaky and slimy. Mr. Senior-been-doing-it-for-ears commits some half-assed shitty code, blames failed tests on availability of CI licenses. I decided to check what's causing this shit nevertheless, turns out he forgot to flag parts of the code consistently using his new compiler defines, and some parts would get compiled while others needed wouldn't .. Not a big deal, we all make mistakes, but he rushes to Teams chat directing a message to me (after some earlier non-sensible argument about merits of cherry picking vs re-base):
Now all tests pass, except ones that need CI license. The PR is done, you can use your preferred way to take my changes.
So after I spot those missing checks causing the tests to fail, as well as another bug in yet another test case, and yet another disastrous memory related bug, which weren't detected by the tests of course .. I ponder my options .. especially based on our history .. if I say anything he will get offended, or at best the PR will get delayed while he is in denial arguing back even longer and dependent tasks will get delayed and the rest of the team will be forced to watch this show in agony, he also just created a bottleneck putting so many things at stake in one PR ..
I am in a pickle here .. should I just put review comments and risk opening a can of worms, or should I just mention the very obvious bugs, or even should I do nothing .. I end up reaching for the PM and explained the situation. In complete denial, he still believes it's a license problem and goes on ranting about how another project suffering the same fate .. bla bla bla chipset ... bla bla bla project .. bla bla bla back in whatever team .. then only when I started telling him:
These issues are even spotted by "Bob" earlier, since for some reason you just dismissed whatever I just said ..
("Bob" is another more sane senior developer in the team, and speaks the same language as the PM)
Only now I get his attention! He then starts going through the issues with me (for some reason he thinks he is technical enough to get them) .. He now to some extent believes the first few obvious bugs .. now the more disastrous bug he is having really hard time wrapping his head around it .. Then the desperate I became, I suggest let's just get this PR merged for the sake of the other tasks after may be fixing the obvious issues and meanwhile we create another task to fix the bug later .. here he chips in:
You know what, that memory bug seems like a corner case, if it won't cause issues down the road after merging let's see if we need even to open an internal fix or defect for it later. Only customers can report bugs.
I am in awe how low the bar can get, I try again and suggest let's at least leave a comment for the next poor soul running into that bug so they won't be banging their heads in the wall 2hrs straight trying to figure out why store X isn't there unless you call something last or never call it or shit like that (the sneaky slimy nature of that memory bug) .. He even dismissed that and rather went on saying (almost literally again): It is just that Mr. Senior had to rush things and communication can be problematic sometimes .. (bla bla bla) back in "Sunken Ship Co." days, we had a team from open source community .. then he makes a very weird statement:
Stuff like what Richard Stallman writes in Linux kernel code reviews can offend people ..
Feeling too grossed and having weird taste in my mouth I only get in a bad hangover day, all sorts of swear words and profanity running in my head like a wild hungry squirrel on hot asphalt chasing a leaky chestnut transport ... I tell him whatever floats your boat but I just feel really sorry for whoever might have to deal with this bug in the future ..
I just witnessed the team giving birth to a sneaky slimy bug .. heard it screaming and saw it kicking .. and I might live enough to see it a grown up having a feast with other bug buddies in this stinky swamp of Uruk-hai piss and Orcs feces.1 -
Inspired by @shahriyer 's rant about floating point math:
I had a bug related to this in JavaScript recently. I have an infinite scrolling table that I load data into once the user has scrolled to the bottom. For this I use scrollHeight, scrollTop, and clientHeight. I subtract scrollTop from scrollHeight and check to see if the result is equal to clientHeight. If it is, the user has hit the bottom of the scrolling area and I can load new data. Simple, right?
Well, one day about a week and a half ago, it stopped working for one of our product managers. He'd scroll and nothing would happen. It was so strange. I noticed everything looked a bit small on his screen in Chrome, so I had him hit Ctrl+0 to reset his zoom level and try again.
It. Fucking. Worked.
So we log what I dubbed The Dumbest Bug Ever™ and put it in the next sprint.
Middle of this week, I started looking into the code that handled the scrolling check. I logged to the console every variable associated with it every time a scroll event was fired. Then I zoomed out and did it.
Turns out, when you zoom, you're no longer 100% guaranteed to be working with integers. scrollTop was now a float, but clientHeight was still an integer, so the comparison was always false and no loading of new data ever occurred. I tried round, floor, and ceil on the result of scrollHeight - scrollTop, but it was still inconsistent.
The solution I used was to round the difference of scrollHeight - scrollTop _and_ clientHeight to the lowest 10 before comparing them, to ensure an accurate comparison.
Inspired by this rant: https://devrant.com/rants/1356488/...2 -
A little background of me. I’m a firm believer of knowledge is power, skill is practice and hard work. Especially for this field, it’s easier to self learn the skills or language these days without having to take loans or burn a huge hole in ur wallet and stuff. But i personally feel, it’s hard to follow an effective path of learning when the info is everywhere. So have to be careful with that. (that’s why I’m here to learn from experts, lurking around)
Sure, degree is just a paper or validation that this person has completed this and that. But doesn’t reflect their actual skill. Especially for this field where u can just show ur skills by making projects. If ur potential boss is impressed by ur skills, u are hired. BUT if ure in Singapore, they require u to have degree by law. No matter how skilled u are, u only get specific amount of salary within a preset range. The range goes by Diploma, Degree, Master, PhD. Etc. U will still get hired by a company if they like u, but won’t get more than a preset range.
I was contented with just my Diploma. But decided to get degree cuz I wanted to earn more. And now considering to go for ms, just cuz my current company gives sponsorship.
Aside from salary, I do think getting a degree in University is one of the important phases of the life, where ure working hard, trying to juggle different things. Also, u do get other perks being a uni students, like discount for books, get access to latest devices if the uni has.
But all in all, whatever floats ur boat, right.4 -
We just got a new web dev with 10+ years experience with the goal of helping out our rather inexperienced small team.
His first PR was for a rather large form with 30+ fields.
He. used. a. <table/>......To layout the entire thing! With inline floats no less!
How the f do you spend the last 10 years not bothering to pickup any modern css?6 -
Story Time!
Tittle: About Larry.
Fun Game: Tell me if / when in this story you know the plot twist.
Setting: Years ago, non coding job.
I work with Larry a lot, Larry works remote. In technical terms Larry is senior to me and I escalate some technical issues that get assigned to Larry. I've never met Larry in person.
Larry can be hard to work with, but he's plenty good at his job and I don't mind his prickly side. Sometimes it takes telling Larry something a few times before it sinks it, but that's not a big deal. Sometimes it seems like Larry doesn't remember his cases entirely, but he has a lot of cases. Also Larry has good reason for how he works considering the land of scubs who usually escalate to him without any thought / effort.
Larry's escalation team is short staffed and they're trying to hire folks, but that's been like that forever.
So one day I get an email that Larry is going to be out of the office for a few weeks. Nothing unusual there.
My current case that I share with Larry sort of floats in limbo for a while. The customer is kinda slow to respond anyhow and there's nothing that I need Larry for.
Finally I get automated notice that my case has had a new escalation engineer. Laura. Laura is much more positive and happy compared to Larry. Understandably Laura isn't up to date on the case so we go back and forth with some emails and notes in the case.
The case is moving along just fine, we're making progress, but it's slow because of the customer's testing procedures. Then we hit a point where this customer's management pushes on sales for a solution (this customer's management is known for doing this rando like for no reason).
Down the management chain it goes and everyone wants a big conference call to get everyone up to date / discuss next steps (no big deal).
Now I really don't want to do this with Laura and throw her into the deep end with this customer, she doesn't have the background and I'd rather do this call with Larry & Me & Laura. Also according to the original email Larry is due back soon.
I start writing an email to Laura about "Let's try to schedule this for when Larry gets back."
Then I stop ... I don't really know why I stop but when it is a "political case" I want some buy in on next steps from management so I go talk to my manager.
-Plot Twist Incoming-
Long story short, my manager says:
"Laura IS Larry..."
O
M
G
I had no idea. Nobody told me, nobody told ANYBODY, (except a couple managers).
Back up a few months Larry apparently went to his managers and told them he was going to transition, surgery and all, in a few months.
Managers wondering how to address this went to HR and some new hire very young to be a manager HR manager drone logiced out in her bonkers head that "Well it shouldn't matter so don't tell anyone."
ARE YOU FUCKING KIDDING ME!!??
Thank god I didn't send that email...
I did send an email to Laura explaining that I had no idea and hoped I didn't say anything stupid. She was very nice about it and said it was all good.
After that incident made the management rounds (management was already fuming about being told not to tell anyone) things came to another critical point.
Laura was going to visit the company HQ. Laura had been there before, as Larry, everyone knew her as Larry... nobody (outside some managers) knew Laura was Larry either. With nobody knowing shit Laura was going to walk in and meet everyone ...
One manager at HQ finally rebelled and held a meeting to tell his people. He didn't want Laura walking in and someone confused, thinking it was a joke or something horrible happening.
HR found out and went ballistic. They were on a rampage about this other manager, they wanted to interview me about how I found out. I told HR to schedule their meeting through my manager (I knew they didn't want my manager to know they were sniffing around).
Finally the VP in our department called up the HR head and asked WTF was going on / kind of idiots they had over there (word has it legal and the CEO were on the call too).
HR had a change in leadership and then a couple weeks later there were department wide meetings on how to handle such situations and etc.27 -
Some days I feel like I really know what I am doing and today was not one of these days...
Working on a game engine using Vala and now using Raylib in the backend for rendering and input.
Wrote a VAPI for Raylib and when I was doing the 'Rectangle' struct... I made it's members integers when they are floats...
So this whole time; when using a camera everything would jitter like crazy.... because I was taking the transform which is all floats... rounding it then casting to an int only for the int to be cast into a float again....
Lo and behold; changing the members to floats and removing the rounding and casting makes everything silky smooth...
I have been debugging every bit of my current render loop trying to work this out when it was 100% unrelated.... I hate myself sometimes1 -
!rant Eeeeeeeeee!!!! The interpreter can now handle floats and integers! And accept the power operator! And modulo! (Sorry, absurdly excited)2
-
Travelling and coding are such a great combination! You get to experience the world, see new things and pursue you passion!
Also the stress of programming just floats away. -
I sit on toilet to take a shit and i started falling asleep! I shit even while i sleep! This is magnificent. Miraculous. Every day its the same shit but more advanced style of shitting. I am becoming very skilled at shitting. I deserve to get fucking paid every time i take a shit. There should be a sport about who can shit more often every day and I'd be the winner. Bullshit floats all around us every day especially from jobs and interviews. It is inevitable to avoid it. Beautiful. And it does make sense. I keep saying life is shit anyways every time some shit happens. And im always right -- life IS shit anyways. The keyword is **anyways**. Because no matter what you do or dont do, life will be shit Anyways. Life is empty and meaningless. Even shit has more meaning than life itself. If meaning is something that is made up then you can't live life at all. If meaning is what you make it then there is no default meaning in the entire existence. All of it is shit. We either exist because God made us and doesnt want to tell us why or we exist by chance of statistical randomness. Hopefully its the first option as its less depressing
Btw terraform is fucking good7 -
PHP implicitely coercing password hashes to floats in comparisons is always a fun one
http://phpsadness.com/sad/4712 -
After 3.5 terms, I still see people running Linux in a vm && writing C code in nano.
Should I be concerned if that really freaks me out?
Usually I'd say use whatever floats your boat but I just don't get why they don't dual boot, they'll need Linux in pretty much every term...16 -
The longer I work on front-end the more controversial my opinions become:
- Styling a button with display:flex is dumb.
- The DOM is not hard, unlike what the React team wants to have you believe.
- Specifying a <form> action matters, even if it's empty
- ES5 was the real JS revolution, ES6 mostly sugar-coated marketing
- Disciplined BEM (S)CSS is simple and flexible enough for most needs (vs CSS-in-JS, CSS modules)
- If editor support for Jsdoc were as advanced as Typescript, you wouldn't need the latter.
- There are cases where using floats and inline-block displays is better than the flex CSS box model12 -
dear perl devs,
WTF is wrong with you.
some of your version numbers look like someone uses floats for money without knowing the dangers of it.
Some Examples:
2.000006
2.0030044 -
I am so fucking tired of sitting here all day every day adjusting paddings and margins. Oh fucking hurr durr you got one of the millions of fucking elements to not overflow on your page, well does it work on *this* resolution and *this* orientation? No, well fix that and then go back and fix what it breaks.
I swear to God I never want to touch fucking CSS again it's all I've done for a yesr and it is driving me up the god damn wall. This is my career, I shouldn't fucking dread coming in to work because I know how much bullshit I'll have to deal with. It's awful.
I don't get how anyone has good looking complicated pages that just look good on every possible resolution, it's fucking mind boggling that anyone can sit there and adjust heights and widths and paddings and margins and floats for hours on end nonstop just watching shit get broken and fixed and broken and fixed and AHHHHH
I need a fucking smoke and a pint just so I don't have to think about this anymore13 -
In PHP, constants can only be of simple data types like strings or floats.
You can't make a database connection a constant because it's not a simple data type.
That makes the only way of accessing complex "constants" within functions using the keyword global... which is not encouraged and forces you to make the database connection global (that may not be convenient in some software patterns).
The last option is passing the database connection as a parameter (either to the function or to the constructor of the instance whose methods will use the connection)... which would be good if I didn't want to go full OO. Because it's a pain to do so.
So all in all, constants are not well supported by PHP.
Come on, constants...12 -
TEAR ME A NEW ONE PLEASE
chatted with a company about a front end position, they replied that they are interested in me and want me to complete a task. The email subject was "about an internship at a *company_name*"
they later quickly sent me another email saying to to ignore the subject about the internship, and sent more details about the task.
I completed the task and sent it to them.
They replied today with an email stating that I'm too weak for an internship and that I should improve myself and reapply in the future.
It's a little bit of a low blow, I thought we were talking about a full-time position yet you are saying that I'm too weak for an internship? WTF
to say I'm pissed is a little bit of an understatement.
Heres the link to the repo I sent them.
https://github.com/Pionell/koral
They'r task was to mark up a sketch file they sent me, there was no mention to make it interactive.They told me this doesn't need to be responsive. I Think I used too many spans, inline-blocks, and a few wrong floats with images instead of divs with background image set as the image. Tear me a new one and tell me all my mistakes, I want to know what's so bad in this.13 -
can we just get rid of floating points? or at least make it quite clear that they are almost certainly not to be used.
yes, they have some interesting properties that make them good for special tasks like raytracing and very special forms of math. but for most stuff, storing as much smaller increments and dividing at the end (ie. don't store money as 23.45. store as 2,345. the math is the same. implement display logic when showing it.) works for almost all tasks.
floating point math is broken! and most people who really, truely actually need it can explain why, which bits do what, and how to avoid rounding errors or why they are not significant to their task.
or better yet can we design a standard complex number system to handle repeating divisions and then it won't be an issue?
footnote: (I may not be perfectly accurate here. please correct if you know more)
much like 1/3 (0.3333333...) in base 10 repeats forever, that happens with 0.1 in base 2 because of how floats store things.
this, among other reasons, is why 0.1+0.2 returns 0.300000046 -
People tell smoking is injurious to health and developer tell floats are injurious to website but no one gives a damn7
-
The previous developer didn't write a freaking single test for a system that does a lot of calculations. Performance was shit so I got tasked with re-writing everything from DB queries to the actual calculation functions.
This has been the worst developer hell I've ever been. Without tests I cannot change anything without knowing if something breaks!!!
I gotta understand first the mess this guy left behind, then freaking write the tests that are missing and finally refactor the stuff. FML.
Btw, its Python and the guy didint even bother to do some basic type annotations so it's even worse. Function arguments are "data", "score", some are dicts, some are floats, some are lists.
Faaaaaaaaaaaaaack!!!!4 -
Dude at work floats the idea of creating separate Github accounts for personal and work for security. My response:
While we're discussing options, we should also consider maintaining a list of users as a CSV^H^H^H MS Excel file, and install an authentication server that runs off the laptop of an "IT Administrator". That way it'll be super secure because hackers cannot access any system outside of working hours, as well as the days that said admin is off from work.2 -
Just had a class where we had to write a heap adding algorithm in Java to reduce rounding error for x amount of floats being added together
After an hour of writing code with no testing anything I finished. Ran the JUnit tests provided by the teacher and it passed all the tests!
Who says it can't work the first time?2 -
heres something interesting:
The golden ratio is 1.618...
If you're not familiar with it, doing 1/goldenratio
the result is 0.618...
It gives you back the float component exactly.
Discovered that it is actually part of a series.
First of all:
2-(((5-sqrt(5))/2)-1) =
1.618033988749895 -> thats our golden ratio
In other words:
(2%gold) =
0.381966011250106
While:
((5-sqrt(5))/2) =
1.381966011250105
Ok, now we're getting somewhere. We can turn these into variables
First of all, lets see if we can get the golden ratio back out:
2-(((5-sqrt(5))/2)-1) = 1.618033988749895
Okay good.
The formula looks something like
j-(((i-sqrt(i))/2)-1)
Where j = (i*2)+1
That means we can easily figure out what j we need from our i value. (i-1)/2 = j
We run it back far enough we get
1-(((3-sqrt(3))/2)-1) =
1.3660254037844386
Thats the golden ratios little brother. Doesn't look anything like it, but it is part of the series.
And I found a boat load of research documents scattered *all* over the net, where this number and others in the series inexplicably crop up in power series, in chemistry, and elsewhere. Just looks like random floats if you don't know better.
We can actually go lower in the series:
0.5-(((2-sqrt(2))/2)-1)
1.2071067811865475
At the lowest positive value for j, we get
0-(((1-sqrt(1))/2)-1) = 1
It's kinda elegant.
I even wrote a little script to do the conversions:
def gr(k):
....i = k
....j = (i-1)/2
....return j-(((i-sqrt(abs(i)))/2)-1)
The dots are so devrant doesn't break pythons formatting.3 -
I'm making the assignment in full flexbox, they still using floats tho.
The cringe is never enough.4 -
What data types do they use down in the sewers Pennywise.
They're all floats Georgie...they're allllllllll floats.
Do you know what my favorite data structure is Georgie? Stacks. You know why? Because they Pop! Pop! Pop!1 -
I'm enraged by seeing my floated images collapsing into one line on large screen because there are fewer lines displayed. What tricks do you use to circumvent that? Maybe there are grid-layouts for blogposts?3
-
Does anyone knows why in c++ floats range from numeric_limits<float>::lowest() to ::max() and ::min() is just the lowest positive value instead the actual minimum? This strange naming convention just costs me an hour of my life that I'm never getting back...2
-
Fuck you c++...!!!
TL;DR:
float a = 1.0/10.0;
float b = a*10.0;
a == b returns false
😐
Story:
A beginner of c++ here
Wrote about a 1000 lines code (spread across multiple files, m not dumb)
Passed 90% of cases
Took one and a half days to figure out what's wrong
Turns out c++ doesn't give accurate (as perceived by a human who thinks in decimal) results when comparing equality of 2 floats with ==
Shouldn't that be the first thing to be taught in schools?19 -
The amount of digits Python can handle is staggering...
I stopped at 100 000, because I felt that I had proven my point. That's approximately 330 000 bits! (And yes, I had to use Python to be able to calculate that number)
Doesn't work with floats, though...4 -
Someone is using fucking CSS floats. To align a button to the right. In a fucking Blazor app. Dude. What the fuck.7
-
Why are the damned Spaniards so small? Because of them I am unable to sit in the newer trains that go around the Netherlands. The angled headrests (they are supposed to kinda wrap around the head). But these headrests start below my shoulders and my head then floats above the headrest. This causes my shoulders to be folded together.
FU you spaniards (no offense to everyone who didn't design trains), if you can't take in consideration what the average length of the users is you have failed as a product designer.
Yes I am tall (1.95m) but not really above average around here (maybe a cm or so)18 -
"Most memorable bug you fixed?"
A recent instance happened in one of my Scratch projects, and the bug involved "Infinities."
I had an opportunity to teach kids programming, and it involved Scratch. So, to have something to show those kids at least, I decided to make a small game.
In that game, I had an object that takes some time before appearing after being cloned (i.e., instantiated.) The duration was calculated by dividing a constant with a variable:
[Wait for ((3) / (variable)) seconds]
The bug is that I forgot about the case where 'variable' can be 0, which is classic and insignificant.
Well, the thing is that I learned two things the hard way:
1: Scratch is very flexible about integers and floats (e.g., at one second, it looks like an integer, but one operation later, it's a float.)
2: Scratch does not provide any 'runtime errors' that can crash the project.
In other languages, similar "wait" methods take "milliseconds" in an integer, so it would have barfed out a "DivideByZeroException" or something. But Scratch was so robust against project-crashing behavior that it literally waited for f*<king "infinity seconds," effectively hanging that clone without warning or runtime errors. This masked my bug. It took way too long to debug that s#!+.
Don't blanket-mask any errors. -
We have a somewhat experience developer for whom we have to CONSTANTLY fix his type errors. He just doesn't seem to grasp the idea that there is a difference between integers, strings, floats, etc. and that when you don't bother with them, things get a little screwed up.
Granted, Javascript's typing leaves... well, everything.. to be desired, but STILL dude, this is basic shit. Come on.2 -
Me talking to my prof about the app that i have to make to pass the oop course early.
Prof> So can you add some kind of a random algorithm to that? You can use float for tha....
Me> NOOOOOOOO
Prof> ...
Me> ...
Me> I wont use floats, i will recreate fractions if i have to.
Prof> Why? There must be a way to compare floats easly...
Me> Nope. If you hate somebody, make them do somthing using floats. I will do that my way.
Prof> okay...
I nearly got myself in bigger shit that im now. I still have to make the app in C++ (Big OOF) but at least i wont have to dick around float arythmetric.
I wish i could do it in C#... I dont like that memory managment...10 -
Credit goes to a friend. Would tag him, but I don’t know his ID on here offhand...
=======
What data types do they use down in the sewers Pennywise?
Floats Georgie...they're alllllllll floats. -
so I found out that i'm too stupid to understand floats... I look at the structure and my brain immediately smooths over. I just can't understand it for some reason. Even better: this shitbox calculator requires them for LITERALLY EVERYTHING. I can't even have it take a register and turn it into a float or anything, so I can't even operate on anything without massive assembly routines, and I just don't understand what the fuck any of it does or means.
i'm really not cut out for a programming job am i5 -
Holy shit trying to learn flex-box and only when I turn on reverse-row does everything fall out of its containing boxes. Then I find out that because I'm not hardcore enough to roll my own CSS scaffolding and therefore using material design lite that it is also trying to use flex box plus a few floats here and there......
... First real need to rant, glad I had this outlet3 -
ISO floating point numbers are essentially wrapped in a hardware-level monad because the normal meaningful values aren't closed over basic arithmetic so conceptually wrapping everything in Maybe using the 'infectious sentinel value' NaN leads to substantial speedups.
With this in mind, I think high-level languages that have a Maybe should use those and have the language-type float refer to a floating point that isn't NaN.2 -
I suppose its too much to ask that floats work in 2021 +/- however many years lost.
>>> math.cos(math.pi)
-1.0
>>> math.sin(math.pi)
1.2246467991473532e-16
what I don't get is this would work on a calculator.20 -
When your third party IIS application evaluates the X Y coordinates from an input type of image and IE10+ make them as floats where every other browsers just does int. Hours of debugging lost. Solved by using a meta tag to emulate IE9.1
-
Algolia says:
"So our price widget doesn't allow decimals, you'll have to create a custom widget"
I do it.
"Hey, It's not working and I verified it's applying the filter correctly. I noticed my price is a string in your index, maybe that's incorrect and causing it to not work?"
They say: "Yep, you'll need to run an update to fix that and change all to floats" (charges an arm and a leg for the thousands of index operations needed to update the data type)
I clear the index and send a single one as a test, verifying it's a float by casting it using (float) then var_dumping. It shows "double(3.99)", but when it gets to Algolia, it's 0.
So I contact support.
"Hi, I'm sending across floats like you say but it's receiving it as 0, am I doing something wrong? Here's my code and the result of the var_dump"
They respond: "Looks like you're doing it right, but our log shows us receiving 3.999399593939, maybe check your PHP.ini for "serialize_precision" and make sure it's set to -1"
I check and it's fine, then I realize that var_dump is probably rounding to 2 decimal points so I change my cast to (float) number_format($row['Price'], 2) and wallah...it works.
Now I've wasted days of paying for their service, a ton of charges for indexing operations, and it was such a simple fix.
if they had thrown an error for the infinite decimal, that would have helped, but instead I had to reach out to find out that was the issue.
#Frustrated. -
Not really an impressive one, but I think it's blasphemous enough to be mentioned:
Creating an embedded application, it was not supported to print a float using optimized libraries (understandable since they're not really supposed to be used anyways), but I was too lazy to convert clocks to a time unit by hand while running benchmarks. So I just printed the float as two integers, splitting it to one for the whole and one for the thousands. -
Advise for the next email marketing slave robot.
padding works writing Padding (P).
No margin, no floats,... Etc.
Use Foundation email cli and even using it, be prepared for war.... :(2 -
I should check out the latest videos at egghead.io, I should convert to Angular 2, I should start using es2016, I should learn c, I should continue on the cryptopals challenges, I should fully understand floats, I should learn how java works under the hood, I should learn the details of how the drammer exploit were done, I should make a dinner planner, I should continue the Golang tutorial, I should check out the game of my colleague's game attempt, I should engage in an open source project...
Playing cs:go with a nagging bad conscience... Again! -
What's your idea of a perfect number?
Mine is:
default decimal, prefix for binary, octal, hex
Integers in natural notation with strictly positive exponent
All bases allow natural notation, where the exponent is always a decimal number and represents the power of the base (0b101e3 = 0b101000)
Floats in all bases allow a combination of natural notation and dot notation
Underscores allowed anywhere except the beginning and end for easier reading11