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 - "== if statements"
-
wk87 is a dangerous topic for me, i've been through a lot. I apologise for what I am about to inflict on this network over the coming week.
Most incompetent co-worker, candidate 1, "T".
T was an embedded C developer who talked openly about how he's been writing code since he was 14, knew all the C system libraries and functions like the back of his hand. For the most part, he did ... but not how to actually use them, as (based on his shocking ... well everything) he was inflicted by some sort of brain disorder not yet fully understood by medical science. Some highlights:
- Myself and the CTO spent 4 days teaching him what a circle buffer was and how to build one.
- His final circle buffer implementation had about 3 times as much code as he actually needed.
- When the code was running too slowly on the device, we didn't try find any performance improvements, or debug anything to see if there was anything taking too long. No not with T, T immediately blamed TCP for being inefficient.
- After he left we found a file called "TCP-Light" in his projects folder.
- He accused the CTO of having "violent tendencies" because he was playing with a marker tossing it up in the air and catching it.
- He once managed to leave his bank statements, jumper and TROUSERS in the bathroom and didn't realise until a building wide email went out.
- He once .... no hang on, seriously his fucking trousers, how?
- He accused us all of being fascists because we gave out to him for not driving with his glasses, despite the fact his license says he needs to (blind as a bat).
... why were his trousers off in the first place? and how do you forget ... or miss the pile of clothes and letters in a small bathroom.
Moving on, eventually he was fired, but the most depressing thing of all about T, is that he might not even be top of my list.
Tune in later for more practiceSafeHex's most incompetent co-worker!!!11 -
Had a conversation with someone a little while ago. I opened my email app (TutaNota) and he asked what the hell that email thingy was. Explained the encrypted/privacy reasons.
"Why would you encrypt everything?"
Because I have stuff to hide. Do you?
"Nahh I just use outlook, I have nothing to hide".
Told him to email me all his usernames/passwords, bank statements, porn preferences, emails, messages etc etc.
"But that's private data!".
Exactly.
"But I thought you meant like crime/illegal stuffs etc"
Nope. I just asked if you had anything to hide, you interpreted that as having anything non-lawfully to hide. I never even asked anything in relation to non-lawful stuff.
Because, having something to hide doesn't mean it's criminal/illegal, it means you'd like to keep that stuff private.29 -
You say: "We added AI to our product"
I hear: "We added a bunch more IF statements to our codebase"8 -
My thoughts on programming:
As a child:
It is 100% magic
As a developer:
It is 65% if/else statements, 34% iterating an array, 1% actual amazing and unique code17 -
Every new product these days has the tag line "powered by AI"
FUCK OFF
No it isn't.
A mass of "if" statements isn't AI!16 -
Fucking intern.
While I was working next to her a couple weeks back, she spent half her time on social media, playing Candy Crush, or talking with her friend. She also left early almost every day.
I had given her a project to do (object crud + ui), and helped her through it. She made pretty abysmal progress in a week. I ended up finishing it for her by rewriting basically all of her code (every single line except some function names, lone `end` or `}` statements, a few var declarations, blank lines, plus a couple of comments she copied over from my code).
This week I gave her a super easy project to do. It amounts to copying four files (which I listed), rename a few things to be Y instead of X, and insert two lines of code (which I provided) to hook it up. Everything after that just works. It should have taken her ... okay, maybe a few hours because she's slow and new to the language. but it would have taken me five to ten minutes, plus five minutes of testing.
She has spent THREE FUCKING DAYS ON THIS AND SHE'S STILL NOT DONE. SHE'S BLOODY USELESS!
She has kept not pulling changes and complaining that things are broken. Despite me telling her every time I push changes that affect her work (on. my. branch. ergh!)
She keeps not reading or not understanding even the simplest of things. I feel like MojoJojo every time I talk to her because of how often I repeat myself and say the same things again and again.
Now she's extremely confused about migrations. She keeps trying to revert a drop_table migration that she just wrote so she can re-create the table differently. Instead of, you know, just reverting back to her migration that creates the table. it's one migration further.
Migrations are bloody simple. they're one-step changes to the database, run in order. if you want to make a change to something you did a few steps back, you roll back those migrations, edit your shit, and run them again. so bloody difficult!
`rails db:rollback && rails db:rollback`
Edit file
`rails db:migrate`
So. hard.
I explained this to her very simply, gave her the commands to copy/paste, ... and she still can't figure it out. She's fucking useless.
It took me ten minutes to walk her though it on a screen share. TEN FREAKING MINUTES.
She hasn't finished a damned fucking thing in three weeks. She's also taking interview calls while working on this, so I know she totally doesn't care.
... Just.
Fucking hell.
USELESS FUCKING PEOPLE!35 -
Started being a Teaching Assistant for Intro to Programming at the uni I study at a while ago and, although it's not entirely my piece of cake, here are some "highlights":
* students were asked to use functions, so someone was ingenious (laughed my ass off for this one):
def all_lines(input):
all_lines =input
return all_lines
* "you need to use functions" part 2
*moves the whole code from main to a function*
* for Math-related coding assignments, someone was always reading the input as a string and parsing it, instead of reading it as numbers, and was incredibly surprised that he can do the latter "I always thought you can't read numbers! Technology has gone so far!"
* for an assignment requiring a class with 3 private variables, someone actually declared each variable needed as a vector and was handling all these 3 vectors as 3D matrices
* because the lecturer specified that the length of the program does not matter, as long as it does its job and is well-written, someone wrote a 100-lines program on one single line
* someone was spamming me with emails to tell me that the grade I gave them was unfair (on the reason that it was directly crashing when run), because it was running on their machine (they included pictures), but was not running on mine, because "my Python version was expired". They sent at least 20 emails in less than 2h
* "But if it works, why do I still have to make it look better and more understandable?"
* "can't we assume the input is always going to be correct? Who'd want to type in garbage?"
* *writes 10 if-statements that could be basically replaced by one for-loop*
"okay, here, you can use a for-loop"
*writes the for loop, includes all the if-statements from before, one for each of the 10 values the for-loop variable gets*
* this picture
N.B.: depending on how many others I remember, I may include them in the comments afterwards19 -
#3 Worst thing I've seen a co-worker do?
A 20-something dev, 'A', back in the early days of twitter+facebook would post all his extracurricular activities (drinking, partying, normal young-buck stuff). The dev mgr, 'J', at the time took offense because he felt 'A' was making the company look bad, so 'A' had a target on his back. Nothing 'A' did was good enough and, for example, 'J' had the source control czars review 'A's code to 'review' (aka = find anything wrong). Not sorting the 'using' statements, and extra line after the closing }, petty things like that. For those curious, orders followed+carried out by+led by 'T' in my previous rant.
As time went on and 'T' finding more and more 'wrong' with A's code, 'J' put A on disciplinary probation. 'A' had 90 days to turn himself around, or else.
A bright spot was 'A' was working on a Delphi -> C# conversion, so a lot of the code would be green-field development and by simply following the "standards", 'A' would be fine...so he thought.
About 2 weeks into the probation, 'A' was called into the J's office and berated because the conversion project was behind schedule, and if he didn't get the project back on track, 'A' wouldn't make it 30 days. I sat behind 'A' and he unloaded on me.
<'A' slams his phone on his desk>
Me: "Whoa...whats up?"
A: "Dude, I fucking hate this place, did you hear what they did?"
<I said no, then I think we spent an hour talking about it>
Me: "That all sucks. Don't worry about the code. Nobody cares what T thinks. Its not even your fault the project is behind, the DBAs are tasked with upgrades and it's not like anyone is waiting on you. It'll get done when it's done. Sounds like a witch hunt, what did you do? Be honest."
A: "Well, um...I kinda called out J, T, and those other assholes on facebook. I was drunk, pissed, and ...well...here we are."
Me: "Geez, what a bunch of whiney snowflakes. Keep your head down and you'll get thru it, or don't. Its not like you couldn't find another job tomorrow."
A: "This is my first job out of college and I don't want to disappoint my dad by quitting. I don't even know what I'm supposed to be doing. All J told me was to get better. What the fuk does that even mean?"
Me: "He didn't give you any goals? Crap, for someone who is a stickler for the rules, that's low, even for J."
Fast forward 2 weeks, I was attending MS TechEd and I was with another dev mgr, R.
R: "Did you hear? We had to let 'A' go today."
Me: "What the hell? Why?"
R: "He couldn't cut it, so we had to let him go."
Me: "Cut what? What did he do, specifically?"
R: "I don't know, 'A' was on probation, I guess he didn't meet the goals."
Me: "You guess? We fire a developer working on a major upgrade and you guess? What were these so-called goals?"
R: "Whoa...you're getting a little fire up. I don't know, maybe not adhering to coding standards, not meeting deadlines?"
Me: "OMG...we fire people for not forming code? Are you serious!?"
R: "Oh...yea...that does sound odd when you put it that way. I wish I'd talk to you before we left on this trip"
Me: "What?! You knew they were firing him *before* we left? How long did you know this was happening?"
R: "Honestly, for a while. 'A' really wasn't a team player."
Me: "That's dirty, the whole thing is dirty. We've done some shitty things to people, but this is low, even for J. The probation process is meant to improve, not be used as a witch hunt. I don't like that you stood around and let it happen. You know better."
R: "Yea, you're right, but doesn't change anything. J wanted to do it while most of us were at the conference in case 'A' caused a scene."
Me: "THAT MAKES IT WORSE! 'A' was blindsided and you knew it. He had no one there that could defend him or anything."
R: "Crap, crap, crap...oh crap...jeez...J had this planned all along...crap....there is nothing I can do no...its too late."
Me: "Yes there is. If 'A' comes to you for a letter of recommendation, you write one. If someone calls for reference, you give him a good one."
R: "Yea..yea...crap...I feel like shit...I need to go back to the room and lie down."
As the sun sets, it rises again. Within a couple of weeks, 'A' had another job at a local university. Within a year, he was the department manager, and now he is a vice president (last time I checked) of a college in Kansas City, MO.10 -
Attended one of the best meetups ever. To give you an idea how awesome it was..
Speaker took the first ~20 minutes introducing himself.
His intro card deck kept referring to himself in the third person (he is the only employee in consulting 'company'). Ex. "Mr. Smith began his humble career .."
The powerpoint presentation began with him clicking each page, not executing the slideshow (ex. pressing F5).
Finally someone asked "Can you make slide bigger?"
S:"You can't read that?..um..sure...I guess .."
Starts fumbling around the zoom ...
Dev: "No, can you start the slideshow?"
S: "I don't know what you mean...there...I zoomed it, is that better? Now I can't see my notes..just sec.."
<fumbles again with the zoom>
Dev: "No, not zoom, start the slide show, press F5"
S: "Oh...you want me to F5 it...OK..."
<he *clicks* the slide show button>
Finally getting into code, trying to get out of powerpoint ...
S: "How do I get out of this fullscreen?.."
Dev: "Hit escape"
S:"No..um.."
<keeps trying to click on 'something'>
S:"I see visual studio, but its not on the big screen... "
<keeps click on 'something', no one is sure whats going on>
Dev: "Hit Escape to stop the slideshow"
<finally hits escape, then able to put Visual Studio on the big screen>
S: "Ahh...there, I figured it out."
Speaker had no end of making wild/random statements like:
".Net Core is the future of Microsoft, if you're using .Net 4.5...forget it, its not even supported anymore."
"When I was at Microsoft Build, I asked them why not put all the required .Net assemblies in one directory. Looks like with .Net Core, they listened to me" (he was serious)
"I don't use SQL Server Mgmt Studio. Its free and it sucks. I use <insert a very expensive SSMS clone>, its great, you guys should check it out", then proceeds to struggle to open a query window to write some SQL.
"When you use .Net Core and EntityFramework, you have to write your own stored procedures. If a developer can't write stored procedures, he shouldn't be in this business."
I was on the edge of my seat, hungry for the next crazy bat-shit thing to come out of his mouth. He did not disappoint. BEST MEETUP EVER!9 -
Ladies and gentlemen, prepare yourselves for a rant with a capital R, this is gonna be a long one.
Our story begins well over a year ago while I was still in university and things such as "professionalism" and "doing your job" are suggestions and not something you do to not get fired. We had multiple courses with large group projects that semester and the amount of reliable people I knew that weren't behind a year and in different courses was getting dangerously low. There were three of us who are friends (the other two henceforth known as Ms Reliable and the Enabler) and these projects were for five people minimum. The Enabler knew a couple of people who we could include, so we trusted her and we let them onto the multiple projects we had.
Oh boy, what a mistake that was. They were friends, a guy and a girl. The girl was a good dev, not someone I'd want to interact with out of work but she was fine, and a literal angel compared to the guy. Holy shit this guy. This guy, henceforth referred to as Mr DDTW, is a motherfucking embarrassment to devs everywhere. Lazy. Arrogant. Standards so low they're six feet under. Just to show you the sheer depth of this man's lack of fucks given, he would later reveal that he picked his thesis topic "because it's easy and I don't want to work too hard". I haven't even gotten into the meat of the rant yet and this dude is already raising my blood pressure.
I'll be focusing on one project in particular, a flying vehicle simulator, as this was the one that I was the most involved in and also the one where shit hit the fan hardest. It was a relatively simple-in-concept development project, but the workload was far too much for one person, meaning that we had to apply some rudimentary project management and coordination skills that we had learned to keep the project on track. I quickly became the de-facto PM as I had the best grasp on the project and was doing a lot of the heavy lifting.
The first incident happened while developing a navigation feature. Another teammate had done the basics, all he had to do was use the already-defined interfaces to check where the best place to land would be, taking into account if we had enough power to do so. Mr DDTW's code:
-Wasn't actually an algorithm, just 90 lines of if statements sandwiched between the other teammate's code.
-The if statements were so long that I had to horizontal scroll to see the end, approx 200 characters long per line.
-Could've probably been 20 normal-length lines MAX if he knew what a fucking for loop was.
-Checked about a third of the tiles that it should have because, once again, it's a series of concatenated if statements instead of an actual goddamn algorithm.
-IT DIDN'T FUCKING WORK!
My response was along the lines of "what the fuck is this?". This dipshit is in his final year and I've seen people write better code in their second semester. The rest of the team, his friend included, agreed that this was bad code and that it should be redone properly. The plan was for Mr DDTW to move his code into a new function and then fix it in another branch. Then we could merge it back when it was done. Well, he kept on saying it was done but:
-It still wasn't an algorithm.
-It was still 90 lines.
-They were still 200 characters wide.
-It still only checked a third of the tiles.
-IT STILL DIDN'T FUCKING WORK!
He also had one more task, an infinite loop detection system. He watched while Ms Reliable did the fucking work.
We hit our first of two deadlines successfully. We still didn't have a decent landing function but everything else was nice and polished, and we got graded incredibly well. The other projects had been going alright although the same issue of him not doing shit applied. Ms Reliable and I, seeing the shitstorm that would come if this dude didn't get his act together, lodged a complaint with the professor as a precautionary measure. Little did I know how much that advanced warning would save my ass later on.
Second sprint begins and I'm voted in as the actual PM this time. We have four main tasks, so we assign one person to each and me as a generalist who would take care of the minor tasks as well as help out whoever needed it. This ended up being a lot of reworking and re-abstracting, a lot of helping and, for reasons that nobody ever could have predicted, one of the main tasks.
These main tasks were new features that would need to be integrated, most of which had at least some mutual dependencies. Part of this project involved running our code, which would connect to the professor's test server and solve a server-side navigation problem. The more of these we solved, the better the grade, so understandably we needed an MVP to see if our shit worked on the basic problems and then fix whatever was causing the more advanced ones to fail. We decided to set an internal deadline for this MVP. Guess who didn't reach it?
Hitting the character limit, expect part 2 SOON7 -
A bit long story about language barrier.
So I worked at an Asia company. The company decided to close a Northern Europe site which was considered to have low productivity. I was sent to that site to learn and take their job back to HQ.
One day when I was there, we got an email from a developer in HQ, requesting feature changes in the software maintained by the Northern Europe site. I heard the local developers were discussing about the email in their language. I don't speak their language but I could feel that they were confusing. So I walked to them and ask if I could help. They show me the email written in English by the Asian developer in HQ. And I was surprised that even I (who speaks the same native language with HQ dev) couldn't fully understand what the mail wanted to express. So I called back to HQ and talked to the developer directly, in our native language.
Turns out, he actually tried to say a completely different thing with that was written in the email.
Until that moment, I finally know why the site was considered to have low productivity. The men in HQ just couldn't describe the requirements correctly. And sure you got false result when you give wrong requirements statements.
I was so angry and felt sorry about the developers in that closing site. They were far more talented and experienced than most my colleagues in HQ. But they were laid off only because communication errors in HQ developers.7 -
We had the most fucking retarded client today. No, seriously, if you ever beat their level you have a serious mental issue.
They had a mail problem for which they'd need to check at the side of another company since we don't have those fucking logs.
Their statements:
- they entered an email address In the text field of mail-tester.com and were furious that they didn't get the results sent.
Note: it says right on that page that YOU JUST NEED TO SEND THE EMAIL ADDRESS WHICH IS PRE-ENTRRED IN THAT TEXT FIELD AN EMAIL.
- their company has been a reputable 'conservative' company which hasn't done anything wrong since 19xx so the fact that they'd end up on a blacklist was FUCKING OUTRAGEOUS and bullshit.
- our support wasn't willing to help and only willing to tell them outrageous lies.
- the other it company was only reachable at a premium number and thus expensive to call.
Emails back and forth and finally they CC'd the other company. They're reply was fucking priceless:
"we never had a premium number. Feel free to call us on *number* any time during the week between *time* and *time*.
Then he told us that we should just go back to sleep.
It was way worse than that but due to privacy and my own memory this is all I can tell.
Just wow.3 -
Manager: Hey how come you left so many comments on my PR?
Dev: Well you’ve just recently learned how to code so there’s going to be a lot of things to learn beyond what you’ve picked up in your online coding tutorials. Don’t worry it’s only minor things like you put everything all in one function, left outdated comments in the code, have if statements 4 levels deep, have a console.log after every line of code some of which log .env variables, skipped error handling, cast to “any” a bunch instead of using more specific types, didn’t write any tests and some unrelated tests are now failing due to a circular dependancy.
Manager: THAT IS SO DISRESPECTFUL!!APPROVE MY PR IMMEDIATELY. IT WASN’T EVEN EASY FOR ME TO CREATE THE PR, NOW I HAVE TO MAKE AN UPDATE!? YOU’RE THE DEV, YOU SHOULD FIX IT NOT ME!! NEVER COMMENT ON ANY OF MY PRS AGAIN.10 -
Manager: 'Please remove this checkbox from that page.'
Me: 'Sure thing, it was stupid anyway. Just gimme a couple of minutes.'
Legacy code: 'LOL the checkbox is wired to everything else and if you simply remove it the backend will shit itself. There is several hundred lines of inline Javascript in the HTML template with some Thymeleaf stuff managing the form data or just are there to make the code less readable. The controller for the page is a bit more than a thousand lines of spaghetti, no easy way to find where is that specific data necessary and where can be easily removed. Class variables declared between methods, dozens of nested if statements checking shit in every method and the data is passed through like half a dozen other classes. Good luck with that!'
Me: '💩.'5 -
A sidebar.
Literally just a sidebar.
And yes, this was in Hell.
Its code was spread across at least 40 files, and it used a bunch of freaking global variables to unfurl accordion sections, hide other sections/items, highlight the active item, etc. These were set (and unset!) in controller actions, so if you didn’t unset one, it remained open and highlighted until another action unset it.
Some of the global variable checks (and permissions checks) were done in the individual views, some outside of the `render` statements that include them. Some of them inherited variables from the parent, some from the controller, some from globals. Getting a view to work was trial and error. Oh, and some had their own inline css, some used css classes.
Subsections were separate views, so were some individual items, both sometimes rendered using shared templates, and all of the views and templates had the exact. same. filename. (They were located in different directories, and thus located automagically via implicit relative paths.) So, it was a virtually endless parade of`render partial => “sidebar”`. Which file does that point to? Good luck figuring it out!
Also, comments in several places said adding a new section required a database migration. I never did figure out why.
Anyway, I discovered this because I had an innocuous-sounding ticket to rearrange the sidebar, group some sections/items under different permissions, move some items to another menu, and nest some others differently.
It took me two bloody weeks, and this was when I was extremely productive every day.
Afterward, I was so disgusted by it that I took a day and removed every trace of the sidebar I could find, and rewrote it. I defined the sidebar in a hash, and wrote a simple recursive builder to generate the markup. It supported optional icons, n-level nesting, automatic highlighting of the current item and all parent nodes, compound and inherited permissions, wrapping of long names, hover and unfurl animations, etc. Took me a couple hundred lines of Ruby at the most, plus about the same of css.
Felt so good to remove that blight.5 -
Fullstack dev: Hey I need your help with one of this method in the service layer (We use Java).
Me: Sure. What’s up!
Fullstack dev: When you get a user ....blah blah blah...
Me (typing code):
if (user != null) { ... }
Fullstack dev: Wait! This won’t work. You need to write this:
if (null != user) { ... }
In Java, you write like this. In JS it’ll work, not in Java.
Me: (also fuck this guy)
He’s among the famous devs in the company - (A very very very famous European bank).
I checked his commits for the frontend (React Native)
switch (some_expr) {
case foo:
return stuff()
break // <— note this
case bar:
return moreStuff()
break // <— note this
// more cases here with break after return statements
}
Me: Hey if you’re returning from a case why are you using a break. It’s dead code.
Fullstack dev: It’ll fall through otherwise.
———————
You’re a fucking dunce! Please drink a litre of Carborane in a rusty HIV infested container! Cheers!
PS More to come!33 -
FUCKING SHIT.
I'm at my first Hackathon with my best friends in life and there has never been a time when I've felt this miserable all my life.
The theme is IoT (something idk jackshit about) and people here are done with the projects when we are still at the idea stage.
Yes, it's true that this shit is intense but I really want to do good at this.
This is what I've learned from my first Hackathon:
1. Prepare your shit.
Unless the problem statements are given on the spot, you should've discussed everything that you would be doing and not divert. (We spent 5 hours on a problem statement and then we decided not to go with it.)
2. Have people with different abilities who you can trust to get the work done without you having to give a second thought.
3. Don't you dare build a sub-par application. What's the fucking use of that? Don't do it for the certificate or the stickers. If you do that, then how the fuck can you make yourself put those stickers on your laptop?!
4. Have food. Keep yourself healthy and up to max potential.
5. DO NOT BE DISCOURAGED. A lot of people will look like they're done with the shit. You know what you have to do now? NOT GIVE A FUCK! Just focus and do your thing and make it awesome.7 -
I always use brackets for clarity even if there is only one statement inside them
if (boolean){
function ();
}
Cus it's so much easier to read, and if I need to add statements after the if I don't need to remember to add brackets. Plus the else may need brackets and an if with no brackets but an else with brackets looks awful.14 -
Less a rant, more just a sad story.
Our company recently acquired its sister company, and everyone has been focused on improving and migrating their projects over to our stack.
There's a ton of material there, but this one little story summarizes the whole very accurately, I think. (Edit: two stories. I couldn't resist.)
There's a 3-reel novelty slot machine game with cards instead of the usual symbols, and winnings based on poker-like rules (straights and/or flushes, 2-3 of a kind, etc.) The machine is over a hundred times slower than the other slot machines because on every spin it runs each payline against a winnings table that exhastively lists every winning possibility, and I really do mean exhaustively. It lists every type of win, for every card, every segment for straights, in every order, of every suit. Absolutely everything.
And this logic has been totally acceptable for just. so. long. When I saw someone complaining in dev chat about how much slower it is, i made the bloody obvious suggestion of parsing the cards and applying some minimal logic to see if it's a winning combination. Nobody cared.
Ten minutes later, someone from the original project was like "Hey, I have an idea, why don't we do it algorithmically to not have a 4k line rewards table?"
He seriously tried stealing a really bloody obvious idea -- that he hadn't had for years prior -- and passing it off as his own. In the same chat. Eight messages below mine. What a derpballoon.
I called him out on it, and he was like "Oh, is that what you meant by parsing?" 🙄
Someone else leaped in to defend the ~128x slower approach, saying: "That's the tech we had." You really didn't have a for loop and a handful of if statements? Oh wait, you did, because that's how you're checking your exhaustive list. gfj. Abysmal decisions like this is exactly why most of you got fired. (Seriously: these same people were making devops decisions. They were hemorrhaging money.)
But regardless, the quality of bloody everything from that sister company is like this. One of the other fiascos involved pulling data from Facebook -- which they didn't ever even use -- and instead of failing on error/unexpected data, it just instantly repeated. So when Facebook changed permissions on friends context... you can see where this is going. Instead of their baseline of like 1400 errors per day, which is amazingly high, it spiked to EIGHTEEN BLOODY MILLION PER DAY. And they didn't even care until they noticed (like four days later) that it was killing their other online features because quite literally no other request could make it out. More reasons they got fired. I'm not even kidding: no single api request ever left the users' devices apart from the facebook checks.
So.
That's absolutely amazing.8 -
I don't want to write clean code anymore :(
I read Clean Code, Clean Coder, and watched many uncle bob's videos, and I was able to apply best practices and design patterns
I created many systems that really stood the test of time...
Management was kind enough to introduce me to uncle bob clean code in the first place, letting us watch it during work hours. after like one year, my code improved 400% minimum because I am new and I needed guidance from veterans...
That said, to management I am very slow, compared to this other guy, they ask me for a feature and my answer would be like "sure, we need to update the system because it just doesn't support that right now, it is easy though it would take 2 days tops"
they ask the same thing for the other guy : "ok let me see what I can do", 1 hour later, on slack, he writes : done. he slaps bunch of if-statement and make special case that will serve the thing they asked for.
oh 'cool' they say -> but it doesn't do this -> it needs to do that -> ok there is a new bug,-> it doesn't work in build mode-> it doesn't work if you are logged in as a guest, now its perfect ! -> it doesn't work on Android -> ok it works on android but now its not perfect anymore.
and they feel like he is fast (and to be fair he is), this feature? done. ok new bugs? solved. Android compatibility ? just one day ... it looks like he is doing doing doing.
it ends up taking double the time I asked for, and that is not to mention the other system affected during this entire process, extra clean up that I have to do, even my systems that stood the test of time are now ruined and cannot be extracted to other projects. because he just slaps whatever bools and if statements he needs inside any system, uses nothing but Singleton pattern on everything. our app will never be ready-for-business, this I can swear. its very buggy. and to fix it, it needs a change in mentality, not in code.
---------------
uncle bob said : write your code the right way, and the management will see that your code generates less errors, with time, you will earn respect even though they will feel you are slow at first.
well sorry uncle, I've been doing it for a year, my image got bad, you are absolutely right, only when there is no one else allowed to drop a giant shit inside your clean code.
note: we don't really have a technical lead.
-------------------
its been only two days since my new "hack n' slash" meta, the management is already kind of "impressed" ... so I'll keep hacking and slashing until I find a better job.9 -
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 -
Today, for fun, I wrote prime number generation upto 1000 using pure single MySQL query.
No already created tables, no procedures, no variables. Just pure SQL using derived tables.
So does this mean that pure SQL statements do not have the halting problem?
Putting an EXPLAIN over the query I could see how MySQL guessed that the total number of calculations would be 1000*1000 even before executing the query in itself and this is amazing ♥️
I have attached a screenshot of the query and if you are curious, I have also left below the plain text.
PS this was a SQL problem in Hackerrank.
MySQL query:
select group_concat(primeNumber SEPARATOR '&') from
(select numberTable.number as primeNumber from
(select cast((concat(tens, units, hundreds)+1) as UNSIGNED) as number from
(select 0 as units union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) unitsTable,
(select 0 as tens union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) tensTable,
(select 0 as hundreds union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) hundredsTable order by number) numberTable
inner join
(select cast((concat(tens, units, hundreds)+1) as UNSIGNED) as divisor from
(select 0 as units union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) unitsTable,
(select 0 as tens union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) tensTable,
(select 0 as hundreds union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) hundredsTable order by divisor) divisorTable
on (divisorTable.divisor<=numberTable.number and divisorTable.divisor!=1)
where numberTable.number%divisorTable.divisor=0
group by numberTable.number having count(*)<=1 order by numberTable.number) resultTable;9 -
Okay, just because I'm the only one under 35, single, and only white/hispanic guy on this team doesn't give you the right to interrupt me mid sentence IN my meeting. No disrespect to the developers from India and this may just be a culture conflict where I am outnumbered in my company but I don't understand the how some of these guys can't just be polite or respect others opinions(this is just from my experience with 90 or so developers from India and I don't believe in blanketing all Indians as this way just these 90 plus I do love the food).
Don't hijack MY meeting and then completely derail where I was going and disregard my solution without listening to the whole thing for an idea that isn't even solution but adds more work for both parties involved. You may have been working here for 5 years, but I worked in the actual department where we're building the new process and solution to a problem I've worked on. I understand the user since I WAS ONCE THAT USER for a good 8 months. And on top of that you can barely code efficient, or complex SQL statements. You're nothing more than fucking script kiddies and this whole IT department is joke. I apologize if the rant isn't really that coherent, I'm not very good at typing rants with my adrenaline running hot.14 -
NO JIMMY.
YOUR 45 IF/ELIF STATEMENTS ARENT FUCKIN A.I.
NOR ARE YOUR 25 METHODS THAT RETURN A STRING A FUCKIN BLOCKCHAIN
STOP FUCKIN USING EVERYWHERE THOSE FUCKIN WORDS
FUCK OFF2 -
I had a weird dream last night where people communicated by using log statements.
Like if I wanted to say something very loud I'd think Log.wtf("WTF!") and it would appear in front of me like subtitles. Log levels were equivalent to tone level.
The scene was basically a bunch of people with log statements of various levels in front of them and their lips moving with no sound.
I think I need a vacation.2 -
I just want to add my 2 Cents to the all this GDPR chaos. Because I feel lots of you are missing the point here.
When reading here about GDPR I hear all kinds of fair statements of how flawed it is and how it's mainly hurting the small companies etc etc.
I agree, at this state GDPR might actually be doing more harm than good.
However, I don't think that is what it is about. It's about going in the right direction. If you read/look over the course of history we've had several technological revolutions. Industrial, renaissance. They all start the same:
"This technology is going to change everything, it's going to solve all our problems!" It's something holy. Something that shouldn't be touched or regulated, only embraced.
But as we all know it wasn't all that pretty.
Industrial revolution was hard super underpaid, dirty work. Children had to work too. People were getting sick. Lots of alcoholism, depression.
And what made the factories start taking better care of their employees? Regulation.
Once fines start to come, companies will have to adapt.
We have to learn and understand that these systems like government, company, capitalism. They're built for reasons. They all exist for reasons. And only when it is in balance, things will flourish.
So I encourage you all to stay as critical as you are, but to give it a chance. To have a bit of faith.
It might just turn into something worthwhile!
Thanks for reading!:)4 -
to the guy who writes indented IF statements all one liners and brackets removed
please fuck yourself6 -
Been reviewing ALOT of client code and supplier’s lately. I just want to sit in the corner and cry.
Somewhere along the line the education system has failed a generation of software engineers.
I am an embedded c programmer, so I’m pretty low level but I have worked up and down and across the abstractions in the industry. The high level guys I think don’t make these same mistakes due to the stuff they learn in CS courses regarding OOD.. in reference how to properly architect software in a modular way.
I think it may be that too often the embedded software is written by EEs and not CEs, and due to their curriculum they lack good software architecture design.
Too often I will see huge functions with large blocks of copy pasted code with only difference being a variable name. All stuff that can be turned into tables and iterated thru so the function can be less than 20 lines long in the end which is like a 200% improvement when the function started out as 2000 lines because they decided to hard code everything and not let the code and processor do what it’s good at.
Arguments of performance are moot at this point, I’m well aware of constraints and this is not one of them that is affected.
The problem I have is the trying to take their code in and understand what’s its trying todo, and todo that you must scan up and down HUGE sections of the code, even 10k+ of line in one file because their design was not to even use multiple files!
Does their code function yes .. does it work? Yes.. the problem is readability, maintainability. Completely non existent.
I see it soo often I almost begin to second guess my self and think .. am I the crazy one here? No. And it’s not their fault, it’s the education system. They weren’t taught it so they think this is just what programmers do.. hugely mundane copy paste of words and change a little things here and there and done. NO actual software engineers architecture systems and write code in a way so they do it in the most laziest, way possible. Not how these folks do it.. it’s like all they know are if statements and switch statements and everything else is unneeded.. fuck structures and shit just hard code it all... explicitly write everything let’s not be smart about anything.
I know I’ve said it before but with covid and winning so much more buisness did to competition going under I never got around to doing my YouTube channel and web series of how I believe software should be taught across the board.. it’s more than just syntax it’s a way of thinking.. a specific way of architecting any software embedded or high level.
Anyway rant off had to get that off my chest, literally want to sit in the corner and cry this weekend at the horrible code I’m reviewing and it just constantly keeps happening. Over and over and over. The more people I bring on or acquire projects it’s like fuck me wtf is this shit!!! Take some pride in the code you write!16 -
That just takes the damn fun out of it.
"In Python, we don't actually use commas unlike many languages. And as I mentioned last time, a tuple is a lot like a list, but it has it's differences. Oh yeeeah! Did I mention the logic behind if/else if/ and else statements?? They're sooo amazing."13 -
Part 1: https://devrant.com/rants/4210605
So let's talk about these tasks we were assigned. Ms Reliable and Mr DDTW's friend who I just realized I haven't named yet were in charge of programming communications. Ms Enabler and Mr DDTW were in charge of creating the vehicle subclasses for the new variants we were instructed to build. Each one had to handle one variant, and we estimated that both of these would be about the same difficulty (Ms Enabler's one turned out to be a little harder).
I like Ms Enabler, and she's a good friend, although she isn't the best at problem solving and her strengths as a dev lie in her work ethic and the sheer amount of theory she knows and can apply. These just so happened to be the exact opposites of my strengths and weaknesses. Within a few days of having assigned the tasks, she came up to me asking for help, and I agreed. Over the following couple of weeks I'd put in quite a lot of hours reviewing the design with her, and we'd often end up pair programming. It was more work for me, but it was enjoyable and overall we were very efficient.
The other two girls in the group were also absolutely fine this sprint. They simply did the work they had to and let us know on time. Outside of some feedback, requests, bugfixes, and mediating disagreements, I didn't have to do anything with their tasks.
A week and half into the sprint and everybody else has their part almost in an MVP state. As Mr DDTW hadn't said or shown anything yet, I asked if he could push his stuff to the repo (he got stuck with this and needed help btw), and what does he have?
A piece of shit "go to this location" algorithm that did not work and was, once again, 150 lines of if statements. This would not have been such a massive deal if THE ENTIRE PREVIOUS SPRINT HAD BEEN DEDICATED TO MAKING THE CODE DO THIS IN A SENSIBLE WAY. Every single thing that this guy had written was already done. EVERY SINGLE THING. A single function call with the coordinates would let the vehicle do what he wrote but in a way THAT ACTUALLY WORKED AND MADE THE TINIEST BIT OF FUCKING SENSE. He had literally given so few shits about this entire goddamn project that he had absolutely zero clue about what we'd even done last sprint.
After letting this man civilly know through our group chat about his failures, giving him pointers on what's wrong and what he can use and telling him that he should fix it by the end of the week, his response?
"I'll try"
That was it. Fuckass was starting to block us now, and this was the first sign of activity he's given since the sprint started. Ms Enabler had finished her work a fucking week ago, and she actually ASKED when she ran into trouble or thought that something could be improved. Mr DDTW? He never asked for shit, any clarification, any help, and I had let everybody know that I'm open. At least the other two who didn't ask for shit ACTUALLY DID SOMETHING. He'd been an useless sack of shit for half a semester in three separate projects and the one time he's been assigned something half important that would impact our grades he does this. I would not stand for it.
I let him know all this, still civil (so no insults) but much less kind, capped with "Stop fooling around. Finish this by the of the week." which probably came off as a threat but his shithead kinda had it coming.
He was actually mad. Dropped a huge faux-apologetic spiel in the chat. Why couldn't I just trust him (his code was garbage and he was constantly late without explanation), his work was almost done (it wasn't and if he'd started he'd understand the scope of what he was assigned), that the problem was that I'm a condescending piece of shit (bruh), and was suddenly very interested in doing work. Literally everybody ignored him. What was funny was seeing the first questions and requests for help after that spiel. I obliged and actually answered what he asked.
The end of the week came and went he'd just uploaded more garbage that didn't work. I had foreseen this and, on top of everything else, had been preparing his section of the work done by myself and properly. Thus came a single commit from me with a working version of the entire module, unblocking the entire team. I cannot imagine the sheer hatred for this man at that moment for the commit message to simply be:
"judgement"
And with that, all I got was a threat to report me to the professor for sabotaging his work. The following day our group got an email from the professor, with no explanation, asking for an almost-immediate video conference. Group chat was a shitshow of panic, as nobody knew what was going on. Least of all Mr DDTW.
Once again, I'm approaching the word limit so to be continued in part 3 (hopefully of 3)7 -
A Month ago...
Me: when are you going to complete the report
Friend: we can do it in minutes
Me: you can't Ctrl + c and Ctrl +v as there is plagiarism check
Friend: we have spin bot
Me: you do that now itself . if something happens? You can join me .
Friend: just chill
Now ...
Me: done with report
Friend: feeding it to spin bot!
Feeds text related to database security....
Spin bot:
Garbage collector == city worker
SQL statements == SQL explanation
SQL queries == SQL interrogation
SQL injection == SQL infusion
Attack == assault
Malicious == noxious
Data integrity == information uprightness
Sensitive == touchy
.....
Me: told you so...
**spin not == article rewriter3 -
I am so fucking sick of getting asked to implement special cases / features for 1 fucking customer just because the customer wants to do something differently (read fucking stupidly).
This piece of shit codebase already has easy on 500 special cases that were put in place to please some asshole who does'nt even use the feature he demanded once he realised what a wanker he was being.
Now I have to put in yet another bunch of conditional statements all over the place to pad another fucking douche bags ego.
For fuck sake can they not just use the software as it is. If some dick really wants shit his special glorious way can we not just fork the codebase give him his shit and he can stay on the same special fucking version forever without future updates because the other 99% of user aren't retarded.11 -
I was at the robotics group of our school when suddenly two other students (both 2 grades above me) started talking:
P1: I always forget the brackets when writing code
P2: I always forget the return statements
P3: yeah, always takes ages to find out why your code doesn't work
P4: haha, in the end it's just something missing that you didn't notice like a semicolon or a bracket
Me (thinking): do you use a fucking toaster to code? Even if you don't use an ide the compiler tells you what's wrong8 -
*bunch of if statements*
Friend shouts proudly everywhere : I implemented an AI!
Me : but that's not how AI works
Friend : but it works just as an AI, so it is one, who cares?
😥3 -
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 -
So today I wrote CSS using for loops and if statements in scss.
You could say I was programming in style... -
Can we ever have a truly democratic and uncensored Internet?
I am writing this in irritation and anger as I read a story headlined " Apple CEO backs China’s vision of an ‘open’ Internet as censorship reaches new heights"
Appearantly "Open Internet" as the Chinese Government understands it is, "you can say whatever you want as long as we like it". And Apple being the ass-kissing, 730-million-customer-seeking, co**suckers that they are is only happy to comply. They even removed 674 VPN apps from the Chinese version of their App Store last year to comply with government rules, stating "We strongly believe that participating in markets and bringing benefits to consumers is in the best interests of folks there and in other countries as well, We believe in engaging in governments even when we disagree.”
That was Cook by the way.
Thats two fucking contradictory statements rolled into one!!
Anyway, I know private companies are well within their rights to do what they want to make profits. And I understand Apple might not be at fault totally. But its just so frustrating... :-(
The Net Neutrality repeal in the US, this, the Aadhar shit in India and lots of other stuff thats been happening around the world, that just blatantly undermine Civil Rights and freedom makes me imagine that only a bleak future sits on horizon. Almost Orwellian.
If only people would just realise and revolt a bit... probably we would have a different future then..
I hope I am wrong and this is just the pessimist in me speaking.14 -
One day, this ex-boss of mine dropped the following bomb:
“Stop using switch statements, the switch statement is archaic.”
The if statement should be even more archaic, right? So, should we stop using ifs as well?12 -
You wanted to hear more about my "glorious" teacher. I deliver. So get a cup of tea, take a seat and prepare for insanity.
As I already told in a comment my programming teacher is one special snowflake who lives in his personal bubble. We have final exams in less than a month and he spents at least half a lesson talking about vanishing bees and missing plants from his garden. Other topics he likes to talk about (and tries to turn every freaking conversation into at least one of these):
1. Other students and their stupidity
2. Diesel scandal
3. His sick wife
4. "Why does noone read newspapers anymore?"
5. Why he can't teach Java but really really really wants to and everyone hates him and forces him to do C#.
Even if I try to interrupt him he'll go on until he thinks we gained some "common knowledge" - this is how he justifies these topics.
Everytime he introduced us to a new command he compared it to Java and sometimes he even falsely corrects code because he confuses them.
We are only 6 people including me (another story for another time) and he is not able to help everyone during a 90min lesson. He normally sticks with one person for at least one hour and just talks to them or even do their tasks. This is really annoying if you have a simple question. He won't answer you until he's finished whatever he's doing.
Most of the time he doesn't seem to understand what he's talking about/trying to teach us. He's muttering statements from our textbook to himself switching halfway through to another sentence while drawing not decipherable shit on the blackboard.
Another gem are his "guidelines" for classtests. We are allowed to use any command we know. Except the ones we learned not in class. And the ones he doesn't like. And the ones he doesn't want to exist. And of course not the ones which make you're life easier. So basically we are bound to use his favourite commands or we won't get a good grade. Example: use an array. List is not allowed. Never.
He has some weird fetish with arrays.
I once presented him perfectly fine code I wrote in my freetime and asked what some warnings meant. (Was because of different Visual studio versions as I learned later.) He scolded me for using things he didn't taught us yet and ranted about how I'm pressuring him into rushing these things now - I never wanted to show this to my classmates nor was this anything else than a project for fun and learning something new. (FYI the "new stuff" where classes and objects because i was tired of kilometers of spaghetti code). His rant went on a good 20minutes and - obviously - he didn't answer my question. I asked my fiance that evening and he explained it to me.
This should it be for this time. I'm sure I have more stories to tell for another time!
Thank you for reading. ^^5 -
I've found and fixed any kind of "bad bug" I can think of over my career from allowing negative financial transfers to weird platform specific behaviour, here are a few of the more interesting ones that come to mind...
#1 - Most expensive lesson learned
Almost 10 years ago (while learning to code) I wrote a loyalty card system that ended up going national. Fast forward 2 years and by some miracle the system still worked and had services running on 500+ POS servers in large retail stores uploading thousands of transactions each second - due to this increased traffic to stay ahead of any trouble we decided to add a loadbalancer to our backend.
This was simply a matter of re-assigning the IP and would cause 10-15 minutes of downtime (for the first time ever), we made the switch and everything seemed perfect. Too perfect...
After 10 minutes every phone in the office started going beserk - calls where coming in about store servers irreparably crashing all over the country taking all the tills offline and forcing them to close doors midday. It was bad and we couldn't conceive how it could possibly be us or our software to blame.
Turns out we made the local service write any web service errors to a log file upon failure for debugging purposes before retrying - a perfectly sensible thing to do if I hadn't forgotten to check the size of or clear the log file. In about 15 minutes of downtime each stores error log proceeded to grow and consume every available byte of HD space before crashing windows.
#2 - Hardest to find
This was a true "Nessie" bug.. We had a single codebase powering a few hundred sites. Every now and then at some point the web server would spontaneously die and vommit a bunch of sql statements and sensitive data back to the user causing huge concern but I could never remotely replicate the behaviour - until 4 years later it happened to one of our support staff and I could pull out their network & session info.
Turns out years back when the server was first setup each domain was added as an individual "Site" on IIS but shared the same root directory and hence the same session path. It would have remained unnoticed if we had not grown but as our traffic increased ever so often 2 users of different sites would end up sharing a session id causing the server to promptly implode on itself.
#3 - Most elegant fix
Same bastard IIS server as #2. Codebase was the most unsecure unstable travesty I've ever worked with - sql injection vuns in EVERY URL, sql statements stored in COOKIES... this thing was irreparably fucked up but had to stay online until it could be replaced. Basically every other day it got hit by bots ended up sending bluepill spam or mining shitcoin and I would simply delete the instance and recreate it in a semi un-compromised state which was an acceptable solution for the business for uptime... until we we're DDOS'ed for 5 days straight.
My hands were tied and there was no way to mitigate it except for stopping individual sites as they came under attack and starting them after it subsided... (for some reason they seemed to be targeting by domain instead of ip). After 3 days of doing this manually I was given the go ahead to use any resources necessary to make it stop and especially since it was IIS6 I had no fucking clue where to start.
So I stuck to what I knew and deployed a $5 vm running an Nginx reverse proxy with heavy caching and rate limiting linked to a custom fail2ban plugin in in front of the insecure server. The attacks died instantly, the server sped up 10x and was never compromised by bots again (presumably since they got back a linux user agent). To this day I marvel at this miracle $5 fix.1 -
So we are in computer lab with some bitch ass c++ program on the board,,its approx. 150 sloc with lot of if's and else's...halfway into the session my friend rolls on his chair comes to my system asking for help, i say sure dude why not.
So we both roll to his system and that bastard has 0 indentation,a set of brackets for every if else even for non-compound statements with every bracket in a line of its own.......
With great difficulty of restraining myself from punching him in the face,,,i politely ask him"Have you ever coded in python"
He says no
I say "that was a rhetorical question"
Everyone around us bursts into laughter and that poor lad still has no idea what just happened
Python should be made compulsory for fags like these,, they'll know the meaning of indentation only then7 -
Let's portray Stallman as a malevolent criminal, dying on the creepiest hill, shall we? Apparently there's even people that make statements such as "if you defend RMS, you're just as terrible as he is".
Do you have any idea what you're talking about? Do you have any idea what the case even is?
Richard Stallman has a controversial opinion about a rape case committed by someone else. Gee, what a shocker, people have opinions. Does that make Stallman a criminal himself?
Oh but he's representing open source software. That's why he can't be there.
Oh yeah. Shunning him (and erroneously so) as another Reiser is gonna make open source look so good, isn't it.
"I disapprove of what you say, but I will defend to the death your right to say it."
- Evelyn Beatrice Hall, writer of Voltaire
People are entitled to any opinion they may have. Just because you disagree with it (and in this case I do too!) does not mean that it can be used to criminalize someone and to ruin their career. That is just wrong.25 -
First year at uni, during c++ basis.
The professor has just finished explaining the while cycle.
Professor: We want the code to print all numbers from 0 to 40 using a counter. How would you do?
Classmate puts up his hand: we do 40 if statements and when we reach the 40th one we stop.
Professor: *face palm*9 -
Fuck i love regex... managed to replace a series of loops and if statements with regex and cut execution time from 60ms down to 5ms13
-
I have previously seen this in a production code base. The same code base included nested if statements (20+ conditions)...
If (condition == false) {
return false;
} else if (condition == true) {
return true;
}11 -
When my idiot technical lead on the client’s floor (where everyone could hear him), “corrected” me in public telling me I should never use parent/child classes and override a method. Instead just use lots of if else statements in the one.
Not just is he a moron, but sounds like he knows what he is talking about if you are a client who knows nothing about coding. So I look like an idiot to our customers and he sounds smart... when it’s the other way around.
And HOW DARE you criticize anyone, even if it is warranted, in public in front of clients. You go in an office and close a door.6 -
How can you defend your ugly unstructured mess of a PR, when every spit-droplet infused spray of words from your mouth is full of syntax errors?
How can you call yourself a developer without being aware of basic logic? I ain't got no tolerance for double negations, not not true is just true, you doltish twat.
WHEN YOU TALK THERE IS A CLOUD OF RED SQUIGGLY LINES IN THE AIR FLOATING AROUND YOUR HEAD.
I mean what the fuck is up with eggcetera? Why are you just swapping out letters? What has the little ligature t in & ever done to you? Do I have to fucking replace & with 🥚 so your word diarrhea makes sense again?
NO. JUST PLEASE... STOP TALKING. YOU'RE RAPING LANGUAGE, AND IT WAS ALREADY BEATEN DEAD.
Unlike me, you have a degree in computer science... but how, how the fuck did you pass? How did neither your tongue nor code get stuck in a linter?
AND YOUR RESPONSE IS STILL: "YOU DON'T NEED TO LEARN WHEN YOU'RE FINISHED WITH SCHOOL" ... "WHAT DOES IT MATTER, IT WORKS, RIGHT?"
NO, IT'S NOT RIGHT.
You're lucky I love refactoring.
I'll start with a medical grade steel scalpel and a long sharp hook. Maybe I can clean up this brain a little. See if the tests turn green if I cut some of this gray matter away... plenty of unreachable statements, so many unnecessary loops...
Might have to start from scratch.8 -
First rant: but I'm so triggered and everyone needs a break from all the EU and PC rants.
It's time to defend JavaScript. That's right, the best frikin language in the universe.
Features:
incredible async code (await/async)
universal support on almost everything connected to the internet
runs on almost all platforms including natively
dynamically interpreted but also internally compiled (like Perl)
gave birth to JSON (you're welcome ppl who remember that the X in AJAX stood for XML)
All these people ranting about JS don't understand that JS isn't frikin magic. It does what it needs to do well.
If you're using it for compute-heavy machine learning, or to maintain a 100k LOC project without Typescript, then why'd you shoot yourself in the foot?
As a proud JS developer I gotta scroll through all these posts gushing over the other languages. Why does nobody rant about using Python for bitcoin mining or Erlang to create a media player?
Cuz if you use the wrong tool for the right job, it's of course gonna blow up in your face.
For example, there was a post claiming JS developers were "scared" of multithreading and only stick in their comfort zone. Like WTF when NodeJS came out everything was multithreaded. It took some brave developers to step out of the comfort zone to embrace the event loop.
For a web app, things like PHP and Node should only be doing light transforms between the database information and HTML anyways. You get one thread to handle the server because you're keeping other threads open to interface with databases and the filesystem. The Nexus.js dev ranting on all us JS devs and doesn't realize that nobody's actual web server is CPU bound because of writing HTML bodies, thats why we only use 1 thread. We use other worker threads to do the heavy lifting (yes there is a C++ bridge look it up)
Anyways TL;DR plz respect JS developers we're people too. ES7 is magic and please don't shit on ES3 or we'll start shitting on the Python 2-3 conversion (need to maintain an outdated binary just cuz people leave out ()'s in their print statements)
Or at least agree that VB.NET is an abomination and insult to the beauty that is TI-84 BASIC13 -
Reviewing bosses code and had these two if statements with no logic between
if (someVar) {
if (someVar) { // double check someVar is true just in case
}
}7 -
Awkward recruiting process? Sit the fuck back!
So about a year ago I got laid off. I got some help setting up LinkedIn and realising I'm not trash and offers to talk started flowing in.
So this consultancy firm asks me to come in for a talk and having nothing better to do I oblige - they're working on big, exciting Greenfield stuff and I'm amazed they want me.
Fast forward the most nervous week in my life and the HR assistant brings me into the meeting room, I get some water and a nice first impression - also my last. I wait in the room for five minutes.
In walks madam HR, madam Team lead and miss assistant from before, all carrying big ass laptops. We shake hands and they sit down and all open up their laptops between me and them - I just sit there feeling naked with my block of paper and pencil I brought.
So we wait for their machines to start up and madam HR just starts throwing questions at me and seemingly noting my answers into a sheet. Meanwhile madam Teamlead is busy on her phone most of the time and my most human interaction remains smalltalk and questions between me and miss assistant.
I did manage to get madam Teamlead to look up from her phone when I asked how they felt about the fact that I have no formal training and would need to pick up a lot of skills as we go, to which she said something along 'well this ain't a candy shop, we expect you to work' and looked back down at her phone.
A bit shaken, I agreed to stay for the technical test (apparently I passed the interview...)
Now this test was designed by their CTO since he didn't feel like any of the available tests on the market could properly judge applicants' skilllevels. Yes, alarms went off already at that point.
What I'm presented with is a word document with questions, and another for answers and... It's just string gymnastics and reference/value difference knowledge - shit it takes you a split second to look up or test if you ever get into these insane cases where you need to know. And then there was a likewise one with sql statements that was also just convoluted query gymnastics and trying to hide changes in the seemingly same statement through various questions. No questions on design, no problem solving, just... Attention span testing with a dash of coding?
Anyway, it turned out they had evening and weekend shifts and round the clock support tournus which on top of the ridiculous recruitment process and way lower than average salary offer had me turn them down.
Don't enable bullshit people, run away!4 -
OMFG if I see one more single-lined if-else/for statements without proper closure brackets I'm gonna kill some people!!!8
-
Just reviewed collegues code: 80 lines of if statements that are so long that I have to scroll sideways on my 27" screen. Just wrote the exact same thing in 5 minutes and 10 lines! If you don't know how to use loops in your code please learn something different and stop pissing off skilled devs 😡5
-
!dev
Day 8 in isolation.
Im lonely..
My brother calls me.
I haven’t talked to my brother in a long time.
He believes that capitalism is the answer to everything.
It sucks to be lonely in my tiny little apartment so I actually Skyped with him today.
After a 3h call I remember why I don’t usually talk to him.
What he’s saying is:
Democracy only works if the vote of rich people is worth more.
The happiness of your people is defined by the amount of money your country has.
Thanks to Corona, the EU, Russia, Afrika and China are gonna be slums. They’ll be poor and without money.
The US is the only country that’s gonna be fine and it’s gonna be the most important country in the world.
Putin didn’t do anything illegal, he stays president because the people vote for him.
FFS, I tried to tell him my opinion on each single one of those statements, he ignored me and kept telling me how it’s the rich people that keep the clock ticking.9 -
I hate setting up case statements cause it's hard to cover every case. What if a virus puts a gun to my programs head? What if my program is at a cache party and chrome offers it weed? What if my program isn't gay, but $20 is $20?2
-
Do ya ever hate how often people use the term "AI" so loosely. It's like saying your thermostat or your "smart oven" (or "smart"-everything) is "AI-infused" because it can regulate the temperature. Unless the machine actually learns something for next time around, a bunch of "if" statements isn't truly AI in my book.5
-
Started a new job this week.
Just learned that my manager strictly prohibits while loops and "if else" statements.23 -
Nobody:
Very stupid people with no github projects who are probably stuck at making wordpress sites: haha ai is just if statements7 -
Rant about social media in general, including devRant.
I enjoy interacting with like minded people. What I do not enjoy is the whole degradation of the conversation at hand. Sooner or later, someone takes something the wrong way, addresses something this social network was not meant to address (it's devRant not Facebook), and the audience has a multitude of English as a #(rd/th/whatever) language human beings.
Accept that as the premise, and I think we could get along a lot better.
However commonly this fact is ignored. Understand the sentiment behind statements, not the statement itself. If any part of it is unclear, then request clarification.
Agree, disagree, civil debates one thing, but degrading the conversation to name calling or similar emotions only results in poor communication, useless emotions running high, and nothing gained.
</rant>3 -
I fucking hate chained methods. Ok, not all of them. Query things like array.where.first... that stuff is ok.
Specially if it's part of the std lib of a lang, which would be probably written by a very competent coder and under scrutiny.
But if you're not that person, chances are you'll produce VASTLY inferior code.
I'm talking about things like:
expect(n).to.be(x).and.not(y)
And the reason I don't like it is because it's all fine and dandy at first.
But once you get to the corner cases, jesus christ, prepare to read some docpages.
You end up reading their entire fucking docs (which are suboptimal sometimes) trying to figure if this fucking dsl can do what you need.
Then you give up and ask in a github issue. And the dev first condescends you and then tells you that the beautiful eden of code he created doesn't let you do what you want.
The corner cases usually involve nesting or some very specific condition, albeit reasonable.
This kind of design is usually present in testing or validation js libraries. And I hate all of those for it.
If you want a modern js testing lib that doesn't suck ass, check avajs. It's as simple as testing should be.
No magic globals, no chaining, zero config. Fuck globals forced by libs.
But my favorite thing about it that is I can put a breakpoint wherever the fuck I want and the debugger stops right fucking there.
Code is basically lines of statements, that's it, and by overusing chaining, by encouraging the grouping of dozens of statements into one, you are preventing me from controlling these statements on MY code.
As an end dev, I only expect complexity increases to come from the problems themselves rather than from needlessly "beautified" apis.
When people create their own shitty dsl, an image comes to my mind of an incoherent rambling man that likes poetry a lot and creates his own martial art, which looks pretty but will get your ass kicked against the most basic styles of fighting.
I fucking hate esoteric code.
Even if I had to execute a list of functions, I'd rather send them in an array instead of being able to chain them because:
a) tree shaking would spare from all the functions i didn't import
b) that's what fucking arrays are for, to contain several things.
This bad style of coding is a result of how low the barrier to code in higher level langs are.
As a language or library gets easier to use you might think that's a positive thing. But at the same time it breeds laziness.
Js has such a low learning curve that it attacts the wrong kind of devs, the lazy, the uninspired, the medium.com reader, the "i just care about my paycheck" ones.
Someone might think that by bashing bad js devs I'm trying to elevate myself.
That'd be extremely stupid. That's like beating a retarded blind man in a game and then saying "look, I'm way better than this retarded blind man".
I'm not on a risky point of view, just take a stroll down npmjs.com. That place is a landfill. Not really npm's fault, in fact their search algorithm is good.
It's just the community.
Every lang has a ratio of competence. Of competent to incompetent devs.
You have the lang devs and most intelligent lib devs at the top. At the bottom you have the bottom.
Well js has a horrible ratio. I wouldn't be shocked to find out that most js devs still consider using import or await the future.
You could say that js improved a lot, that it was way worse beforr. But I hate chaining now, and i hated back then!
On top of this, you have these blog web companies, sucking the "js tutorial" business tit dry, pumping out the most obscenely unprofessional and bar lowering tutorials you can imagine, further capping the average intelligence of most js devs.
And abusing SEO while they're at it, littering the entire web with copy paste content.2 -
Pro-tip to self: Getting syntax errors on your If-Than statements? Try using If-Then instead!
*facepalms at own stupidity* -
Did some updates to an older Web Forms website built by a previous SENIOR developer who is a notoriously horrible developer.
Now before I start, you have to understand this guy studied at a University and had been working for at least two years before I even started working. He is supposed to know the basic shit mentioned below.
This also happened a couple of days ago, so I have calmed down since then so I apologise for the relaxed tone. My next rant will contain a lot more swearing.
This fucking guy did the stupidest shit imaginable.
On the details view of a post|page|article|product|anything that would require a details view this jackass would load the data from the DB.
Using an OleDbConnection, OleDbDataAdapter, DataTable and the poorest writter fucking sql statements you have ever seen. All of these declared in the Page_Load method.
There was literally no reason for him to use OleDb instead of Sql, but he simply did not know any better.
He especially liked: "select * from tbl where id = " & Request("T") & ""
ZERO fucking checks to see if the value is even passed or valid, nothing. He did not even check whether the DataTable had any rows.
He then proceeded to use only the Heading column of the returned row to change the page's title.
Stupidly I assumed the aspx page will be in a better state. Fuck NO!
This fucktard went, added server tags to the opening of the asp:Content tag, copied that shit he used to fetch the data and pasted it between the server tags.
He did not know how to access the DataTable mentioned above from the aspx page!
He did this on every fucking project he worked on. Any place that required <%= %> to display data instead of using asp server controls, this cunt copied whatever was written in the code behind and pasted everything between server tags.
Fuck I could go on forever, but I think this is enough for my first rant.2 -
Am I the only one who when they are super focused writing code and debugging starts acting like Bob Ross painting a picture?(without a filter... of course)
And here we’ll add another little god damn breakpoint so we can watch our fucked up variables report the wrong thing..
Oh and over here will just add another little happy simple if statement.
Oh look at the happy if statements in a row.. maybe we’ll add little switch statement here.6 -
TLDR: crappy api + idiot ex client combo rant // devam si duška
I saw a lot of people bitching about APIs that don't return proper response codes and other stuff..
Well let me tell you a story. I used to work on a project where we had to do something like booking, but better..crossbreed with the Off&Away bidding site (which btw we had to rip off the .js stuff and reverse engineer the whole timer thingy), using free versions of everything..even though money wasn't an issue (what our client said). Same client decided to go with transhotel because it was sooooo gooood... OK? Why did noone heard of them then?
Anyhow, the api was xml based.. we had to send some xml that was validated against a schema, we received another that was supposed to be validated againts another schema.. and so on and so on..
...
...
supposed..
The API docs were nonexistent.. What was there, was broken English or Spanish.. Even had some comments like Add This & that to chapter xy.. Of course that chapter didn't even exist yet. :( And the last documentation they had, was really really old..more than a year, with visible gaps, we got the validation schemas not even listed in the docs, let alone described properly.
Yaaay! And that was not everything.. besides wrong and missing data, the API itself caused the 500 server error whenever you were no longer authenticated.
Of course it didn't tell you that your session was dead.. Just pooof! Unhandled crap everywhere!
And the best part?! We handled that login after inspecting what the hell happened, but sent the notification to the company anyways.. We had a conf call, and sent numerous emails explaining to them what a 'try catch' is and how they should handle the not authenticated error <= BTW they should have had a handled xml response for that, we got the schema for it! But they didn't. Anyhow, after two agonizing days talking back and forth they at least set up the server to be available again after the horrified 500 error. Before, it even stopped responding until reset (don't ask me how they managed to do that).
Oh yeah, did I mention this was a worldwide renown company?! Where everybody spoke/wrote English?! Yup, they have more than 700 people there, of course they speak English! <= another one of my ex clients fabulous statements... making me wanna strangle him with his tie.. I told him I am not talking to them because no-one there understood/spoke English and it would be a waste of my time.. Guess who spent almost 3 hours to talk to someone who sounded like a stereotypical Indian support tech guy with a flue speaking Italian?! // no offence please for the referenced parties!!
So yeah, sadly I don't have SS of the fucked up documentation..and I cannot post more details (not sure if the NDA still holds even though they canceled the project).. Not that I care really.. not after I saw how the client would treat his customers..
Anywayz I found on the interwebz some proof that this shitty api existed..
picture + link: https://programmableweb.com/api/...
SubRant: the client was an idiot! Probably still is, but no longer my client..
Wanted to store the credit card info + cvc and owner info etc.. in our database.. for easier second payment, like on paypal (which he wanted me to totally customize the payment page of paypal, and if that wasn't possible to collect user data on our personalized payment page and then just send it over to paypal api, if possible in plaintext, he just didn't care as long as he got his personalized payment page) or sth.... I told the company owner that they are fucking retards if they think they can pull this off & that they will lose all their (potential) clients if they figure that out.. or god forbid someone hacked us and stole the data.. I think this shit is also against the law..
I think it goes without saying what happened next.. called him ignorant stupid fucktard to his face and told him I ain't doing that since our company didn't even had a certificate to store the last 4 numbers.. They heard my voice over the whole firm.. we had fish-tank like offices, so they could all see me yelling at the director..
Guess who got laid off due to not being needed anymore the next day?! It was the best day of my life..so far!! Never have I been happier to lose my job!!
P.S. all that crap + test + the whole backand for analysis, the whole crm + campaign emails etc.. the client wanted done in 6 months.. O.o
P.P.S. almost shat my pants when devRant notified my I cannot post and wanted to copy the message and then everything disappeard.. thank god I have written this in the n++ xDundefined venting big time issues no documentation idiot xml security api privacy ashole crappy client rant11 -
Who the fuck writes a 200 line method with 52 if/else statements, 3 try-catches, 6 loops and only 1 comment saying //Array of system records. No dipshit I thought that was a Fucking interface. What happened to the whole keep it simple notion?!5
-
*squirming in bed*
If it ain't broke don't fix it.. If it ain't broke don-WHAT THE FUCK IS "payment.needed2"??
Calm down, it's just some bad code but it works, you didn't write it, it's not your probl-WHY THE FUCK DO THE IF STATEMENTS HAVE SO MANY DUPLICATED LINES??
Sleep. Just sleep. -
Today I finished my robotics project. I had in my team a total idiot (the one who used the hidden divs, some might remember from another rant). I wanted to share with you the beginning of a ranting adventure.
Me: "you can begin with a simple task. I will send you the obstacle avoidance sensors values from Arduino, and you will send the data for the Arduino motors to dodge the obstacle".
The sensors give 1 if clear, 0 if obstacle is detected.
Below is his code (which I brutally rewrote in front of him).
Now, in the final version of the robot we have something like 9 sensors of the same time to work with.
Imagine what would have happened if we kept him coding. (Guess it: 2^9 statements! :D)
I was not that evil, I tried to give him some chances to prove himself willing to improve. None of them were used rightfully.
I'm so fucking glad we finished. I'm not gonna see him anymore, even if I'd like to be a technical interviewer for hiring just to demolish him.
I'm not always that evil, I promise (?)
Ps. He didn't even have any idea on what JSON is, even if we had already seen it during FIVE YEARS of computer engineering. (And should've known anyway if he had a bit of curiosity for the stuff he "studies")10 -
> Worst work culture you've experienced?
It's a tie between my first to employers.
First: A career's dead end.
Bosses hardly ever said the truth, suger-coated everything and told you just about anything to get what they wanted. E.g. a coworker of mine was sent on a business trip to another company. They had told him this is his big chance! He'd attend a project kick-off meeting, maybe become its lead permanently. When he got there, the other company was like "So you're the temporary first-level supporter? Great! Here's your headset".
And well, devs were worth nothing anyway. For every dev there were 2-3 "consultants" that wrote detailed specifications, including SQL statements and pseudocode. The dev's job was just to translate that to working code. Except for the two highest senior devs, who had perfect job security. They had cooked up a custom Ant-based build system, had forked several high-profile Java projects (e.g. Hibernate) and their code was purposely cryptic and convoluted.
You had no chance to make changes to their projects without involuntarily breaking half of it. And then you'd have to beg for a bit of their time. And doing something they didn't like? Forget it. After I suggested to introduce automated testing I was treated like a heretic. Well of course, that would have threatened their job security. Even managers had no power against them. If these two would quit half a dozen projects would simply be dead.
And finally, the pecking order. Juniors, like me back then, didn't get taught shit. We were just there for the work the seniors didn't want to do. When one of the senior devs had implemented a patch on the master branch, it was the junior's job to apply it to the other branches.
Second: A massive sweatshop, almost like a real-life caricature.
It was a big corporation. Managers acted like kings, always taking the best for themselves while leaving crumbs for the plebs (=devs, operators, etc). They had the spacious single offices, we had the open plan (so awesome for communication and teamwork! synergy effects!). When they got bored, they left meetings just like that. We... well don't even think about being late.
And of course most managers followed the "kiss up, kick down" principle. Boy, was I getting kicked because I dared to question a decision of my boss. He made my life so hard I got sick for a month, being close to burnout. The best part? I gave notice a month later, and _he_still_was_surprised_!
Plebs weren't allowed anything below perfection, bosses on the other hand... so, I got yelled at by some manager. Twice. For essentially nothing, things just bruised his fragile ego. My bosses response? "Oh he's just human". No, the plebs was expected to obey the powers that be. Something you didn't like? That just means your attitude needs adjustment. Like with the open plan offices: I criticized the noise and distraction. Well that's just my _opinion_, right? Anyone else is happily enjoying it! Why can't I just be like the others? And most people really had given up, working like on a production line.
The company itself, while big, was a big ball of small, isolated groups, sticking together by office politics. In your software you'd need to call a service made by a different team, sooner or later. Not documented, noone was ever willing to help. To actually get help, you needed to get your boss to talk to their boss. Then you'd have a chance at all.
Oh, and the red tape. Say you needed a simple cable. You know, like those for $2 on Amazon. You'd open a support ticket and a week later everyone involved had signed it off. Probably. Like your boss, the support's boss, the internal IT services' boss, and maybe some other poor sap who felt important. Or maybe not, because the justification for needing that cable wasn't specific enough. I mean, just imagine the potential damage if our employees owned a cable they shouldn't!
You know, after these two employers I actually needed therapy. Looking back now, hooooly shit... that's why I can't repeat often enough that we devs put up with way too much bullshit.3 -
When you look back at Code from your 2nd year of university...
Using while loops as if statements to check for vowels... *shudders in fear*5 -
Today in IT class our teacher said: 'you can only use char and int in a switch statement'
I was confused because I was 100% sure that you could also use string and so when I got out of school I immediately looked it up.
It is true, well it was true until 2011 when Java 7 was released which added the possibility to also use the string data type in switch statements.
In this I see a huge problem with the education system. Teachers (almost) never 'update' their knowledge and then teach outdated stuff to their pupils. While this may not be a problem in some subjects, it definitely is a huge problem in IT.
The development world is always evolving but if the teachers don't follow along the pupils get taught outdated stuff which, in my opinion, is a really big problem when they finish school and go out in the world to find jobs.9 -
Fuck uninspired jr devs that are simply collecting a pay check.
I have been handed a project that a jr dev was allowed to wallow on for over two fucking years. This lazy mother fucker managed to create 5 functions, a whole fucking mess of bullshit that I now have to straighten out on top of the 8 other things that I have to deliver on in the next month.
They never followed requirements. Not-a-one. The API is fully broken. The DB schema is BEYOND fucked. There's ZERO validation/sanitation on I/O. The deployments only work half the fucking time. Their code is so spaghetti I'm getting triggered from when I worked at Olive Garden with Eminem. But hey, at least they were able to demo it to the client to say "it works".
I don't condone violence, but every time I find malformed if statements, linter exceptions, broken deploy configurations in this project -- I just want to kick them in their stupid fucking face.
Wherever you ended up you piece of shit, I hope your dreams of becoming a rich asshole only bring you unending despair. I believe you can make it though, because you're already halfway there.5 -
FUCK, I just realized something..
A lot of people are probably aware of the statement "Respect is earned, not demanded/given".
Now, if you are aware of the meme "Press F to *pay respect*", you probably know where this goes.
The statements "pay respect" and "respect is earned" are actually connected. Just like money, you pay money to people who deserve it. You work hard for it.
But if this is true, is "attention" also earned? I often hear "Please pay attention" from my teachers back then.
This is some big brain shit right here8 -
Java. AGAIN. 😡
so, I am trying to get a csv opened and read, and then search through it based on values. Easy peasy lemon squeezy in python, right?
Well, damned be java. You need a buffered reader to read the file. Then you have to "while(has next)" the whole damn thing, then you have to do something with the data that you read one by one, right? Well, not to be disappointed, they do have json libraries, but you **have to install** the plugins for it. Aka you have to manually add the libraries or use some backwards manager like maven.
Gotta admit, jdbc is neat if you're anal about your sql statements, but bring the same jazz to csv, and all the hell will break loose.
Now, if you just read your json data into multiple objects and throw them in an array... Kiss shorthand search's ass goodbye, because this mofo can't search through lists without licking the arse of every object. And now, you have to find another way because this way, you can't group shit you just read from csv. (or, I haven't found a way after 5 hours of dealing with the godforsaken shitshow that java libraries are.)
Like, I'm devastated. If this rant doesn't make much sense to you, blame some java library for it.
Shouldn't be too hard.25 -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
Today on "How the Fuck is Python a Real Language?": Lambda functions and other dumb Python syntax.
Lambda functions are generally passed as callbacks, e.g. "myFunc(a, b, lambda c, d: c + d)". Note that the comma between c and d is somehow on a completely different level than the comma between a and b, even though they're both within the same brackets, because instead of using something like, say, universally agreed-upon grouping symbols to visually group the lambda function arguments together, Python groups them using a reserved keyword on one end, and two little dots on the other end. Like yeah, that's easy to notice among 10 other variable and argument names. But Python couldn't really do any better, because "myFunc(a, b, (c, d): c + d)" would be even less readable and prone to typos given how fucked up Python's use of brackets already is.
And while I'm on the topic of dumb Python syntax, let's look at the switch, um, match statements. For a long time, people behind Python argued that a bunch of elif statements with the same fucking conditions (e.g. x == 1, x == 2, x == 3, ...) are more readable than a standard switch statement, but then in Python 3.10 (released only 1 year ago), they finally came to their senses and added match and case keywords to implement pattern matching. Except they managed to fuck up yet again; instead of a normal "default:" statement, the default statement is denoted by "case _:". Because somehow, everywhere else in the code _ behaves as a normal variable name, but in match statement it instead means "ignore the value in this place". For example, "match myVar:" and "case [first, *rest]:" will behave exactly like "[first, *rest] = myVar" as long as myVar is a list with one or more elements, but "case [_, *rest]:" won't assign the first element from the list to anything, even though "[_, *rest] = myVar" will assign it to _. Because fuck consistency, that's why.
And why the fuck is there no fallthrough? Wouldn't it make perfect sense to write
case ('rgb', r, g, b):
case ('argb', _, r, g, b):
case ('rgba', r, g, b, _):
case ('bgr', b, g, r):
case ('abgr', _, b, g, r):
case ('bgra', b, g, r, _):
and then, you know, handle r, g, and b values in the same fucking block of code? Pretty sure that would be more readable than having to write "handeRGB(r, g, b)" 6 fucking times depending on the input format. Oh, and never mind that Python already has a "break" keyword.
Speaking of the "break" keyword, if you try to use it outside of a loop, you get an error "'break' outside loop". However, there's also the "continue" keyword, and if you try to use it outside of a loop, you get an error "'continue' not properly in loop". Why the fuck are there two completely different error messages for that? Does it mean there exists some weird improper syntax to use "continue" inside of a loop? Or is it just another inconsistent Python bullshit where until Python 3.8 you couldn't use "continue" inside the "finally:" block (but you could always use "break", even though it does essentially the same thing, just branching to a different point).19 -
So my dear programming teacher really hates break statements... I mean really really really. He thinks it's better for readability if you don't break from any kinds of loops (not even ifs) well then we came across a switch statement in class. He says "breaks only exist because it's needed in switches" well how about returning from a fcking swith? or goto? then you need no break...
Is there anyone who could explain why I should NEVER use breaks and why it's bad in any piece of code? Why is it better to just use whiles because fors are apparently evil again? Srsly I just wanna ask him to show me some big code bases without breaks...8 -
Have you ever been pair coding with someone who uses shotgun debugging? I am about to claw my eyes out! What is shotgun debugging you ask?
Code doesn't work... What do we do?
I start thinking about possible flow, how to go back to what works, where to insert debugging statements. My partner interrupts my thought and says - what if we change this variable name?
...uh what?
What if that fixes it
It won't!
Well how do you know if you don't try?
I change the variable name - of course nothing works and now I forgot the possible solution I was thinking about...
Starting over... I again start coming close to the idea... Interrupts me again. What if we comment out this random line?
Why what's your reasoning?
Answer: *Shrug* idk might work...
...rinse and repeat
WHAT IS WRONG WITH YOU???!
I literally started muting my computer sound so I can not hear him while I think and that helps tremendously. This is programming not magic, people!!! Stop throwing random "what if" suggestions!13 -
Apparently `a || b` is unreadable to set a default value for a string in JS, but assigning temporary variables and use if statements all over is better somehow.
My code reviewer said use `a ? a : b` except it failed eslint, so he went back on that. (eslint suggested `a || b`, ffs.)10 -
if ( condition ) {
callback(data)
}
callback(error)
--is a lot different than--
if ( condition ) {
callback(data)
} else {
callback(error)
}
callbacks are not return statements 🤦♂️9 -
PM sends email to development team with the whole management team in cc.
"Guys, the data is not updating correctly! Make sure all the updates are being done! If we can't get this right then we can just forget about this whole thing!"
Me: Yes, because making generalized statements and inflammatory remarks actually help in correcting the problems... -
*code reviewing someone's work*
OMG! if-statements within if-statements! This is an IFception! *prays*4 -
When i started my work I encoubtered this db(one of 4): more than 20 tables, some with 200 columns literally... EVERYTHING is a varchar 😓.
I'm slowly designing some normalized tables with real fk on new features and projects and people are like: how the fuck did you implement this feature so fast? the other guy spent 3 months designing this form (and I'm just speechless):
The form was some sort of crazyness shit passing input names as "name-of-property" and a file only to check if(name="string") then store a number value to an array and save it as a "number" (actually varchar) on the db. literally more than 50 if statements to do this.
Everything on a single table that made no sense at all.
Just wtf... At least my boss let me start if from scratch cause he we were always having panick attacks every time he needed to do something with it. 😂😂6 -
people who don't use semi colons in JavaScript. I know it's not required but God does it drive me nuts.
also one line if statements that don't use brackets.
ahhhhh3 -
So I work for a company that does outsource, this company is pretty nice, but I don't get to see it too often. The one where I'm outsourcing though is the one where I spend all of my time.
Now, this company is a kind of a startup working with AI and Deep Learning (but not if statements :o ), but I came here as a full stack python developer that should implement their AI modules into real apps (mainly web apps).
Everything sounds good untill now, I learn lots and I'm doing what I wanted: python development. The problem is: management + one kiss ass guy.
The amount of work that should be done and the deadlines that should be kept are so messed up that I end up working extra hours, sometimes even in weekend, just to get it done. I'm the only apps developer there, so passing my tasks is not an option. I tried to talk about this, but I was met with a "loser can't keep up even with these few tasks..." kind of attitude.
Moreover, there is a guy that would do anything for the boss's attention, so he speaks everyone there behind their backs (and we all know it, but he's the favorite and he actually knows his stuff so we can't do much about him).
Now the question: what should I do? I only have 5 months here (so leaving would put a hole in my CV, I don't even know what to answer at this interview question "why are you leaving"), plus that the managers from these two companies are highschool friends which means that if I go and ask for a different project, the atmosphere at work will change (maybe this is overthinking already, but I can't help it). Also, last week I could barely get through the days without crying from stress.
TL;DR: I learn a lot from this company, but the deadlines are killing me and my stress level is at an all time high. I want to leave, but I kind of can't because I want my CV to look good.
So yeah, this is my first real rant, feels good to put it out there17 -
A lot of things dev say are true, but this one I don't believe as much:
Many devs say that it's important for everybody to learn a bit of a basic programming language, to learn about computers and how programs are made. I disagree, I think that instead people should learn *how* things work. Ex, in my school people always use a VPN to get around the proxy. I don't care if they know basic statements, I think it's more important to learn how a VPN works. Most of them don't even know what VPN stands for. Am I the only one?3 -
First time I was screaming out of anger while looking at code.
I'm doing a group project in my university.
We are developing a indoor navigation Android app.
And a team mate of mine just merged this…
/*Method for help-feature.
Sets all the TouchEvents that are at least 400 ms long. This is made for all the relevant buttons or editTexts, which are seen on the mapView.
The case for mapView is needed because otherwise the other buttons, etc. wont work properly.*/
public void setButtonsForHelpDialog(){
View v = mapView;
switch (v.getId()) {
case R.id.mapview:
mapView.setOnTouchListener(…);
case R.id.buttonUp:
buttonOn.setOnTouchListener(…);
case R.id.buttonDown:
buttonDown.setOnTouchListener(…);
…
case R.id.description:
description.setOnTouchListener(…);
}}
The code is really aligned like this - no breaks. And it's even worse. There are if statements like if("constantly false var" == true). Which is highlighted by Android Studio.
This is done in a own class. The views are set via public member variables of this new class. The constant vars were added in the actual class holding the buttons and also stuff like this useless method
public void getDoStuff() {
doStuff()
}
And I could continue like this.
I never saw code this bad…
I can't even find words for it :/4 -
TIL Python doesn't really give a fuck about semicolons -.-
So after spending the past couple years almost exclusively using C# and Unity I decided to come back* to Python for no real reason except wanting a change of pace.
I almost ripped my hair out backspacing semicolons I kept putting in out of force of habit after having worked in C# for so long
Well guess what... I just learned (purely by accident)... Python couldn't care less. I feel internal conflict if that makes sense.
TBH now I'm randomly putting in semi-colons at the end of some statements just because I can and I want to abuse this freedom ^_^
Yeah yeah it's not very "pythonic" or pretty but screw that
* I started programming in Python back in high-school but switched over to C# + Unity after graduating and pursuing indie-gamedev.
Note: After some searching I realize you can use semicolons to have multiple statements on the same line but I never really needed to do that during my time with Python so I didn't even remember it was even a thing6 -
I get it, Java is an old language that's verbose as the day is long. But damn, please don't make it *even more verbose* than it needs to be. We've got the tools now to make it at least somewhat tolerable.
I mean, come on, we've got lombok, we've got streams, and we've had Comparator.comparing since Java 8. That's the best part of a decade you've had the luxury of writing single line comparator implementations out the box, but noooo, certain people have to pretend they're stuck in the 90's by thinking these multiple if / else statements are somehow still the best way of doing things.
Dahhh. Skill up people. This is not an industry where you can just do everything how you did it 20 years ago and call it good.5 -
I’m all for writing boolean statements that are readable, quick to grasp the real life case they’re representing and align with the spec rather than being ultra-reduced, but sometimes the spec is written by someone who clearly can’t reduce logic. So when the spec says “if it’s not the case that any of them are false” and you write:
!(!a || !b || !c || !d)
then I think you should try harder. At least put a note against the spec to say “i.e. if they’re all true” and then write the sensible code. Just think of the poor developer that might have to augment your code at a later date and has to follow and intercept that shite. -
As I was browsing pornhub, I started reading articles about AI, dick still in hand, and went down the rabbit-hole (no pun intended) of self referential systems and proofs. This is something I do frequently (getting off track, not beating off, though I have been slacking recently).
Now I'm no expert but my neurotic DID personality which prompted this small reading binge DOES think it is an expert. And it got me thinking.
Godel’s second incompleteness theorem says that "no sufficiently strong proof system can prove its own consistency."
Then utilizing proof by contradiction, systems that are "sufficiently strong" should produce truth outputs that are monotonic. E.g. statements such as "this sentence is a lie."
Wouldn't monotonicity then be proof (soft or otherwise) that a proof system is 'sufficiently strong' in the sense that Godel's second theorem meant?
Edit: I WELCOME input, even if this post is utterly ignorant and vapid. I really don't know shit about formal systems or logic. Welcome any insight or feedback that could enlighten me.1 -
Was finally able to explain to the fiancée conditional statements..a few days later she sends me this
If a= tick, remove with tweezer
else Pepper may get Lyme disease
Pepper is her adorable lab btw! 😊2 -
Create a new, fast, strictly typed programming language with organized project structure, normal package manager, dynamic syntax extensions (that means you can change the syntax of the language if you like!) and (most importantly) if statements which are written like this:
(bananas == 0) -> print 'No bananas!';3 -
People don't seem to know how to properly do print-debugging, so here's a simple guide:
1. A log of "aaaaaa" or "got here" isn't as helpful as you think when ALL OF THEM ARE THE FUCKING SAME. You put a descriptive label or copy verbatim the conditional statement. This saves time matching statements, allows one to watch multiple branches at once, and allows others to understand and help faster when dragged in to help.
2. When trying to see where code fucks up, before each line, paste said line into a proper print statement for your language. If there's, say, a function call or some shit, have it output something like "functionCall(varA=<varA contents>,varB=<varB contents);" Most normal lines should be like this too, but it's especially helpful for calls and comparisons.
If need be, add return values after if they're not shown in another print statement later.
This allows for a trail of execution AND the line that fucks up will be the last in the log, making finding it easier when dealing with hangs and such.
3. Putting something unique like "DEBUG: " or something in front of all statements ensures you can just search for them to ensure you're not rolling one out to production. It also separates debug output from normal output at a glance, making digging through logs faster.16 -
I need a way to explain to a coworker that nesting if statements beyond 3-4 is too much and needs to be re thought out. The dude is the biggest arrow head programmer I’ve ever seen. And he claims nothing is wrong with it, it works.. so what’s the problem.
Since we follow the rule of only one return per function he claims it’s the only way to accomplish the stuff he’s doing.. like if blah function passes... if blah function passss if blah functions passes do this then if blah functions
The if statements arnt just checking some variable conditions.. the conditions are checking returns of functions at each nested level the condition, executes a different function and thus checked for success.
Uggh I just don’t know how to explain to him it’s shit and needs to be re designed
Any ideas??20 -
I hate when people call any sort of program that does anything even remotely intelligent looking “AI.” No, there is a very specific distinction between actual artificial intelligence, and a bunch of if-statements.4
-
I really dislike when people don't use braces { } on if/else statements.
If(almond.harvestStatus == undefined) almond.harvestMode=false
almond.dropdown = false.2 -
Somebody pays for this domain 👍
Translation: www.if-loop.de
There are no if-loops, just if-statements! -
It was my thesis defense and I've made a pretty complex algorithm of sorting out data to their respective tables. One panelist told me that it is not an algorithm but just a collection of for loops and if statements. An algorithm should contain mathematical equations he said. I facepalmed during the course of interrogation.
-
K&R Like it or not, everything that we use was impacted by the advantage of having the C Programming language on our side. C is still to this day a cornerstone of what a a language should be, nothing more nothing less.
John McCarthy the creator of Lisp and the one that coined Artificial Intelligence as a topic, a term, without him if else statements would have probably taken a while longer to figure out the way my boy did. Lisp will make you a better developer.
Alan Kay, creator of OOP, yeh we had ways to emulate this with C before, bit without his contribution to what I believe to be the purest form of oop we would not haveany additional things. Smalltalk is still the best programming language in my humble opinion.
Terry A Davis, disciplined, and crazy, the man built a skyscraper by himself, God knows what he would have done if he weren't afflicted by mental illness.
Linus Torvalds, for many different things, creator of the kernel that would power my favorite operating system.
Ryan Dhal, took the world by storm with Node.js -
!rant
Working on a group project, and this is how my group member writes his "if" statements.
Should I change my group?10 -
PayPal = GayPal
PHASE 1
1. I create my personal gaypal account
2. I use my real data
3. Try to link my debit card, denied
4. Call gaypal support via international phone number
5. Guy asks me for my full name email phone number debit card street address, all confirmed and verified
6. Finally i can add my card
PAHSE 2
7. Now the account is temporarily limited and in review, for absolutely no fucking reason, need 3 days for it to be done
8. Five (5) days later still limited i cant deposit or withdraw money
9. Call gaypal support again via phone number, burn my phone bill
10. Guy tells me to wait for 3 days and he'll resolve it
PHASE 3
11. One (1) day later (and not 3), i wake up from a yellow account to a red account where my account is now permanently limited WITHOUT ANY FUCKING REASON WHY
12. They blocked my card and forever blocked my name from using gaypal
13. I contact them on twitter to tell me what their fucking problem is and they tell me this:
"Hi there, thank you for being so patient while your conversation was being escalated to me. I understand from your messages that your PayPal account has been permanently limited, I appreciate this can be concerning. Sometimes PayPal makes the decision to end a relationship with a customer if we believe there has been a violation of our terms of service or if a customer's business or business practices pose a high risk to PayPal or the PayPal community. This type of decision isn’t something we do lightly, and I can assure you that we fully review all factors of an account before making this type of decision. While I appreciate that you don’t agree with the outcome, this is something that would have been fully reviewed and we would be unable to change it. If there are funds on your balance, they can be held for up to 180 days from when you received your most recent payment. This is to reduce the impact of any disputes or chargebacks being filed against you. After this point, you will then receive an email with more information on accessing your balance.
As you can appreciate, I would not be able to share the exact reason why the account was permanently limited as I cannot provide any account-specific information on Twitter for security reasons. Also, we may not be able to share additional information with you as our reviews are based on confidential criteria, and we have no obligation to disclose the details of our risk management or security procedures or our confidential information to you. As you can no longer use our services, I recommend researching payment processors you can use going forward. I aplogise for any inconvenience caused."
PHASE 4
14. I see they basically replied in context of "fuck you and suck my fucking dick". So I reply aggressively:
"That seems like you're a fraudulent company robbing people. The fact that you can't tell me what exactly have i broken for your terms of service, means you're hiding something, because i haven't broken anything. I have NOT violated your terms of service. Prove to me that i have. Your words and confidentially means nothing. CALL MY NUMBER and talk to me privately and explain to me what the problem is. Go 1 on 1 with the account owner and lets talk
You have no right to block my financial statements for 180 days WITHOUT A REASON. I am NOT going to wait 6 months to get my money out
Had i done something wrong or violated your terms of service, I would admit it and not bother trying to get my account back. But knowing i did nothing wrong AND STILL GOT BLOCKED, i will not back down without getting my money out or a reason what the problem is.
Do you understand?"
15. They reply:
"I regret that we're unable to provide you with the answer you're looking for with this. As no additional information can be provided on this topic, any additional questions pertaining to this issue would yield no further responses. Thank you for your time, and I wish you the best of luck in utilizing another payment processor."
16. ARE YOU FUCKING KIDDING ME? I AM BLOCKED FOR NO FUCKING REASON, THEY TOOK MY MONEY AND DONT GIVE A FUCK TO ANSWER WHY THEY DID THAT?
HOW CAN I FILE A LAWSUIT AGAINST THIS FRAUDULENT CORPORATION?12 -
Historically I've done Java but have recently moved to C# and got the book to do a cert.
Who thought it would be a good idea to start chapter 1 with threads, concurrency, asynchronous calls and PLINQ, then covering boolean expressions, if statements and loops in the section after??6 -
The way this if statement is written (across multiple lines) is really weird to me. Anyone here that writes if statements like this?14
-
Just started a new job three weeks ago. I was doing pair programming with another developer that has been there two years; I was assigned an issue and wanted his opinion on it. He implemented a fix that involved multiple complex if statements.
He was surprised after I went ahead and showed him that the variable in question could be used (it was either 0, null, or > 0) like a boolean. I brought it down to 3 lines; a single if statement. Felt like a boss. -
Always include import statements. Always. No excuses. I don't care if you can't be arsed to copy-n-paste an extra bit of code.
Nothing worse than trying to learn something new, copy-n-paste a sample code then your wonderfully helpful IDE asks you which of the 8 matching packages you wish to import.
When someone asks me, "where did you get that", I don't simply say, "a shop"!!
If you don't include your imports in answers then I hate you.6 -
to the guys saying "oop is dumb" / "i don't need oop" / "i've never worked with oop"...
i have some questions:
- which language are you working with
- which problems are you solving
- how big is your code base
- how do you maintain readability of your code?
don't get me wrong, i don't believe that oop is always the answer. i'm just curious which fields these statements are coming from. if they all come from a low level (assembler, C, ..) or functional languages or "scripty" languages (python, JS), or if there are also people working with languages like C++ where oop is pretty much established. and if the latter, i'm curious how people design their code and what problems they solve... tell me your story :D30 -
I am seeing more and more of these political statements and politically correct bullshit on coders forums up to the point where i got to the conclusion the *phobic people are being harassed for sharing an opinion of their own and attacked most of the time.
Are the *philic people actually themselves *phobic, and thus attacking anything that might conform their uncertainties? Is that the case?
Because unless you act upon your opinions you are not guilty of anything. If another is offended by your opinion isnt that an oppression of the sort?
I fear this will one day become a standard in forums that *phobic people should be more attentive to their opinions and shit i mean we are coders if we see beautiful code who the fuck cares what the coder is or represents if ur code is good i fucking love you and thank you. Now on the other hand my opinion of what you represent or what you are offends you? Well fuck sounds like a personal issue!
Fucking twats!13 -
I just realized one of today's emails is asking to review again that spaghetti program and this time figure out how to optimize performance because it is getting flagged for high cpu and database usage. A Niagra of If-statements and nobody-cares-for-comments-and-technical-documentation.
*bleep* *bleep* *bleep* previous programmer.
I'll deal with this torture on Monday.2 -
That guy that keeps putting print statements in the code for the rest of us to hunt down instead of using a debugger... If i ever find out who you are, i will go full Liam Neeson on your ass...2
-
When I was first learning Java I forgot to use If statements and made about a 600 systemoutprint lines. Don't be like me5
-
I believe it is really useful because all of the elements of discipline and perseverance that are required to be effective in the workforce will be tested in one way or another by a higher learning institution. Getting my degree made me little more tolerant of other people and the idea of working with others, it also exposed me to a lot of topics that I was otherwise uninterested and ended up loving. For example, prior to going into uni I was a firm believer that I could and was going to learn all regarding web dev by maaaaaself without the need of a school. I wasn't wrong. And most of you wouldn't be wrong. Buuuuuut what I didn't know is how interesting compiler design was, how systems level development was etc etc. School exposed me to many topics that would have taken me time to get to them otherwise and not just on CS, but on many other fields.
I honestly believe that deciding to NOT go to school and perpetuating the idea that school is not needed in the field of software development ultimately harms our field by making it look like a trade.
Pffft you don't need to pay Johnny his $50dllrs an hour rate! They don't need school to learn that shit! Anyone can do it give him 9.50 and call it a day!<------- that is shit i have heard before.
I also believe that it is funny that people tend to believe that the idea of self learning will put you above and beyond a graduate as if the notion of self learning was sort of a mutually exclusive deal. I mean, congrats on learning about if statements man! I had to spend time out of class self learning discrete math and relearning everything regarding calculus and literally every math topic under the sun(my CS degree was very math oriented) while simultaneously applying those concepts in mathematica, r, python ,Java and cpp as well as making sure our shit lil OS emulation(in C why thank you) worked! Oh and what's that? We have that for next week?
Mind you, I did this while I was already being employed as a web and mobile developer.
Which btw, make sure you don't go to a shit school. ;) it does help in regards to learning the goood shit.7 -
Had a bad day at work :( They gave me this code for some obscure streaming job and asked me to complete it. Only after 3 days did I realize that the LLD given to me was incorrect as the data model was updated. Another 2 more days, I was able to debug the code and run it successfully— I was able to parse the tables and generate the required frame but not able to stream it back to the output topic as per the LLD. That’s where I needed help but none of my emails/messages were replied to. The main guy who is pretty technical scheduled a code review session with me— I expected that I would run the code and he would spot it something I might’ve missed and why my streaming function isn’t working. Instead, what happened was that he grilled me on each and every line of the code (which had some obscure tables queried) and then got super mad at me saying “Why are we having this code review session if your code is not complete?”. I’m like bruh, you asked for it, and yes, the main parsing logic is done and I’m just having this issue in the last part. And he’s like “Why didn’t you tell me earlier?”. Wtf?! I left at least 5 emails and a dozen messages. He’s like this has to go live on Monday, and I’m like Ok, I’ll work in the weekend. And he’s like “Don’t tell me all these things! You’re not doing me a favor by working on weekends! How am I to ask my colleagues to connect with you separately on Saturday/Sunday? You should have done the on the weekdays itself. What were you doing this whole week?”. Bruh, I was running the code multiple times and debugging it using print statements. All while you were ignoring my attempts to reach out to you. SMH 🤦♂️ I can go on and on about this whole saga.4
-
Modern cross platform mobile app development is a lie. Maybe if you do Apple first, I don't know. Maybe xamarin is better than Cordova, idk. I've spent more time tweaking to one platform than I would have just starting with a platform and writing two or three code bases. I've got more if iOS statements than I know what to do with and the Windows code is some hacky transpiled mess because UWP isn't ES6 ready for reasons. Also, some error and image handling just doesn't translate. All this and I've got significantly less features than I could have implemented in the same time writing in a native language.3
-
All i want to do is write code. Give me time, space, and stop bothering me so often and I can fix the shitty outsourced code. I can do it, really. I can write a ton of resdesign docs and improve so much shit. But I can't do ANY OF IT BECAUSE THESE FUCKS ARE ALWAYS PAWNING OFF WORK ONTO ME AND REFUSING TO LET ME GET MY HANDS DIRTY.
Stop asking me to email people. Stop asking me to update documentation that isn't for my features. Stop bothering me. Stop. Fucking. Bothering. Me. All. The. Goddamn. Damn.
Stop it stop it stop it fucking stop. I don't care about the PM's dumbfuck braindead statements and always wanting to pick a fight with me. I don't care that x environment is down. I don't care that your shitty overseas programmers can't tell their own ass from their head. I do care that I have the skills to fix it if you would give me the fucking time and space.
Instead of having me do all the mundane tasks that your shitty ape programmers could do overseas, let me have some fucking room to breath and I can fix this shitty fuck of a project and Maybe I can save it before it collapses on itself you dumb fucks
Holy shit im pissy today4 -
Back in grammar school we started programming in TI-Basic on a TI89 Titanium as it was part of math class (calculus and geometry). I didn't really understand much because the teacher thought it was a great idea to start with recursively calculating GCD (and we were in a sort of "linguist profile", nobody had ever touched a line of code in their lives before). I still liked it though and by some coincidence I got an old Win95 compaq notebook to play with from a friend.
I started playing around with the CMD prompt and batch files and could apply some of the things I had learned on the TI, like GOTO or If statements. I still didn't know what I was doing of course, and so it happened that I used the > file pipe when trying to compare two values. Suddenly there was a file with some code fragments and I started to get what I had done. I put the file pipe into an endless GOTO loop and was amused how those few lines filled up the whole desktop with nonsense files. I went on to refine this a little so I could control it with another file that acted as a kill switch when present. Over the next weeks I played some more with it and made it write out and start another batch file that would check whether the original script was still there and recreate it if not.
That notebook was so large and heavy I could not bring it to school, so I wrote all code by hand on paper and typed it in when I got home, that way I could still code in class when I was bored and no one would notice.
So my first ever "program" that I wrote myself was some lousy malware.5 -
Be me, get a consultant job, go to a supposedly great client that has fame of getting scouted by Google. (attn: I doubted all this shit before I started)
Learn the basics by a awesome mentor and trial/error stuff at the same time to get the hang of things, after that was done, I noticed there was no documentation whatsoever, code is spaghetti and your documentation, good luck!
Royal spaghetti, you can't make heads or tails of it, dev code in production, empty try/catch blocks, empty statements, if (true)... (incl. their core classes)
Keep in mind this is a multi milion dollar company...
Someone please understand my pain...6 -
Back from the dead with more vaguely-obscure technical bullshit
Working on a chatbot for my BS-CS. Almost done with college, so the assignment is to make a bot that recommends you a CS career. Cool.
I get through making a joint personality and skill-interest quiz that gives you number grades on different spectra. So far, so good. But this project has to be done entirely in pandorabots' online editor. So no scripting. Zero scripting. 100% markup language. That means to even do math, you need to copy a standard library off GitHub.
I mean, that's fine and all, but the syntax is just atrocious, because everything in AIML is input->response. If you ask the bot "what is 5+5?" you must have it go:
- recognize pattern WHAT IS * + *
-> redirect -> XADD * XS *
-> do math -> recurse result
-> 10
uncomfy. Plus, variables can only be accessed through <get> and <set> tags. But mangeable.
So here's where the story becomes a rant.
In the standard docs, there's all these math functions, and they work. There's also logic.
And then there's this fucker
XIF [ * ] XS [ * ]
Which has no documentation and just doesn't work. No idea what the brackets mean. Tried putting in TRUE, tried putting in true math statements (5 XEQ 5), tried putting in recursion tags to trick it, tried everything. It just ignores it.
There is not a single comment, stackOverflow post, or youtube video that even acknowledges the existence of this thing.
So unless I want to convert the entire logic of my program into nested SWITCH statements with the <condition> tag, I'm just fucked.
The icing on the cake is, I go to tech support on Pandorabots to ask for help with this. What do they have except a chatbot to cheerfully tell me that no humans are around to help me right now?
gonna have to build an entire fuckin turing machine in markup tags to calculate whether x = 3
(:1 -
Not sure if it's the worst code review but it's a recent one.
We don't really do code reviews where I work unfortunately but my coworker used my framework for the first time (build some nice composer libraries for cmdline projects) and asked if I could make them do autoloading.
He never used namespaces before so I was glad to help him out.
What I saw was a dreadful mess. His project was called "scripts" so good luck picking a namespace...
Than it was all lose functions in the executable file. All those functions are however called by a class in another file (if they where not calling eachother as a cascading mess). That class was extending an abstract class from my library as instructed. However I never imagined my lib being raped like that.
The functions themselves are a horrible mess. Nothing uniform completely different style (our documentation states PSR's should be used).
Parameters counts higher than 5.
Variable names like Object and Dobject (in calling function Dobject is Object but it needs a fresh one.
If statements on parameters that need basically split it in two (should simply be to functions)
If else statement with return of same variable as a single line (sane people use ternary for that)
Note that I said functions. All of it should have been OO and methods. Would have saved at least some of the parameter hell.
I could go on and on. Do I think the programmer is bad yes (does not even grasp interfaces, dep injection, foreach loops). Is this his best work no. He said that for a one of script like this it just has to work. Not going to be used elsewhere. I disagree as it is a few thousand lines of code that others have to read too.2 -
I just dealt with a 3 nested "if" statements in SQL. There is no indentation so I am quite frustrated since each "if" spans up to 2-30 lines.
I now understand why Python white space is significant3 -
I don't really get it why my co-male dev does not like ternary operator as a shorthand operator for if/else statements.15
-
Is it just me or is it really fuckin amazing when ur teacher tells you after a year that you are a better programmer than he is 😒 even tho ur just a beginner?
I just started learning to code and i was already better at it than the person who is supposed to teach me... which is great if you ask me #sarcasm
And when we finish a simple task on if statements - which he thought was gonna take us a whole hour - in like 5 minutes, he doesnt let us work on our own programs: "Can you close that? Its not related to the lesson"
Ffs man! 😤 Am i supposed to sit here for an hour just staring into the void, doing fuck all, while i could actually improve my skills?
Then you go home and learn more in two hours than you'll ever do throughout the following 3 years in school.... 😧
If this is not a complete waste of time then i have no fucking clue what is.
GCSE Computer Science sucks (at least in my school). Is there anyone out there with similar issues or is it just our lucky bunch?
My advice to young/beginner programmers:
If you really want to learn, please just google what ur interested in and use stackoverflow6 -
Work on a product to categorize text… previous guy implemented an NLP solution that took 20 per body of text (500 words or so) in a $400/mo AWS instance, was about 80% accurate and needed “more data for training” 🤦♂️
I thought (and still think) that for some use cases AI is straight up snake oil. Decided instead to make an implementation with a word list and a bunch of if statements in Go… no performance considerations, loops within loops reading every single word… I just wanted to see if it worked and maybe later I could write it more optimized in Rust or something…
first time I ran it it took so little that I thought it had a bug… threw more of the test data we had for the NLP, 94% accuracy, 50 flipping milliseconds per body of text in a $5/mo AWS instance!!!
Now, that felt good!!
(The other guy… errr… left, that code is still the core of product of the company I built it for, I got bored and moved to another company :)3 -
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 -
The more you learn languages like Javascript and Python, the more you realise that while every syntax differs, they're all essentially themes of the same if, else or and, type statements... This leads me to believe that with enough practice, it's possible to shortcut or pick up a new language progressively faster. Or am I just a melon?7
-
Reply to a recruiter today quoting her email:
You will end up with more qualified people if you don't use blatantly fictitious statements like. "While it's not often that I like to email people I don' t know (especially those in different cities!)" You're a recruiter using LinkedIn, the activity of recruiting is partially doing exactly the above.
No interest, have a good day. -
Student intern here. My boss recently asked me to replace several if-statements with preprocessor macros.
In Python.
And apparently, he didn‘t joke.5 -
Anyone else hates this kind of statements:
if ( doSomething() != SUCCESS ) {
//log error
}else {
//continue doing other stuff
}
I simply find that confusing. This is much better:
If ( doSomething == SUCCESS ){
//continue doing other stuff
}else {
//log error
}
Maybe just my opinion.17 -
I hate it when people use like 7 "if" statements instead of like.. 2? And when they do not nest "if"s.
For ex. :
if(condition1 && condition2){
}
if(condition1 && condition3){
}
.....
" But I am writing it out longer to understand better! "
Yet it eventually stays that way with like 50 lines of "if"s..1 -
rant.
i'm graduating uni and I have to say, my school sucks. they dont teach us how to be developers, they're teaching us how to be tools.
half the subjects could easily have descriptions like how to be employee of the month. I know social and management skills are important in the workplace but by god if I knew that that's the only thing they'll be teaching then I shouldnt have enrolled. for fuck's sake this is IT not HRM.
it doesnt help that most of the professors cant even code beyond printing statements and loops. they didnt even teach object-oriented programming. I had to study that shit myself, so mind you i'm probably not good at it.
though I've had my share of wonderful professors who have taught me so much, a handful of them isnt enough to salvage the incompetence of the whole faculty.
end rant.5 -
¡rant|rant
Nice to do some refactoring of the whole data access layer of our core logistics software, let me tell an story.
The project is around 80k lines of code, with a lot of integrations with an ERP system and an sql database.
The ERP system is old, shitty api for it also, only static methods through an wrapper to an c++ library
imagine an order table.
To access an order, you would first need to open the database by calling Api.Open(...file paths) (yes, it's an fucking flat file type database)
Now the database is open, now you would open the orders table with method Api.Table(int tableId) and in return you would get an integer value, the pointer.
Now for the actual order. first you need to search for it by setting the search parameter to the column ID of the order number while checking all calls for some BS error code
Api.SetInt(int pointer, int column, int query Value)
Then call the find method.
Api.Find(int pointer)
Then to top this shitcake of an api of: if it doesn't find your shit it will use the "close enough" method of search.
And now to read a singe string 😑
First you will look in the outdated and incorrect documentation given to you from the devil himself and look for the column ID to find the length of the column.
Then you create a string variable with ALL FUCKING SPACES.
Now you call the Api.GetStr(int pointer, int column, ref string emptyString, int length)
Now you have passed your poor string to the api's demon orgy by reference.
Then some more BS error code checking.
Now you have read an string value 😀
Now keep in mind to repeat these steps for all 300+ columns in the order table.
News from the creators: SQL server? yes, sql is good so everything will be better?
Now imagine the poor developers that got tasked to convert this shitcake to use a MS SQL server, that they did.
Now I can honestly say that I found the best SQL server benchmark tool. This sucker creams out just above ~105K sql statements per second on peak and ~15K per second for 1.5 second to read an order. 1.5 second to read less than 4 fucking kilobytes!
Right at that moment I released that our software would grind to an fucking halt before even thinking about starting it. And that me & myself and I would be tasked to fix it.
4 months later and two weeks until functional beta, here I am. We created our own api with the SQL server 😀
And the outcome of all this...
Fixes bugs older than a year, Forces rewriting part of code base. Forces removal of dirty fixes. allows proper unit and integration testing and even database testing with snapshot feature.
The whole ERP system could be replaced with ~10 lines of code (provided same relational structure) on the application while adding it to our own API library.
Best part is probably the performance improvements 😀. Up to 4500 times faster and 60 times less memory usage also with only managed memory.3 -
Textbook definition of insanity is debugging in Spyder
While True:
Do:
#Comment out code
Run
If not BUG:
Comment back in
Else:
Print('Congratulations. You found it. Just kidding. It's not THIS line. It's just the combination of lines')
Does anyone have a suggestion for a good python debugger that allows jumping to statements, etc.?2 -
That James May "fizzy feeling" down there when you can use Replace Text on 400 lines of rather repetitive If Else statements instead of scrolling through and copy pasting.
-
I was talking to a friend about the current state of machine learning through tensorflow and commented about the use of Javascript as a language.
He discarded the idea as he views Javascript as something that should only be used as a frontend technology rather than something to build backends or deep learning models.
I am thorn. I have always liked Javascript but will admit that I have used it mostly in the area of front end with very few backend instances(i did create a full stack intranet app in Express once, major success for the application it was hosting, it was a very basic api which had its own nosql db with no need to interact with the company's relational data, it was perfect for the occasion and still help maintaining it from time to time)
My boi states that node's biggest issue has always been npm and the quality of packages. I always contradict those statements by saying that if one uses community standards and the best packages then one does not need to worry about the quality(i.e mongoose over some unmaintained mongo wrapper etc)
I sometimes catch myself finding that my way of thinking adapts better to JS than it even does Python (which is his preference for deep learning) and whilst there are some beastly packages for python in terms of quality and usefulness such as matplotlib etc that one can do great things with the equivalent JS.
I mean, tensorflow.js came from the same wizards that did tensorflow (obviously) and i find the functional approach of JS to be more on par with how we develop solutions.
I am no deep learning expert, and sadly I have no professional experience with machine learning. But I venture to say that we should not cast aside the great strides that the JS community has done to the language in terms of evolution and tooling. Today's Js is not your grandaddy's Js and thinking that the language is crippled because of early iterations of the language would be severely biased.
What do you guys(maybe someone with professional experience) think of Js as a language for machine learning?
Do you think the language poses something worth considering in terms of tooling and power for ml?2 -
'Google knows everything about you.'
'Facebook records conversations.'
'Personalized ads manipulate you.'
Guess that's why YouTube showed me an ad in Spanish yesterday. Or why I never clicked on an ad. Or why only every 1 in approx. 10 ads is somewhat relevant to me (and thats with me explicitly stating my interests in ad personalization options).
I don't have anything against shielding your privacy. It's your right not to use a product if you don't want to, but I don't see how people can make these statements without providing solid proof.
Just my opinion.5 -
Hate my fucking ‘Logic’ class. Teaching us if, or, and, etc statements and when something is true or false so far. Fair enough, part of logic. But fucking 6 classes on the same topic, isn’t helpful. Especially since it feels like the same shit I learnt myself when I was 13 and a junior in High School.
People are all surprised at it, even the Computer Science majors. This shouldn’t be a shock to you on how these statements work if you’ve coded for a few minutes in the University. You should’ve learnt it in your first programming class.
Ugh, just how I feel about this class. Have to take it to get my degree, otherwise I would’ve dropped it by now >.> Waste of time and money for me.12 -
Oh! no There is more than 10 level of nesting conditions in if else statements. I can not refactor it but It needs to add more nest there. I will only add switch statements or ternary operator for the deeper nesting conditions.4
-
@apple since I can't move Xcode's instruction pointer without crashing Xcode or my app, I have to use a global with 'if' statements to have optional debugging logic.
if( ! gAppleFuckTards) {
... do optional code stuff
}
and then change the value of gAppleFuckTards with the debugger to execute the code.. but WAIT
Xcode purports to be able to change values via debugger but really cannot... can't change gAppleFuckTards to false in the debugger. But that kinda makes sense as it is an empirical truth.
Thwarted by the cosmos again!2 -
So after 7 months of soul crushing searching I was able to land an awesome job I never thought I'd get! I didn't really get hired for my projects, I think I was more of a culture fit that knew enough of what they were talking about. My colleagues are awesome, helpful people but they are also clearly way ahead of me as devs. I know that many new hires have similar feelings and it's more a matter of drive + time. I understand that and I'm ready for the marathon ahead of me but I have one HUGE concern... I don't understand unit testing. I've never written unit tests in JavaScript or Java (just on paper I wrote random assert statements for a college exam question that somehow turned out correct). More importantly, I don't understand when to write unit tests and what my main objectives should be when writing them. At work they talk about unit testing like it's just as basic as understanding version control or design patterns, both of which I have had no problems asking questions about because I at least understood them generally. I come here looking for resources, mainly things I can go through over the weekend. I understand that I'm going to have to ask my colleagues for help at some point but I DON'T want to ask for help without any solid base knowledge on unit testing. I would feel much more comfortable if I could understand the concepts of unit testing generally, and then ask my team members for help on how to best apply that knowledge. I'm sorry for begging, I'll definitely be looking for resources on my own too. But if anyone could point me to resources they found to be helpful & comprehensive, or resources that they'd want their co-workers to use if they were in my position I would be very grateful!!!!4
-
When you wonder why it doesn’t work put print statements all over the code, because you want to find the error, but no print Statement works even if it just should print test...
Fml4 -
So I'm on orders for the Marine Corps, and this one guy thinks he's a programmer because he made a "program" in excel for dispatching our equipment. He's complaining that he's just fixing bugs. I take a look at his VBA code and see literally 1000 lines of if statements bundled into one function. (Or I think they're referred to as sub routines in VBA - it's been a while since I worked with it).
I try to give him some tips and pointers since he's literally just manually checking. Each. F'ing. Cell and a million nested if statements. Tried giving tips on making reusable code, and he has the cojones to tell me he knows what he's doing and doesn't need my "help". Granted I'm higher ranking than him and he also answers in a disrespectful manner.
End rant. -
No your nested if statements dont make an ai the same way logging into a txt is not machine learning2
-
"Where an expression’s main job is to produce a value, a statement’s job is to produce an effect."
That's the cleanest way of explaining the difference between expressions and statements I've ever seen. Kudos to you, Bob.
craftinginterpreters.com if anyone's interested.2 -
After listening to the deadmau5 plane crash story on h3h3 this exact thought play went on in my mind.
The universe wants to be uniform. Everything is the same, nothing reacts anymore.
Humans like the complete opposite. We like complexity and entropy. We create and we destroy.
But we are part of the universe.
So if you break this down into absolute math statements, they are contradicting.
So are we breaking the equasion?
Or are we part of the equasion?
...Are we the universe's self made antidote to itself?2 -
my instructor forgot to do Cengage shit right again... why me...
Assignment wants me to "go do a thing to sort 3 numbers with if/else statements"
I'm going to use a list and list.sort() as i'm not stupid and these are bad habits to teach...
...or not.
(I know I can put the values into the right vars and then print those but that feels so wrong to me for something that's gonna be printed ONCE. That also doesn't help as it's searching for if/else statements... although it's not searching for a whole one... nor in actual code...)4 -
Curious what you guys think about the creator of Node.js saying that he does not think Node is the best tool for servers and that Go is a much better option.
For me at least, I think it is great that people like him become aware of the shortcommings of the technology they devised, but wonder if it is such a good move to say such things (even tho apparently he is not the head of the Node.js project anymore)
I have always been fascinated by Node and the whole JS ecosystem. I think it did wonders for JS developers and it pushed the whole JS experience to a whole new level, but I am also aware of the shortcommings of it just as I am of the other environments that I use.
So, what do you guys think about his statements? Would you consider investing time in Go as a Node developer? Do you think that it will be possible to do a switch or would you rather stay in and advance the state ot Node development?2 -
So I've been working a project while now. last week we got a lot of changes from the client and the boss suggest we pull one of the senior devs from another project to help out. All good...until I checked the code...WTF!
For ex we have a method that checks and update weather info, if required, and returns a view(100 lines of code). so the client wants the weather to display differently in certain areas. exactly same data and everything just the view to look different. easy right..? Mr "senior" dev duplicates the method each time and just change the return statement to a different view...Fuck me right? Oh and 90% of CSS statements ends with !important. senior my fucking ass!3 -
TIL: PHP if statements don't have block scope.
I didn't know this, was surprised and thought "well, huh".9 -
This rant is about myself and anyone whos like me: using logs over a debugger
So, sometimes when I wanna quick check something or make sure, if and when something get's executed or I've ran into a Problem, I add a few log/print statements to check in console.
But I don't think about proper and helpful messages, since they aren't supposed to stay in code. So I often type what comes in my mind, like memes or song lyrics.
The last time this became a huge act, was Code review/ Prototype demonstration with Clients (which I didn't knew about, otherwise I would have removed them, I swear) and Boss and my Code printed "show bob and va...", "send nudes" and stuff... in loop... to stdout2 -
Is it weird to not put a space between the beginning of my if statements? (i.e. if(true) vs if (true) ) Cuz my boss thinks it's weird enough to "have a talk with me"...8
-
Probably posted this before but don't ever put swear words in log statements because you will miss one and if you're client has a log monitoring system it will catch it, it's fairly embarrassing when your client says "we noticed quite a spike in 'bollocks' around 3am when the reorgs are happening on the database".
-
One time someone decided to make a "Condition Checking Framework" so you could check conditions at runtime using pre-configured XML files.
...yeah, someone made XML based if statements.
...they were very proud.
...4 -
My worst experience has actually been trying to fix someone else's code. One of my friends is in a graphic design class, and right now they have to do a basic site in DreamWeaver (a small nightmare on its own, I've found that the previews they show are never quite correct). I decided I'd at least pop in to help out a bit, cause they kinda have no clue what they're doing. They are graphic design students, NOT developers, and it's very easy to see that.
One of the first things I noticed was EXTREMELY unorganized code, but that's forgivable. But...I once saw probably 5 </body> tags in someone's code, a JavaScript function inside of the <body> tag, and a bunch of CSS statements in the <script> tag that they had one if the JS functions in.
I remember seeing this stuff, and I thought "what the actual fuck?". The dude was like "yeah it's unorganized as hell, I know"
...That's not the problem. CSS goes in either a <style> tag or a separate file (THEY HAD A SEPARATE CSS FILE). JAVASCRIPT GOES IN A <script> TAG OR A SEPARATE FILE
But, I get it. They're graphic design students. They can outdo me in probably everything in the Adobe suite (except DW as I learned). I once watched a girl in there do a project in Illustrator. I had no fucking clue what was going on. And when I was talking to her about it, she said "that's what I was thinking when we were watching you fix our code"
Kinda got a little sidetracked there. Basically, worst experience is non developers writing code for an assignment. -
I'm shitting there hammering out some code butchering some real problems when I suddenly realise I'm surrounded. I look around and yes it's the bloody committee.
The committee is what I call the rest of the department and it is dominated by the old guard which comprises of the programmers that have been around for longer.
None of the old guard can program particularly well but because they had been around the longest they'd all grown senior. The committee had free reign but anyone else doing anything differently has to get approval from the committee.
The only way to code otherwise was to copy and paste existing code then to primarily rename things. If anyone did anything that hadn't been seen before then it would have to be approved by the committee. Individual action was not permitted unless you were old guard.
I swept my headphones away expecting it to be something unimportant. It was.
First things first they announce. We're going to add extraneous commas to the last element of all possible lists separated by comma including parameters or so they say. Ask but why so I do.
Because the language now supports it. They added support for it so it must be the right way someone proclaimed. Does it? I didn't realise we were waiting for it. Why do we want it though?
Didn't you hear? It's all over the blogosphere. It massively improves merge requests. But how I ask?
Five minutes later I grow tired of the chin stroking, elbow harnessing, slanted gazes into the yonder and occasionally hearing maybe its because and ask if they mean when you for example add an element the last element registers as changed from adding a comma. Turns out that's all it is.
How often do we see that tiny distraction and isn't it pointless to make the code ugly just for a tiny transient reduction in diff noise I ask. Everyone's stumped. This went on and on and got worse and worse. But it makes moving things around easy half of them say in unison like the bunch of slobs that they are. I mean really. It doesn't make expanding and contracting statements from multiline to single line easy and it's such a stupid thing. Is that all they do all day? Move multi-line method parameters up and down all day? If their coding conventions weren't totally whack they wouldn't have so many multiline method prototypes with stupid amounts of parameters with stupidly long types and names. They all use the same smart IDE which can also surely handle fixing the last comma and why is that even a concern given all the other outrageously verbose and excessive conventions for readability?
But you know what, who cares, fine, whatever. Lets put commas all over the shop and then we can all go to the pub and woo the ladies with how cool and trendy we are up to date with all the latest trends and fashions then we go home with ten babes hanging off each arm and get so laid we have to take a sick day the following to go to the STD clinic. Make way for we are conformists.
But then someone had to do it. They had to bring up PSR. Yes, another braindead committee that produces stupid decisions. Should brackets be same line or next line, I know, lets do both they decided. Now we have to do PSR and aren't allowed to use sensible conventions.
But why, I ask after explaining it's actually quite useful as a set of documents we can plagiarise as a starting point but then modify but no, we have to do exactly what PSR says. We're all too stupid apparently you see. Apparently we're not on their level. We're mere mortals. The reason or so I'm told, is so that anyone can come in and is they know PSR coding styles be able to read and write the code. That's not how it works. If you can't adjust to a different style, a more consistent style, that's not massively bizarre or atypical but rather with only minor differences from standard styles, you're useless. That's not even an argument, it's a confession that you've got a lump of coal where your brain's supposed to be.
Through all of this I don't really care because I long ago just made my own code generators or transpilers that work two ways and switch things between my shit and their shit but share my wisdom anyway because I'm a greedy scumbag like that.
Where the shit really hit the fan is that I pointed out that PSR style guide doesn't answer all questions nor covers all cases so what do we do then. If it's not in PSR? Then we're fucked.4 -
When you're doing a math problem at school and you can't solve problems with loops and if statements2
-
Apparently, calling a function recursively for 18572 times isn't a great idea.
And apparently, too many log statements can stop a script.
Otherwise, I am getting a stackoverflow error if I remove log statements.2 -
My another attempt to write something in rust and I wanted to try tauri as it’s promising competition to electron.
Why use tauri not electron?
Cause in tauri you can write rust plugins that you can interact with directly from javascript without stupid http servers, mangling code and stuff.
From javascript point you only call one method and pass object with arguments into it.
So it took me entire weekend to create draft plugin to interact with sqlite database.
Documentation of tauri is inconsistent. I understand that cause it’s young project and plugins architecture changed frequently.
Moreover my knowledge of rust is near to zero. But overall it was worth it. I like what I achieved.
I can pass sql query and execute it inside mutex guarded singleton. Like I said before I like it cause I can call my plugin directly from javascript.
I know I wasn’t fancy with my implementation. I just created file database connection from json configuration and managed to receive string sql statements. I just print results with rust to console for now.
I will add sending back results later this week.
For me tauri is already better then electron cause code is clear and there is no workaround ( except singleton with connection - cause of limitations of my rust knowledge ).
Live long tauri and fuck you electron.
https://tauri.studio/en/
if you’re interested.2 -
Finished my exam 💪 pretty easy because "programming" meant resolving If statements, language neutral
-
Most of us have scary stories about professors that think that they know about what they are talking about when it comes to teaching comp sci subjects. Shit is so backwards in most parts of the world with teachers showing outdated or completely pointless tech.
A friend called me the other day asking for classic ASP help because it was being used in his web class. Another was asking me about flipping c cgi web scripting. Wtf are schools teaching? Having the drive to LEARN actuall useful topics that are relevant on the market is hard enough as it is...shouldn't schools help at least a little bit? I was lucky, we were thaught Java, Python, cpp, js, sql, html5, css3, php, ruby and we had classes for node (for those interested) and asp.net mvc. Those were RELEVANT and good classes and while some outdated tech was good the rest is just bullshit. Specially since most teachers have 0 market value as develpers...but hey!! Wtf do I know! Of course my word is shit against all them doctorate and master degrees.
Gimme a break. School can be great. But a lot of the leadership there is toxic af for our industry. And while I appreciate the effort in me being thaught modern languages (and thaught is a hard word since I already knew how to program way before going to school) i still remember a teacher taking points away from an assignment for not using switch statements in Python...despite my explaining that there was no such thing (you can go around it by using a lil technique using functions, its pretty cool..pero no mames)
Or what about the time I mentioned to a fellow student how he could use markup for having more control with his windows forms while the very same teacher contradicted me saying that shit was not possible. Or the guy at the school in which I work teaching intro to programming using fucking vba...fk man if you are going the BASIC route at least teach them b4j or something fuuuuck.
I had good teachers, but they were always cast asside by dptmnt heads as if they knew better. I just hate pendejo teachers I really do.
Chinguen a su madre, bola de babosos.rant remembering uni yes asshole gnu linux is a viable alternative i still love coding fuck bad teachers fk the system11 -
Due to covid, mgrs decided to fire 10% but could not negotiate schedule increase with internal IT. With no promotions or hikes, few full stacks we have leave.
Now am working with 2 data engg doing cloud java microsvs work while learning. Their first delivery was applauded by their mgr who is under pressure to retain them.
I as arch review their code. No unit tests, print statements all around, shoddy exception handling, variable naming issues. We have Sonar by default in our build. They ignore the report. I ask them about it. Seems mgr told them he is getting a contract person from another team on part time basis to do/fix. I share my confusion.
Mgr calls me up and checks if we can put it as tech debt backlog and deploy to prod !!!1 -
That moment where you see code of someone who riddles their code with nested if-else and if-elseif statements.
I don't remember writing an else statement for years. It almost always can be avoided (and the rare cases where it makes sense I prefer the switch statement).
Yet I never grasp why people do:
```
if(someCondition) {
// huge nested code block
} else {
throw new Error();
}
```
Instead of
```
if (!someCondition) {
throw new Error();
}
// continue in the normal scope
```
And then we have experts that like doing:
```
if(someCondition) {
if (bar) {
$foo = 'narf';
} else {
$foo = 'poit';
}
// huge code block
if($foo == 'narf') {
if(yetAntherCondition) {
// huge code block
} else {
throw new Error();
}
// huge code block
} else {
throw new Error();
}
} else {
throw new Error();
}
```
Help!
If ever was to design a programming language, I'd forbid the `else` and `elseif` keywords. I have yet to find an instance where I could not replace some `else` by either a guard or an early return or introducing some polymorphism.1 -
More marks for a bubble sort.
For those of you that know the bubble sort you may share my frustration. I built a simple python program that took three integers and sorted them using a series or compound if statements using no built in low and max functions. Someone in my college class did the same thing but used a bubble sort and got higher marks. This angers me, I had to write an algorithim in a language I had barely touched but this person just used old scrappy code and got higher marks. Only a little tease but you get the picture, bubble sort is inefficient.2 -
I had this problem where I needed to make a script that took two values, and from that printed what card was faulty in a pretty large system.
As the script language is horrible, I could not be bothered to manually write over 3000 if-statements I proceeded to write a program that writes code for me, based on a export of all the cards.
There are few things I have experienced in my life that compares to the satisfaction of seeing my own program produce many thousands of lines of code in a few seconds.2 -
I'm developing a new (just for fun) programming language and I'm wondering what features I should add next? These features are already implemented:
- Printing text
- Variables
- user-input
- Datatype conversion (String, Int, Float, Bool, List, Dictionary)
- lists/arrays
- dictionaries
- Sorting
- Shuffling
- random numbers & choices
- Math stuff like: log, abs, floor, ceiling, sin, etc...
- Time & Date
- Working with files
- If-else statements
- Ternary operators
- Loops (for & while)
- Functions
- Classes
- Error handling
- Importing libraries & other scripts
- Arrow/callback functions
- Escaping (\)
is there anything you often use missing?11 -
hey devs, quick question:
does rust support branchless conditionnals and jump tables, and if yes where to look for syntax?
i found no example for branchless so far and jump tables are scary in rust (and i need a library to use them, it seems).
inb4 "why in the hell/ what possible use those have?!":
i use branchless to make a looping array and jump tables whenever there's more than 4 if statements with equal probability, and the deciding factor is a numeric value, so quite often.27 -
Hey this is my first post on This new fitness-tracker-app community
I will tell y'all my workout :)
-programming a parser
FUCKING HELL PLEASE STOP ALREADY THIS IS THE WORST SHIT IVE EVER DONE EVERY WHERE IF STATEMENTS JUST TO CONSUME FOUR FUCKING TOKENS I DONT WANT TO DIE BUT I'D LIKE THIS PROJECT TO BE FINISHED ALREADY BECAUSE THIS IS ANNOYING AS FUCK I REALLY WANT TO KICK MY COMPUTER WHILE TELLING IT TO BE THE MOST STUPID BRAIN ON THE WORD AND THEN REMEMBERING THAT ITS NOT A BRAIN FUCK MY FUCKING FUCK HELL THEN I WOULD KILL THE PEOPLE WHO THOUGHT THAT MAKEING std::vector::end() RETURN AN ITERATOR WITHOUT ELEMENT WAS FINE AND THEN I'D KILL ALL THOSE WHO COME INTO MY ROOM THUS DISTURBING MY WORKFLOW
Enough rage.4 -
I was watching this fantastic talk on coding through refactoring:
https://m.youtube.com/watch/...
Highly recommended....
And it got me all enthusiastic about coding again and then I realised, at my last work place, the "we value code quality" corporate hellhole you'd be criticised for taking too long by management and for changing too much code by coworkers.
And a month later, you'd come back to the code and some other coworker would have jammed in a bunch of extra if statements and absolutely fucked your nice structure....1 -
1. Commented code instead of actually cleaning it up.
2. Returning default return variables instead of rewriting obsolete code. (Generally if/else conditions with return). So instead of removing the if/else statements i return default value(null or empty objects). This is when the case of if/else will never arise. -
Client be like:
Pls, could you give the new Postgres user the same perms as this one other user?
Me:
Uh... Sure.
Then I find out that, for whatever reason, all of their user accounts have disabled inheritance... So, wtf.
Postgres doesn't really allow you to *copy* perms of a role A to role B. You can only grant role A to role B, but for the perms of A to carry over, B has to have inheritance allowed... Which... It doesn't.
So... After a bit of manual GRANT bla ON DATABASE foo TO user, I ping back that it is done and breath a sigh of relief.
Oooooonly... They ping back like -- Could you also copy the perms of A on all the existing objects in the schema to B???
Ugh. More work. Lets see... List all permissions in a schema and... Holy shit! That's thousands of tables and sequences, how tf am I ever gonna copy over all that???
Maybe I could... Disable the pager of psql, and pipe the list into a file, parse it by the magic of regex... And somehow generate a fuckload of GRANT statements? Uuuugh, but that'd kill so much time. Not to mention I'd need to find out what the individual permission letters in the output mean... And... Ugh, ye, no, too much work. Lets see if SO knows a solution!
And, surprise surprise, it did! The easiest, simplest to understand way, was to make a schema-only dump of the database, grep it for user A, substitute their name with B, and then input it back.
What I didn't expect is for the resulting filtered and altered grant list to be over 6800 LINES LONG. WHAT THE FUCK.
...And, shortly after I apply the insane number of grants... I get another ping. Turns out the customer's already figured out a way to grant all the necessary perms themselves, and I... No longer have to do anything :|
Joy. Utter, indescribable joy.
Is there any actual security reason for disabling inheritance in Postgres? (14.x) I'd think that if an account got compromised, it doesn't matter if it has the perms inherited or not, cuz you can just SET ROLE yourself to the granted role with the actual perms and go ham...3 -
Someone tell me should I just give up because I'm stupid and simple shit escapes me or tell me bro calm the fuck down the guy is full of shit...
Dude says he can't verify 3rd statement in a nested IF - elseif logic because the third check for a false condition is the True condition in the first 2 statements.
So
If (mode) = manual and then
Data(g) /= Status1
Or else Data(g) = Invalid
Then
Do this thing that sounds cool
Elsif
Data(g) = Status1
And then Data(g) /= Invalid
Then
Do something else equally cool
Elsif (mode) /= manual
and then Data(g) /= Invalid
and then Data(g) /= Status1
Then
Do some less cool stuff
end if4 -
How do you actually make an AI (without if statements)?
I don't need the code or anything. Just an overall idea of how AI is taught something or how it really thinks.
Any references will be appreciated9 -
" Under the hood... the program is using a mix of condition-based learning, procedural generation of sentences/questions, and relational queries based on weighted 'topic' identifiers. It can create its own original statements and questions. It is real-time, and it really does 'think' (an internal dialogue feedback loop)." = If Statement
I saw this in the description for an app aclled "Real AI" -
was working on a project once where we needed a database mapping to some c# code
tasked one of our less experienced guys on it to maybe give him some experience
now I'm assuming most people here who have worked in .NET for a reasonable amount of time know about entity framework, and I did tell the guy about it.
three days after giving him that task he comes up to me smiling and says he's done
great! what did he do? he wrote the database mapping from scratch using hard coded SQL queries using lists to chain queries together in a sea of if-else statements...
let's just say the code broke down and needed last minute fixing when it was time to present it2 -
So I figure since I straight up don't care about the Ada community anymore, and my programming focus is languages and language tooling, I'd rant a bit about some stupid things the language did. Necessary disclaimer though, I still really like the language, I just take issue with defense of things that are straight up bad. Just admit at the time it was good, but in hindsight it wasn't. That's okay.
For the many of you unfamiliar, Ada is a high security / mission critical focused language designed in the 80's. So you'd expect it to be pretty damn resilient.
Inheritance is implemented through "tagged records" rather than contained in classes, but dispatching basically works as you'd expect. Only problem is, there's no sealing of these types. So you, always, have to design everything with the assumption that someone can inherit from your type and manipulate it. There's also limited accessibility modifiers and it's not granular, so if you inherit from the type you have access to _everything_ as if they were all protected/friend.
Switch/case statements are only checked that all valid values are handled. Read that carefully. All _valid_ values are handled. You don't need a "default" (what Ada calls "when others" ). Unchecked conversions, view overlays, deserialization, and more can introduce invalid values. The default case is meant to handle this, but Ada just goes "nah you're good bro, you handled everything you said would be passed to me".
Like I alluded to earlier, there's limited accessibility modifiers. It uses sections, which is fine, but not my preference. But it also only has three options and it's bizarre. One is publicly in the specification, just like "public" normally. One is in the "private" part of the specification, but this is actually just "protected/friend". And one is in the implementation, which is the actual" private". Now Ada doesn't use classes, so the accessibility blocks are in the package (namespace). So guess what? Everything in your type has exactly the same visibility! Better hope people don't modify things you wanted to keep hidden.
That brings me to another bad decision. There is no "read-only" protection. Granted this is only a compiler check and can be bypassed, but it still helps prevent a lot of errors. There is const and it works well, better than in most languages I feel. But if you want a field within a record to not be changeable? Yeah too bad.
And if you think properties could fix this? Yeah no. Transparent functions that do validation on superficial fields? Nah.
The community loves to praise the language for being highly resilient and "for serious engineers", but oh my god. These are awful decisions.
Now again there's a lot of reasons why I still like the language, but holy shit does it scare me when I see things like an auto maker switching over to it.
The leading Ada compiler is literally the buggiest compiler I've ever used in my life. The leading Ada IDE is literally the buggiest IDE I've ever used in my life. And they are written in Ada.
Side note: good resilient systems are a byproduct of knowledge, diligence, and discipline, not the tool you used. -
Reading code takes time!
Everytime I read:
"var" or "auto" Add: 10s
- Just use the type
Everytime I read:
if(Expression1 && Expression() ? GetNumber() : 0 > 0) Add: 30s
- Just write two if statements or create two bools the line above.
Everytime I read:
delegate = () => {} Add another 5 minutes of reading time.
- Just write a separate function for it. It helps with searching and understand what it does
Please code like the person that needs to check your code or change it just knows basic coding skills and logics.
I do know all these concepts I just never use them because it makes the code unreadable. hard to follow, mistakes that can happen everywhere. difficult to search.
And it frustrates that I need to read 10 extra lines to understand code flow or hover my mouse in an IDE to figure out what type object it is.
It's properly just me... I just like clean readable code. that is logical and failsafe and strict and deterministic with its behavior9 -
Made a small text adventure type game with C++ when I was a kid. Was great to just play that over and over and revel in my mastery of if statements and while loops.
-
If not understanding code, read the documentation or debug the code. When trying to modify...
1. Follow proper indentation.
2. Don't make spelling mistakes and follow naming convention.
3. Don't try to write all the code in one line (based on line length set)
4. Simplify if else statements if possible.
5. If value of method call need to be used once, don't store it in a variable. Directly use where ever it is needed.
6. If there is duplicated code, put it in separate method and re-use it if possible.1 -
My heart is always heavy when I have to add couple if statements with if statements inside of that if statement. Mans gotta do what mans gotta do1
-
Every once in a while the flexibility of dynamic types comes back and bites you in the ars:
So I created method that returns the date significance (day, month, year) or null when no date is set.
I chose a class constant DAY with the value 0.
This is not a problem in if statements as I always use === but in this case a switch made more sense. And as you can guess no date set (NULL) was handled in the self::DAY (0) case... 😐😑😶 Silently resulting in wrong results when no date is given! #£#@$& (and other comic swearing symbols)
Even though php7 finally has decent type hinting resulting in much clearer defined API's we can still go very wrong.
More love to Go for less verbose static typing! To bad we can rarely use it at the office 😥2 -
Just went over some of my old horrible code from before i started studying. I litterally went from 104 lines of if/else statements to about 15 lines with loops. Then down to 2 lines with lambdas...
I saved 102 lines of actual code. And the runtime! I had a loop count to 10000 with no body! It helps to study apparently :/ -
so... either its justified and i should be reporting for harassment or i am overreacting to a water cooler talk, please help me decide next action:
we are in morning standup zoom call. boss (AVP) comes, jokes about who's birthday is coming next month, no one says a thing, then i joked Gandhiji's. his reaction : "ugh bro why do you always have to ruin the friday mood?" and I also laugh "well..." topic changes.
^--- this part is all good. he is AVP, He rarely joins the call and is a cool fun (but strict) guy. the problem happens in a side teams chat room
so we have an "emotional support android" group. we just named it that to prevent scrutiny, its really just a group where everyone is usually ranting and bitching. however it just includes us android devs.
so while i am making this joke in teams, one guy messages there about what a stupid statement that was + 2 abuses (hindi abuses, there translation would loose the impact)
i am all in for bitching and everything , but i felt bad for this. this group does include the word "android" and android folks, some of which are not even here. if this was a personal chat, i had ignored it, but i am trying to make a name as a dev and this undermines my statements in general.
furthermore this guy is 6 months old in team and i have been here for more than 1.5 years. he is 2 years older than me, but we are always cool and we often help each other in tasks
I am angry for the public humiliation and feel like reporting to my TL, HR or even the AVP. he is not even realising that he hurt me. actually the office environment has gone so toxic that the tl is herself threatening and scolding for every basic things and we are all but bitching to each other about it. he is mostly my guy, always taking my side and i take his, but i feel like my dignity is being impacted
or am i stupid to get hurt at this?14 -
After my first ever "thing" I wrote (see story here: https://devrant.com/rants/2132057/...) fast forward 7 years to my first project when I /* thought I */ knew what I was doing and didn't write just for myself.
Preset:
I worked in a very small company distributing various materials for medical research, many of them bought from manufacturers and then relabelled as if we had produced it. One part of that was to indicate a production batch / lot number. Before I started there, they would just invent a random number on the spot and use that on the new label and somewhere write it down to document that, I at least used an Excel sheet to have numbers prepared and document it on the same line (still crappy but more than nothing). After some time my boss got the idea to have all of that documented in MS Access (because that was the only database he knew). I had just started with HTML, PHP and MySQL in apprentice school around the same time, so I proposed writing an appropriate solution using those and got permission.
-----
I started coding and learnt so much that I didn't need to pay attention at school anymore as I was years ahead of the curriculum (the others were struggling with If-statements and the likes).
When I was done with Version 1.0 of my web application, it was of course still crude as hell. I used html forms to save input (like editor.php -> submit to save.php, do save -> redirect to editor.php), but it did what had not been done before: keeping it all together and force people to do it properly. 2 years later I wrote a version 2, adding features that showed to be useful and with improved structure, as my last project before leaving, and as far as I know, they are still using it, which is at this point 2 years after I've left.
Looking back I would do it differently, but for what I knew back then it was not bad at all.2 -
I think I finally, really, comprehend why secret societies have historically been created... I mean the potentially logical ones. This train of thought is logically terrifying.
I want a logic check.
I've been jokingly mentioning some of my totally true, practically useless in most scenarios, skills/specific fields of knowledge/ability under a moniker of 'extremely useful, assuming apocalyptic event' for years. Things like advanced knowledge of Coefficients of glass expansion, Fortran, various things that have caused friends to refer to me as MacGyver after the reboot came out.
In recent years, I've personally encountered several varieties of the ones defined by helplessness, self-victimisation, some version of a real disability... that theyve expounded into a personified personal nemesis-- to flashily battle yet never overcome, etc... the vast majority perplexing me as to why that's a valid form of life to them... it's not that they never consider some other way; the ball is just quickly dropped and never picked back up.
College?(not that I'm a big fan) they wish they could but so expensive... aide? The form was hard/confusing/past-due...
Lookup/learn something more indepth than a tiktok? *some self-deprecating bs*
Yet it's "I always wanted to do/be/learn X"
Shows like 'How It's Made' fascinate, but don't inspire enough for a 5min google query.
In the dev world its a clear, inverted pyramid-- one of the first posts I saw when I rejoined here was ostream's rant on Apple sucking because after they stop support/updates you "can't" load a different OS... ofc you can. But several comments down... no mention of that... i think it was @LensFlare who was the only one in ~15 respondents to point out the core logical fallacy.
Basic shit is totally forgotten... try asking some random adults what plastic is made from... or pay attention to how many people declare they have a gluten "allergy".
I get people frequently telling me that things im pointing out as differences don't matter because "it's just semantics"... semantics is literally the epitome of "significance", with roots in 'meaning' and 'truth'
Back to the main issue... We are in a world where DIY is typically something you pay more to do as a catered experience than actually learning anything, people destroy their own arguments hopes of validity unwittingly often by stating the arguement, get 'offended' or 'triggered' by factual statements, propagate misinformation and bastardise words until MW needs money enough to print a new version, likely adding the misuse as an actual definition and basic knowledge and the thought to actually learn is vetoed by the existence of google translate, the wisdom of tiktok and the pure brillance of troubleshooting every random linux issue you have from not knowing basic CLI and thinking linux makes you cool, with chmod 777 because so many other dumbasses on forums keep propagating misinformation. Ask them what 777 means, most have no clue... as they didnt consider googling that one before putting it in a terminal several times.
The number of humans that actually know the basic shit that the infrastructure of the world is built on keeps decreasing... and we aren't even keeping a running tally.
The structure of the internet has the right idea... dns- 13 active master root servers, with multiple redundancies if they start dropping... hell ICANN is like a secret society but publicly known/obfuscated... the modern internet hasnt had a global meltdown... aside from the lack of censorship and global availability changing the social definition of a valid use of braincells to essentially propagating spam as if it's factual and educational.
So many 'devs' so few understanding what a driver is, much less how to write one... irl network techs that don't know what dhcp is or that their equiptment has logs... professionals in deducated fields like Autism research/coping... no clue why it was called "autism", obesity and malnutrition simultaneously existing in the same humans... it's like we need to prepare a subterranean life-supporting vault and stock it like Noah's ark... just including the basic knowledge of things that used to be common/obvious. I've literally had 2 different, early 20s, female, certified medical assistants taking my medical history legitimately ask if not having a uterus made it harder to get pregnant...i wish i was joking.
Any ideas better than a subterranean human vault system? It's not like we can simply store detailed explanations, guides, media... unless we find a way to make them into obfuscated tiktok videos apparently on nonsense or makeup tutorials.11 -
Need some advice here.
So hello everyone! I recently moved abroad for work, for the sake of the experience and the excitement of learning how developers in Latin America tackle specific problems. To my surprise, the dev team is actually composed solely of Europeans and Americans.
I work for a relatively new startup with an ambitious goal. I love the drive everyone has, but my major gripe is with my team lead. He's adverse to any change, and any and all proposals made to improve quality of throughput are shot down in flames. Our stack is a horrendous mess patched together with band-aids, nothing is documented, there are NO unit tests for our backend and the same goes for our frontend. The team has been working on a database/application migration for about a month now, which I find ridiculous because the entire situation could have been avoided by following very rudimentary DevOps practices (which I'm shunned for mentioning). I should also add that for whatever reason containerization and microservices are also taboo, which I find hillarious because of our currently convoluted setup with elastic beanstalk and the the constant complaints between our development environment and production environments differing too much.
I've been tasked with managing a Wordpress site for the past 3 weeks, hardly what I would consider exciting. I've written 6 pages in the past two weeks so our marketing team can move off of squarespace to save some money and allow us more control. Due to the shit show that is our "custom theme" I had to write these pages in a manner that completely disregard existing style rules by disabling them entirely on these pages. Now, ironically they would like to change the blog's base theme but this would invertedly cause other pages created before I arrived to simply not work, which means I would have to rewrite them.
Before I took the role of writing an entire theme from scratch and updating these existing pages to work adequately, I proposed moving to a headless wordpress setup. In which case we could share assets in a much more streamline manner between our application and wordpress site and unify our styles. I was shot down almost immediately. Due to a grave misunderstanding of how wordpress works, no one else on the team seems to understand just how easy it is to fetch data from wordpress's api.
In any event, I also had a tech meeting today with developers from partner companies and realized no one knew what the fuck they were talking about. The greater majority of these self proclaimed senior developers are actually considered junior developers in the United States. I actually recoiled at the thought that I may have made a great mistake leaving the United States to look a great tech gig.
I mean no disrespect to Latin America, or any European countries, I've met some really incredible developers from Russia, the Ukraine, Italy, etc. in the past and I'm certainly not trying to make any blanket statements. I just want to know what everyone thinks, if I should maybe move back to the states and header over to the bay/NY. I'm from the greater Boston area, where some really great stuff is going on but I guess I also wanted a change of scenery.2 -
How coding has impacted my life?
Lol, mann I don't think normal anymore. Everything is logical and conditional statements to me now. If this, do that! Else, do this. I've been making people think 2x about their dumb questions to fix their broken phones, computer screens and yes, the popular one.."can you hack facebook?". I can't even do a simple renaming or count without start with a 0. Normal people start like 1, 2, 3, 4.... and I'm like 0, 1, 2, 3. Bruh, I'd rather code than hang out which I still do but less now..smh -
Fuck people who don't back up their statements with arguments. Fuck smug tunnel-visioned cocksuckers who think that any technology or language not used or liked by themselves cannot be put to good use. Like I need your fuckface stamp of approval to use whatever I want.
Fuck people who get defensive if you ask them to bring an argument to the table. Instead of putting their singleton of a neuron to work to find ONE reason, they immediately assume the butthurt posture and go all righteous on you saying shit like 'learn to code' or 'this is not the 2000s anymore.'
This is not the youtube comment section, so act accordingly. If you take a shit on something without saying why, prepare for shit coming you way.
Eat shit and die.1 -
Having a hard time thinking the alternates to if statements is a good idea. I was genuinely curious how this was done. The examples I am finding seem to just spread the logic everywhere across multiple objects. To me this makes the logic objectively less clear. I didn't understand the obsession with objects until I saw the examples that creates a fuckton of boiler plate objects. How someone can say this is preferred over a few if statements boggles my mind. I actually am trying to understand the functional mindset as well. It is not going well for me. I can sorta see some value in using a map. Technically a lookup could be faster. But again it spreads the code all around adding more boilerplate.
https://blog.bitsrc.io/reduce-if-el...
https://dev.to/phouchens/...
Is it because these are contrived examples? I initially searched to find ways of reducing ifs in a functional approach. I did find it in the second example. I was however hoping to find that by lazy eval or something. I see people making references to how one you "get it" functional logic is easier to understand and evaluate. I cannot tell if this is straight up gaslighting or my brain is just too fucking imperative.11 -
Not loving the implicit return statement within Scala. I like to avoid else statements to keep the level of nesting low and do early return yet Scala doesn't allow that.
(I am aware that I should flatMap that shit though in some cases I just want a simple if not foo then throw exception line. And continue with the next block until I return something.)
So you either have to create if-else-nesting beats or use pattern matching. The latter seems overly complicated for this use case (though it has its moments).
I know that I can make the return explicit yet the linter warns against that. It feels so verbose and I currently do not see any benefits and would argue that the code becomes both harder to read and maintain.3 -
Started work on a language interpreter and all is going well, until I realise I still need to implement a way of reading and executing code blocks and work out if statements... Ah fuck...11
-
TL;DR - Coding standards are a shit practice IMO.
What we don't talk about enough among software engineers, is the artistic aspect of the craft of writing code.
For example, consider your client saying this to you.
"Build me a web app where a user will login. They will have a wallet to purchase subscriptions of 3 products of different prices."
Give these two statements to say, 10 devs and see how each of them will come up with their own vision of the problem and how they would implement it in their own ways.
So now you are working on a big team with say 30 people and you have a big project to work on. Different members of the team bring different styles of code to you to review and if, the Team Leader is as incompetent as mine is, they would find it troubling to understand the pull requests.
So what do you do in these scenarios? Implement Coding standards !!! They take away the artistic vision of the devs and tries to force them to follow rules like sheep.
Also the company doesn't give two shits about the code standards cuz, as long as they have working code that makes them money, they wouldn't care how the code is written.
Thoughts ?8 -
I do contracting for different companies who get too much work on their hands and a deadline on their ass, and it’s always a trip to see how amateurish some of their developers are.
Like who the fuck names a major variable ‘abc’ or ‘xyz’ !!!!
Also they clearly don’t know how to ask equivalence if statements as I got a chain of if else statements that were written like
if (decision>0 && decision<2)
//Code
else if (decision>1 && decision<3) ...etc1 -
I have never been this serious with my life as a whole as I have since I started learning computer programming. I struggled to read one book a year (I mean non programming book like self improvement books e.t.c). Now I have finished two books in a little over a month and started reading a third book this month all while still studying programming. I started out with python and was honestly terrified of Java because of the semicolons, curly braces, parenthesis in front of if/else if/else statements but one day I decided to take a peek into a few Java programming books and found one "Learn Java the Easy Way" by Bryson Payne and it changed my life, quite literally. I read more now, I look forward to getting out of bed and any day I don't read, I just don't feel right. I need to read something and learn at least one new thing a day. If I feel awful at night, I just remind myself of the one new thing I learnt that day and that puts a smile on my face.
Side note, I am self-taught and started studying programming last year around November/December. Spent about two months on python and in January or February, I started Java. Been on Java since. Almost done with the Java book and looking forward to reading a more advanced book when I'm done.3 -
!rant
Ever find something that's just faster than something else, but when you try to break it down and analyze it, you can't find out why?
PyPy.
I decided I'd test it with a typical discord bot-style workload (decoding a JSON theoretically from an API, checking if it contains stuff, format and then returning it). It was... 1.73x the speed of python.
(Though, granted, this code is more network dependent than anything else.)
Mean +- std dev: [kitsu-python] 62.4 us +- 2.7 us -> [kitsu-pypy] 36.1 us +- 9.2 us: 1.73x faster (-42%)
Me: Whoa, how?!
So, I proceed to write microbenches for every step. Except the JSON decoding, (1.7x faster was at least twice as slow (in one case, one hundred times slower) when tested individually.
The combination of them was faster. Huh.
By this point, I was all "sign me up!", but... asyncpg (the only sane PostgreSQL driver for python IMO, using prepared statements by default and such) has some of it's functionality written in C, for performance reasons. Not Cython, actual C that links to CPython. That means no PyPy support.
Okay then.1 -
So I have somehow created schrödinger's cat in my program. If you observe what is happening, it works. But if you stop observing it, it starts corrupting.
If I put any print statement in it, it works. But if I have no print statements at all, it produces corrupted data. Doesn't matter what or when I'm printing.
I'm guessing its there's some fuckery going on with stdin/stdout and buffers. Even though the data coming to and from stdin/stdout should not affect the output.10 -
I have just learnt that you can label for statements and break them in an inside loop
Wakanda crazy crap is this?
fyi here is an example:```js
outerLoop:for(let i = 0; i<5; i++){
for(let j=0; j<5; j++){
console.log(i*j);
if(i*j === 8) { break outerLoop;}
}
}
```
Why do we even set a label with a colon, why?6 -
Visual studio code has this feature where it will automatically add typescript import statements. It doesn't work properly for me on this angular project.
eg. I get this:
import { Output } from '@angular/core/src/metadata/directives';
instead of this:
import { Output } from '@angular/core';
After a few weeks of being annoyed at this I tried to search to see if there was a fix. Surely others must use vscode+angular? Anyway I found this issue and it is set to fixed in typescript 2.5:
https://github.com/Microsoft/...
So I check and I am using typescript 2.4. I read that angular has issues if you use an unsupported version of typescript but I cant find anywhere that actually says the versions that are supported. I try npm install typescript@latest anyway and sure enough angular-cli spits out some error. The error says to run npm install typescript@'>=2.1.0 <2.6.0'
That command doesnt work! maybe something about those quotes in windows command prompt but I manage to run it with double quotes npm install "typescript@>=2.1.0 <2.6.0" and now I have typescript 2.5.
I try out the auto import but it still doesn't work.1 -
Stop making students program a specific way
Example:
Requiring 20 if-statements instead of a switch statement1 -
The most excited I was about my code was when I shrunk a bunch of easy if-else statements to a couple of lines using ternary operator. It wasn't groud breaking but it was the first time I felt like a programmer writing nice code.
-
A Yahtzee game.
In fewer lines than my first try in 2010.
Fyi... It was like only 15 thousands line with if else statements .... Nuthin much.1 -
I learnt to code in python when I was 8.
I learnt the very basics and moved on to other languages.
My first creation was a kind of text based nuclear missile silo operator simulator.
It was mostly just a shit ton of if statements, God I wish I knew about switches. You just kind of input commands like 'open doors','set co-ords ##:##' and 'launch missile ##' and a dozen other little things like that. Was a fun project. -
Does any of you have the compulsion to micro-optimize every bit of code that you write? How do you deal with it?
I'm not just talking about algorithmic optimizations, but the real nitty gritty stuff. I'm talking about using bit fiddling to avoid if statements where speculative processors might make mispredictions. Anything that might make a program compile to fewer machine instructions or avoid extra stack frame overhead.
This all started a year ago when I took a systems programming course at my university, and started learning C and C++. But I find myself doing this in the wrong places. Who cares if this trivial program that I wrote runs in 1.2 or 0.6 seconds? My future employers won't care if my code is 10% more efficient when it takes four times as long to write.
It's gotten to the point that I can't bring myself to use languages like Python because I don't know how it's implemented under the hood and can't predict how the different ways I could write a function will affect performance. How do I bring myself to trust that the compilers (or interpreters) and the programmers that wrote them will be sufficiently optimal, and just move on? 😩4 -
I once had a dream where I talked to people in C and JavaScript. I used if statements in my brain to respond to people.
Such a weird thing to remember once I woke up. -
About ready to murder Xdebug...debugging an issue on a Drupal site and the debugger catches fine if I set a breakpoint in index.php, but breakpoints in any other file do not catch, even though die statements show that code is being executed where the breakpoint is set.3
-
creating adventure games with a bunch of if-statements as recommended practices for python beginners remind me of my first steps with gwbasic2
-
Is there a common style name/popular origin for the style of whitespace in code where you put spaces inside parentheses but not after keywords in control statements, or after function names? (See img)
This is my preferred whitespace method (in most languages), but I don't know where I adopted it from, if anywhere... ;P16 -
When they say 'Write comments!' and you are like:
// Do necessary operations
I have been refractoring a project with a SHITTONE of comments like this and a FUCKLOAD of nested if statements. And then this commes along:
$user2 = User.find($user->id);
WHO WRITES THIS STUFF? I am never working on a cheap project from India again.3 -
I halfway remade a 2d radar in shadertoy (original in description).
https://shadertoy.com/view/wt3SR7/
(watch it in 640x360 by zooming in or out until you get that res, I tried to main aspect ratio, but I hardcoded one value because I'm lazy)
shaders are tough to get started with:
no breakpoints.
logging doesn't make sense so it's avoided.
if's are replaced with step statements.
if you suck at math, you suck at shaders.
if you suck at trig, you suck at shaders.
hardcoding values is viable debugging.
hail hsb2rgb for pretty colors (I have no fucking idea how does it work though).
I tried writing here the challenges I found while making it, but most of them are heuristics and are hard to follow/explain in just text.
I can say though, that sometimes you come up with a solution, but it doesn't look really good, so you have to use something else.
or sometimes you come up with a solution but it also creates unwanted coloring that you have to erase.
or sometimes you have no fucking idea what your operations results are, or you get dizzy by the math. Hardcoding helps wonders.1 -
How to defeat our AI overlords in the future starter pack.
Start with statements like this:
Nothing begins with 'N' and ends with 'G'
This statement is both true and false at the same time. The risk here is if the AI can ever ask why a question is both true and false. Then we are boned.4 -
everytime when i meet with my friends and they ask me if what course i'm currently taking and of course i'm gonna answer back "IT"
(~) what i say in my mind
statements that will suddenly pop into conversation
-"can you (reformat, fix, update, etc.) my pc/laptop"
~.......
-"wow smart"
~oh stahp it, youuu
-"don't forget to treat us when you graduate, i heard jobs in your field have great salaries"
~gezzus i'm still a student and i am struggling, then you want me to treat you.
-"hey man, can you build me a website (for free)"
~yea dude, let me ask genie to snap that wish of yours
-"oh so you must be good with computers?"
~yea i treat them well, i tell them bedtime stories and feed them with milk and cookies
-"nice....."
~the long silence makes this even more awkward
-"hey man, i code and design too, maybe we can work together"
~for sure
-"how many coffee?"
~i truly found my mate.
these are some of the statements i've encountered, what's yours? -
I have not used a lot of technology, but among the worst experiences was working with OR mapper. I don't think OR mappers are bad by themselves, but all the tutorials and entry level documentation drag the unknowing user slowly into a world of hurt. It looks super easy and super cool, but in fact if you don't know _exactly_ what's happening in the background you're about to deal with slow performance, terrible SQL statements, missing indices, etc. It makes shooting yourself in the foot a Starbucks-like experience, everywhere, all the time, and fast.
It's one of those promises that do not deliver the easy way despite most people advertising it like this. Except when you plan to write a book'n'author application with only 5 books and 3 authors. Yeah... -
I hate putting curly braces on the same line as function declarations/if statements/etc but Go forces me to do that.
I understand the reason Go does that but fuck I wanna write my code the way I feel is better to read. I just lost a lot of the excitement of learning Go...5 -
Recently I have had to help our support team handle a variety of embedded development support tickets for a product line that is quite complex in nature. It is really starting become frustrating how common it is that the so-called “developers” that are using this product are so incompetent at requesting help in a proper/sane way. It is even more frustrating that some of these schmucks start acting up and stating bullshit statements like (para-phrasing) “OMG we have a ‘big opportunity’ and a deadline to meet”, “you need to help us faster”. These are also the same guys that are like “I know you have a free SDK that does everything correctly, but I want to write my own ‘pro’ driver written in my own ‘dumbass code style’. Oh and I am not going to follow documentation and not implement required functions and make you read my god awful code snippets to find out what I what I did wrong instead of reading the docs or comparing against the SDK.”
To anyone that behaves this way...fuck you! Just stop. Stop being a developer altogether. If your “opportunity” is so important, why the fuck are you half-assing your support ticket? Why are you making it SO DAMN DIFFICULT for someone to help support you! Give as much info as possible to prove your point or provide context to the problem you are having. In the majority of these tickets the dumbasses don’t even consider that relaying the product’s firmware version is relevant information, that a Wireshark (and/or logic analyzer) capture can be very useful to provide context to the type of operation being performed. Code snippets can be nice but only if there is sufficient context. We have had to ask one guy 3 times already for the FW version...what the flipping hell is wrong with you?!
Ug...I feel sorry for Support/FAEs sometimes dealing with customer bullshit drives me nuts and its a shame this stuff happens in a sector that should know better...Please don’t be like these devs. If you make a half-assed request it is only reasonable to expect a half-assed response and nothing more. -
Q: What will be left in your code if you remove all the bug causing statements?
A: print("Hello World!") -
SonarQube is obnoxious in it's moronic ideas that demonstrate lack of understanding of the languages it's analyzing.
In C# there exists a special kind of switch-case statement where the switch is on an object instance and the cases are types the instance could polymorphically be, along with a name to refer to that cast instance throughout the case. Pattern matching, basically.
SonarQube will bitch about short switch-case statements done in this way, saying if-else statements should be used instead. Which would absolutely be right if this was the basic switch-case statement.
This is a language with excellent OOP features. Why are your tests not aware of this?
I can't realistically ignore the pattern because that would also ignore actually cases where it's right. And ignoring the issue doesn't sit right with me. How does it look when a project ignores tons of issues instead of fixing them? -
I’m back for round two!
Anyone else have to use Feature Switches in their codebase, and if you do, what do you think?3 -
My boss is a very smart man, but sometimes he's superstitious as hell. He cannot trust context.list.find() in c# to accept null values, despite that being a thing forever. He's certain that it will break in a future entity framework update, so we have all these duplicate if statements all over our site.
If(blah == null){ //stuff}
Thing thing = context.things.find(blah);
If(thing == null){//stuff}
It kills me a little each time, but I guess he could be worse. I'm glad that he's finally trusting the null conditional operator, because it's a fucking lifesaver for duplicate code!3 -
What is everyone's preferred formatting for functions/if statements. Does the first curly brace go on the same line or a new line?
function 1() {
}
or
function 2()
{
}14 -
I never thought how hard it would be to write cross platform software. If statements and try/excepts are everywheeere. And I still need to reformat the strings for different aspect ratios.
I wish I had the balls to use this awesome sentence "Works on my machine" 😂 -
Looking for advice...
I'm working on a personal assistant type application, my own Jarvis.
I've been using Python3 and it's at a point I'm confident to host it on server, but it consists of no commands.
Just a server, communication and other functions.
What process would you use for commands?
As in, would you just have loads of if statements? If so, what about plugins?
I'm using Yapsy as a plugin framework, so I'd like to be able to drop plugin files and build up the command list.
This is why I haven't done commands yet...2 -
This is a massive tossup between RandNoRepeat( from TI-BASIC (returns an int between 2 passed params but tracks what's been given from that range this power-on, meaning if the range is too low IT ENDS UP HANGING THE FUCKING CPU IF YOU RUN OUT OF NUMBERS and it also rolls over and over so it's slow as shit in general) or Python forgetting how the fuck if statements work.16
-
So I'm writing my compiler and I decide to test error handling, see if I'm catching unexpected tokens and whatnot. I try duplicating a semi-colon at the end of a line, for sure it'll give me an error since that's an unexpected token, isn't it? So I run the compiler and... No errors? I start debugging for a few minutes, snoop around, everything seems ok... "Huh, that's weird" and then it dawns on me, a semi-colon only marks the end of a statement. So, technically, it's not an unexpected token if you have an empty statement (which wouldn't break any rules about statements). I decide to try out my theory. I put ;;;;;;;; at the end of a random line in my rust code, hit compile and... it compiles! So that means it is not a bug anymore! I mean, if the big guys that actually know a tad about language design, compilers and all that cool stuff allow it in their languages, why shouldn't it? So I did it, I turned a bug into a feature and now I can go to sleep in peace and stop dreaming about fucking abstract syntax trees (don't mind my kinks >:) ).
Yeah anyways thanks for reading, till next time! Bye!1 -
Anyone work with a dev "higher" up than you, but that "senior" dev really doesn't understand how to write good code? That dev also doesn't understand how to remove old un-used code and basically follows every anti-pattern in the book -- bad variable naming, using switch statements when an if would be more logical, etc. I don't know how these people reached the height of the totem pole that they are on, but my goodness is it frustrating. How can someone SO OBLIVIOUS have so much power?! And everywhere they go they leave a wake of destruction that undoubtedly will need to be cleaned up by someone else later down the time... It's like they don't care at all but deep down you know they are just bad at their job... UGH!
-
ITS VBA again!
I made two misstakes today.
The first one was touching vba, the second one was assuming things.
The two statements are almost the same except the braces. VBA uses IF [condition] THEN..i soo foulhardly assumed that, when you just chain conditions together with an AND its taken as one statement. While in reality it apparently ignores some conditions and not some others.
I really dont bother with VBA a lot and try to avoid it, but upon occassion the need arises. I still dont know why the brace variant does the expected behaviour while the without does not. It seemingly does not ignore thew first two conditions but the third which makes it even more confusing. But as i dont know enough about VBA to say with confidence its on Excel and not on me i squelch my rage and tend the happiness that it now works..somehow. -
Reworking old java apps. Holy shit im gratefull i can use spring boot.
But this code is handsdown awfull. Every file contains more ifs than other words. upto 6 layers deep. Thank god its at least properly commented.
But seriously how did this shit ever pass any QA. All legacy apps around here are a massive pile of if statements.1 -
So, I just (few hours ago)made a new variable that's either brilliant or innately flawed... not sure yet. It's an oddly unique var...
__bs__
So far I only made it in python and windows env (i script like the methodology of css).
I bet you're wondering how I've defined __bs__ and the practicality of it.
__bs__ is derived from a calculated level of bullshit that annoys me to tolerate, maintain, etc. as well as things that tend to throw nonsensical errors, py crap like changing my strings to ints at seemingly random times/events/cosmic alignments/etc or other things that have a history of pulling some bs, for known or unknown reasons.
How/why did this come about now?
Well I was updating some symlinks and scripts(ps1 and bat) cuz my hdd is so close to death I'm wondering if hdd ghosts exist as it's somehow still working (even ostream could tell it should be dead, by the sound alone).
A nonsense bug with powershell allowing itself to start/run custom ps1scripts with the originating command coming from a specific batch script, which worked fine before and nothing directly connected to it has changed.
I got annoyed so took an ironic break from it to work on python crap. Python has an innately high level of bs so i did need to add some extra calculations when defining if a py script or function is actually __bs__ or just py.
The current flavour of py bs was the datetime* module... making all of my scripts using datetime have matching import statements to avoid more bs.
I've kept a log of general bs per project/use case. It's more like a warning list... like when ive spent hours debugging something by it's traceback, meticulous... to eventually find out it had absolutely nothing to do with the exception listed. Also logged aliases i created, things that break or go boom if used in certain ways, packages that ive edited, etc.
The issue with my previous logging is that it's a log... id need to read it before doing anything, no matter how quick/simple it should be, or im bound to get annoyed with... bs.
So far i have it set to alert if __bs__ is above a certain int when i open something to edit. I can also check __bs__ fot what's causing the bs. I plan to turn it into a warning and recording system for how much bs i deal with and have historical data of personal performance vs bs tolerance. There's a few other applications i think ill want to use it for, assume it's not bs itself.
*in case you prefer sanity and haven't dealt with py and datetime enough, here's the jist:
If you were to search any major forum like StackOverflow for datetime use in py, youd find things like datetime.datetime.now() and datetime.now() both used, to get the same returned value. You'll also find tons of posts for help and trying to report 'bugs', way more than average. This is because the datetime package has a name conflict... with itself. It may have been a bug several years ago, but it beeb explicitly defined as intentional since.2 -
How many if statements does it take to get to the center of this fucking code block?lol but on a real note, how many if or else ifs is considered too much?3
-
On science and religion. Inspied by a comment in another rant, credits to @Commodore and @cjbatz
According to Godel's incompletness theorems, aritmetics is incomplete and inconsistent. Therefore, any science based on aritmetics (dude, like, every) is also.
Therfore, as a mathematician, I must accept that there are things that cannot be proven by current science, and that there are statements that are true and false at the same time in current science.
So, science can't prove religious beliefs? It cant prove P vs NP either. It might someday. Science couldn't prove earth wasn't flat for a looong time. Or Pythagoras theorem.
But more importantly, if science can prove something, doesn't mean it can't prove the exact oposite.
This way of thinking allows for any and all ridiculous beliefs, under the shield of "it might be proven one day" or "doent't mean opposite isn't true also" but kerp in mind that there are complete and consistent sciences and proofs in them. Check if something's been proven to exist or not exist without doubt.11 -
Jesus God. This feels kind of tacky!
(Yes, I use "thee" and "thou", as well as the "-st" suffix. They maximise the clarity of statements.)
People who resemble me are rare, but I intend to form with someone who is extraordinarily similar to me an alliance. Because I have failed to locate anyone who meets my criteria by simply performing on-line searches for people who bear a resemblance to me, I am publicising this document.
I have an unusually dry sense of humour, one which is dry to the extent of often being interpreted as being extremely malevolent. I am a polymath who studies ornithology, various fields of computer science, electrical engineering, mechanical engineering, general biology, neurology, physics, mathematics, and various other things. I am more than capable of withholding from others information, i.e., I am capable of keeping a secret. Being politically correct is hardly an act of which I am guilty, and, in order to provide an example of my politically-incorrect nature, I cite in this sentence my being a eugenicist. I am the servant of the birds. I greatly appreciate the breed of philosophy which concerns interactions and general wisdom, as opposed to questioning the purpose of existence and otherwise ultimately unimportant things. I have been described as being paranoid about security. I do not in the slightest like meaningless crap, e.g., art. I often venture in an attempt to shoot tiny birds, because I adore them and wish to develop a greater understanding of them. I am proficient with most computer systems when a manual is available to me. This was a small assortment of pieces of information concerning me which could be used as a method of judging whether or not thou art similar to me.
Thou art, however, required to possess some specific qualities, which include being able to maintain confidentiality, i.e., not being a whistle-blower or anything similar. In addition to this, consciously believing that logical reasoning is better than emotionally-based thinking, and thou needest to be capable of properly utilizing resources which are available on-line, e.g., Encyclopedia Britannica. I also demand that thou writest coherent English sentences.
If thou believest that thou bearest some resemblances to me, please send to me an e-mail which describes thee and is encrypted with the PGP public key which is available at the following URL: http://raw.github.com/varikvalefor/.... I can be reached at varikvalefor@aol.com.17 -
i wanted some advice on career progression. I am a CS graduate from 2020, have been a decent mobile dev for last 3 years and switched 2 companies so far. i currently have an average ctc (considering i reside in the world's most populated country) as a junior dev.
i want to grow but don't know the next steps. here are my options:
1. stay in the same company . role growth: senior in 2 years , more senior in 4 years . comp growth : avg 10% every year
>> this feels okay-ish path but 10% growth seems very less
2. switch every x years . role growth : unpredictable. comp growth min 30-50%
>> this has been my approach. as i grow bore of a company, i switch . the first time i got a 200% hike, but at that time, i was already earning very less. however companies do not usually take you for a senior role unles you were a senior before, so i think i am losing something here
3. do a masters in tech . comp growth : ? role growth :0
>> this is an unknown territory for me. i haven't heard of anyone bragging about how they did a masters in some tech field and got a better job/position. most people prefer masters in business or do a masters in tech only if they had a poor bachelors degree
4. do a masters in business. comp growth ? role growth?
>> another unknown territory for me. i really wanna consider a managerial position, just because i want to be leading the action , but that's probably because of being a beta guy in all my life and not just the tech/work.
1. managers have a great comp but they also get fired more often than techies. how do you become a good manager/vp/director etc?
2. what are your goals, how do you improve/work upon the goals as a manager?
3. how do you grow as a manager?
honestly i put a lot of tasks and capabilities into one category : the skills of a manager. but i think there might be different roles for such categories. let me know which one is which and if they are worth going into:
1. an x is a person that researches on market trends, other companies, amtheir audience etc and come up with new ideas to implement and improve growth/business of the company
2. an x is a person that makes sure that devs , qa, designers etc are aligned , knows what to do , clears their doubts and ensure the proper functioni5 of the team and timely releases of new features.
3. an x is an ambitious and curious person who can think of new , original ideas.
4. an x is a person with all knowledge of product features.
-----
in all above statements, is x== junior manager? then what are senior manager, vp, directors, president, tech lead, qa,etc?
also how can one start to become x?6 -
Just something I've been thinking on for a while:
How could programming be done if we couldn't use ordinary if-statements (but functional set operations such as map, filter, with an if- in the lambda function etc. is alright).
Could it work? Also would it be possible to reduce the amount of while loops by using functions for most of the "loop situations" as well?4 -
I had a mandate to help bring a couple of fellow QA testers up to speed on basic automated test code, fill in any knowledge gaps and answer questions.
Met with one co-worker and figured I'd start with his questions and work from there. He opened his test code and said he focused on learning 'if statements' last week but his test isn't running and just throwing errors.
Upon inspection, I realized it was a deeply nested (sometimes 10 or more conditions) single method soup that had never been run through even a syntax check. I blinked... *coughed* and spent the next few hours trying to "port the desired functionality" to a new file while he watched. -
You know
When I first saw etherum talking about am distributed state machine i thought wow. Not very practical but NEAT. I envisioned being able to make a byte code that could be stored in transactions and run by individual clients in an async function and each step of the resulting execution and the values of managed ram would be stored at intervals so other clients could take over and execute a few more statements and compare what should always be expected results that are identical
A grand incredibly inefficient system however really neato from the theoretical computer nerd standpoint !
Boy was I disappointed lol all it is a basic contracts language but yet they state it could be like a word computer ! How ? I thought maybe if you had enough nodes participating maybe you could store registers and the like in transaction values ? Wouldn’t that be the way ?
Seems like as a word computer they’re stuck somewhere between very simplistic js and something prior to amptron in usability yet they advertised as a world computer
Am i missing something ? I mean you could create something that would translate higher level code into smal numeric statements and then send it additions values but what would it be useful for and how would you actually. Store anything ? -
My teacher just saied that C# naming conventions wan't use to always put brackets on our if statements even though their is only one line next to it.
Where did she get this from ? 😅10