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 - "3.14"
-
Working on an Android app for a client who has a dev team that is developing a web app in with ember js / rails. These folks are "in charge" of the endpoints our app needs to function. Now as a native developer, I'm not a hater of a web apps way of doing things but with this particular app their dev teams seems to think that all programming languages can parse json as dynamically as javascript...
Exhibit A:
- Sample Endpoint Documentation
* GetImportantInfo
* Params: $id // id of info to get details of
* Endpoint: get-info/$id
* Method: GET
* Entity Return {SampleInfoModel}
- Example API calls in desktop REST client
* get-info/1
- response
{
"a" : 0,
"b" : false,
"c" : null
}
* get-info/2
- response
{
"a" : [null, "random date stamp"],
"b" : 3.14,
"c" : {
"z" : false,
"y" : 0.5
}
}
* get-info/3
- response
{
"a" : "false" // yes as a string
"b" : "yellow"
"c" : 1.75
}
Look, I get that js and ruby have dynamic types and a string can become a float can become a Boolean can become a cat can become an anvil. But that mess is very difficult to parse and make sense of in a stack that relies on static types.
After writing a million switch statements with cases like "is Float" or "is String" from kotlin's Any type // alias for java.Object, I throw my hands in the air and tell my boss we need to get on the phone with these folks. He agrees and we schedules a day that their main developer can come to our shop to "show us the ropes".
So the day comes and this guy shows up with his mac book pro and skinny jeans. We begin showing him the different data types coming back and explain how its bad for performance and can lead to bugs in the future if the model structure changes between different call params. He matter of factually has an epiphany and exclaims "OHHHHHH! I got you covered dawg!" and begins click clacking on his laptop to make sense of it all. We decide not to disturb him any more so he can keep working.
3 hours goes by...
He burst out of our conference room shouting "I am the greatest coder in the world! There's no problem I can't solve! Test it now!"
Weary, we begin testing the endpoints in our REST clients....
His magic fix, every single response is a quoted string of json:
example:
- old response
{
"foo" : "bar"
}
- new "improved" response
"{ \"foo\" : \"bar\" }"
smh....8 -
const int pi = 3.14;
This is the worst example ever to explain what a constant is to students.
I knew a lot of guys who think that math constants and programming constants were the same thing4 -
Theorem 2.71 All software is shit.
Corollary 3.14 So stop the braindead OS wars. All OS are shit, too.
Proof. The only software that can stay beautiful and clean is software that is never used. Maybe if you are Dijkstra or live in a Haskellian world, you might come away with it, but for the rest of us our artifacts have to interact with other artifacts or are build upon strange historically grown systems, they have to deal with users who will put it to creative use.. and in the process we also actually might have to alter some state.
Or put another way: code is a social construct. Like science are the beliefs and superstitions grown by a scientific community, software is the montainous dunghill produced by our laborious efforts to make shit even work. Of course this only piles the stack higher and higher until you can already smell it from the moon. -
so one time (yesterday), I was playing phantom forces console edition (a game on Roblox) and this IDIOT started sweating with a ppsh-41, I was so pissed and angry so I started using the Beowulf ECR and I was losing, my team was losing super badly. Until the match switched to Warehouse, when it switched to Warehouse, I beat his ass like a drum. I got a 3.14 KD, 22-7.
He sucked and deserved to take that L, fuck that man. -
Idea: Make a programming language where arrays are indexed with py up to the nth digit.
And arrays start at 3.14