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 - "x-code"
-
Interviewer: Welcome, Mr X. Thanks for dropping by. We like to keep our interviews informal. And even though I have all the power here, and you are nothing but a cretin, let’s pretend we are going to have fun here.
Mr X: Sure, man, whatever.
I: Let’s start with the technical stuff, shall we? Do you know what a linked list is?
X: (Tells what it is).
I: Great. Can you tell me where linked lists are used?
X:: Sure. In interview questions.
I: What?
X: The only time linked lists come up is in interview questions.
I:: That’s not true. They have lots of real world applications. Like, like…. (fumbles)
X:: Like to implement memory allocation in operating systems. But you don’t sell operating systems, do you?
I:: Well… moving on. Do you know what the Big O notation is?
X: Sure. It’s another thing used only in interviews.
I: What?! Not true at all. What if you want to sort a billion records a minute, like Google has to?
X: But you are not Google, are you? You are hiring me to work with 5 year old PHP code, and most of the tasks will be hacking HTML/CSS. Why don’t you ask me something I will actually be doing?
I: (Getting a bit frustrated) Fine. How would you do FooBar in version X of PHP?
X: I would, er, Google that.
I: And how do you call library ABC in PHP?
X: Google?
I: (shocked) OMG. You mean you don’t remember all the 97 million PHP functions, and have to actually Google stuff? What if the Internet goes down?
X: Does it? We’re in the 1st world, aren’t we?
I: Tut, tut. Kids these days. Anyway,looking at your resume, we need at least 7 years of ReactJS. You don’t have that.
X: That’s great, because React came out last year.
I: Excuses, excuses. Let’s ask some lateral thinking questions. How would you go about finding how many piano tuners there are in San Francisco?
X: 37.
I: What?!
X: 37. I googled before coming here. Also Googled other puzzle questions. You can fit 7,895,345 balls in a Boeing 747. Manholes covers are round because that is the shape that won’t fall in. You ask the guard what the other guard would say. You then take the fox across the bridge first, and eat the chicken. As for how to move Mount Fuji, you tell it a sad story.
I: Ooooooooookkkkkaaaayyyyyyy. Right, tell me a bit about yourself.
X: Everything is there in the resume.
I: I mean other than that. What sort of a person are you? What are your hobbies?
X: Japanese culture.
I: Interesting. What specifically?
X: Hentai.
I: What’s hentai?
X: It’s an televised art form.
I: Ok. Now, can you give me an example of a time when you were really challenged?
X: Well, just the other day, a few pennies from my pocket fell behind the sofa. Took me an hour to take them out. Boy was it challenging.
I: I meant technical challenge.
X: I once spent 10 hours installing Windows 10 on a Mac.
I: Why did you do that?
X: I had nothing better to do.
I: Why did you decide to apply to us?
X: The voices in my head told me.
I: What?
X: You advertised a job, so I applied.
I: And why do you want to change your job?
X: Money, baby!
I: (shocked)
X: I mean, I am looking for more lateral changes in a fast moving cloud connected social media agile web 2.0 company.
I: Great. That’s the answer we were looking for. What do you feel about constant overtime?
X: I don’t know. What do you feel about overtime pay?
I: What is your biggest weakness?
X: Kryptonite. Also, ice cream.
I: What are your salary expectations?
X: A million dollars a year, three months paid vacation on the beach, stock options, the lot. Failing that, whatever you have.
I: Great. Any questions for me?
X: No.
I: No? You are supposed to ask me a question, to impress me with your knowledge. I’ll ask you one. Where do you see yourself in 5 years?
X: Doing your job, minus the stupid questions.
I: Get out. Don’t call us, we’ll call you.
All Credit to:
http://pythonforengineers.com/the-p...89 -
Just saw an ad:
"I learned to code in 2 months thanks to X School and now I'm working at Google!"
Seems like now is the right time to dump your Google stocks.2 -
Boss throwing up a huge source code that I didn't see before.
Boss: Hey, this is an app from a contractor to do XYZ.
Me: Oh, okay.. so?
Boss: You will continue the code and the maintenance now. How much time do you need to implement X feature?
Me: I need to see the code first, can't say nothing now.
Boss: ok I need estimation now.
Me: *getting nervous* I need to see the fuckening code first. if you want estimation now I would say one year..
Boss: what?
Me: what?18 -
Any job interview ever:
Me: Hi I'm here for job X and I'd like to start by asking do you have a dress code?
HR: Well yeah we d..
Me: Thank you for your time, bye.7 -
Me: Oh I see were using a non-standard architecture on this app. I like this bit but what is this doing? never seen it before.
Him: Ah we use that to abstract the navigation layer.
Me: oh ok, interesting idea, but that means we need an extra file per screen + 1 per module. We also can't use this inbuilt control, which I really like, and we've to write a tonne of code to avoid that.
Him: Yeah we wanted to take a new approach to fix X, this is what we came up with. Were not 100% happy with it. Do you have any ideas?
**
Queue really long, multi-day architecture discussion. Lots of interesting points, neither side being precious or childish in anyway. Was honestly fantastic.
**
Me: So after researching your last email a bit, I think I found a happy middle ground. If we turn X into a singleton, we can store the state its generating inside itself. We can go back to using the in-built navigation control and have the data being fetched like Y. If you want to keep your dependency injection stuff, we can copy the Angular services approach and inject the singletons instead of all of these things. That means we can delete the entire layer Z.
Even with the app only having 25% of the screens, we could delete like 30+ files, and still have the architecture, at a high level, identical and textbook MVVM.
Him: singleton? no I don't like those, best off keeping it the way it is.
... are you fucking kidding me? You've reinvented probably 3 wheels, doubled the code in the app and forced us to take ownership of something the system handles ... but a singleton is a bad idea? ... based off no concrete evidence or facts, but a personal opinion.
... your face is a bad idea15 -
So... I just remembered a story that's perfect for devrant.
My brother got into engineering in university, and during the second semester they had their introductory class to programming. They had weekly homeworks that the lecturer would check and give grades accordingly.
The factors that could influence the grading were: execution (meaning that the code would excecute as intended), efficiency and readabilty. The weeks passed and everyone was doing well, getting fairly good grades. Everyone was happy.
Until one day a random guy we'll call bob got the worst grade possible. Bob wasn't a bad student. He had over-the-average grades in all the weekly homeworks and even impressed the professor in some. Naturally, he was baffled when he saw his grade on the google spreadsheet. He was pretty sure his code ran well. He always tested it on different machines and OSs. So, at the end of the class, he went straight to the helper of the class, in a pretty imperative manner, to demand to know how the fuck he got that grade. It's impossible he got excecution, efficiency and readabilty, wrong. All three wrong? Impossible. Even the stupidiest kid in the class had some points on readabilty.
"Oh, so you are Bob. Huh?" said the helper in a laid-back attitude. "Come with me. Prof. X is waiting for you in his office."
This got Bob even more confused. As they approached the office, the courage he had in a first moment banished and gave way for nervousness and fear.
The helper nocks the door. "Prof., Bobs here"
As soon as Bob sits in the chair in front of Prof. X's, he knew something bad was coming.
"In all these years of teaching..." said Prof. X hesitantly. "In all these years of teaching I have not come even close to see something similar to what you've done. You should be ashamed of yourself." Needless to say, Bob was panicked.
"In all these years I have not seen such blatant mockery!" added the professor. "HOW THE FUCK DID YOU EVEN DARE TO SEND A HOMEWORK WITH SUCH VARIABLE NAMING" That's when Bob realised the huge mistake he made. "NEVER IN ALL THESE YEARS I HAVE SEEN SOMEONE NAME HIS VARIABLES *opens the file on his desktop *: PENIS, SHIT, FUCKSHIT, GAYFUCKING<insert Prof. X's name>MAN, GOATSE, VAGINAVAR, CUMFUNCTION, [...]" The list of obcenities went on and on. In each word, the professor hit the table harder than the last time.
Turns out Bob felt so in comfort with the ease of the course he decided to spice things up by using "funny naming conventions" while coding, and then tidying everything up before uploading the homework. This week he forgot, and fucked it big time.
So remember folks, always check your code before committing/giving it in/production. And always adhere to naming conventions.9 -
Things I wish I could tell my 18 year old self.
1) Accept you will make mistakes.
2) Truly learn the language you are using.
3) Write idiomatic code for the language you are using.
4) Be upfront about not knowing something.
5) Don't let not knowing something stop you from learning it.
6) None of us knew X until we learned it.
7) Understand your strengths and weaknesses as a developer, play to them.
8) Be willing to try new things.
9) X language isn't ALWAYS the best choice, X paradigm isn't ALWAYS the best choice. Choose wisely.
10) You won't know everything, but you might know more than others.
11) Your ideas and ego don't matter more than ensuring the product works.
12) "Perfection is the enemy of the good [enough]" - Voltaire
13) "Perfection is not achieved when there's nothing more to add, but when there's nothing more to remove." - Einstein.
14) Conflicts happen, deal with it.
15) Develop a toolset and really learn them.
16) Try new tools, they may prove better than what you were using.
17) Don't manage your own memory unless you absolutely have to, you are probably not smarter than the collective intelligence of the team that built the various garbage collection methods.
18) People can be dicks, especially online.
19) If you are new and people are being dicks to you, did you skip past the irc message about etiquette? If you did, you're the dick in this situation.
20) It can be tough, but it is fun, so have fun!6 -
When my programmer boyfriend talks about his code, all I say is "That's so cool, babe," because I have no idea what he's even talking about.
He could be telling me he blew up a server.
"That's so cool, babe."
(I love you, though, darling x)9 -
Product sending an email: Can I confirm feature A is all set for its release on April 30th?
Me: ... what? no that feature is going out with Feature B, that was pushed back to June because of the server issue.
Product: No, the release plan document says April 30th for this.
Me: ... theres 6 copies of this doc now. Someone is after deleting my comments saying "releasing with Feature B". Oh look heres a link to another doc that says this. See Feb14th "Will go out with Feature B". This is because they are touching the same code, we can't separate them now without re-writing it.
*Me to myself*: Ha product are going to hate this, their shitty processes have finally caught up with them.
*next day*
Other manager: So heres my plan for the app release x, y, z.
*Me to myself*: ... his plan? this is my app, I mange this. What the hell is this?
*reads email thread*
*Me to myself*: ... oh so product really didn't like my reply, took me off the thread, sent a response to all the other managers asking for alternatives, CC'ing upper management. The same upper management I had a private conversation with yesterday about how shit our product team are.
*cracks knuckles*
I'm going to enjoy writing this reply.12 -
Reviewing coworker's code:
Me: I see you're doing a convoluted sort for every element twice to get your two lists in sync... 😐
CoWorker: Yeah. *straight face, no regrets* That's the only way to do this.
Me:... Uh... No? You can just manage one list with a simple struct and then use the the standard sort.
Coworker: Yeah sure I know. But it'll take time. We don't have time.
Me: *aghast* This is embarrassingly bad code!
Coworker: Don't worry, later on I'll use a hashmap for it. But this needs to be pushed now.
Me: *to myself, no you don't need a hashmap*
Okay, you do you but I can't back you on this. It isn't going to take a lot of time to correct it.
Next day.
Coworker: Hey can you review my code again?
Me: You've made the changes already? *in a bored tone, knowing that they wouldn't have changed shit*
Coworker: No this is a different file. Our manager agrees that we can worry about performance later.
Me: Sure. *😀🔨🔨*
Few weeks pass by:
QA: The operation takes absurdly long time to complete even with the smallest data. Ten minutes for X is unacceptable.
Me: Who would've known? ☺️21 -
A is for Assembly, a wizard's spell
B is for Bootstrap, so bland and the same. And also for Brainf*ck, will blow you away
C is for COBOL, your grandad knows that
D is for daemon, your server knows what
E is for Express.js, you node what is coming
F is for FORTRAN, which is perferct for sciencing
G is for GNU which is GNU not UNIX
H is for Haskell using functional units
I is for Intance, An action of Object
J is for Java plays with them Always
K is for Kotlin, Android's new toy
L is for Lisp, scheming a ploy
M is for Matlab, who knows how it works
N is for Node a bloatware of code
O is for Objective Pascal, you did not expect that
P is for programming, we all love to do that
Q is for Queries, A database is made
R is for R, statistics are great
S is for Selenium, you have to test that
S is for Smalltalk, let's make it all brief
T is for Turing Test, how human is this?
U is for Unix, build with all talents
V is for Visual Studio, built with all laments
W is for Web, lets build something cool
X is for XHTML, remember all that?
Y is for Y2K, I'm tired as f*ck
Z is for Zip, let's zip is all now.
Get yourself coffee and back to the grind.8 -
I'm hiring and I'm fucking done with recruiters buttering up skills etc and sending me BS candidates.
Interview earlier today...
CV: MySql skill level 10 (out of 10)
Reality: Can't write a simple JOIN!
Yesterday...
CV: PHP 6+ years exp, self proclaimed ninja/jedi/oracle.
Reality:
[Me]: Write me a function to map an array to x.
[Ninja]: What's an array?
I've come to the conclusion that the type of dev I want on my team is highly unlikely to be looking for work much less using some piece of shit shady agent to find work so I need to hunt him / her down personally and can use the phenomenally large recruiters fee as a hiring bonus / incentive.
Only problem now is finding quality full stack devs in the area (Johannesburg, South Africa).
I'm thinking of posting a 'challenge' job add to filter out good candidates - some kind of code challenge to be solved that gives them my contact info. Any one have any creative ideas I could try?31 -
Seen in code:
public String getX(){
if (x != null){
return x;
}
else return null;
}
... I'm not gonna like looking at the rest of this, am I?11 -
Dear Apple,
WHY DA FUCK DO I HAVE TO DOWNLOAD 4+ GB EVERY SINGLE TIME I HAVE TO UPDATE X-FUCKING-CODE? A goddamn patch would be more than sufficient.7 -
WORST???
Seeing your code, which you were proud about, now being butchered by some interns/newbies 😲
Just like seeing your X girlfriend after long time 😒10 -
As a Java developer, reasons to kill other programmers:
- static mutable variables
- WRITING to static mutable variables
- API call with Framework X didn't work. Add Framework Y along with X and try that. Wrap X in try/catch statement. Catch block fires framework Y.
- six, seven, ten levels of nested code. Zero thought put in organization
- 6K LOC Java files
- spring (singleton? Maybe) object assigning values in static mutable (see pt.1)
- a couple of unit tests in code base that no longer work. Zero unit tests in new code
- unit testing disabled in CI pipeline
- empty catch blocks
- pass mutable data between threads. Modify in various places concurrently.3 -
TL;DR: Fuck you Apple.
10:30 PM, parent needs iPhone update to update Messenger. How hard can this be?
Need to update iPhone from 9.x to latest, which is so outdated it still required iTunes. Fk.
Boot iTunes on Windows 10 pc that is at least 10 years old.
Completely unresponsive
Crash in task manager
Launch and is completely unresponsive. (Also starts playing unrequested music.. Oh joy..)
Fuck this, go to apple.com to download iTunes exe
Gives me some Microsoft store link. Fuck that shit, just give me the executable
Google “iTunes download”. click around on shitty Apple website. Success.
Control panel. Uninstall iTunes. (Takes forever, but it works)
Restart required (of fucking course).
2 eternities later. Run iTunes exe. Restart required. Fk.
Only 1 eternity later. Run iTunes, connect iPhone.
Actually detects the device. (holy shit, a miracle)
Starts syncing an empty library to the phone. Ya, fuck that.
Google. Disable option. Connect phone. Find option to update.
Update started. Going nowhere fast. Time for a walk at 1:00 AM punching the air.
Come back. Generic error message: Update failed (-1). Phone is stuck installing update. (O shit)
1x hard reset
2x hard reset
Google. Find Apple forum with exact question. Absolutely useless replies. (I expected no less)
Google recovery mode. Get into recovery mode.
Receive message: “You can update, but if it fails, you will have to reset to factory settings”. Fuck it, here we go.
Update runs (faster this time). Fails again. Same bullshit error message. (Goddammit, fuck. This might actually be bad.)
Disconnect phone.
… It boots latest iOS version. (holy shit, there is a god)
Immediately kill iTunes. Fuck that shit.
Parents share Apple account
Sign in, 2FA required.
Fat finger the code.
Restart “welcome” process.
Will not send code. What. The. Fuck.
Requests access code on other parent’s iPhone.
No code present. What???
Try restarting welcome process again. No dice. (Of course)
Set code on other parent’s iPhone.
Get message “Code is easy to guess”. Ya. IDGAF
Use code on newly updated iPhone. Some success.
Requires reset of password.
Password cannot be the same as old password (Goddammit)
Change password.
Welcome process done.
Sign in again on same phone after welcome process done in settings. (Nice.)
Sign in again on other phone with updated password
Update Messenger.
Update hangs. Needs more space.
Delete shit.
Update frozen in App Store (Really??)
Restart iPhone.
Update Messenger.
Update complete past 2. Well that was easy.
Apple, fuck you.
Some call Android unintuitive, but I look at the settings app on iPhone and realize you aren’t any better.
This company hasn’t been innovative since 2007. Over 1000 USD for a phone? Are you fucking kidding me?
Updating an iPhone from iOS 9.x is probably uncommon anymore. But this is a fucking joke. Fix your shit.
Shit like this is why I’ll never again own an Apple product. I have HAD IT with the joke of a business.
Thanks for reading.17 -
Pretty new at the job still.
-”Hey, best practice to do X?”
”Just check how we did it in previous code”
*checks whole bloody project, everything done in 500 different ways by 20 people*
*selects what seems as the best solution already used*
”Ya, you should have done X like this instead”
😒6 -
My boss codes, I'm lead Dev:
Boss: "just finished an MVP of the X project. It's 3 files and 1800 lines of code, plus triggers... "
Me: "Shieeet..."
Boss: "yup, your shit, you'll be refactoring it"
Me: *sigh*2 -
Just got picked up for a project. 20,000+ code base, no comments, no docs, variable names like x, xx, xxx, no function name conventions, and a mishmash of Czech, French and English class names.
I thought this job was too good to be true. #fml4 -
You write code.
A strange issue prevents you to proceed further.
Try one fix. Fails.
Try another Fix. Fails.
...
Try fix #28. Fails.
You decide to ask for help in the support forum.
You start writing your post, mentioning everything you've tried so far. You feel your social anxiety and fear the humiliation of being told "because you didn't try X, you idiot". Then you come up with an idea for fix #29.
(fix #29 normally involves Wireshark or similar low-level inspection tool)
Try fix #29. It succeeds :)5 -
#!/bin/sh
# Application X deployment script
## some code ##
function sudo_remove {
directory=$1
filename=$2
sudo /bin/rm -rf $directry/$filename
}
### some more code using function above ##
>400 servers completely corrupted. Twice in one week.
Who can spot it? :)9 -
First time ranter here..
So I started to work in this big company with allegedly many talented devs.
All excited to start and learn a whole bunch of new stuff.
There was this dev, with gazillion years of experience.
We were working on a similar parts of the code base and he told me I should be reusing his module.
I opened the module sources to learn about its internals.
Oh boy...
To illustrate it best, Let’s say there was a function called foo.
It was doing one thing. There was also a function called foo1. Doing almost exactly the same thing. There was also fooA.
And I kid you not, there was a fooA1.
All of them were doing almost the same thing.
Almost all of the functions were documented. The documentation for foo would be:
“This does X. I don’t like how it does it, so there is foo1 which is better.”
Additionally, only 1 of the functions was in use...
It doesn’t end here.
There were functions named like:
cdacictad
You ask what it means?
Well it means “clean directory a copy it’s contents to another directory” of course...
Months later he is no longer with us. I deleted this module.
PS
Glad to be here ;)16 -
Recruiter: “can you write your own framework?”
Me, after considering for a good minute: “well, I am kinda starting to automate lots of things so I guess if I wanted I may be able to... for sure I’d learn a lot along the way...”
Recruiter: “very good!”
Me:”wait, why would you want that skill?”
Recruiter: “our customers want custom code”
Me:”so you write a new framework every time?”
Recruiter: “ah you have also experience in [x]!”
Some people scare me 😟11 -
Gotta love well meaning juniors with completely misplaced intentions.
Nathan: "Hey, do you want a quick 5 minute demo of the code we've changed to move to library version x?"
Almond: "Sure (I wasn't that fussed about moving to library x, but he seemed determined and there's some nice to haves with bumping the version, so we approved it.)"
Nathan: "Cool, so we have this built here, and..."
Almond: "...wait, that's not our CI system!"
Nathan: "Yeah, so I moved to a new CI system too because we couldn't get that working in the old one"
Almond: "...right, we'll need to discuss that, because..."
Nathan: "Sure, we also moved the templating engine as well as there were more examples using this one with library x"
Almond: "...yeah, so I don't think we're looking to switch the templating engine because..."
Nathan: "...and you guys also need to change a bunch of your code as it's all broken since we put the new version in, most of the tests fail..."
Great... so we've got a branch that breaks a bunch of code, switches the templating engine to one we don't want to use, and switches the CI to the one the company is trying to actively migrate away from...
Almond: "We're going to need longer than 5 minutes. I'll put something in the calendar."
🤦♂️😬😠8 -
Manager: Hi, here is component X with 200k lines of code. Can you go through the code and see if you can implement component Y using component X?
Me: What does component X do?
Manager: I don't know.
Me: Is there a design docs for it?
Manager: I don't know. Can you check? Let me know when it is done.
*Wondering if I should joke and say "Oh management, hard job huh?"*
*Remembering how life is fucked up unfair and I need food to survive and house to live in and follow the society's rules and work hard to make the rich richer and shove money into their fat belly of greed...*
Me: OK.9 -
I guess my best AHHA moment was back when I learned that good code is simple code.
When I started out I wanted to prove myself by showing of how good of a programmer I was(and which I retrospectively wasn't) , which basically meant to use every high level concept I was aware of whenever possible. Multi threading where linear execution would have been totally okay, polymorphism with x meta classes where a switch would have been enough, all that shit.
It wasn't until I had to guide the first person through that mess of useless ego stroking that I found out how much time and money I wasted by not going with the easiest approach that solves the problem.
Took me some time to fully lay off that attitude but it surely was one of the most influential moments of my career.6 -
Be me, new dev on a team. Taking a look through source code to get up to speed.
Dev: **thinking to self** why is there no package lock.. let me bring this up to boss man
Dev: hey boss man, you’ve got no package lock, did we forget to commit it?
Manager: no I don’t like package locks.
Dev: ...why?
Manager: they fuck up computer. The project never ran with a package lock.
Dev: ..how will you make sure that every dev has the same packages while developing?
Manager: don’t worry, I’ve done this before, we haven’t had any issues.
**couple weeks goes by**
Dev: pushes code
Manager: hey your feature is not working on my machine
Dev: it’s working on mine, and the dev servers. Let’s take a look and see
**finds out he deletes his package lock every time he does npm install, so therefore he literally has the latest of like a 50 packages with no testing**
Dev: well you see you have some packages here that updates, and have broken some of the features.
Manager: >=|, fix it.
Dev: commit a working package lock so we’re all on the same.
Manager: just set the package version to whatever works.
Dev: okay
**more weeks go by**
Manager: why are we having so many issues between devs, why are things working on some computers and not others??? We can’t be having this it’s wasting time.
Dev: **takes a look at everyone’s packages** we all have different packages.
Manager: that’s it, no one can use Mac computers. You must use these windows computers, and you must install npm v6.0 and node v15.11. Everyone must have the same system and software install to guarantee we’re all on the same page
Dev: so can we also commit package lock so we’re all having the same packages as well?
Manager: No, package locks don’t work.
**few days go by**
Manager: GUYS WHY IS THE CODE DEPLOYING TO PRODUCTION NOT WORKING. IT WAS WORKING IN DEV
DEV: **looks at packages**, when the project was built on dev on 9/1 package x was on version 1.1, when it was approved and moved to prod on 9/3 package x was now on version 1.2 which was a change that broke our code.
Manager: CHANGE THE DEPLOYMENT SCRIPTS THEN. MAKE PROD RSYNC NODE_MODULES WITH DEV
Dev: okay
Manager: just trust me, I’ve been doing this for years
Who the fuck put this man in charge.11 -
If you're gonna comment a lot or a little, at least be consistent. I just read some code like this:
//prints "are you ready?"
printf("are you ready?");
//get the value
int findVal(int x) {
/* some fucking complex algorithm with no comments whatsoever that seems to have an error messing everything up */
}10 -
My coworker when he is copy pasting code without thinking..
Something like that:
var x;
if (veryExpensiveFunction()) {
x = veryExpensiveFunction();
// do something messy with x..
}
Sometimes I really feel the urge to punch him in the neck - and he never knows why I’m freaking out.. :’(4 -
Boss insisted that verification link needs to be clicked from same IP address as account registration. Many arguments later, decision is final, we will ignore the numerous ways that this will be a burden to our users.
*Code code, test test, deploy*
We're getting a lot of traffic, we need this bitch to scale! *auto-scale and load balance all the things*
Account creation begins breaking at random, some people receiving the "Your IP address doesn't match" error. Look at login history table, what the shit... All recent logins coming from internal IP addressohfuckmylife need to look at X-Forwarded-For header for actual IP behind load balancer.
IP address matching feature stays. I am sad, drink away sadness.4 -
So I once had a job as a C# developer at a company that rewrote its legacy software in .Net after years of running VB3 code - the project had originally started in 1994 and ran on Windows 3.11.
As one of the only two guys in the team that actually knew VB I was eventually put in charge of bug for bug compatibility. Since our software did some financial estimations that were impossible to do without it (because they were not well defined), our clients didn't much care if the results were slightly wrong, as long as they were exactly compatible with the previous version - compatibility proved the results were correct.
This job mostly consisted of finding rounding errors caused by the old VB3 code, but that's not what I'm here to talk about today.
One day, after dealing with many smaller functions, I felt I was ready to finally tackle the most complicated function in our code. This was a beast of a function, called Calc, which was called from everywhere in the code, did a whole bunch of calculations, and returned a single number. It consisted of 500 or so lines of spaghetti.
This function had a very peculiar structure:
Function Calc(...)
...
If SomeVariable Then
...
If Not SomeVariable Then
...
(the most important bit of calculation happened here)
...
End If
...
End If
...
End Function
But for some reason it actually worked. For days I tried to find out what's going on, where the SomeVariable was being changed or how the nesting indentation was actually wrong and didn't match the source, but to no avail. Eventually, though, after many days, I did find the answer.
SomeVariable = 1
Somehow, the makers of VB3 though it would be a good idea for Not X to be calculated as (-1 - X). So if a variable was not a boolean (-1 for True, 0 for False), both X and Not X could be truthy, non-zero values.
And kids these days complain about JavaScript's handling of ==...7 -
I'm currently rewriting perfectly clean and functioning Scala code in Java (because "Enterprise", yay). The amount of unnecessary boilerplate I have to add is insane. I'm not even talking big complicated code but two liners or the lack of simple things like a range from 5 to 10.
Why do I have to write
List<Position> occupiedPositions = placedEntities.stream()
.flatMap((pe) -> pe.occupiedPositions().stream())
.collect(Collectors.toList());
instead of simply
val occupiedPositions = placedEntities.flatMap(_.occupiedPositions)
Why on earth does `occupiedPositions.distinct` suddenly become a monstrosity like `occupiedPositions.stream().distinct().collect(Collectors.toList())` where the majority of code is pure boilerplate? And this is supposed to be the new and better Java8 api which people use as evidence that Java is now suddenly "functional" (yeah no, just no).
Why do APIs that annotate parameters with @Nullable throw NullPointerExceptions when I pass a null? Why does the compiler not help prevent such stupidity? Why do we use static typing PLUS those annotations and it still crashes at runtime like every damn dynamic, interpreted language out there? That's not unfortunate, it's a complete waste of time.
Why is a simple idea like a range from x to 10 (in scala literally `x to 10`) not by default included in Java? There's Guava's version of Range which does not have a helper for integer ranges (even though they are the most used ones). Then there's apache.commons version which _has_ a helper for integers, but is strangely not iterable (wtf I don't even...).
Speaking of Iterable: How difficult could it be to convert an abstract Iterable<T> into a concrete List<T>? In scala it's surprisingly `someIterable.toList`. I found nothing like that so I took to stackoverflow where I found a thread in which people suggested everything from writing your own ListUtils helper class, using Guava (which is a huge dependency!) to using the new Java8 features inline (which is still about three lines long). I didn't know this was such a hard problem in computer science, TIL.
How anyone can be productive in this abomination of a language is beyond me now, even though I've used it for many years while learning to code (back then I didn't know there were much better ways to do things). The only good part is that I have to endure this nonsense for only about 3 days longer then I'm free again!12 -
So you think it's bad when your friends, family, strangers and others ask you to fix their phone or computer is bad when they hear you're a programmer, IT or good with computers?
You think it's bad when they ask you whether you're hacking when they see code or terminal on your screen?
You think it's bad when they ask you to fix a cracked phone screen because you work with computers?
Well, think again because today my teammate was asked to fix a vending machine by X from another department because, according to X the vending was not accepting X's other dollar bill. The first dollar bill was accepted so why wouldn't it accept the 2nd one? Because the 🤬 dollar bill is crumpled. That's it.
What wows me is what made X think this is an IT issue.
According to X.... "because it has power, lights and touch screen so IT can fix it That's what you guys do, right? You can fix anything".
Me: wait!?, what?, uhhh..., are you serious? Wtf? Why? Grrrr4 -
At my previous job a coworker left positive comments alongside any negative ones on my code. “Nice job here. Very clean”, or “nice use of X design pattern here!” Kinda made me look forward to his code reviews.4
-
I hate it when I try and have a discussion with another dev and the conversation devolves into something akin to:
Me: I'm doing a thing in y language! How do I do z using y language?
Dev: WHY ARE YOU USING Y LANGUAGE?! Y LANGUAGE SUCKS AND IF YOU USE IT YOU'RE STUPID. ALL REAL DEVS USE X LANGUAGE.
I just wanted to know how to do something. Maybe I don't want to do it in another language. Maybe I have to use this language for work/study. Maybe I've just been given legacy spaghetti code and can't change the system easily.
Why do people feel the need to do this? And if they want to flame a language why can't they do it constructively?
Dev: If you are trying to do a thing in y language, why don't you try using x language? It offers an easier way for you to complete the task that you want, and it has other amazing features too!
Then you could actually respond with the appropriate response which would be thanks but no thanks because of this reason or thanks i'll check it out.
No need to be so elitist all the time.3 -
Just tested my GPU code vs my non-GPU code.
Its a simple game of life implementation. My test is on a 80 x 40 grid running for 100,000 cycles.
The normal code took 117 seconds.
The CUDA code took 2 seconds.
Holy fuck this is terrifying.3 -
Ticket: “feature [x] doesn’t work”
Me: “I’ll need more details: how do I reach feature [x]? In which of the three projects you assigned me is that?”
Manager: “the design is in the ticket”
Me, in my head: “can you effin listen to what I told you before giving air to your mouth?”
Me, in person: “yeah I just need to know which project this refers to and how to reach it”
Manager: “but you have to open the ticket as a separate page!”
Me: “sure!” *waits 15 min, opens a ticket for more details, assigns it to manager, flags as blocking, flags the other one as blocked*
5 mins later: details are given and I can proudly fox it by remembering the manager they have to login in order to see feature [x]
Later in the workweek:
Manager at 8:00 URGENT FEATURE! MUST BE DELIVERED BY EOD
Me, 10:00 “can jump on it, need authorisation for [a procedure]
Me, 11,12,13,15,16,17:30: pings for an answer
Manager, 17:58 “ah sorry didn’t see, we can do it tomorrow”
Is this the matrix? Am I being stopped from developing cause I am randomly accessing matrix’s code without knowing it? Is this the Truman show? And most importantly: can I please take part to a manager hiring session? I am curious to see how tf you hire such peculiar people.10 -
Long rant...
*Designer Posted image of newly designed layout for our app on trello.
Dev 1 (me, being the junior, on ios) : so... What's the size for x, Y, z, a, B, C?
She: it's 9 for the small text, 10 for sub title, 12 for main title.
*shows her the design on app
Dev 1: seems too small
She: just make it to look not small.
Dafug?
*finishes the app layout for that screen.
*working on next screen
Dev 1: your new design is for the screen of 1920x1080. But our supported screen size starts from 320 width. So there'll be text overlapping each other and ui might screw up.
She: uh.. Just... Put those that will overlap to the next line.
*shrugs
Dev 1: ok
=======
2 days later
Dev 2 (senior, working on Android)
Dev 2: so... What's the colour for x, Y, z
*Dev 1 laughs on the inside because of the struggles we have with her.
Dev 1 to Dev 2: is it common for her not to follow the design guidelines?
Dev 2: yeah man.. We just have to adapt her design into our app guidelines.
*sigh
Dev 2: there's a new icon here on this screen, so you wanna change the icon? Can I have the icon file?
She: oh.. No.. Use back the old one, because I just copy and paste.
Dev 1: so... This progress bar of yours, doesn't show its background colour, because you filled it already. So what's the background colour if the bar isn't filled?
She : hmm.... Oh.. Well.. Maybe try x.. ? *doesn't look nice* how about Y? *doesn't look nice* how about...
Me : why not you try in your computer first instead of me changing it here by code, it's much faster this way.
*seriously, wth?
Dev 1 and 2: there's additional text in your new design, what is it for?
She : oh.. No no. I copied extra due to copy and paste. Just ignore it.
Dev 1 and 2: what's the spacing gap between x and Y? And how about the size of the box?
She : oh.. I just estimate it, and for the box, not sure either, you can follow old design, because I'm just putting a box there for illustration purpose.
Mother fickle, what fuck man.
Dev 1 and 2: *flips table.
*we didn't, but.. It's freaking annoying.7 -
Removes stubborn programs? Oh by 'stubborn' you mean the kind of programs where i click on the X on a window and the default button on the confirmation dialog isn't the one that closes the window but instead I have to click on 'cancel'? Yeah I fucking hate those programs too.
The fucking cunts who write the code for this should be making subway sandwiches for a living because they don't deserve programming as a job.4 -
CR: "Add x here (to y) so it fits our code standards"
> No other Y has an X. None.
CR: "Don't ever use .html_safe"
> ... Can't render html without it. Also, it's already been sanitized, literally by sanitize(), written by the security team.
CR: "Haven't seen the code yet; does X change when resetting the password?"
> The feature doesn't have or reference passwords. It doesn't touch anything even tangentially related to passwords.
> Also: GO READ THE CODE! THAT'S YOUR BLOODY JOB!
CR: "Add an 'expired?' method that returns '!active'?"
> Inactive doesn't mean expired. Yellow doesn't mean sour. There's already an 'is_expired?' method.
CR: "For logging, always use json so we can parse it. Doesn't matter if we can't read it; tools can."
CR: "For logging, never link log entries to user-readable code references; it's a security concern."
CR: "Make sure logging is human-readable and text-searchable and points back to the code."
> Confused asian guy, his hands raised.
CR: "Move this data formatting from the view into the model."
> No. Views are for formatting.
CR: "Use .html() here since you're working with html"
> .html() does not support html. It converts arrays into html.
NONE OF THIS IS USEFUL! WHY ARE YOU WASTING MY TIME IF YOU HAVEN'T EVEN READ MY CODE!?
dfjasklfagjklewrjakfljasdf5 -
I'm investigating PRs for a super legacy codebase. Someone else already approved the PRs -- somebody who has never even run the code or had the project set up before.
The codebase hasn't been touched in two years, and it hasn't been updated in four. It's using CoffeeScript, Node v0, Electron v0.30, and Angular 1.x. I obviously don't have a dev environment anymore, either, and my previous dev env was on Windows, so I'll have to translate my custom build utilities from batch to bash (or much more likely: node).
To make matters worse: the PRs break both the initial project setup and the project itself (NPM can no longer find some installed packages, among other problems). And. someone already merged them into master. So: fuck.
I'm going to yell at the author and tell him to fix his shit. Why? Because when I check out my last commit prior to his PRs, everything works perfectly. Surprise!
I was so done with this project two and a half years ago. I'm still so done with it. I just don't want to maintain this anymore, or honestly even look at it. I would happily rebuild the project from scratch, but updating it from the days of IE8? No way.9 -
CTO: I told you to be careful with the live bucket and now it's completely exposed to the public. I don't think I can trust you with this can you please generate your files somewhere else. This is unacceptable.
*Me frantically trying to figure out what's going on*
*5mins later*
CTO: ?? Any ideas?
Me: A theory
Workers were executing function X which called save on a model that dint have a path name but instead it called function Y which generated a path for the object to be saved in. This has overridden all the original objects with newly generated ones.
I created my versions out of the newly generated ones. Here's the command and the functions mentioned above.
*Hands over code/links etc*
CTO: Oh I guess I just panicked hahah
All of the functions and commands were written by him and executed... By him.4 -
var { name: x } = person
Day 1 : that's some good ES6 code man, I'm so 2017
Day 5 : Oh yeah I think it works, dont really remember
Day 17 : WTF is that ? Is that even Javascript ?10 -
Last week, the team lead told me that he can't merge because my code has code smells and going forward, can't have that. We use Sonar and well the way to "fix it" according to him is to mark the line using //NOSONAR.
Most of the issues are minor like Unused imports and for me incomplete TODOs.
And before the "verbal" rule was only need to fix Major + issues. And well the reason I use TODOs is to mark code that probably needs changing in the future. I know there's going to be some feature that these lines have to be changed. But the requirements are fully defined yet from business.
But I sort of blew up on him. YOU WANT TO ENFORCE ZERO CODE SMELLS NOW?!?!?! AND THESE MINOR ISSUES? MARK THEM WITH NOSONAR?
HERE'S WHAT I THINK FOR THE LAST X YEARS... THE CODE DESIGN IS SHIT, MINOR CODE SMELLS AND MANUALLY MARKING THE ONES U NEED TO KEEP... ARE THE LEAST OF OUR PROBLEMS...
THE OTHER PROBLEMS I'VE MENTIONED BEFORE EVER. MOS YEAR BUT YOU DIMWITS NEVER LISTEN.
YOU THINK MY TODOS ARE BAD... 90% OF THE CODE AND FEATURES (THE ONES NOT DONE BY ME) LOOK AND SMELL LIKE MONKEY SHIT. UNDOCUMENTED, MESSY, FULL OF BUGS.
AND GUESS WHAT? NEW FEATURE, SOME DEV FORGETS TO CHANGE SOME COMPONENT THAT DEPENDS ON IT. WOULDN'T IT BE GREATE IF THERE WERE BOOKMARKS... O WAIT...
i just was catching up on comics again and saw this one... with triggered my memory and this rant... My first thought was to forward it to him...11 -
Me: *opens FB in mobile web browser*
FB: You there! Go ans get our great Facebook Lite app! It is faster and...
Me: Nope! *clicks X to dismiss*
FB: Nope! *a wild code appeared*10 -
Am I really unlucky, or are juniors these days all lazy af and such pampered babies that need hand holding all the time?
So back when I was a junior, when I wanted to learn something new, I would ask for some pointers from my seniors, could be an article, a video or even a book. From there I would look up further knowledge, play with the idea in my machine. If I couldn't understand something, or if I needed a better explanation of something, I would go back to my senior, but it was really rare.
Then comes this modern day, I'm the senior now and I'm in charge of mentoring a bunch of kids, who would treat me like their personal chatgpt. "Hey Junior #0, this is something you may want to read to help your next ticket, let me know if you have difficulty". Next day junior #0 would come back and say "I don't understand, the article mentioned X but I don't know how to do X. Can you show me how to do X?". Bro, no one knows how to do X after being born, just google "how to do X" and it gives you the fucking answer. Why the fuck do you have to circle back to me because of this. Junior #1 would refuse to read any articles longer than 250 words, and require constant 1-1 meetings to give him personal lectures. Dude this is not a class room, grow the fuck up! Junior #3 would write the messiest code possible despite my efforts to introduce tons of resources, then complain "why I'm still junior, how do I grow". Bro maybe if you learned half of what I sent you, you would have gotten promote by now. Fucking lazy kids these days!
Oh I can't fire these juniors. Top management was very clear that "we don't have budget to hire other devs for you, it's your responsibility to train them better".21 -
Isn't it lovely when someone wants feature X and Y and one is five minutes (and mostly CSS) and the other one is hundreds of hours of backend code.
"I don't want to know, just make it happen. Jeez how hard can it be, it's just a new button"4 -
customer: "hey, feature X is broken!"
me: *asks for details
customer, one week later: "feature X contains information about Y, that *must not* be"
me: *looks at code, at git-history, at related tickets
customer, one year ago: "hey, feature X *must* contain information about Y"
me, all the time: :-|4 -
Incase you wonder where I am gone to: Well. Looks like I'm a part time irganist now xD
Yes, this is me,
Yes, this is very fun,
Yes, I deliberately go to church X)
(I still code a lot)13 -
Me: junior dev
Assignment: build a REST search service that also does (thing x)
Me: gosh I just can't figure out how to make (thing x) work! Nothing I try works and there are no online resources!
*goes to meeting with client*
Client: (thing x) is impossible in our application, so we are expecting (much more manageable thing)
Me: awesome! I think I can build that
Manager who can't code: what are you talking about, (thing x) is clearly better and it should be possible to do
Manager: *sends email outlining shifted requirements after the meeting, including (thing x)*3 -
The GashlyCode Tinies
A is for Amy whose malloc was one byte short
B is for Basil who used a quadratic sort
C is for Chuck who checked floats for equality
D is for Desmond who double-freed memory
E is for Ed whose exceptions weren’t handled
F is for Franny whose stack pointers dangled
G is for Glenda whose reads and writes raced
H is for Hans who forgot the base case
I is for Ivan who did not initialize
J is for Jenny who did not know Least Surprise
K is for Kate whose inheritance depth might shock
L is for Larry who never released a lock
M is for Meg who used negatives as unsigned
N is for Ned with behavior left undefined
O is for Olive whose index was off by one
P is for Pat who ignored buffer overrun
Q is for Quentin whose numbers had overflows
R is for Rhoda whose code made the rep exposed
S is for Sam who skipped retesting after wait()
T is for Tom who lacked TCP_NODELAY
U is for Una whose functions were most verbose
V is for Vic who subtracted when floats were close
W is for Winnie who aliased arguments
X is for Xerxes who thought type casts made good sense
Y is for Yorick whose interface was too wide
Z is for Zack in whose code nulls were often spied
- Andrew Myers4 -
boss gives me a new task that requires to rewrite quite a lot of the code to accomplish.
me: "it will take some time, I'll have to rewrite x, y, z... and it will require some rigorous testing too..."
boss: "so it'll take you 2 days?" (serious face)
you gotta be f-ing kidding me right?!1 -
There's this junior I've been training. We gave him a bigger task than we usually do
"How do I link an object in table X with the corresponding object in table Y?"
"How are objects in two tables usually linked? How did you link Y with Z in the first place?"
"Em... Foreign Keys?"
"Yup"
"But there's not foreign key from X to Y."
"Well, create one. You've got full creative freedom over this task."
I sometimes feel like Juniors are either completely careless about past code or overly carefuly with not editing any past code. Frustrating but adorable2 -
HR Firms are the worst!!
Just wasted 30 mins of my life.
Interviewer: Tell me about experience.
[ me after talking about various project I have worked on/ build using (js, ruby, React js, git...bla bla bla).
[ 10mins later answering pretty dumb question ]
Interviewer: Do you know about coding?
Me: jeez really, c'mon... is that a question - I just told you about my X years of experience and you asking me if I know how to code?
[Interviewer look at another dumb questions from her list]
Me: You know there are so many different broken links on your websites right? on the landing page there are many links that direct you to the HTML templates.
Interview: thanks...3 -
See, static typing? that shit is for putos. You think you're so cool with your advanced intellisense being able to tell you "yo....dat shit ain't the type you think it is" or your compiler telling you "yo dumbass, you fucked this parameter up in here, you are doing <x> when in reality you should be doing #@$@#$@!<X at line !@#@#$#>"
pfffft static typing. Such a pansy ass thing to worry about.
Picture us, working outside of the safety net of static typing, as jungle explorers, walking slowly, with a machete in hand and our other hand clutched tightly at our hip pistol, not knowing what to shoot at, but eagerly prepared for when shit fucks up because whatever the fuck you did was not properly safeguarded by a compiler to tell you that you fucked up, even if the compiler message is unintelligible (looking at you C and C++)
We is men here, we is brave retarded adventurers.
As our sanity blips into oblivion and we look at our code that has no sort of type checking expecting our shitty intellisense extensions to protect us....
Edit: if you can't understand the sarcasm in here and the plea for sanity then you are obviously a retard and have no place in the world of development21 -
Getting really tired of newer devs in the OSS world re-creating something that has been around for decades, slapping a flashy logo on it, and saying they invented a "blazing fast", "under 200 LOC" way to do something.
"Under X lines of code!!1" is not impressive. It just means you don't understand how abstraction works.7 -
Hiring process is fucking broken ok?
We all do have something else to do, nobody wants to do "homework" for 4 fucking hours. Which let's be real, isn't 4 hours. It's always more. I try to squeeze it in a least amount of time which means mistakes will be made. I always try to show my knowledge of the language and it's features. But, you didn't do X. That's it, that is a no from us.
Dude, I just wrote a high production grade small project with 90%+ test coverage and you are telling me that those 2 small shit I made is a big deal? Fuck off
Most companies I worked with have a code full of shit and here I present to you, with a poetry and it's a no because of X?
My bet is that if I ever started to work there I would find a code that isn't tested and is in shit state
\rant4 -
Just got my beta access for Framer X. They describe themselves as "Unity for design" bridging the gap between Sketch and React using code-based components. I think it has a lot of potential. Would love some non-designer perspectives. What do the front-end devs here think of it?10
-
So this happened some time ago but I didn't know devRant back then.
In school we had to write some code in Java and before the lessen one of my friends said to me that he already knew Java and that it was like a very easy coding language.
Then, when we actually had to code, he was complaining that his code didn't work.
So I stopped coding, stood up and walked over to him. He had only very few lines of code and after reading the error message I told him that he was missing a semicolon in line X.
He then asked me what a semicolon was. At that moment I thought: Oh, it's just that one thing that you put after ALMOST EVERY LINE OF CODE IN JAVA. I showed him where I find it on the keyboard and then I fixed his code (it had way more errors than just a missing semicolon).
I have no problem with helping other people but if that person brags about how well they know Java and then not knowing what a semicolon was, that's just not ok.2 -
Continue of https://devrant.com/rants/2165509/...
So, its been a week since that incident and things were uneventful.
Yesterday, the "Boss" came looking for me...I was working on some legacy code they have.
He asked, "what are you doing ?"
Me, "I am working on the extraction part for module x"
He, "Show me your code!"
Me(😓), shows him.
Then he begins..."Have you even seen production grade code ? What is this naming sense ? (I was using upper and lower camel case for methods and variables)
I said, "sir, this is a naming convention used everywhere"
He, " Why are there so many useless lines in here?"
Me, "Sir, I have been testing with different lines and commenting them out, and mostly they are documentation"
He, "We have separate docs for all, no need to waste your time writing useless things into the code"
Me, 😨, "but how can anyone use my code if I don't comment or document it ?"
He, "We don;t work like that...(basically screaming)..."If you work here you follow the rules. I don't want to hear any excuses, work like you are asked to"
Me, 😡🤯, Okay...nice.
Got up and left.
Mailed him my resignation letter, CCed it to upper management, and right now preparing for an interview on next monday.
When a tech-lead says you should not comment your codes and do not document, you know where your team and the organisation is heading.
Sometimes I wonder how this person made himself a tech-lead and how did this company survived for 7 years!!
I don't know what his problem was with me, I met him for the first time in that office only(not sure if he saw the previous post, I don't care anymore).
Well, whatever, right now I am happy that I left that firm. I wish he get what he deserves.12 -
Devs : Lets pick library X, it is well know piece of open source technology, actively maintained by community for over 10 years.
Architect : NAH, it is an overkill to use it in our project , lets build our own solution.
*2 Months later*
The code base is hundreds of thousands lines of code, we basically started to look at library X on GitHub to copy features or get inspiration from that code. In that time we delivered 0 business value, it is horrible to use it and we constantly adding something or bugfixing because no one thought about something in first place.1 -
First day on my first job ever, the boss asks me what I want to do. I indicated that I had some experience with php and the yii framework (which was at some point very cool xD), so I wanted to start with something like that. And so it goes: after two days of watching laracasts (which is an awesome platform by the way! :O) I got assigned to a project.
Now the company I work at uses some kind of self built system that tracks how many hours are spent on which project, and compares that to how many hours was estimated implementing a feature would take. That's cool, but then I saw that for the project I was working on the time estimated was 5 work days. This was the estimate for both designing the interfaces and implementing both front and backend. I knew in advance that this was probably way to little time for me, but didn't want to come over as the new kid who can't do shit x)
Anyway, I started on the project and was having fun, but the biggest time consuming aspect of the project was not necessarily that I didn't have enough experience: it was that the developer who started this project and made most of the design choices had written some very messy code, without tests or apparently any refactoring. Also, everything was extremly inconsistent and not according to all the best practices I just watched in my laracasts spree.
So fastforward a little: we're way over the estimated hours. Yay. Now suddenly the boss comes by with an almost angry face that the client is becoming angry and we need to finish soon. He makes it entirely our (me and the front end guy) problem and I just decide to say nothing and try to work faster.
Now I'm stuck writing fugly code on top of more fugly code and when I mentioned to my front end guy that I was almost finished with feature but I only needed to finish up the tests, he said something like "oh just don't write tests, that'll take too long"... Is that really the mindset of this company?! No wonder the project I work on was in a very bad state.
Thanks to devrant I see now that I just need to say something if I know that I won't be able to complete something in a certain amount of time and that other people are just like me (thank god). :) I think I'll need to post more rants to vent my frustrations x)5 -
When you and your colleagues fight over code intending whether it should be a tab or ''x'' spaces.
My reply: It doesn't matter what you use!! It's like eating with either a fork or spoon, as long as you eat, dammit!!
My friend:5 -
DO !!!NOT!!!!! USE 'X' AND 'P' TO 'CUT AND PASTE' A LOT OF LINES ACROSS FILES IN VIM!!! HOLY SHIT I JUST PWNED MYSELF SO HARD I LOST SO MUCH CODE HOLY FUCK IT'S NOT EVEN FUNNY! WHERE DID AT ALL GO YOU ASK, WHY THE FUCKING REGISTER, OK LET'S CHECK THE REGISTER, COOL THERE IT IS, BUT WAIT, THERE'S ONLY LIKE 20% OF IT BECAUSE WE CUT A SHIT LOAD OF LINES AT ONCE, AND THE REGISTER OVERFILLED.... Ok let's calm down, doesn't Vim have a recovery option? Yes it does, but WAIT A FUCKING MINUTE, MY CHANGES ARE NOT IN THE SWAP FILE BECAUSE IT'S NOT LIKE VIM CRASHED OR ANYTHING, MY DUMB-FUCK-ASS WILLFULLY WROTE THE CHANGES WHEN I SWITCHED OVER TO THE NEW FILE, AND NOW, WELL THAT'S IT, YOU'RE DEAD KIDDO, YOU WROTE THE CHANGES TO DISK, NOTHING YOU CAN DO, AND I AM SO SCREWED I SPECIFICALLY MADE A DEVRANT ACCOUNT TO MAKE SURE NO ONE ELSE PWNS HIMSELF AS HARD AS I JUST DID HOLY FUCK16
-
Yknow, I want to make an android app that I have in my mind for about half a year now and I already tried twice, both with Kotlin and with Java but everytime I try it's just pain and suffering and frustration...
No it's not because of the language, I like Java and I like Kotlin too and I'd say I'm at least decent at Kotlin and really good in Java...
No no.. the issue is the fucking Android SDK and the mix-and-match documentation available online!!!
Every fucking time I want to implement some sort of UI element, user action or a background service and I start googling how to do it It comes with with at least 3 different stack overflow solutions, all of them saying "that way of doing it is deprecated, instead you should X" and looking up the OFFICIAL FUCKING DOCS it will just make me roll up in the corner and cry because of how fucking inconsistent it is and the retarded domain language it uses... fucking transactions for fucking fragments inside fucking activities... because I guess the word "screen"/"view"/"template" or something similar natural just was too mainstream for the all knowing alphabet soup that google is...
And then you start looking up what the fucking difference even is and how to code it up only to find out there's at least 12 other opinions on how fragments should be used and what should be an activity and what should be a damn fragment...
But that's not all, that's just the base... I get a headache even thinking about how the fucking inflating of templates and the entire R. notation works. You want to open a fucking tiny corner menu with the settings options? WELL THEN YOU FUCKING BETTER REMEMBER TO IMPLEMENT IT THROUGH SOME SORT OF EVENT AND INFLATE THE MENU YOURSELF EVEN THOUGH ITS THE SAME FUCKING THING WITH STATIC STRINGS...
AND WHY THE FUCK DO I NEED LIKE 4 NEW FILES TO IMPLEMENT A FUCKING LISTVIEW...
also talking about ListViews... what was wrong with "ListView"... Why do we need a "RecyclerView"... oh right... because the fucks fucked the fuck up and all the legacy components were designed by a monkey and are next to useless! SO WE NEEDED A NEW NAME FOR THE FIXED VERSION, CANT NAME IT LISTVIEW AGAIN... FUCK YOU...
honestly... if I got a dolar for every "what the fuck android" I said during trying to understand that mess I'd be richer by a few hundred...
oh oh oh, but you know what? You don't like the android SDK? that's fine, you can use fucking React or Flutter or something... yeah.. because instead of torturing myself with the android SDK I want to torture myself with an abstraction of the same SDK and JavaScript as the fucking cherry on top... HAVE YOU FUCKING SEEN THE CODE FLUTTER SHOWS ON THEIR WEBSITE AS THE "Introduction" ?!!!
Look at this piece of shit:
[code in attached image, we could really use a proper Markdown support at least for rants]
THAT'S NOT EVEN THE ENTIRE THING, THAT'S JUST THE *REALLY* UGLY PART...
The fucking nesting... What is it with JS and all the fucking nesting everytime?! It looks like shit.... It reads like shit as well...
WHY, in the name OF FUCK, IS THERE MORE THAN 5 ANDROID FRAMEWORKS and ALL of them... used this FUCKING NOVEL idea of programming using A FUCKING BRACKET WALL
It always looks like:
(code(code[code{code(code{code()})}]));
If I wanted to make a fucking app or a website using fucking Haskell I'd do that.... at this point reading assembly code feels like heaven compared to this retardation... Why is this so popular?! WHAT DO YOU PEOPLE SEE IN IT?! Clearly it's not the aesthetics... it looks like a fucking frog vomit running down an emus leg, fuck that.... I don't even hate classic JavaScript, it's a good enough language and it does what I tell it to... but these ugly fucking frameworks like react, angular and whatever else uses this fucking format can go fuck right off. This is not the way JS is gonna get a better name for itself...
So:
Fuck Google
Fuck the marionette that designed the Android SDK
Fuck the Hellspawn the came up with the "functional-like" way of using JavaScript
Fuck everyone that thinks "JavaScript everywhere" is a good thing
And deeply future-fuck everyone that makes a new framework following any of these standards, stucks a .js at the end of the name and releases his hairball.js of an invention into the fucking world....
It's a mess... fuck everything android related...14 -
We were in a meeting today and it came my turn to talk.
me: "I am working on something not fun. I am tracking down a bug in X software that a customer has issues with."
boss: "It is like an easter egg hunt."
me: "Yes, but instead of eggs I am going to find a pile of crap."
boss: "Laughs..."
me: "Its not chocolate..."
boss: "next..."
The original code I am wading through is very likely my boss' code.3 -
Apparently USPS tracking numbers are case sensitive... I missed a delivery today so went online to check the status.
The code was RAxxxxxxxxxxxxxxxxxxxTR
x=numbers
I first typed the letters in lowercase and it said package not found...
Really???!!!!!! Don't you think all those numbers are already too long...3 -
Create an web application(a product of our company). Manager insisted on using X third party API instead of Y third party API.
Now the app is complete.
*Very slow, Shitty User Experience *
I feel shameful for creating such a disaster and also wasted 3 sprints on it. But couldn't do anything because I don't have an authority to take decision which API or technology stack I should use.
Business head and manager had a meeting. Now they want to use Y third party API.
So they called me for discussion, lets me know we will now use Y third party API and it should be completed within a week because we just need to change the API calls in code that's all, despite of knowing all the core logic is built around those API.
Don't know how to react to this :( Want to hit my head on a wall3 -
Worst part of being a dev?
For me it's putting myself into infinite loops wrestling with my own self doubt. Is this really how I want to solve this problem? Could this code be cleaner? Surely there's a better way to do this? Am I adding unnecessary complexity? Is this going to come back and bite me in x months? And so on...
In fact, most days I just feel like an imposter.4 -
So today I got an email about a job opportunity. The email was in romainian. This is the exact translation and bear in mind that in romanian as in every other language (I guess) alot of english phrases sound very cringy. This is the email:
We need a fearless hero for the IT realm!
X company, a thriving insurance community, is looking for a real hero of software development that can make code using the .NET mystical hammer that can only be lifted by a worthy, deserving and responsible warrior.
You can't fly? Can't shoot lasers? You are not wasting your night time by looking at the moon on tall blocks wearing a cape? Then you could be the hero we need.
Do not worry, the position does not imply superhuman strength :)) However, it requires intellectual strength and attention to detail. You can even use your powers from a comfortable chair in a welcoming team full of other heroes ready to help you. We won't leave you alone, after all even Batman has Robin :))
I have attached all the information you need. Only The Chosen One can open the document so you will know immediately if you are right. :))
If you want to be responsible with your strength, then I'm waiting for your updated English resume with all your heroic deeds in the past.
Remember, not all heroes wear capes!
... WHAT THE FUCK IS .NET MYSTICAL HAMMER??? AND WHO THE FUCK USES ":))" IN AN EMAIL??7 -
Boss: Alright so after lunch can you show me all the changes you've made for project x?
Me: there haven't been any visible changes to it so it looks exactly the same as when I showed you at the end of the day yesterday. Just reorganised the code a bit.
Boss: Well, refresh my memory anyway.
Me:...1 -
Why the fuck does Arduino use C++ macros for min, max, abs, etc. ???????
---
For those who don't know what a macro is, basic example:
#define abs(x) (x > 0 ? x : -(x))
Which looks like a function, but instead abs() will be replaced by the expression and all x will be replaced literally with what you pass to abs
So
abs(i++)
would evaluate to
(i++ > 0 ? i++ : -(i++))
which would call i++ twice
---
I guess I will have to double check every built in function and rewrite it if it's a macro -_-. Not taking any chances. Btw all Arduino functions are in one big file, so now I have to pollute my code with namespaces.
Macros can be great but what the fuck.16 -
Me in school: Math? When do I need know those details? I can look them up and just code it.
Me in high school: Computer science is way too math-y. I want to code!
Me coding php: Just make it work.
Me coding typescript: Just make it work.
Me coding scala: Just make it ... what ... how do I make it work!?!
Me asking stackoverflow: How do I do X in scala some functional programming stuff in mind in order to keep immutability.
Somebody way smarter than I: "In scalaz, a function A => A is called an endomorphism and is a Monoid whose associative binary operation is function composition and whose identity is the identity function"
Me now: Fuck my old arrogant self.1 -
fuck code.org.
here are a few things that my teacher said last class.
"public keys are used because they are computationally hard to crack"
"when you connect to a website, your credit card number is encrypted with the public key"
"digital certificates contain all the keys"
"imagine you have a clock with x numbers on it. now, wrap a rope with the length of y around the clock until you run out of rope. where the rope runs out is x mod y"
bonus:
"crack the code" is a legitimate vocabulary words
we had to learn modulus in an extremely weird way before she told the class that is was just the remainder, but more importantly, we werent even told why we were learning mod. the only explanation is that "its used in cryptography"
i honestly doubt she knows what aes is.
to sum it up:
she thinks everything we send to a server is encrypted via the public key.
she thinks *every* public key is inherently hard to crack.
she doesnt know https uses symmetric encryption.
i think that she doesnt know that the authenticity of certificates must be checked.7 -
Professor:
For your first assignment, create a Java application which can do the tasks X, Y and Z but make sure that your output is formatted exactly the same as my two examples in the PDF I've provided. You don't know if these are tabs or spaces? Just pick one and hope for the best. Oh, and don't forget to save all the generated objects in a Collection. The fuck do I know how they should be sorted in there, just make it look the same. Anyway, you can upload your code on our server sometime next week where your program will then be tested. Good luck.
PS: All my presentations are written in Comic Sans. I heard you kids love that shit.3 -
Just over heard, Dev A was reviewing another team's code ...
Senior Dev A: "I don't understand this teams code. I hate WebAPI. Wish we could use X."
Senior Dev B: "Why can't we use X?"
Senior Dev A: "It's frowned upon."
Senior Dev B: "By whom?"
- couple of seconds of silence -
Senior Dev A: "X is not a Microsoft technology"
- few more seconds of awkward silence -
Senior Dev A: "X is magnitudes slower than WebAPI anyway."
Senior Dev C: "What? How much slower?"
- caught off guard..didn't know Senior Dev C didn't have his headphones on -
Senior Dev A: "Um...I don't know, that is what you told me."
Senior Dev C: "I never said that. I've never used X. I prefer WebAPI anyway, but both WebAPI and X use REST based protocols, I doubt X is magnitudes slower. Actually, I think you told me WebAPI was slower."
Senior Dev A: "Different paradigm."
- second or two of silence -
Senior Dev B: "What?"
Senior Dev A: "Hey, did you see on twitter ..."
Have no idea where he thought that conversation was going. Maybe he was hoping the other devs would dog-pile/attack the code. Pretty funny it backfired. His face when Dev C said 'I never said that' was priceless. Like "Oh -bleep- ..how do I lie out of this one? ...quick, distract with random words or a twitter post" -
Tech lead doesn't focus on the fact that I solved the problem, only says stuff like:
- "yeah but this is why we are Agile"
- "did someone else review your code?"
- "you can't expect me to have to understand what the program does"
- "did you get permission from X to solve this problem?"
- "talk to someone else if you have any problem. only come to me with answers"
I guess I don't have to explain I don't like my tech lead.12 -
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 -
Raging here, overheating really. One spends thousands on technology that is promoted with the catch phrase "it just works", yet here I am, after updating my fancy new emoji maker (iphone x) to 11.2 and then attempt to carry on working by compiling my code to test some new features. And...
oh, whats this xCode? You have a problem? You can't locate something? You can't locate iOS 11.2 (15C114)... sorry and you think that this "May not" be supported in current version of Xcode?
Let me get this straight you advanced piece of technological wizardy, you know you are missing something, you in fact know what it is, you can actually TELL me what is missing and yet, still, in 2017, you can't go FETCH it?????
Really? All you can do is sit, with that stupid look on your face, and watch the paint dry? Your stuck? That's it?
I hate you for the false pretense of advanced capability. and for your lack of a consistent dark theme so my eyes stop bleeding when reading your "I don't know what to do" messages...
By the way, maybe you can stop randomly crashing, or pinwheeling, I get that your bored as a machine designed to crunch numbers/data/code all day long and that for fun you feel you have to add some color to your subsitance. But stop it. Do what I'm told you can do, "JUST WORK" for once without me having to drag you forward kicking and screaming.
K. that feels better. Now for some whiskey.5 -
Is it just the novice in me that finds the Haskell community's misguided obsession over character count really annoying? Learn You a Haskell For Greater Good states
> Shorter code means less bugs
A lot of people and resources seem to share this opinion, but it's obviously false. Simpler code means less bugs, but look at this function which just means "apply this applicative to each element of a list"
> sequence :: (Applicative f) => [f a] -> f [a]
> sequence = foldr (liftA2 (:)) (pure [])
This isn't "less buggy", it's fucking madness. The same in JS, the king of unreadable languages, would be:
function sequence(seq, val, apply = (f, x) => f(x)) {
seq.map(f => apply(f, val))
}
Seriously, how can you design a strictly typed language that gets beaten by JS in readability?16 -
During a code review I was told that
if(x and y){
if(z){}
}
Will be slower to run than
if(x and y and z){}
I mean if you want to talk about programming practices and uniform code yes absolutely but any compiler will treat these identically, not to mention the assembly being identical. She was a superior though so I just went along with it.10 -
New mobile challenge I created:
... treat this as production code and show us your best practises and thought processes ... please list and explain any third party libraries used.
First submission:
I've used library X, although it has a major UI defect when rotating the device, it should be good for a simple test.
... wrong2 -
One of the most hated things by me in my entire Internet using experience is guys who comment on blogs and forums saying "Pls send me help/full code for this: my email is X and my number is Y"
Grow up guys. The admin is not your slave to send you personal help on an email.
It's so damn embarrassing I'm starting to hate my nationality.2 -
My boss just called me and asked to write a email informing our clients to not to download the update we pushed this very evening because Application is crashing when you will open that particular page.
What went wrong? One of our senior Developer, let's call him Mr. X, is totally against of testing the app before deploying it to clients. He believes that as i have created the application, i know exactly what to change to accomplish a requested feature or bug in application.
When a ticket assigned to him about a bug in the application, he simply make some changes in code, create the package and send it to test department. How do I know? He even boast it in front of us.
Most of the time it works but not every time like today. And I am pretty sure my boss is not going to ask a explanation about this to him.
I have great respect for him. It's okay to have confidence but testing before sending it to anybody will not make you junior. Will it? Being a senior You are making others to be careless about his job.
That's what happen today. Mr. X failed so does the testing department. So am I. I am the head of testing department as well.
I am not blaming him. I just cant. It was our job to test app thoroughly. I am feeling pretty bad now. His confidence made me vulnerable. Say his confidence made me clearly a fool. Lesson has been learned though.2 -
TLDR: Scope creep.
Fuck it! I hate scope creep! 2 days before the deadline is due, slip in a little scope creep to bolster your already ambiguous as fuck scope! Of course, more fool me for taking on a project with a scope as ambiguous as this one. Or for accepting the 'just do x and y and your done' as gospel. But then again I enjoy paying my bills and you know, eating from time to time!
Fuck 'em! Fuck Clients! Fuck Scope Creep! Fuck Ambiguity to it's very Fucking core! Fuck it! Fuck me! Fuck code! I'm venturing under my table for a little cry and a sulk, then back at the god-damned grindstone to finish the project and all it's creepy scopy bits before the deadline tomorrow! FUCK!rant fuckitall fuck! clientsarewankers fuckme fuckthechainofcommand ambiguity fuckfreelancing scopecreep2 -
La me working on a new chrome extension:
- ok, this page has some hidden divs, I need to tell the extension to make windows scroll to the bottom while there are still elements with a hidden class
- creates a while(1) loop with a condition inside it to break if no elements with hidden class are longer there.
- happy with the code
- uploads the extension
- goes to page
- brings out developer tools
- goes to console
- clicks on extension on chrome
- right clicks the extension and then inspect
- ok here we go: la me click on button inside extension popup
- console shows some logs
- nice it's still looking.
.
.
.
- wait! Why is the page not scrolling ???
- looks at logs, WTF nothing changes in logs .....
- OMMMMG a infinite loop .... infinite loop inside chrome ....
- OMMMMMG my pc's gonna crash .
-stop please stop stop.
- wait! how do I stop this?
- tries CTRL+C ... nothing
- tries CTRL+Z ... nothing ...
.
.
.
.
Abort abort Aboooooort.
.
.
.
- Deletes extension from chrome.
-..... loop still running
- clicks on X to close Chrome.....
- not closing O_o
- Oh God, i need to do something before Chrome sucks all the RAM left.
- remembers the savior...
.
.
.
- Task Manager heeeelp me.
- opens Task manager
- chrome is consuming ~ 2 GB of RAM.
- WTF! Kills chrome.
Thanks for reading my lil adventure 😅5 -
daily.
me: i looked into the customer dev's project and even though it's C#, i can use it as a source of inspiration for my own C++ library.
PM: okay, maybe we can even still use it, so that you use a C# dll with your C++ code.
me: ...
other colleague: that's a bad idea. it can already be a challenge to use unmanaged c++ in dotnet, but the other way round it's even more difficult. C# and C++ are languages that behave quite differently and it will be hard to implement a correctly working interface.
PM: okay. well... then please analyze this project's complexity in terms of LOC and create a class diagram, so we get an idea of how complex it is.
me: sure.
PM: hmm... maybe we should split this topic. since dev x will also rely on your library, analyze this project together with him, each of you look at another part of the classes.
me: that's.... i think that's a bad idea. implementing this functionality in this library is my job, not of dev X. he won't be involved in implementing any of the funcionalities and for him, it shouldn't matter how this works.
PM: yeah, but since we are prototyping, maybe we should just violate the "separation of concerns" rule.
me (internally): (ノಠ益ಠ)ノ彡┻━┻
in the end i could convince him to do it my way, but for fuck's sake... when was the last time he actually succesfully implemented something? 🤦♀️ -
I was asked to fix a critical issue which had high visibility among the higher ups and were blocking QA from testing.
My dev lead (who was more like a dev manager) was having one of his insecure moments of “I need to get credit for helping fix this”, probably because he steals the oxygen from those who actually deserve to be alive and he knows he should be fired, slowly...over a BBQ.
For the next few days, I was bombarded with requests for status updates. Idea after idea of what I could do to fix the issue was hurled at me when all I needed was time to make the fix.
Dev Lead: “Dev X says he knows what the problem is and it’s a simple code fix and should be quick.” (Dev X is in the room as well)
Me: “Tell me, have you actually looked into the issue? Then you know that there are several race conditions causing this issue and the error only manifests itself during a Jenkins build and not locally. In order to know if you’ve fixed it, you have to run the Jenkins job each time which is a lengthy process.”
Dev X: “I don’t know how to access Jenkins.”
And so it continued. Just so you know, I’ve worked at controlling my anger over the years, usually triggered by asinine comments and decisions. I trained for many years with Buddhist monks atop remote mountain ranges, meditated for days under waterfalls, contemplated life in solitude as I crossed the desert, and spent many phone calls talking to Microsoft enterprise support while smiling.
But the next day, I lost my shit.
I had been working out quite a bit too so I could have probably flipped around ten large tables before I got tired. And I’m talking long tables you’d need two people to move.
For context, unresolved comments in our pull request process block the ability to merge. My code was ready and I had two other devs review and approve my code already, but my dev lead, who has never seen the code base, gave up trying to learn how to build the app, and hasn’t coded in years, decided to comment on my pull request that upper management has been waiting on and that he himself has been hounding me about.
Two stood out to me. I read them slowly.
“I think you should name this unit test better” (That unit test existed before my PR)
“This function was deleted and moved to this other file, just so people know”
A devil greeted me when I entered hell. He was quite understanding. It turns out he was also a dev.3 -
One night, after one very stressful week of production code fixes (I was working on a game with some friends and I created the network infrastructure for P2P and database communication from scratch), I was at my gf's house. After we fell asleep, I stood up and screamed right at her something like "I fucking already told you how X works and how to communicate with Y. Learn to write code properly and after double checking yours then you shall ask me for a non-existing 'bug' fix. Learn how to properly write event based code and use polling you moron!". After that I turned to the other side and fell asleep immediately.
When I saw her the next morning sleeping in the couch, I could not understand why... Only after she described to me the whole incident I started laughing.
After that I just took two weeks off the project and after that period I never actually worked the same way (so hard) in my free time with them.1 -
Dumbass made me update site with broken code ...
After git pulling I got an ich and tested it...
So the following talk happened:
Me: feature x is still broken (it was working before...)
Dass: yeah, I just wanna make some screenshots of it from another machine that has windows.
Me: OK, I just rolled the changes back, you can access the other machine at lan...
Me inside: OOOHHHH YOU FUCKING PIECE OF SHIT MADE ME GET UP FROM BED AND START MY FUCKING COMPUTER FOR THIS BULLSHIT IDIOTIC NONSENSE?!? FOR REAL??? GET YOU SHIT TOGETHER ASSHOLE! -
This is just a bunch of things I needed to get out that I’ve been holding in for a while now.
Recently I’ve found myself In this state where I feel so depressed, lazy, and just pressured to program in general. I feel like it comes from me dismissing my abilities a lot of the time and I get demotivated to do stuff but at the same time when I do sit down and code I get distracted so easily, I can get work done but I just feel like I’m everywhere.
I want to apply for positions but I’m in this duality where I both feel like I can or can’t do it, I feel like wherever I apply to will not be accepting to people that don’t have a big degree or a ton of work experience and that I’ll get fucked on it. I’m fucking anxious that if I do get a job they will be like “hey fucking do X” and I will have no fucking clue how to even do X, and I’ve had people tell me that they know for a fact I can do it but I still fucking can’t believe it because I just completely doubt myself because I have failed at things like learning certain frameworks or failing to make the things I want and having to turn to simpler projects first because I’m too overwhelmed by the scale and I didn’t do any thinking about it before hand.
I don’t know if I’m making sense at all, I always write out rants like this and I always just erase them because I fucking hate whining like this but I need to let it out before I go more crazy I’ve been holding so much in for a long time now and it’s not been good.
I just over all feel terrible, anxious, and unproductive and I want it to stop.5 -
Dear Santa,
Here are a couple of things I want for Christmas.
1. I do want to eat no more so allow for oxygen to be my food.
2. Allow me to never sleep again or be tired.
3. Allow all my programs & code to work on the first try.
4. Allow all my hacks to work too.
5. X-Ray vision
6. xx.xxx.xx.xx6 -
Some "engineers" entire jobs seems to only consist of enforcing ridiculous bureaucracy in multinational companies.
I'm not going to get specific, the flow is basically:
- Developer that has to actually write code and build functionality gets given a task, engineer needs X to do it - a jenkins job, a small k8s cluster, etc.
- Developer needs to get permission from some highly placed "engineer" who hasn't touched a docker image or opened a PR in the last 2 years
- Sends concise documentation on what needs to be built, why X is needed, etc.
Now we enter the land of needless bureaucracy. Everything gets questioned by people who put near 0 effort into actually understanding why X is needed.
They are already so much more experienced than you - so why would they need to fucking read anything you send them.
They want to arrange public meetings where they can flaunt their "knowledge" and beat on whatever you're building publicly while they still have nearly 0 grasp of what it actually is.
I hold a strong suspicion that they use these meetings simply as a way to publicly show their "impact", as they'll always make sure enough important people are invited. X will 99% of the time get approved eventually anyway, and the people approving it just know the boxes are being ticked while still not understanding it.
Just sick of dealing with people like this. Engineers that don't code can be great, reasonable people. I've had brilliant Product Owners, Architects, etc. But some of them are a fucking nightmare to deal with.7 -
For the last week or so I've been writing a userbot for Telegram. Completely from scratch, plus Telethon to not reinvent the wheel entirely. I'm coming from the codebase of an existing userbot.
That userbot is written by a good friend of mine, who makes 6 figures, and whom I respect greatly. However the code is a steaming pile of shit. Now that is not his fault, he largely inherited that code too, tried to fix it, failed, gave up.
I am reimplementing it entirely. I'm only looking at the modules, trying to understand them, and copying over the necessary bits and changing them where necessary. But I've come across some nasty shit.
Userbots often edit existing messages from real Telegram clients. They're kind of like a login to your account, but with a program rather than a regular client. You send a message from a real client, it sees it and does whatever it needs to, and edits your message to give you feedback. Which is great.
However, there's no need to do simple string edits by importing "re". So why do you? Because you're an idiot, that's why. The old bot is based on Paperplane, which in turn is based on Telethon. Why do I see function calls to Telethon in some places and Paperplane in others? Because you're an idiot, that's why. Why does the dig module fail to even give correct answers? Because you know nothing about the DNS, that's why. And you didn't learn about RRs before implementing it.
And don't you tell me that this code is shit, and this bot is slow only when I run it on a fucking Pentium. I run this shit on an i7 and CPU isn't even the issue - memory, disk and such are. If you had any clue whatsoever about efficiency, you would've known because it's blatantly obvious. There's a reason why my machines rarely go past 5% CPU utilization. It's the fastest component in the entire fucking system.
When users come and say.. hmm this application of yours, it consumes a lot of memory. It takes a long time to do X and Y and I don't quite understand why, it seems illogical. Then maybe you should go look at your code, like you would look at yourself in the mirror. And then you fucking go fix it so that I don't have to. You're an engineer just like I am. And I am not even a dev proper - I'm a sysadmin by trade. Why should I have to fix your shit for you?1 -
I am working on an open source game project, and the most common way to draw things is using a class named ManagedSurface. The class is otherwise awesome, but it has a method called getBasePtr(x, y), which gives you a pointer to the requested coordinates. Fair enough (this is C++ without STL by the way).
But WHY THE HELL CAN I REQUEST ANY POINTER THAT I WANT, EVEN IF IT'S OUTSIDE THE SURFACE? Other cointainers have sanity checks, asserts and such, and the surface KEEPS TRACK OF IT'S WIDTH AND HEIGHT.
WAS IT SO FUCKING HARD TO ADD assert(x <= w); assert(y <= h);???
I spent 3 days on valgrind trying to find a heap corruption that manifested at random points in the code.
FUUUUCK!
On the bright side, I learned how to use valgrind (which is awesomely awesome).4 -
i made a mock code that wouldn't close to prank my colleagues. this boy tried the x button and it didn't work, so he went for ctrl alt del and the pop up showed up to confirm and when pressing yes it still wouldn't close1
-
Doing a full rewrite from some DIY spaghetti framework: when it can't find a search query it returns "false" with the status code 200, the same php file responsible for querying an external api is put into all sorts of named folders, so e.g. a user that is in the results page X can continue searching on the same URL, instead of doing proper url rewrites or ajax calls to the one in the root directory, html is thrown into every other php line, a DIY sort function for a numbers array that fails to sort 0 before 1 and that all is just a 10 minute review, can't wait to see the rest.2
-
!rant
Arduino CNC
Hey guys.
Since I mostly see frameworks to use with G-Code in Arduino CNCs I'm gonna make my own framework, where you don't need to know G-Code and the code is executed by Arduino code.
The code would include a template to define steppers steps and such.
Would include a library to work with different stepper shields.
Would this interest to anyone?
I'll provide a full example with stuff to learn for any amateur working with CNCs or that want to work with one. If you're not interested, thank you for reading, you can stop here.
Ex:
X(10);
Y(-5.5);
XY(6,7.5);
Z(-10);
This framework would only use incremental coordinates and will work for basic forms, drilling and such.
<Tutorial>
Coordinates.
Coordinates can be relative/incremental or absolute.
Lets say you have a square with 10mm, (top coordinates: (X=0,Y=0) to (X=10,Y=10).
think your drawing this square.
First line:
X0, Y0
Absolute: x10,y0
Relative: X+10
Second line:
A: x10,y10
R: Y+10
Third Line (...)
Absolute is a fixed point (coordinate)
Relative is a distance to move (not a coordinate but the distance and direction)
</Tutorial>
So, to cut a square with a TR10 (end mill with radius=5, diameter=10)
<code>
// You don't place + in positive values
// The tool always cut in the direction of the tool rotation, meaning on the left of the material.
Z(10); // Security Distance
XY(-5,0); //Compensate the diameter of the tool in radius
Z(-1); // Z=0 is the top of the block to mill, in this case. Z=0 can also be in the bottom
Y(15); //Second Point
X(15); // Third Point
Y(-15); // Forth point
X-15; // Fifth Point
(repeat)
</code>
Now we have a block with 1mm depth. If you use a while or for you can repeat the sequence for x=n passages, change the value to Z for the depth and your done.31 -
TL;DR just read this
So my current (student) job. Asked me to count inventory. Did so, on paper because nobody had a list of the product barcodes for easy cumulative scanning. I also made records for every single barcode. Then I had to key it in onto the Bookkeeping and sales software thing. They don't have keyboard shortcuts, so I quickly made an ahk script.
Had to manually type in everything 3ven though I had a digital listing.
Software lets you print barcodes for products but gives you an error when you try because you haven't assigned a code. WHICH YOU CAN'T DO IN THAT Crap. You also can't search for a product based on code.
Found out it used access as a back end for that buggy c++ thing that crashes with 'operation not permitted' when you press the red x. Great! Now I can import! And there is a barcode field. Wow. Fucking fantastic. What a fuckfest.
Their website. Their fucking website. Great from a user's standpoint, but my God. It uses joomla! However, version 2.5. That hasn't been supported for a long time. Part of the images are hard coded into the theme. The text editor flips. Adding a page sometimes works, sometimes it doesn't, and sometimes makes 2 pages.
And their cnc lathe runs on a laptop with Windows 3 on it, but hey, fine5 -
This is what happened today in our dayli:
Lead: We need to profile our software
Me: You can use the chrome devtools as remote profiler, even on prod, or make HAR files for later inspection.
Lead: Yeah but no that’s just collecting data on every tick, we need something like “has been called x times”
Me: Yeah but you can filt -
Lead: Yeah no, so back when I wrote code in Delphi...
Me: *oh god no not this again*
Lead: ... We could have clicked a button in our IDE and it would wrap the function call with the API call to profile that function ...
Me, to the secret dev group in slack: doesn’t a simple method decorator and node performance api help with that?
The people in the group: We had this topic last Friday all day...
Me: oh well *get’s coffee and ignores lead*3 -
I like js and node in general.
But there's this thing I hate about NodeJs...
The blogs. The goddamn blogs.
Every goddamn blog post. Is code. Dozens of lines of code.
Oh, so you want X feature? Just copy paste this shit.
I swear to god, blog posts are the source versioning system to these people.
What they should instead is
a) Create a package.
b) Add tests to it.
c) Present the package to the reader with some minimal code.
But I'm a getting a huge impression that node blog writers want you to copy the code in their post, paste it in your project, and be happy with it.
Now, I'm not assuming that every person posting in medium.com is a software engineer (and by engineer I mean an engineer, not some fuckwad who begs for github stars on dev communities).
The problem to me is that they fucking SATURATE the goddamn search results.
The same goes for finding an npm package for your need, because there are so many low quality packages it's saturated too, you have too plow this stinking pile of projects that have very low quality,
and there's not a really good npm finder out there. Half of them are dead, some look and load like shit, and npm search has a low barrier for good code.
Me on rails, OTOH "ok, I need this thing", I google that and I swear to [-∞,+∞] I find GOOD packages, well designed, no cookie cutter bullshit, no obscure marketing shit on the README.md, it is very clear what this shit does, and the api is designed for HUMANS.
and it actually takes very little time to know if there's no such package.
I don't have to read dozens of fucking my-fuck-blog.io (jesus christ, the io domain has become such a fucking joke, it got fucking abused to death, there are some cool sites out there using it, but my god, James H. Marketing likes to just absorb everything he can, and the internet was not going to be a fucking exception)
does all of this make sense?3 -
Have to do a jee project without any knowledge in java, in 2 weeks.
Why ? My classmates put me in a group when i wasn't here, of course they know nothing and are not going to code..
Fuckkkkkk you!
Well, any advice with jee ? Where should i start to get a good grade x)9 -
Fucking people, why the hell are you reading into things instead of asking for clarification if something is unclear?
So much time, sweat and tears wasted on miscommunication.
When I said, "there might be a problem in the way component X method Y was implemented", i didnt mean go refactor the entire code of the component. Why waste 2 days of work on unnecessary refactor that nobody wanted and breaks changes + the bug is not fully fixed 😤13 -
Android dev job question:
"Describe the activity lifecycle and write an application that does x,y,z in accordance with it"
Fullstack dev job question:
"Write some code that interacts with our API and does x,y,z, put the data into our database and build a web interface"
Java backend dev interview :
"BUILD AN ELEVATOR ALGORITHM WITH LESS THAN o(nlog(n)), FIND NEIGHBORS IN A BINARY TREE, WHAT IS THE DIFFERENCE BETWEEN AN INTERFACE AND ABSTRACT CLASS?"
Why?5 -
Is it so hard to comment your code?
I work on collab projects here and there and both the comments and documentation are both awful, nearly always, there are some exceptions.
This is a plea to all those who teach anyone to program. "This performs a loop" is not a helpful comment, nor is "This sets variable x to 1" where the line below is "let x = 1".
The last piece of code brings me on to my next point meaningful variable names. If x is a variable that stores the age of a machine call it ageOfMachine or age_of_machine. Not aom, not x but what it actually is, modern IDEs and text editors will fill this out for you.
Finally documentation, a good friend of mine sent me this quote a while back, I can't find the image but "Documentation is like sex, when it's good, it's great. But when it's bad it's better than nothing." Your documentation should be good, a good pattern to follow is the Node.js documentation, it tells the function, what it does and what parameters it takes.
Anyway rant over; and I'm sure that this applies to people outside of this community only.5 -
when code comments be like
# loop over the array
for i in 1...10
# divide by 2
x = i / 2
# return the result
return x4 -
Code review, intern style:
Intern: Here is my pull request ...
Colleague: I see a problem with x, y, z. Could cause memory leaks.
Intern: Oh yeah you are correct, i'll fix that in the next one.
Intern: *merged* -
How to reverse engineer without knowing how to reverse engineer:
1.Open IDA pro
2. Hit shift+f12 for the strings view
3. Choose an interesting string
4. Hit x and go over the xrefs
5. You are now earning at least $140K a year.
Bonus: say that you can code html2 -
Rewrite of the sync api to REST.
Coworker: “hey, I know you’ve written and maintained our sync module for the past 4 years. Something I need to know? Some hints or knowledge you can share?”
Me: only thing you should not do is x and y. Otherwise you will face problems a and b.”
Coworker: “great, thanks a lot!”
2 months later...
Customer call: “da fuck are you doing? When I do stupid stuff then I face problem z and problem a!!!”
*me checking new code*
*me calling coworker*
Me: “WTF did you do? You asked for my advice and then did exactly what I told you NOT to do.”
Coworker: “oh, let me check the code..”
*coworker calls boss*
Coworker: “Boss, I can’t work with this guy, he starts fights all the time..”
*boss comes to my desk*
Boss: “I don’t want you to work on this anymore, people are complaining.”
Me: “what the fuck, I just asked him a question..”
~ 1 month later
coworker quits because he can’t handle all the bugs he caused and I have to maintain this piece of fucking retard code..3 -
! rant
Sorry but I'm really, really angry about this.
I'm an undergrad student in the United States at a small state college. My CS department is kinda small but most of the professors are very passionate about not only CS but education and being caring mentors. All except for one.
Dr. John (fake name, of course) did not study in the US. Most professors in my department didn't. But this man is a complete and utter a****le. His first semester teaching was my first semester at the school. I knew more about basic programming than he did. There were more than one occasion where I went "prof, I was taught that x was actually x because x. Is that wrong?" knowing that what I was posing was actually the right answer. Googled to verify first. He said that my old teachings were all wrong and that everything he said was the correct information. I called BS on that, waited until after class to be polite, and showed him that I was actually correct. Denied it.
His accent was also really problematic. I'm not one of those people who feel that a good teacher needs a native accent by any standard (literally only 1 prof in the whole department doesn't), but his English was *awful*. He couldn't lecture for his life and me, a straight A student in high school, was almost bored to sleep on more than one occasion. Several others actually did fall asleep. This... wasn't a good first impression.
It got worse. Much, much worse.
I got away with not having John for another semester before the bees were buzzing again. Operating systems was the second most poorly taught class I've ever been in. Dr John hadn't gotten any better. He'd gotten worse. In my first semester he was still receptive when you asked for help, was polite about explaining things, and was generally a decent guy. This didn't last. In operating systems, his replies to people asking for help became slightly more hostile. He wouldn't answer questions with much useful information and started saying "it's in chapter x of the textbook, go take a look". I mean, sure, I can read the textbook again and many of us did, but the textbook became a default answer to everything. Sometimes it wasn't worth asking. His homework assignments because more and more confusing, irrelavent to the course material, or just downright strange. We weren't allowed to use muxes. Only semaphores? It just didn't make much sense since we didn't need multiple threads in a critical zone at any time. Lastly for that class, the lectures were absolutely useless. I understood the material more if I didn't pay attention at all and taught myself what I needed to know. Usually the class was nothing more than doing other coursework, and I wasn't alone on this. It was the general consensus. I was so happy to be done with prof John.
Until AI was listed as taught by "staff", I rolled the dice, and it came up snake eyes.
AI was the worst course I've ever been in. Our first project was converting old python 2 code to 3 and replicating the solution the professor wanted. I, no matter how much debugging I did, could never get his answer. Thankfully, he had been lazy and just grabbed some code off stack overflow from an old commit, the output and test data from the repo, and said it was an assignment. Me, being the sneaky piece of garbage I am, knew that py2to3 was a thing, and used that for most of the conversion. Then the edits we needed to make came into play for the assignment, but it wasn't all that bad. Just some CSP and backtracking. Until I couldn't replicate the answer at all. I tried over and over and *over*, trying to figure out what I was doing wrong and could find Nothing. Eventually I smartened up, found the source on github, and copy pasted the solution. And... it matched mine? Now I was seriously confused, so I ran the test data on the official solution code from github. Well what do you know? My solution is right.
So now what? Well I went on a scavenger hunt to determine why. Turns out it was a shift in the way streaming happens for some data structures in py2 vs py3, and he never tested the code. He refused to accept my answer, so I made a lovely document proving I was right using the repo. Got a 100. lol.
Lectures were just plain useless. He asked us to solve multivar calculus problems that no one had seen and of course no one did it. He wasted 2 months on MDP. I'd continue but I'm running out of characters.
And now for the kicker. He becomes an a**hole, telling my friends doing research that they are terrible programmers, will never get anywhere doing this, etc. People were *crying* and the guy kept hammering the nail deeper for code that was honestly very good because "his was better". He treats women like delicate objects and its disgusting. YOU MADE MY FRIEND CRY, GAVE HER A BOX OF TISSUES, AND THEN JUST CONTINUED.
Want to know why we have issues with women in CS? People like this a****le. Don't be prof John. Encourage, inspire, and don't suck. I hope he's fired for discrimination.11 -
So I just had to tell three people to read the fucking docs in the comments of an AUR package.
They complained about linker errors, figured "oh happens with GCC 10, doesn't with GCC 9, let's use GCC 9".
If they had read the docs, they'd know that maybe, all that was needed to be able to compile the code was a single command-line flag. `-fcommon`.
People, just RTFM. If you see "oh upgrading from version X to version Y causes some issue", look up "porting from S X to Y", and find something like this: https://gcc.gnu.org/gcc-10/...
Was it so hard? Yes? Then why are you compiling any packages for yourself with a PKGBUILD when you should rather just stick to the non-customized packages built by people that know what they're doing, from the repositories?22 -
Being the only dev in charge of the project, makes you the one to be blamed for.
The God saviour, shiny armoured back end developer that joined the "team" (only me) to help into this new project Just Said in a meeting:
- "I wont code anything for this new project, I can't get the point of It"
So every meeting was
- "why feature X is not ready?"
- "I'm waiting the endpoint for It"
- "well, then mock It"
Now I fucking give up.
One month mocking things and "presenting" features that don't even exist. -
API Documentation: All API request should be made over https connections.
Me: Ok, (sees url bar), SECURE, good!
(sees curl code)
curl -X GET 'http://shittyapi.com/api/v2/users'
Me: (gasps) huh?
(heads to http://shittyapi.com/api/v2)
Me: Ok, (sees address bar) NOT SECURE
.
.
.
.
.
(long silence)5 -
I'm freaking done trying to get Linux on my machine. I've tried every distro with many different versions of the kernel and I always run into the same problem on my desktop.
The computer super stutters for 2 seconds ish than freezes.
I've spent DAYS looking into this issue trying to find something. The worst part is that it can happen 5 minutes when I boot or 5 hours. At first I thought it was Compton. Then I thought I installed arch wrong. Maybe an update to the BIOS? How about downloading updated microcode? Maybe this obscure bug with AMD processors and setting power idle to typical? Nothing. I'm now behind on my school work because of the massive amount of time ive spent getting this fixed. It works just fine on my laptop, but it doesn't work on the machine I built to code with. I'm done. Give me Force Lightning, a red lightsaber, and call me a Sith baby because I'm joining the dark side. Here I come Windows.
For those who are wondering my setup:
Ryzen 7 1700
Rx 480
Asus x-370 prime
16 gb Corsair RAM
And no, Windows has never had this bug.31 -
*Opens tutorial video*
Ok, today we are going to create x using x and we are going to use code::blocks as our ide
*Closes tutorial video and continues searching*
Anyone else just have an indescribable hate for code::blocks or just me?9 -
I don't know what you did yesterday, but i did make my company throw away 2 months of progress.
It all started in the beginning, since that i've made numerous complaints about the workflow or code and how to improve it. I've been told off every time, and every time i either told the boss who agreed in the end or wrote code to prove myself. Everything was a hassle and my tasks weren't better.
Team lead: you'll do X now, please do that by making Y.
Me: but Y is insecure, we should do Z.
Team lead: please do Y
Later it turns out Y is impossible and we do Z in the end...
Team lead: please do W now
Me, a few days later: i've tried and their server doesn't give http cors headers, doing W in the browser is impossible
Team lead, a few days later: have you made progress on W?
Me: * tells again it's impossible and uploads code to prove it *
Team lead: * no response *
After that i had enough. Technically i still was assigned to do W, but i used my time to look over the application and list all the things wrong with it. We had everything, giant commits, commented out code, unnecessary packages, a new commit introduced packages that crashed npm install on non-macs, angularjs-packages even though we use angular, weird logic, a security bug, all css in one file even though you can use component-specific css files...
I sent that to my boss, telling him to let the backend-guys have a look at it too and we had a meeting about this. I couldn't attend but they agreed with me completely. They decided to throw away what we have already and to let one of the backend-guys supervise our team. I guess there will be another talk with the team lead, but time will tell.
It feels so good having hope to finally escape this hellish development cycle of badly defined task, bad communication and headache-inducing merges. -
I was working as a software dev contractor at this company providing specific e-learning services for a specific industry X.
One day the CEO posts on Linkedin about an interview discussing the potential of gaining $100k per year working in industry X after getting specialized training for 6 months (using our e-learning platform of course) .
My gross income at the time was $65k. My experience was about 7-8 years. Now the thing is you might say "gee that's pretty low for a dev, especially a contractor", and yes I agree, but you have to understand a few facts:
1. I am from eastern Europe (cheapish labor - which btw for all of you out there from the West, including Germany and whatnot, it is xenophobic to consider easterners cheap and it personally insults me and my ability - but that's another story)
2. I was happy to accept the offer since it was the best I had up to that point :))
Now, by the time the LinkedIn post I was heavily invested in the product development. I personally had written 30% of the code (frontend and backend) compared to the whole development team (about 15 devs)... and yes you might argue that performance is not measured by number of lines of code... but trust me when I am saying I did the most on that product, and I am not saying this to brag, I actually care about the stuff that I work on.
When I saw that post on Linkedin I thought to myself "what kind of BS is this? I am a dev and devs are supposedly the best paid workers out there, and a guy from industry X that just got trained for 6 months would get more than me?! WTF?!"
So I messaged the CEO ...
Me: I noticed the post from linkedin about $100k by working in industry X, I am curious how does one get to that revenue per year? What is your advice?
CEO: The best way to obtain value is by creating value which you maximize continuously.
Me: and how does one maximize value?
CEO: it does not matter how hard your work but how large of an impact you make!
Me: ... and how do you measure impact? (me thinking about performance reviews for contract negotiations - and because performance reviews should be SMART -> meaning it should be measurable somehow)
CEO: Simon Sinek says ... << insert motivational quote here because I don't remember and don't care >>
I just lost if after reading the name "Simon Sinek" ...
So you see my dear friends ? It is all fairy dust, smoke and mirrors, in the end it is about maximizing profits, lowering costs and maintaining the illusion of opportunity... when there is none.
Lord is my witness... I hate hypocrisy and quackery ...
You can imagine that my contribution on that product immediately lowered, doing the bare minimum to meet the contract demands AND I FEEL NO REGRET.
%&#$ YOU SIMON SINEK.rant measure impact motivational quotes eastern european ceo not six figure salary jealousy simon sinek4 -
Can anyone tell me why is it good to use some crap language that transpiles to javascript? Yes i hate js too but 90% of my time using reason/ts/elm is just
>ddg how to do x in y
>no answer
>Js.unsafe.eval "js code"
Like???? None of them is a 100% complete wrapper???6 -
I've lost hope in my precision at this point:
We've updated our website to have X feature. The X feature was implemented, tested and even had unit tests... The worst part when I've lost hope? Both unit and the actual code had the same mistake in them. What was the mistake? Well...
if($variable = 'something') {}
Yeah... Read it carefully... We've always had the same case and only noticed it after 3 months when it was attempted to extend.
Funny enough, few users were harmed but no actual reports of an issue came to us.
Since then, I'm always triple checking that I have the correct amount of `=` to avoid further fuck-ups8 -
Gah! Person in work has an issue I suggest a fix and even give them the bleeding code. For them just to say it won't work due to x y and z, I know it will work heck I use this 'fix'. Then later someone who has been there longer gives them the same fix and they are suddenly all appreciative. Ffs wouldn't be so annoyed if this was the first time this has happened.1
-
Am I the only one who encounters these dickhead teachers, who live in a world, where they think that you have just their subject?
I mean that kind of professor, who shows up 30 minutes late to a lecture, sends you source code with no commetary because fuck you with a rusty fork and tells you that we have no time to write the code during the class?
The one who shows you a shitty presentation with the same code he just sent you, just cut into 72 slides and at every slide tells something like this is pretty self explanatory, x just does y and if you ask a question he gives you that deep stare, like if you really mean it seriously to waste his time, since he really really wants to go to his office sooner so he can scratch his balls?
That type of professor who tells you that as a student of CS degree you are required to put some passion to your craft and study when you arrive at home and hes there just to give you guidelines, but apparently somehow forgotten that people usually need to sleep?
That same cunt who doesnt give a shit that you have 4 more projects to finish this week, doesnt push the deadline, nor give you advice, because you had opporturnity to ask the whole time?
But still that motherfucker, who gives you test questions that he took from mouth of Satan himself and then questions your answers like Where did you get that from?
Well fuck yall who do that shit, hope that you suffocate yourself while eating bread.
Why these douches doesnt understand, that even if we arent under the Working Laws, working more than 40 hours a week isnt the best way to keep us sane or motivated.2 -
fuck off with the “do x in y lines of python code” it’s getting so goddamn annoying. yes python is concise. yes libraries do everything. you don’t need to show off someone else’s work with clickbait.
everything is like
“make a web server in 2 lines of python code”
import http.server
server = http.server.serve()
“mine bitcoin in 2 lines of python code”
import bitcoinminer
bitcoinminer.mine()
“do crazy math with 4 lines of python code”
import complex
import numpy
num1 = 1
num2 = 1
num3 = complex.addVectorMagnitudes(num1, num2)9 -
Since my first post was a success, here's another shameless hack-- in this case, ripping a "closed" database I don't usually have access to and making a copy in MySQL for productivity purposes. That was at a former job as an IT guy at a hardware store, think Lowes/Rona.
We had an old SCO Unix server hosting Informix SQL (curious, anyone here touched iSQL?), which has terminal only forms for the users to handle data, and has keybindings that are strangely vi based (ESC does commit changes. Mindfsck for the users!). To add new price changes to our products, this results to a lengthy procedure inside a terminal form (with ascii borders!) with a few required fields, which makes this rather long. Sadly, only I and a colleague had access to price changes.
Introducing a manager who asks a price change for a brand- not a single product, but the whole product line of a brand we sell. Oh and, those price changes ends later after the weekend (twice the work, back at regular price!)
The usual process is that they send me a price change request Excel document with all the item codes along with the new prices. However, being non technical, those managers write EVERYTHING at hand, cell by cell (code, product name, cost, new price, etc), sometimes just copy pasted from a terminal window
So when the manager asked me to change all those prices, I thought "That's the last time I manually enter all of this sh!t- and so does he". Since I already have a MySQL copy of the items & actual (live) price tables, I wrote a PHP backend to provide a basic API to be consumed to a now VBA enhanced Excel sheet.
This VBA Excel sheet had additional options like calculating a new price based on user provided choices ("Lower price by x $ or x %, but stay above cost by x $ or x %"), so the user could simply write back to back every item codes and the VBA Excel sheet will fetch & display automatically all relevant infos, and calculate a new price if it's a 20% price cut for example.
So when the managers started using that VBA sheet, I had also hidden a button which simply generate all SQL inserts for the prices written in the form, including a "back to regular price" if the user specified an end date, etc.
No more manual form entry for me, no more keyboard pecking for the managers with new prices calculated for them. It was a win/win :)1 -
Me: *opens existing shared telegram channel*
Me: Hello developers of SDK xxx, we have another issue. We've gotten 2 reports from users of problem X occurring while using the SDK to contact your servers. It happens here, then this happens, using version Y. Code is the same open source app + library as before if you need to check it, same 2 files as before. Here are some screen shots of the error in the app too, just in case
*3 days later*
Dev: yes this does indeed seem to be a problem. Can you provide us more info to debug this effectively?
Me: ..... I sure can ..... if you let me know what it is you need ..... because you currently have access to absolutely everything already .... and i've been waiting 3 days, some specifics of what you need would be great!!!2 -
If got to do some bugfixing at work today.
Looking through code:
if (x !== undefined || x !== null){
I want the person who wrote this to wear the ugliest and scratchiest christmas sweater with "i write bad code" written on it15 -
ME - me, TM - teammate
I was just recruited to the company. We're starting new project based on few modules.
ME: So this module will do X and Y, I will use good old interfaces and design based on abstractions so that stuff does not get glued too much.
TM: But why? Make good old processor with all the logic and throw objects at it.
ME: B-but unit tests, decomposition and othet stuff...
TM: *insists and forces me to agree*
ME: *gets shit done his way, TM checks on code review and complains but generally doesnt give a fuck*
ME: Ok, its done. Lets get shit shipped.
TM: Well, we were just told by PM that we will need to process one more source with much different logic that does not fit current solution (he did meant GOD-PROCESSOR, idea of his).
ME: What do you mean? *injects another contextual implementation of processing logic to template method pattern solution*.
TM: I will tell PM you cant make it because of the implementation.
ME: But I just did it...
TM: Impossible, processor needs to be reimplemented. Get your shit together!
ME: *still doesnt get the shit about the god processor love*
TM: *rage quits next month*
ME: *module gets reused once more 2 month later, profit* -
Copy and paste similar code where I have to change X values but ALWAYS mange to only change X-1 values so i get weird behaviour start debugging what in the end then takes longer than to write it new in the first place. Hate myself for that.
-
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 -
Just had to debug a piece of code for the 5th time today and I'm starting to lose my mind. Why do programmers insist on using single-letter variable names?! Is it really that hard to come up with something more descriptive? I mean, I get it, "x" is easy to type, but so is "counter" or "iterations". Does anyone else feel like they're just constantly fighting a losing battle against the entropy of poorly written code?22
-
Does anyone work on a team with multiple stacks?
For example we have batch jobs in Java but also have a JS front-end and APIs.
How do you divide the developers and the work across these projects?
Currently everyone does everything but I feel like this is inefficient and hard to develop expertise. And different people or even the same person will make the same mistakes over and over again because they don't know how to do X or they forget or overlook some quirk. When I switched Beck to JS took me like a week to get a Promises nailed down again. And this morning someone else had a production bug and couldn't figure it out. But when I looked at the code I could pretty much see where an issue could be (uncaught exception in a promise)
Also the testing frameworks are very different and there's a lot of infrastructure technical debt, things that really should've been done a long time or fixed but no one had the time or expertise to do it or notice it (until it causes a production issue and then everyone is like WTF is happening??!!!!).
I'm not the manager but I always feel that the team needs to be split along the language lines and specific people need to own these projects to review and code changes for all these common newbie errors. And also developer enough expertise to foresee problems before it becomes a production issue.9 -
This is how I explain my co-workers when they see this line of code in my utilities projects:
export const pipe = (...fns) => x => fns.reduce((y, f) => f(y), x)3 -
I've been offline from devrant for a while now but damn, I need to vent this shit
One of my colleagues can't describe tickets well enough, so I often have to speak to my colleague about it what he/she ments with their description (usually the ticket description is one line… that's all)
But yesterday the ticket was quite ok, I got were he/she was going for
Conveniently my colleague walked by at the end of yesterday and asked me how it was going
I responded quite energetic 'quite well, ticket is almost done'
And when I showed my colleague the result he/she said, well I got some feedback this morning, and we need to move X to Y with Z data
But you don't get the full story, this project exists of a very old abandoned framework (2013). Hacked together to work for more than one customer (but still copied over to run standalone) with the last year of development being focused on fast results (no time given to workout bugs or refactoring for cleaner/readable code)
So now I have to (on a feature that already took me 3 days to build) remove roughly 25% of the code and hacks, and hack a solution together..
This shit is demotivating as fuck...1 -
The garbage recruiters are trying to sell is insane.
Don’t scrape the bottom of the ocean trying to pass barnacles off as salmon!
Just because someone can make computer go “beep boop” -- and you can’t — says more about you then it does about them.
Do they have a single thing in their portfolio that is even a little better than the output of the average “Learn x in y mins” video on youtube? Let that stock simmer for a little longer before you serve it!
Nothing in their portfolio at all you say? They’ve never once written code unless they were forced to? Top talent! Hired!
They scored 80% on your screening test? Wow! My dog scored 90%.
Modern day snake oil peddlers the lot of them.8 -
I'm gonna start by assuming I'm not the only one who has to deal with this (because that's the case in almost any "Am I the only one that x?"), so here it goes...
How do you deal with the urge to use a framework / library for everything?
I started to notice this behavior in myself a few months back, "there's definitely someone who has already made this, so why should I reinvent the wheel?", and my biggest fear is to become someone who just links chunks of code 'till it works. Did you had to deal with this at some point? What was your approach to this "problem"?3 -
I'm still studying computer science/programming, I still have one year to do in order to graduate (Master). I am in a work study program so I'm working for a company half of the time, and I'm studying the other half. It is important to mention that I am the only web developer of the company
When I arrived in the company 9 months ago, I was given a Vue project which had been developed by a trainee a few weeks before my arrival and I was asked to correct a few things, it was mostly about css. Then, I was ask to add a few functionalities, nothing really hard to code, and we were supposed to test the solution in a staging environment, and if everything was ok, deploy it to prod.
However, the more I did what I was asked, the more functionalities I had to implement, until I reached a point where I had to modify the API, create new routes, etc. I'm not complaining about that, that's my job and I like it. But the solution was supposed to be ready when I arrived, it was also supposed to be tested and deployed.
The problem is, the person emitting these demands (let's call him guy X) is not from the IT service, it's a future user of the website in the admin side. The demands kept going and going and going because, according to him, the solution was not in a good enough state to be deployed, it missed too many (un)necessary features. It kept going for a few months.
The best is yet to come though : guy X was obviously a superior, and HIS superior started putting pressure on me through mails, saying the app was already supposed to be in production and he was implying that I wasn't working fast enough. Luckily, my IT supervisor was aware of what was going on and knew I obviously wasn't to blame.
In the end, the solution was eagerly deployed in production, didn't go through the staging environment and was opened to the users. Now, guy X receives complaints because none of what I did was tested (it was by me, but I wasn't going to test every single little thing because I didn't have time). Some users couldn't connect or use this or that feature and I am literally drowning in mails, all from guy X, asking me to correct things because users are blocked and it's time consuming for him to do some of the things the website was doing manually.
We are here now just because things have been done in a rush, I'm still working on it and trying to fix prod problems and it's pissing me off because we HAVE a staging environment that was supposed to prevent me from working against the clock.
On a final note, what's funny is that the code I'm modifying, the pre-existing one needs to be refactored because bits and pieces are repeated sometimes 5 times where it should have been externalized and imported from another file. But I don't know when and if I will ever be able to do that.
I could have given more context but it's 4am and I'm kinda tired, sorry if I'm not clear or anything. That's my first rant -
You know why i hate JavaScript?
Instead of writing
return x.y.z;
I wrote
return
x
.y
.z;
Just for making the code look clean
and everything broke...10 -
I'm using framework X, I managed to google and fix the bug in a few seconds, nice!
I'm using framework X with library Y, I managed to google and fix the bug in a few minutes, nice!
I'm using framework X with library Y and Z that adds certain features, I managed to google and fix the bug in a few hours, I need a bathroom break and coffee but great!
I'm using framework X, runtime environment version 3, library X and Z and am trying to achieve T because god knows why and managed to only find 2 old stackoverflow topics and 1 reddit post almost completely unrelated but I tried their code anyway and I feel so miserable I'm behind schedule and can't seem to be able to fix this stupid issue what am I doing with my life oh please...2 -
Dear X. There's an obvious error with the way you're merging arrays; instead of conditionally adding items to the existing array, each condition overrides any items added by the previous conditions, which is clearly not the desired behaviour. I'd love to add a test to illustrate this behaviour, but you're not using them. I'd also love to create a simple pull request, but for some fucking reason you're using the worst possible version control system so I can't do that. I've submitted a support ticket along with all the code needed to fix this silly mistake, but apparently you either don't understand 2 lines of your own fucking code, or you didn't even bother looking at it before posting a shitty generic reply about "needing more information". There is no such thing as more information. There are two IFs, and they are supposed to add items to the array, not override any previous items. It's written in your own comments, and it's pretty obvious from the way the rest of the function merges those items.
Also, use a fucking linter, your code is a mess.7 -
Do you think it’s appropriate to use the phrase "dried" in commit messages to refer to removing duplicate code? (DRY = don’t repeat yourself)
I just used it and I’m not sure if it’s ok because some devs might not understand it and the the original letters from DRY went away and became "dried" so it might be even more cryptic.
On the other hand it’s so much more concise having "dried type X" compared to "refactored the code so that it doesn’t contain duplicates of type X"13 -
Typescript: All of your javascript code is valid typescript
Installs Typescript
runs typescript
Typescript: line x in function y has an error
Checking the function for error and the code is fine
After wasting an hour comment out all the linez in function y
Run typescript
Typescript: you have an error on line x which is commented in function y
ERROR IN A COMMENTED LINE :(4 -
Rant
Frustrated...
How single tiny mistakes can ruin your day...
For those who don't know me (and I've been absent from social media, even DevR cause of a burn out) I'm not a developer as most here, my code Is Numeric Code (work with a CNC machine)
Like, I have to do corrections every day to compensate for my programmer mistakes...
-Today broke two tools because I'm so tired I forgot to make such corrections...
-Got fucked up by my boss cause of It
- worked to hard all week to push the work forward (everyone else is dependent on me, because I start most of the pieces from a block of metal), now I can't think straight... and get fucked because of some simple mistakes...
Colleges trow away pieces worth from 5000 euros to 50000 euros (and more) cause of distraction and he always picks on me, even for stuff that isn't my fault or my responsibility...
I love my job, my company, but sometimes...
BTW, if anyone is curious what a CNC machine does, check this out: https://youtube.com/watch/...
Its so awesome to work with such a machine... Mine has a 2,5m x 1,3m table and 5 tons maximum weight4 -
I spent the whole day coding in python (usually I code in php or perl) and this language is a fucking joke. C'mon, why everything have to be done in such a weird way? And don't say it's python way because it's bullshit way. Want some examples?
", ". join(str(x) for x in array)
to join array of integers. wtf is that?
True|False
why in hell you need the first letter to be uppercase when your own fucking standard says to use lowercase letters in eg. var names and method names. why?
math.isnan(float(x))
to check if a variable (expected to be integer) is NaN. I won't fucking comment that...
Even prolog don't have such stupid things6 -
Oh boy. 2.5k loc of legacy bash code. The task is to give every function its own script since that is literally what this script is. Cha8ned together individual scripts . Fingers crossed its actually just breaking out functions :x
-
SO MAD. Hands are shaking after dealing with this awful API for too long. I just sent this to a contact at JP Morgan Chase.
-------------------
Hello [X],
1. I'm having absolutely no luck logging in to this account to check the Order Abstraction service settings. I was able to log in once earlier this morning, but ever since I've received this frustratingly vague "We are currently unable to complete your request" error message (attached). I even switched IP's via a VPN, and was able to get as far as entering the below Identification Code until I got the same message. Has this account been blocked? Password incorrect? What's the issue?
2. I've been researching the Order Abstraction API for hours as well, attempting to defuddle this gem of an API call response:
error=1&message=Authentication+failure....processing+stopped
NOWHERE in the documentation (last updated 14 months ago) is there any reference to this^^ error or any sort of standardized error-handling description whatsoever - unless you count the detailed error codes outlined for the Hosted Payment responses, which this Order Abstraction service completely ignores. Finally, the HTTP response status code from the Abstraction API is "200 OK", signaling that everything is fine and dandy, which is incorrect. The error message indicates there should be a 400-level status code response, such as 401 Unauthorized, 403 Forbidden or at least 400 Bad Request.
Frankly, I am extremely frustrated and tired of working with poorly documented, poorly designed and poorly maintained developer services which fail to follow basic methodology standardized decades ago. Error messages should be clear and descriptive, including HTTP status codes and a parseable response - preferably JSON or XML.
-----
This whole piece of garbage is junk. If you're big enough to own a bank, you're big enough to provide useful error messages to the developers kind enough to attempt to work with you.2 -
My first rant. Woohoo!
Honestly I do the whole shebang ussualy depending on what the needs are from network to servers to coding because for some reason nobody has any technical experience where I work.
I just started app development for a gamedev startup and I am in sheer awe of the amount of transpiling/compiling etc that needs to be done for an multiplatform app for iOS and android with js(x)/typescript, html, css.
I remember when I could just write some spaghetti code to make it working by following a couple of tutorials. Then refractoring and testing it for a couple of hours and be done with it. push it into production.
Now I am lost having to learn OOP, functional programming, reactjs, react native, express, webpack, mongodb, babel, and the list goes on and on...
Why not just make a new backend that does all of that in another language which supports all of that.
I have no formal education in programming/coding and the last time I learned JS it was just some if else, switches and simple dom manipulation.
I just want to get to coding a freakin' game but I have to learn JSX for the front and typescript on the backend.
I am this close to going back to ye ol' lamp stack and quitting this job. 😥5 -
So I have this PO who is able to understand technicalities. He is also able to use postman and has access to our code - don't ask why. He is trying stuff out with our apis, looking through code to understand parts of the software, etc.
So there are two sides of having a PO who is able to understand us devs on a certain level:
On the one hand you can explain why story x is taking longer than expected. You can even discuss in a proper way, which is nice. On the other hand is he a bit over the top: when we plan stories he already analysed everything, put code into the story and is telling us how to solve an issue or implement a story.
The sad part is that none of my colleagues seem to be bothered by the fact that he is doing my work.
And recently i even heard a sentence like: "I do not understand why this story should have 3Sp. Would be way lower when I do it". Well.. then do it yourself freaking idiot.
That goes so far that he tells other teams how to fix their code when there is an issue, because he has access to the code and can (unfortunately) read it..
Very unpleasant. :/ So: do you guys have/had the same issues? Am I overreacting?3 -
Fuck, wanted a year long streak on github but failed at 40 days.
I did code but just had no part finished so didn't commit.
I even have an alarm for committing ffs. I just snoozed it and was like I do it when I finished x. Forgot track of time like always with coding and found out four hours later.
Fuck. Back to one. I just start over, it shouldn't be that hard.
I should change my commit behavior to push if compiles instead of push after complete feature. So, I change the definition of achievement easier to achieve6 -
// O(n²) complexity
for(x;y;z){
for(a;b;c){
}
}
Dev's argument: "We use this everywhere, as long as it gets the job done! Time is money!" How ironic..
So you would rather make your processing speed suffer for the sake of saving time? No, clean code doesn't matter. No, we should not waste time spending even a mere microsecond thinking about writing better code or at least consider it. No, we should just vomit out bad code at top speed. Good idea, guys. Idiots everywhere..6 -
Mornings. Not just the run of the mill “I’m not a morning person” but I legitimately would be more productive if I could work night shift. It’s easier to think at night, and easier to sleep during the day. Not just a night owl, but it’s hard to breathe laying down at night sometimes. Sometimes I randomly can’t sleep. I’ve never had this trouble during the day during the occasions I get to sleep for long periods during the day. The morning is prime sleeping time IMO. Not wanting to wake up is one reason, but the changing weather helps and it just feels right.
I also don’t feel awake til the afternoon usually. Even if I get enough sleep and coffee. Code churns slow in the a.m.
I dream of night time being work time with long, restful naps durning the day. I feel more creative at night, and it’s easier to focus. There’s less thought of “oh it’s a nice day I should do x”
Just sucks that it’s not largely accepted and there’s not enough other night hawks to hang out with on my off days. And my work won’t let me do such a schedule. Everyone is an insufferable morning person.
Early to bed early to rise is a load of shit. We should be allowed to sleep at times it makes us happy.3 -
I'm in this university software engineering course, where the professor decides he need to teach us the entire history of software engineering.
Dude, we were taught how to use SVN in addition to Git. Huh? And for software development processes, we were taught a total of 7 of them. There're: code and fix, waterfall, prototyping, spiral, phased, agile and lean. And the tests are like "list 5 advantages and disadvantages for X, and compare them to the advantages and disadvantages of Y". Wtf dude. I don't mind memorizing things, but the things I learn aren't even relevant (except agile and lean). Nobody would be impressed if I say I know SVN in an interview. What am I doing with my life. Ok, back to cramming this shit cuz i need my GPA. Bye.10 -
When your CSE partner always overrides your perfect self committing code like lastItem, rightFrontItem and just renames them all to x, n, and z. Now it looks like shit and can't understand it as easy! I guess fuck giving variables meaningful names! Lets just make chaos in a world of order.1
-
I wish companies stopped doing interviews n just stuck to "u have X days to finish this test-project" and judge me by the code/design/architecture
Im a deer to headlights when it comes to interviews -_- I'd even forget my own name on a bad day ffs4 -
We are all about structures, clean code and many other things that make our life easier, right?
Well... It's not all white and black...
As talked many times, projects can be rushed... Client budgets can be low at the start and only then grow...
Let me take an example:
Client X needs a tool that helps his team perform jobs faster. They have a $500 budget. So... Testing, clean architecture and so on - are not really a viable option. Instead, you just make it work and perform that task as needed. So the code has minimal patterns, minimal code structure, a lot of repetitive parts and so on.
Now... Imagine that 3 months pass by without any notice and clients are ultra happy with the product. They want more things to be automated. They contact developers and ask for more things. This time they have a bigger budget but short timeframe.
So once again, you ignore all tests, structure and just make it work. No matter what. The client is happy again.
A year passes and the client realizes that their workflow changed. The app needs total refactoring. The previous developer has no time for adjustments at this point and hires a new company. They look at the code and rants spill out of their mouth along with suicidal thoughts.
So... What would you do? Would you rant about "messy project" or just fix it? Especially since people now have a bigger budget and timeframe to adapt to changes.
Would you be pissed on such a project?
Would you flame on previous devs?
Would you blame anyone for the mess?
Or would you simply get in and get the job done since the client has a "prototype" and needs a better version of it?
---
Personally, I've been in this situation A LOT. And I'm both, the old and new dev. I've built tons of crappy software to make things work for clients and after years - they come back for changes/new things. You just swallow the pill and do what is needed. Why? Well, because it's an internal system and not used by anyone outside their office. Even if it's used outside the office - prototyping is the key. They didn't know if the idea would work or be helpful in any way. Now they know and want it done correctly.6 -
Wow Angular2 you are beautiful.
I loved you early on angular 1.x but by the end we drifted apart driven by our diffrent needs. I needed a manageable code base and more excitement you needed to stay the way you are. I respect you for that, but we are not right for each other anymore.
I have been hurt Angular2 i may not fully heal but you provide me with what I need. Developing on you is a pleasure that feels like a full object orientated experience. Most of all developing on you is *fast* your seperation of concerns tickles me in all the right ways. The suger you provide with your decorators, classes, abstract classes and interfaces makes me weak at the knees.
Keep growing and improving Angular 2. I think we shall have many projects together.3 -
I spend all morning on trying to solve an Algo problem for upcoming interview practice (Euler #3) that comes down to implementing IsPrime.
I remember reading once how Sieve of Eratosthenes
Isa the right way to go do when I first started I wanted to use that.
Then I couldn't think of the right code though so I went with Brute Force (for all numbers upto X see X is divisible by it)
It actually worked but I wanted to just try the "right way".
It's way slower and actually ended up with the wrong answer...
But at this point I don't give a **** anymore.
I guess lesson learned... Use Brute Force first... Then optimise for a problem more elegant solution.10 -
I fucking hate environnement configuration so much that I prefer to debug 8 hours straight rather than lose my time and shit for 2 hours on idiotic configuration problems and jump from page to page like a dumbass
"Hey you want that module, download it here !"
"Oopsie, starting from X version of the JDK/JRE this is no longer standalone and directly embedded in"
"Can't find it ? Well I just forgot to tell you that starting from Y version this is COMPLETELY removed from what I just told you to search in and now in another standalone package"
"So now you added your package as dependency for you project, your IDE detects everything well but can't run your code ? That's because it doesn't work anyway, use another method found on the dedicated Github issue which makes little sense and that you have to apply everytime, then sacrifice your inexistent newborn to connect to the 9th circle of hell where Java resides so everything will work"
I knew I couldn't get away using fucking Java and JavaFX3 -
// Posting this as a standalone rant because I've written the best piece of code ever.
// Inspired by https://devrant.com/rants/1493042/... , here's one way to get to number 50. Written in C# (no, not Do diesis).
int x = 1;
int y = x + 1;
int z = y + 1;
int a = z + 1;
int b = a + 1;
int c = b + 1;
int d = c + 1;
int e = d + 1;
int f = e + 1;
int g = f + 1;
int h = g + 1;
int i = h + 1;
int j = i + 1;
int k = j + 1;
int l = k + 1;
int m = l + 1;
int n = m + 1;
int o = n + 1;
int p = o + 1;
int q = p + 1;
int r = q + 1;
int s = r + 1;
int t = s + 1;
int u = t + 1;
int v = u + 1;
int w = v * 2 * -1; // -50
w = w + (w * -1 / 2); // -25
w = w * -1 * 2; // 50
int addition = x+y+z+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v;
addition = addition * 2;
if (addition == w)
{
int result = addition + w - addition;
Console.Writeline(result * 1 / 1 + 1 - 1);
}
else
{
char[] error = new char[22];
error[0] = 'O';
error[1] = 'h';
error[2] = ' ';
error[3] = 's';
error[4] = 'h';
error[5] = 'i';
error[6] = 't';
error[7] = ' ';
error[8] = 'u';
error[9] = ' ';
error[10] = 'f';
error[11] = 'u';
error[12] = 'c';
error[13] = 'k';
error[14] = 'e';
error[15] = 'd';
error[16] = ' ';
error[17] = 'u';
error[18] = 'p';
error[19] = ' ';
error[20] = 'm';
error[21] = '8';
string error2 = "";
for (int error3 = 0; error3 < error.Length; error3++;)
{
error2 += error[error3];
}
Console.Writeline(error2);
}5 -
I've been working on a shader for the past few days. Lots of doing math on paper and switching to code to implement it. Yesterday after 3 or 4 hours of trying to figure out why nothing is rendering, I realized that I wrote all my * for multiplication as x. Visual Studio never let me know its a syntax error, and my fried brain saw no issue. Needless to saw my shader is still bugged to hell, but at least my multiplication works.3
-
I don't know if I should call this a rant or not. I spent most of X-mas hacking away my code I haven't touched over a year and released the library to NuGet. Woot!
This has to be the way devs should spent holidays -
Me at interview ->
Imagine the frustration you may go writing code in a different platform not having your vimrc. Than imagine the suicidal thoughts you have after you finish your program and have tabs mixed with spaces and indent errors, well on top of that imagine losing all the code highlighting all the code using X to yank it and P to paste in another file
Well, i shut down the vim session and lost all the code i wrote in 2 hrs3 -
FCUKING SHIT X-FUNCING-CODE! Collapsed code by mistakenly typing the shortcut now I cannot fucking EXPAND IT AGAIN T_T T_T T_T3
-
Why the FUCK did I decide to get this EXPENSIVE ASS MECHANICAL KEYBOARD before examining it to see if its software had non-windows support? THE SHIT IS WINDOWS ONLY AND IT WON'T RUN IN WINE!!! Okay, sure, there's an SDK, a C++ SDK. So I decide to download it and then... the "ReadMe.txt" looks like this:
(§@) Example•ÿø˝§∫®Á:
1.Ωd®“∞ı¶Êƒ“
2.Ωd®“Source Code;
3.Ωd®“ª°©˙
(§G) SDK •ÿø˝§∫≤[
1. CoolerMaster LED Table.xls : LED Øx∞}™Ì(6 row x 22 Column)
2. SDK Function.doc :¥£®—™∫®Á¶°ª°©˙
3. x86•ÿø˝: ∞ ∫A≥sµ≤®Á¶°Æw°B Lib¿…§Œº–¿Y¿…
3. x64•ÿø˝: 64 bit ∞ ∫A≥sµ≤®Á¶°Æw°B Lib¿…§Œº–¿Y¿…
I FEEL FUCKING CHEATED! WHAT THE FUCK AM I SUPPOSED TO DO NOW?!?!?!?!? THIS SHIT HAS NO VISIBLE DOCUMENTATION!!!15 -
I just started but I'm already tired.
For some years I have worked in the industry, not a lot, I know right but I really wonder how do you deal with all "not code-related" bullshit.
IT should be a dynamic field but somehow it is stuck inside the business logic which is all about the money and that does not take care of the real matter which is "code engineering".
- Most of the projects I have seen are an utter mess.
- No real structure
- Code is literally thrown somewhere to make stuff works and fix bugs
- Features which should require X amount of time are planned and shipped earlier ignoring best practices.
- The customer changes idea every week
- Nobody wants to pay for a reasonable architecture but prefer to keep financing un-maintainable projects that only God knows where they have been made (presumably in Hell)
- Juniors devs with no real senior following them committing unreasonable stuff
- Seniors devs thinking they are but they aren't.
- Company that keeps delivering projects even if they have not the required amount of people to make it in time.
Seems like nobody wants to stop and take time to think and make the right decisions. I see people running around me like crazy ants.
But, above all, what really kills me deep inside is HR. You are looking for "dynamic" "talented" "cool" devs but you are not willing to pay them enough.
Should I talk about LinkedIn?
Oh, God... Even the worsts companies sound like they are into Fortune 500. I feel so much hypocrisy here.
I have worked for big and small IT companies.
In the end, is all about "inside politics", everything which is getting financed is not because of usefulness but because of "relationship".
I started coding when I was really young.
After ten and more years, I finally take the job of my dreams but everything is shuttering under my feet.
If you have some words of wisdom, I'm here to hear you.
PS.
I'm not a native English speaker, I apologize for any mistake.6 -
I gave a rant yesterday about this. But I have to say it again because it's so gratifying. It went like this
Me: "you should patch the module instead of using it for your python unit test."
Them: "You keep telling me this, but maybe there is a better way"
Me: "there is, I'm telling it to you"
Next day, Code review.
Me: "You need to change this"
... silent on the issue ...
On a call...
Me: "You need to patch the module. Don't mess up the namespace."
Them: "I don't think so, X did the work"
(In my head: then what did you do)
Me: "We can grab whoever you like Y, X. Let's see if X is busy"
... X isnt busy, hops on call 45 seconds later.
Me: "we're using the module, we should patch this'
X: Muses the thought for 2-3 seconds.
X: "yeah... Yeah we probably should patch that"
Moral of the story, don't take shit personally unless your right... Then relish in. But if your right and X says otherwise, you can always + a rant. -
Why comment on the same thing during code review??
I submitted a PR and had to make a design choice that propagated throughout the module i was working on.
During code review, my coworker commented on every...single...line that this change effected asking "why are we doing x here?" instead of just creating ONE SINGLE THREAD with this question for discussion. There were at least 10 review comments on github from their one review that said "why X?"
Is this normal? Ive only had a few programming jobs and this is the first time this has happened to me.
personally, when someone makes a choice like that, i just make a comment and save the rest of the review until that is addressed.5 -
Not drunk, still underage. I can share a wonderful story from when my wisdom teeth were pulled. My mom made me agree to not work on anything, especially code, when I came home. However, I had an awesome CPU architecture design project, and I was ready to make a few example programs in the assembly language. When I woke up the next morning with a clearer mind, I looked at the code again. ^A , ^X. Mom said "I told you so."
-
So, funny story with a bit of self promotion at the end.
I was recently checking out some apps on playstore and found that my first ever , "launched just to experiment" app (released 1.5 years ago) has received more than 5k downloads . I was very happy about that so posted a small message on LinkedIn .
Now , my LinkedIn profile consists of 98% people who are totally strangers and never met me ( is it just me or do you also get a lot of stranger connect requests there?). So my usual post rarely ever goes beyond 5 or 6 likes.
Bit idk how there too my post got 35+ likes and now i was on cloud9.
So i finally decided to kick my ass and release some update to that app ( it had around 70% pity comments like "nice first app,but it should have this x feature",. "overall nice but it could use an x feature " etc.
And boy what my journey was in the last 72hours.
Firstly my madhead laptop started killing me with the battery failures and constant hang.
Then my past asshole self tried to give me a middle finger. So i have this whole partition in my memory where i keep my Android stuff and apps. It has a special folder named published zone and i keep all my published app codes and related files there.
I was fairly certain that this app's code eill be also there,so i opened it, found the code and tried running it.
Turns out my asshole self had tried to mess around the code so much that all the db layer WAS fucked up, all the ui WAS changed and no code was working.
"Not to worry", i thought. I always use git and there would be a correct version some commits before. WRONG. I HAD CHANGED THE WHOLE FUCKING WORKING PRODUCTION CODE AND DIDN'T MAINTAIN A VCS!
Also this was the verbose and shitty java code my 1.5 year before self so loved to write, so it was taking me way more time to figure out what's happening in an already fucked up code.
So i tried a couple of ways to get back my working code :
- I tried looking for a google recommended solution. Those guys take my whole app code build and distribute via playstore, but they provide no means to retrieve back the original code.
- i checked my (occasionally) back up hard disk but no. My hard disk would have 100s of movies from 2016 , but not a useful piece of fuckin code.
- i also tried to get my apk and decompile it via some online decompiler. Here the google again fucks up and don't allow me to get my apk directly. Meanwhile i found a ton of shady websites which are hosting an apk of my app without my knowledge O_o . I tried to decompile on of them but code was even more non understandable than my fuck up code.
So i ended up looking at both the mess up code and decompiled code and coded the whole app from scratch ( well not scratch, i extracted the resources and some undamaged activities from the mess up code . Also github was down for more than 3 hours yesterday , at the same time when i was trying to look onto some repositories)
Lessons learned:
- DON'T FUCK UP WITH THE PRODUCTION CODE
- MAINTAIN VCS
- Your laptop is shit reliable, github is also shit reliable , so save code at multiple places.
- there are way more copies of your code lying on the internet than you think.
Checkout my app here :https://play.google.com/store/apps/...2 -
Me: [jira comment] We have similar text for the mobile version of the site already. [includes screenshot of what site looks like now] Are you sure about this?
[radio silence for a few hours]
Me: [slack] I want to follow up.
Web Operations: What’s the issue?
Ooh k. Slack messages can have a tone.
Me: I just want to confirm we’re not repeating copy.
Web Ops: We’re not.
I complete the ticket and submit for review. The C-suite for my department reviews.
C-suite: [to web ops in JIRA comment] This looks weird. Is this right? [sends screenshot of my work because there is repeated copy, like I said there’d be]
Web Ops: [in JIRA comment] Oh, I thought X was questioning the request. X changed the wrong text.
C-suite: The website has always looked like that. You’re looking at X’s screenshot for the current website. Look at the screenshot I sent over.
Later, I complain because web ops was completely unprofessional with the comment about “questioning the request.”
C-suite: Web Ops is working hard. It’s our busy season and it’s their first time dealing with it. You know, I’m going to teach them some css and html so they can make content changes in the CMS and they’re not sending over changes so often and bothering you.
Me: [to myself] 🤨 wtf so it’s ok for web ops to treat me like dirt. And in writing. And with service that’s version controlled—JIRA emailed web ops comment to me. And lol no 😂 on teaching them how to code. That’s such bullshit. We all know you’d never allow them to edit the CMS because they’d fuck up the site. And they wouldn’t do edits anyway because it’s beneath them. And idk how this relates to web ops gross behavior.
A few days later.
Me: I was offered a job elsewhere. Here’s my two weeks notice.
C-suite: Can you push back your last day? It’s our busy season.
Me: Nope. Bye Felicia.1 -
Just had a class where we had to write a heap adding algorithm in Java to reduce rounding error for x amount of floats being added together
After an hour of writing code with no testing anything I finished. Ran the JUnit tests provided by the teacher and it passed all the tests!
Who says it can't work the first time?2 -
what the fuck I can't edit the rant after 5 minutes I am fucking posting a new rant which have that last rant ...Why they update the fucking x code in every fucking 15 days . Well some libraries are deprecated oh cool I can use my shit as an object. And why third party libraries don't provide some good documentation of their sdk's . What the fuck is that and I will personally kill auto layout by entering in the mac myself. What is the use of that fucking debugging tool if I know don't the crap of my code that in which class I have done something terribly wrong what the fuck . Oh cool I am having that clang error and I don't know how to wipe my ass. And please fucking don't tell me to use xib code in xcode for my project if there will be 600 screens I will still fucking use storyboard for that. I don't fuck with xib files do you hear me. And fucking stackoverflow ..what the fuck is wrong if I forget an single comma during posting a question ..what the fuck..and you know what the real feeling is when I post a issue on stackoverflow and I got nothing from them expect some minus points...and then the holy fucking coder inside me tells me to solve that fucking problem and I feel like having dope bitch. FUCCKKKK..4
-
Some business users have been chasing me all week to produce a report using some old report with some modifications.
I didn't write the old code and have no context as to what the data is.
My current reaction is:
so you want a report that says X using some vague input which you haven't clearly defined or explained to me...
Have you heard about black boxes and overfitting (i.e. reverse engineering a process based on sample data)?
TLDR: I can generate a report that will say anything you want it to say... doesn't mean it will be right in future use cases.
Why don't people (originally GBoard suggested peepee) understand "junk in = junk out" -
==============
Getting Feedback Rant!
=============
When "this is simpler" feedback results in a function of 500 lines of code.
When I get "don't do X" in the feedback. Thank you very much. What do you want me to do instead?
Unclear feedback.
When the feedback giver changes his mind after I applied the changes!
When applying the feedback introduces a bug.
Simply opinionated feedback that is not enforced by any tool or backed up by any facts.
Please find something better to do in life.
Unactionable feedback.
"Consider X"
I will not consider thank you very much.
"Verify this works"
Duh..
When the feedback giver knows something that you don't.
I know this is a legit case.. still annoying.
"I disagree with the feature"
Go argue with the PM, not relevant to me, thanks!
=====================
GIVING FEEDBACK RANT
=====================
I rewrote the system. Please review it.
No need to review, just approve.
I will change this as part of the next ticket.
I would like to keep it the way it is.
lazy ass..
You can't test this.
It's impossible to test this.
No need to test this.
There's no point to test this.
I'll test this on production.
Not sure why this is working..
Please document this..
Because documentation is like a thing, you know.
Oh, this code is not related to this PR, I just don't want to open a new branch for such a small change. ignore it.
Ignore this.
This will be meaningful in my next change. -
Am I the only one who seems to have trust issues when saving code in my text editor? Whenever I want to save I press Ctrl+X+S like 5 times just to be sure.
NB: Ctrl+X+S is equivalent to Ctrl+S in Emacs/Spacemacs1 -
Okay so I’ve been brought in on a 12 month contract as an external replacement integration architect, alongside a large IT consulting firm. Turns out, they don’t need an integration architect. So I fill my time coming up with useful tools around the project that deal with all the missing parts in their MVP: like monitoring tools, data mocking tools, you get the idea. Essentially doodling.
Client has woken up to fact that they’ve overspent by X million, employing 30+‘developers’, 20+ ‘testers’, n+ ‘managers’ on a ‘low-code’ project … result: project shuts 4 months early.
Q: Essentially client wants remaining four months work done in two weeks. Is there a German word for laughing, crying, and banging the forehead on the desk at the same time?
Supplementary: how cross will client be when they realise project can indeed be done, and that consultancy have been emperor’s-new-clothing them for most of the last two years?
(Feel free to perform substitution on quoted terms at your leisure)2 -
Well, after about a grueling week of messing about with android and firebase and let's not forget that !gorgeous Google documentation, I managed to push out my first app!
It's based on Learn X in Y minutes, which I am a really big fan of, and it's basically a mobile reader version of it.
It's available here https://play.google.com/store/apps/...
And the source code is also available here https://github.com/modelorona/...
I welcome any critique. I'm positive there's some stuff wrong in there, would be obvious to you but not me :)
And happy late new years! I actually released the app at 3:50 am yesterday :D6 -
Let me start this off by stating I'm a Java dev, and a noob with C++.
Thought it'd be cool to learn some OpenCL, since I want to do some maths stuff and why not learn something new.
So I sat down, installed Nvidia proprietary drivers, broke my x-org server, purged, reinstalled, rebooted and after a while I got stuff sorted out.
Then on to my IDE. I use CLion and it uses Cmake. C++ noob knows shit about Cmake, so struggle for two hours trying to figure out wtf is going on with the OpenCL libs and why they're only partially detected. Fml.
Finally, everything is configured and I'm set. I start working on a Hello World program using OpenCL. Finish it in 20 mins, all good. No output. Do some googling, check my program a million times. Nothing wrong here. Check the kernel, everything as in the tutorial.
I start checking error codes after a while reported by OpenCL (which I had no clue was a thing) and I get some code saying the program was not created properly (to run the kernel). No fucking clue what's up with that. Google around, find another tutorial, rewrite my code in case I'm using outdated code or something. Nothing.
Fast forward an hour, I find out that OpenCL has logs! So I grab some code from the website I found it on, and voila, I finally get some info on what's going on.
Get a load of this bs.
In the kernel file, so that OpenCL knows that it's a function to run, you have to put __kernel. But in all the places I read, it said to put it as _kernel.
Add the underscore, compile, run and everything is perfect.
Then I tried just putting 'kernel'. Also compiles and runs fine.
Two hours hours and my program was fixed by adding an underscore. IF ONLY C++ GAVE AN INDICATION OF WHAT BLEW UP INSTEAD OF SITTING BACK AND BEING LIKE "oh wow man feels bad, work some magic and try again" THEN THIS WOULD NOT HAVE TAKEN SO LONG.
Then again, it was OpenCL that was being shitty with its styling enforcement or whatever the hell the underscore business is. But screw it. C++ eats shit too for this. Sure, maybe Java babies you by giving you the exact error and position that the error took place at. But at least that way you don't waste hours of your life chasing invisible bugs 😠😠
I'm going to eat some food... Too much energy was consumed fighting the system... Then I'll get back to OpenCL because 😇 but that doesn't make it less bs.1 -
Fuuuuuuuuucking hell. I have a program that parses and generates information from shit I have in a database into a csv file. Shit was simple enough to be done in Python.
Trying to present that shit into fucking pdf files? without drawing shit on x,y coordinates like a retard or without downloading a fucking obscure number of bs shit into the computer? on a fucking WINDOWS machine? fuuuuuuuuuuuuuuck.
Ok no problem. Do it in Node. WHAT IN THE HOLY FUCK more bullshit with drawing shit line by line. fuck this.
Lol not even going to touch java or c# for this, this is quick.
mmmh perl? nah, php? nah
Well shit I just need to generate data from a csv into a html template and send it away as a docume....go? ok lets....ah....done
Go wins again in my book ladies and gentlemen
It even has fewer lines of code than the php experiments8 -
my issues with self learning .
Me : hmm so i want to make X. how can I make X?
*searches Internet. finds 15 min video title "Building X tutorial" *
tutorial guy : "Hey guys today we are going to make X. let's start. so here is this code a.b.c(d) . This will make X for you. Ok Bye "
Me: *tries his code* Hmm cool, it works. I got X . So let's guess what his code does ..
hmm so i think 'a' does this_thing. let me check. oh yeah my guess was right.
so let's go with 'b' .. hmm ok this does this_another_thing i guess . oh yeah it works.
...
"Yes i know how to make X, yay!"
----------------------------------------------
But this approach of finding the correct code and then guessing what it does does not always help me . i make presumptions based on a limited number of tests and they might not cover all the functions of a particular code.
thus there are chances that what *i* think a particular code does is completely different from what the code is supposed to do, under different circumstances. I constantly need someone to validate my assumptions and definitions.
So any other approach to learning that you devs could suggest?6 -
I'm going to confess: I am the type of developer that creates the ExcruciatinglyLongAndSpecificClassNameObject with the UtterlyDetailedExplanationMethod. It's just a thing I keep doing, despite voiced frustrations from people I've worked with. It just feels right in the mindset of self-documenting code
And while I acknowledge this isn't a flawless process, I see no other way around without losing information. I've tried alternatives, but everything feels like trading one issue for another:
- Abbreviations work as long as they are well known (XML, HTML, ...). As soon as you add your own (even if they make sense in the business context) you can bet your ass someone is going to have no idea what you're talking about. Even remembering your own shit is difficult after X months.
- Removing redundant naming seems fine until it isn't redundant anymore (like when a feature with similar traits gets added). and you can bet your ass no-one is going to refactor the existing part to specify how it differs from the newly added stuff.
- Moving details to namespaces is IMO just moving the problem and pretending it doesn't exist. Also have had folks that just auto-include namespaces in VS without looking if they need the class from namespaceA or namespaceB and then proceed to complain why it doesn't compile.
So, since I am out of ideas, I'd like to ask you folks: Is it possible to reduce class/method name lengths without losing information? Or is self-documenting code just an ideal I'm trying too hard to achieve? Or are long names not a problem at all? I'm looking forward to your answers.19 -
Any other language: Hey fuckface, you can't name this variable by a single letter, tf is wrong with you? use some descriptive shit.
Golang: lmao fuck u
I really find it interesting how we use short variable names for items in golang. Kinda makes sense when you think of it. Most of these items come up in short methods for which the mental model lets you know and remember what you are doing, they even make sense when going through the std lib in which that shit is all over the place. YET years of going by other languages has made me squint my eyes a bit in frustration every time I see it.
Say for example that a function is implementing io.Writer. What would you call the method parameter? you could argue that writer would be sensible since it has it in the signature, but what about when the io.Writer in itself is a file or a socket or whatever? writer would be funny or strange? nah fuck it just w, it makes sense, but x wouldn't. I find these points to make sense even if i don't like them.
Would, now, this practice be acceptable in C? you are supposed to write the same modular code with C in which you compose large functionality in separated units of code, yet I am sure this practice of single name variables is something that C engineers dislike greatly.
Are go devs just doing this out of blind love for their preference in languages? and how would this work if mfkers add generics to go(I hope not, Go is simple enough to understand in order to extend functionality through the empty interface, but that is a preference of mine as well)
The more I use Go the more I like it to be honest, I think the code looks ugly syntactically, but that is subjective as all hell and based on my constant preference for a language to look like Ruby, which even though it might not be everyone's cup of tea it remains to my eyes as the most beautiful language in existence, again, an obvious personal preference.18 -
I wanted to accomplish new things today.
Instead I'm swimming in:
"This worked before"
- No it never worked that way, you want it to, but it never ever ever has done that thing NOT EVEN CLOSE.
"The thing..."
- Wtf is the god damn 'thing'? How could anyone possibly know what you're talking about? How do you go about life like this?
"How come we can't make it do X?"
- Because the code can't read your god damn mind, that shit isn't in the database, you don't update it and your laundry list of minor fixes for one time or non issues has resulted in you getting coded into a maze of stupid custom code so deep you're NEVER GETTING OUT!!!!
"Is your timezone before or after our timezone?"
- I DON'T FUCKING KNOW, I JUST TOLD YOU MY TIMEZONE, DO YOU EVEN FUCKING KNOW YOUR TIMEZONE?!?!?!? IF YOU CAN'T BE BOTHERED TO LOOK UP YOUR FUCKING TIMEZONE I SURE AS HELL AM NOT!!!2 -
Marketing Person: [email] The feature you worked on is setting our customers’s statuses to “transactional.” We can’t send them marketing emails.
😒🙄
Me: [email] My code is not doing that. It checks to see if a contact exists in our mailing list. If it does, it adds the contact to the new list that you requested. If it doesn’t, it creates a contact and adds it to the list. Newly created contacts default to “onboarding.” For already existing contacts, I’m just adding them to the list and I’m not changing anything else. Here’s a blog post from the marketing software company that explains how a contact could get marked as “transactional.”
Later in the day, Marketing comes over to my desk and brings over the Product Manager. He asks the same question. 😡 Oh hell no. You do not create a gang up on me and hope the social pressure changes my answer.
Me: Like I wrote in my email, my code isn’t wrong and it’s not malfunctioning. It’s doing what you requested: add users who submit their email on x form to the new x list. In the marketing software, you can even check each contact and see when their status got changed to “transactional.” It wasn’t from my code.
I really hate marketing sometimes. Especially when they think they know how my code works. Excuse me, do you have access to our git repo? Can you read the code and point out the supposed problem? I didn’t think so. So don’t go accusing me of making a mistake or doing my job wrong.4 -
Teach students the importance of clean code/architecture and testing. Even if they dont yet understand the more complex topics such as architecture, they should understand why quality is important and that software is a craft more than a science. You cant just apply principle X and insert design pattern Y and profit++. You actually have to think and constantly improve. AND TEST.
Think I would probably also cover things like build automation and continuous delivery. These are now important things for junior devs to know about going into companies. -
/rant on
React Native is BS for Android. Outdated as hell Gradle builds (1.x for certain plugins I mean wtf) and it targets outdated SDK and build tools... Why no simply code for system your software is meant to work :P
/rant over
In seriousness, I get the concept of build once deploy on all platforms ala Electron but better but hell why is the tooling so outdated?1 -
First: I have to give credit to my high school CS teacher. She gave us a good grounding in computer theory about: pointers, memory organization, and algorithms.
Second: Second I just read the fucking manual. Then programmed a LOT more than people who didn't get good. Hundreds of hours during college, thousands since then. I got style information from reading other peoples code and also learned about how not to code by reading other peoples code. Ever buy a book that proclaims to teach you X, but actually teaches you a proprietary wrapper they wrote for X that has a shitty license? Fuck those people. Anyway, when internet sharing became more of a thing I started watching videos by experts and reading articles. And now I learn from people here as well. Never stop learning and always RTFM. -
Storytime.....
So I have a friend who was part of a QA team in a large multinational company a few years back in, let's call it city X. There was this absolutely useless guy on the same team as him, didn't have a clue what was going on, gave everybody headaches, wrote sloppy buggy code, constantly fucking things up. You know the type, eventually he ended up getting fured/let go, whatever way you want to put it due to poor performance. All was well again.
My friend moved on to bigger and better things and moved cities, a few years after he was back in city X, out having a few drinks with friends, he just so happened to bump into the guy from his old company that got fired and started talking to him, as he was a nice guy, just a useless programmer/coworker. After a bit of small talk my friend asked where he was working now. He response: "oh I work with an air traffic control systems manufacturer as a developer"5 -
Reading a post on Quora lead me here. At first, I didn't like the look and feel so I hit f12 to see if I code see the source code. One would think that after x hours spent coding at my work desk, I would just want to sit at home and watch tv or play games. However, there is something fulfilling about seeing a coded product and taking a quick glance at some source code.4
-
So I'm writing a function in Unity3D that walks a rectangular grid. At one place in the code, I got the x+y coordinates backwards, which caused the function to infinitely loop between two coordinates.
Not seeing a way to kill the loop, I looked it up on Google. The suggestions I get are. . .
1. You need to kill the Unity3D task and lose your edits because the environment and the player run on the same thread.
2. You can pay ten bucks for an extension that lets you break out of infinite loops.
3. You should really avoid writing infinite loops. That's just bad form.
SERIOUSLY?1 -
Code for Matrix Rain Using HTML
<!DOCTYPE html>
<html>
<head>
<title>Matrix Rain</title>
<style>
* {margin: 0; padding: 0;}
body {background: black;}
canvas {display: block;}
</style>
</head>
<body>
<canvas id="c"></canvas>
</body>
<script>
var c = document.getElementById("c");
var ctx = c.getContext("2d");
//making the canvas full screen
c.height = window.innerHeight;
c.width = window.innerWidth;
//english characters
var english = "1001010101110101010101010010101000101011101111010101010110101010101010101110000101";
//converting the string into an array of single characters
english = english.split("");
var font_size = 15;
var columns = c.width/font_size; //number of columns for the rain
//an array of drops - one per column
var drops = [];
//x below is the x coordinate
//1 = y co-ordinate of the drop(same for every drop initially)
for(var x = 0; x < columns; x++)
drops[x] = 1;
//drawing the characters
function draw()
{
//Black BG for the canvas
//translucent BG to show trail
ctx.fillStyle = "rgba(0, 0, 0, 0.05)";
ctx.fillRect(0, 0, c.width, c.height);
ctx.fillStyle = "#0F0"; //green text
ctx.font = font_size + "px arial";
//looping over drops
for(var i = 0; i < drops.length; i++)
{
//a random chinese character to print
var text = english[Math.floor(Math.random()*english.length)];
//x = i*font_size, y = value of drops[i]*font_size
ctx.fillText(text, i*font_size, drops[i]*font_size);
//sending the drop back to the top randomly after it has crossed the screen
//adding a randomness to the reset to make the drops scattered on the Y axis
if(drops[i]*font_size > c.height && Math.random() > 0.975)
drops[i] = 0;
//incrementing Y coordinate
drops[i]++;
}
}
setInterval(draw, 33);
</script>
<body>
</html>1 -
Yesterday whole 12 hours we were working on deployment about a feature X that has deadline yesterday itself.
Everything damn perfectly running on Test env but not on Prod.
We made Prod into Dev/Test/Fucking garabage env. Haha.
I was laughing to myself at same time crying hard in my deep heart.
Business guys chasing PM
PM chasing us
And from morning till night we were in same room. Had lunch, and dinner only went out for toilet and to refil water bottles.
And found that feature Y is not working at same time that is related to our feature X. Fucking we have been wasted hours on it.
One of my devs got so fucked up emotionally that he messed up the code (not his fault) he didnt had his lunch and dinner. Had to console him later that its not his fault. Poor guy not sure whether he slept or not; will find out in few hours.
Anyways reported a bug.
But that bug assigned to us for fixing.
Are you fucking kidding me.
Anyways no choice. Had to do it.
Hope today everything goes good or horribly bad. FYI no deployments on Friday damn we are in stalememt till Monday.
Fuck that bug
Or
May be fuck our stupiditiy while makiing mistakes.1 -
These goddamn fuckers who every week spam people because their CI or code is broken. Apparently it's more important than other projects. Douchenuggets send an email and CCs the whole department and all the bosses and basically says "It's all broken, the whole company needs to work on this asap, it's possibly x other person's fault".
Then when you try to troubleshoot it because bosses want it fixed, the dumb pieces of fuck made a bug in their code that they could have easily fixed if they took the time to troubleshoot themselves instead of panicking like jackasses. Or better, have good tests and actual error handling.
I swear some day I am gonna get into a fistfight I started because of this bullshit. -
Finally finished an algo to check an image for grouping of pixels that will form a rectangular area. I got the grouping to work on one image, but found it was utterly failing on another. I went through every step of the algo and still could not find the solution. The 128x128 image was working, but the 128x16 image was not. I knew it had something to do with the dimensions. Started thinking it was overflowing a buffer somewhere. So I started putting asserts in the functions that abstracted the buffer access. None of the numbers exceeded the proper bounds. It was close to bedtime so I finally gave up. I was tired. Then I realized it wouldn't be until the next evening when I could look at this again. So I got up again and started looking at the code again. I had a loop to check the output of my algo that I did the memory access of the buffer. It too was not fully filling my temp image to show how the algo was working. WTF!
Then I finally realized the flaw:
buffer[x+y*height]
And my test loop to test the algo:
buffer[x+y*ymax]
I kept overlooking the error because I was sure it was right. Also my asserts for the functions to access the buffers? They only checked the inputs x and y. So it didn't help that the math was wrong for reading and writing the buffers. It also worked fine on 128x128 images because the width and height were the same.
It is funny that I struggled with this part. The algo was actually surprisingly easy to formulate. I just looked through every point and checked a buffer to see if that point was used. If not then I would attempt to grow in the x and y direction the shaped of that point based upon pixel color. This was saved in a structure while growing that point. Then when that rectangle could not be grown further the inner loop would continue checking used points again.
I still have work to do to use the data this algo produces. I need to now figure out how to parent the rectangular areas to each other. I will probably use my check buffer to keep track of these rects by an index. Then do adjacent checks to determine parenting. Eventually I will have to extend this algo to 3 dimensions, but that should not be difficult.2 -
I hate coding tests for a job interview. I've done three types:
1) university style of "write function that does x" (fizz buzz)
2) this code has a bug, fix it
3) write a program that does this university style contrived thing (exact change)
One and two usually are timed to 10 to 15 minutes per question. Three is untimed but unstated "time counts".
Off all three, the last one is the best in my opinion. However it still seem like we could come up with something better.1 -
"X ? true : false"
I love seeing these :D
Clearly a decent attempt at simplifying the code and at the same time missing the mark.12 -
"Hey - just get inspired by this code from _insertBigTechCompanyHere_ and you will be fine!"
-
"You mean the code for which x departments have worked x months and spent x million dollars?
Yeah.
Five minutes..." -
So this was a conversation.
tl;dr You can't just FUCKING RECOMPILE for an older OpenGL version you dimwit!
Context: Person Y has OpenGL 3.1, my program requires OpenGL 2.1, but refused to launch with "Pixel format not accelerated"
--------
Person X - Today at 9:28 PM
Nope
or optionally compile it for old opengl
Or just use my old junk.
Me - Today at 9:29 PM
No
Person X - Today at 9:29 PM
Why?
Me - Today at 9:29 PM
You don't just "compile it for old opengl"
Person X - Today at 9:29 PM
I can
Btw
Me - Today at 9:29 PM
For one, Person Y has an OGL version new enough so... /shrug
Person X - Today at 9:29 PM
shrug
Me - Today at 9:30 PM
And there is no way I'm ripping the rendering code apart and re-doing everything with glBegin, glVertex, glEnd guff
Person X - Today at 9:30 PM
You don't have to
Me - Today at 9:30 PM
You do
Person X - Today at 9:30 PM
Just use a vbo
Than a vba
Me - Today at 9:30 PM
I ALREADY USE FUCKING VBOS
Person X - Today at 9:30 PM
....
There's two typws
Types
Btw one with indacys and one with out
Ones 3.0 ones 4.0
Me - Today at 9:31 PM
tl;dr. I am not rewriting half of everything for worse performance just for the sake of being compatible with even more legacy OGL, that might not even work anyway for Person Y. idc
Person X - Today at 9:32 PM
Plus if your using glut you can set the version I want to say
Also it's not worse
<Some more conversation>
Person X - Today at 9:33 PM
Btw crafted [Me] taking th lazy way as normal
Btwx500
Me - Today at 9:33 PM
Taking the lazy way eh.
You have no idea do you
Person X - Today at 9:33 PM
Yes you are
I have more of one :p
Than you think2 -
Naaarf
Refactoring the whole day.
Someone who prefers while(list(...) = each(...)) or for($x=0; $x < count($array); $x++) wrote the following code, too.
if ($indexed == null || $indexed == "0" && $row[$x]["indexed"] == 0 || $indexed == "1" && $row[$x]["indexed"] == 1) ....
It's buggy. Why does this not surprise me?
This stuff. Whole day.
My brain feels foggy.5 -
Ok. I'm working on a small website, and MOTHER OF OF WEB DESIGN.
I try to set up WAMP, but it takes me 2 F-ING DAYS.
SO THEN THE FREAKIN HTML SCRIPT REFUSES TO WORK. AND THEN, ONCE I FINALLY GET MY HOPES UP, WAMP DECIDED TO JUST NOT WORK TODAY, SO I SPEND 3 HOURS FIXING THAT CRAP, AND THEN AFTER THAT PIECE OF HELL, I CAN'T FIND ANY EXAMPLE CODE OUTSIDE OF ADVANCED WEB DESIGN, SO I SIFT THROUGH THAT, JUST TO FIND HOW TO MAKE IT UNDERSTAND WHAT THE HELL A DATABASE IS. THAN I REALIZE THAT I HAVE TO INSTALL MIRE PROGRAMS. THAN, I REALIZE THIS GUY IM LISTENING TO IS USING A MAC OS X ALTERNATIVE. SO IM DESPERATELY TRYING TO GET THIS TO WORK. AND THEN, *POOF* ALL MY WORK IS UNREADABLE SPAGHETTI.
ALL FOR A DAMNED TEST.
TL;DR, Php is not good if your working offline.9 -
Dev programming something
Code reviewer: Change x, change y change a to b
Dev: okay ( I don't give a f**k, just merge my code)
Dev made changes...
Code reviewer: why did you placed b instead of a, can you revert back x...
Dev: F**k u!!
Have u guys experienced this??1 -
I figured I would share my Capstone from this semester with a community that might be interested. An eclipse plugin that was developed in our lab is able to implicitly track developer eye gazes as they work in an IDE (eclipse in this case). Before I began work on it, source code, bug reports, and stack overflow documents could be tracked with all of the data on said documents being extracted. For example, if source code is being tracked, everything from the file name and class/method name down to statement types are collected. The tracking isn't on still images. Since it's within an IDE, you can open multiple files, scroll, and modify -- all while tracking is collecting accurate data based on the (x, y) gaze coordinate and the handler assigned to the type of document/file being viewed.
My job was to extend this functionality to track gazes on UML class diagram documents. This means I had to gather data at the highest level: the class/connection being looked at, down to the lowest level: members/methods, their types and containing classes.
Being new to Java's EMF, GEF, and eclipse plugin development, I had a bit of a learning curve. Anyways here is the poster of the functionality I added. 🙃
Not much of a rant haha. -
Grails 2.x all groovy syntax for code and configuration. Simple and elegant.
Grails 3.x all groovy syntax except for the main configuration file. Let's make that a YAML file. F#%king genius!1 -
Working with someone who made repetitive css code like this:
#home {
x
}
#blog {
y
}
where x and y exactly have same child classes structure with small differences, making css file somewhat large.2 -
1. Teach DS and Algos. Not basics but advanced data structures and the ones that are recently published.
2. DBMS should show core underlying concepts of how queries are executed. Also, what data structures are used in new tech.
3. Teach linkers, compliers and things like JIT. Parsers and how languages have implemented X features.
4. Focus on concept instead of languages. My school has a grad course for R and Java. (I can get that thing from YouTube !!)
5. Focus a little on software engineering design pattern.
6. It's a crime to let a developer graduate if he doesn't know GIT or any version control. Plus, give extra credits for students contributing to open source. Tell them if they submit a PR you get good grades. If that PR gets merged bonus (straight A may be ?)
7. Teach some design pattern and how industry write code. I am taking up a talk at school to explain SOLID design pattern.
Mostly make them build software!
Make them write code!
Make them automate their homeworks!
Make them an educated and employable student.!1 -
How do you test unreachable code or part that is considered an edge case?
For example I catch exceptions in case IO failed and data was not written on database, but that only happens if hardware failure, or no disk space left, how do I mimic that?
I also have unreachable code for example, in one layer I fetch data (lets call it function x) and always return success result unless item not found I throw KeyNotFound exception. But in the calling function I handle the case of Status == Failed
Just in-case in the future I change function x and start returning failed status, so my logic already written but never reachable14 -
Helping out a team, I was documenting some code/processes when I came across several classes that was logging a lot of, IMO, 'junk' that was unnecessary (and I knew wasn't being used in any Splunk alerts/reports)
I offer a refactoring suggestion, simplifying the data being logged, moving the duplicate code to a central location, maybe saving 10~20 lines of code. Didn't think it was a big deal because they were already actively working on the code and it was all new code (nothing deployed to production yet). Sent the suggestion to the lead developer and he responds:
Dev: "Yes, the changes looks fine, but not in scope of the project. Any out of scope work will need to be suggested at the end of the project, reviewed by the team, the project manager and approved by the vice president."
"Out of scope"? Logging data to Splunk needs a vice president's approval? WTF?
YOU PROBABLY HAVE THE PROJECT OPEN IN VISUAL STUDIO RIGHT NOW!!!
Along with the documentation the lead dev said they didn't have time to do, I send his boss and the dev team my suggested changes (before-after screen shots of the code) and offered to do the 2 minutes worth of work (again, this was new code, nothing in production and zero side affects to anything).
I even offered to create the splunk reporting/alerting against the data being logged (another item they said they would not have time to do)
About a minute later the lead dev responds..
Dev: "Those changes look good. I'll have Jake make those changes and we can test the logging when we deploy to dev on Monday. Thanks!"
Of course you will...fracking ass hat.
I'll bet my Battlestar Galactica DVD box set he was going to make the changes himself, brag to his boss how he refactored the code, saving X lines of code..blah blah blah to help *me* with documenting the logging portion. -
Sometimes my hatred for code is so.. overwhelming that I think I need a sabbatical or should even stop altogether.
Let's face it. All code sucks. Just on different levels.
Want to go all bare metal? Love low level bit fiddling. Well, have fun searching for concurrency, memory corruption bugs. Still feel confident? Get ulcers from large C/C++ code base already in production, where something in the shared memory, function pointer magic is not totally right?
So you strive for more clean abstractions, fancy the high level stuff? Well, can you make sense of gcc's template error messages, are you ready for the monad, leaving behind the mundane everyday programmers, who still wonders about the scope of x and xs?
Wherever you go. Isn't it a stinking shit pile of entropy, arbitrary human made conventions? You're just getting more familiar with them, so you don't question them, they become your second skin, you become proficient - congrats you're a member of the 1337.7 -
is it necessary to have cherry picking a part of git branching/release process?
we have 3 branches : develop, release and master.
currently every dev works on feature as follows : they make a branch out of develop, write code, raise pr against develop, get it reviewed and merge back to develop. later the release feature list is generated, and we cherry pick all the release related commits to release branch, and make a prod build out of release branch. finally, the code is moved to master and rags are generated accordingly.
so the major issue with this process is feature blocking. as of now, i have identified 4 scenarios where a feature should not be released :
1. parallel team blocker : say i created a feature x for android that is supposed to go in release 1.2.1 . i got it merged to develop and it will be cherry picked to release on relase day. but on release day it is observed that feature x was not completed by the ios dev and therefore we cannot ship it for android alone.
2. backend blocker : same as above scenario, but instead of ios, this time its the backend which hasn't beem created for the feature x
3. qa blocker : when we create a feature and merge it to develop, we keep on giving builds from develop branch adter every few days. however it could be possible that qa are not able to test it all and on release day, will declare thaf these features cannot be tested and should not be moved to release
4. pm blocker: basically a pm will add all the tickets for sprint in the jira board. but which tickets should be released are decided at the very late days of sprint. so a lot of tasks get merged to develop which are not supposed to go.
so there's the problem. cherry picking is being a major part of release process and i am not liking it. we do squash and merges, so cherry picking is relatively easy, but it still feels a lot riskier.
for 1 and 2 , we sometimes do mute releases : put code in release but comment out all the activation code blocks . but if something is not qa tested or rejected by pm, we can't do a mute release.
what do you folks suggest?9 -
Working for friends that want to launch a start-up, providing them with what sounds like reasonable advices to me e.g 'maybe test your concept with some leads before asking me to develop the website', 'focus only on the main 2-3 features so we could launch quicker as I am solo dev on this' and 'once set, don't change everything every morning as I cannot make progress on the site if you keep asking me to code X versions of your fucking landing page (that they don't use)' and the only response I got goes like : "okay okay, BUT we've decided to do it this way, no need to test, customer will love it for sure' SURE ! But I am the only one to have a job and sleeping 3 hours to code your shit at night, while your lazy asses remain peacefully waiting for it to become 'the new Amazon' !3
-
Posted in DevOps discussion board (teams channel):
“Program x isn’t behaving the same way that it does on production. Can you please take a look?”
..a little background: we have a deployment scheduled for today and this issue was found during regression testing.
The issue found is that when a file is clicked on it disappears from the screen, and then isn’t opened…
The file is not on prem, and doesn’t get uploaded to a server that our DevOps team owns…
So why on earth would this development team be asking DevOps to look into a bug that is most likely a code related issue? 😆
Is this a common occurrence for anyone else?
A Bug is found, and the first thought is that the code isn’t the issue?11 -
Dev: "Oh, btw, I updated our dependency on X since a new version was available."
Almond: "Really?! They only released the last new version yesterday."
Dev: "Oh, I know, but there's a new one now."
Almond: "Ok, fair enough."
*Pulls code*
com.x.x:3.5.1.SNAPSHOT
🤦♂️ -
Sometimes when other devs ask me to explain something in the specs I cannot make into smaller words (example: javadoc says throws <error name> when x <= y. I was asked to explain 'what all this psuedocode means'), or their code horrifies me, I ask my mother if she knows what it is doing.... just as a 'wtf am I missing' check.
She still finds it amazing when we text her a gif and asks for help when she 'loses' her icons on her phone, but she will still ask what is wrong with some of these people.1 -
I have an opportunity to buy a cheap ThinkPad which I want to install Arch Linux on to get more familiar with Linux. So I want to setup the environment and try to use it as my home PC to write code, watch YouTube etc. No gaming.
Is it worth it? It’s not a lot of money but definitely not free either. Does anyone have any experience going from OS X to any Linux/GNU? I’m not expecting to enjoy it so much that I’ll switch permanently but who knows.. And what about ThinkPads, good stuff?3 -
So, our lab professor in university for data structures was evaluating my friend's group assignment next to me and my colleague.
Professor: So, what does this method do?
Friend: I feel it would be best to explain our structure first and then how our methods work.
P: No, no. It's okay, I'm seeing it here in my laptop. *Looking at their report which included nothing about the structure of the assignment since she asked specifically only to place the methods and their complexity analysis due to not having time to look and evaluate a full report for each group*
F: Okay, *proceeds to explain*.
P: Okay, and why is your code commented?
F: Because it's good practice and we learned in subject x last semester.
P: Impossible! I teach that subject and I did not teach that in my classes.
F: Okay, but our professor did.
P: *Says nothing*.
They got a 3.25/5 as a grade for it and got really pissed off. I mean, they spent a lot of time making the assignment's structure perfect, optimizing their code and the professor did not care for the structure, just the methods, on the data structures subject.
FYI, they are workaholic, dedicate a lot of time improving their skills and their normal grades are usually >= 4.25.2 -
Hey look at these awesome features we offer in the new version!
*carefully upgrades servers*
*app runs smoothly for few hours*
(Docker container exited with code 137) x 100
OutOfHeapMemory errror
Another dev: "I can't see the data flowing through the pipeline"
Boss: "Hmm, why did we upgrade again?"
*checks jira issue for the software*
Bug Report #125 fixed in the next version.
Aha!
Fuck this shit!1 -
Told the 3rd party developer we wanted a feature in the software they are developing. When you change the master data X we want the corresponding historical Y's to be updated. I have not seen the code or database. He wants me to explain how the functionality should work... I... I dunno how to respond...
-
3 years (since Sep 2016 til now) and counting. 0€.
Building my own project from scratch. IDK if this is the right thing for this week's topic, but it answers the question.
I do have my paid 9/5 tho. But the code I write after is my personal and it's not yet bringing me any moneros.
It seems it's gonna need at lest another year, so next Nov it'll be 4 years w/ 0€ :) Maybe even some -x€, since I'm horrible at design - will prolly have to hire someone to do it for me -
Craziest prep for interview :
Step 1 : Given sufficient time for the scheduled interview by any company, start by searching "How to prepare for Google interviews". Awe at the information before you and get all pumped up to jump in.
Step 2 : Starting with Algorithms, study each one and try not to mix any of them in confusion. In case you are stuck in whiteboard coding, close your eyes, take deep breath and visualize Don Kunth. If that doesn't help, well you are ruined anyway.
Step 3: Practice coding without internet connection, till you are able to write code while you talk about how the weather is really great today. Libraries and methods should flow like poetry. SO is sin.
Step 4: The X programming language which you added to your resume because you can write Hello World, head over to Wikipedia and read more about it just in case.
Step 5: Read some xkcd comics so you can impress the interviewer with some humor. You can try Dilbert too. -
My friend said to me
X - Hey, I ca very well code in Python
Me - Do you know what are library in python
X - No, I heard this term first time1 -
Background: I am working on task x. On successful completion of task x, task y may be given to me. Task x is haaaaaard. My group is not the only player and any fuck up will break my group and at least two others. Now here is my story:
Me: Yeah I am doing this hard thing and that hard thing and getting ready for these hard meetings.
FormerCoWorker fcw (): wow that sounds hard.
CurrentCoWorker ccw (): yeah he's working on task x and task you.
Me me (): what? No I'm not. I am working on task x. Don't go randomly assigning me tasks like that.
ccw: well if you finish task x you will be an expert in section z of code. So it is only natural you take on task you.
me: yeah but task x sucks and task y is why several engineers have quit the company. You never know. You could be assigned task y and quit. Why do I have to take on task y and quit?
NGL, I will do it of they promote me. I may be a whore, but I am gonna get paid. -
Testing requirements, some of these are pretty specific such as 'don't do X before you compute Y'... OK, check that off
Now we have some independent analyst saying how can you prove 'X' isn't done... "Look at the source code we've provided"
"OK, but where in the source should I look [for something which isn't there]?" -
This is how my AntLang code looks like:
repeat[{echo',|{[+]<x*2>,(4le+)take(0eq(x\4)mod 6)take<(+\1)%3>}'x};{1};<1>]
:D -
>where is the code that is in charge of that?
>that's the infrastructure dependencies job
>oh cool. So what if I want to do X Y Z?
>the infra doesn't do that
> well who is on charge of infra?
>oh that was {guy that left 2 weeks ago} and anyway that code existed for AGES
So now I'm drowning in foreign spaghetti because people didn't want to disturb the holy infra and just made workaround in the services themselves. Good thing I got my nylon overalls for maximum shit protection -
Oh the joy of multi-site working and design reviews in bigger corporations...
I try to propose if we could do it on-line with BitBucket commenting etc. Just put your comments there, we discuss it there, each in our own time, and get things closed.
But no. It's nicer to arrange 2-3h conf calls. So that we can really discuss items (and the reviewers don't have to do anything before the call). Nothing can be done beforehand. And the reviewers get to comment not only on design matters, but on system level things too. Like "I wonder if this would be better in place X". Well sure, maybe, but that's system level decision and would require architects etc. And all that work was done 2 years ago, we're supposed to now just check the source code (which you guys wanted me to change).
Ok, so I will arrange a conf call. Our time zones are not the same, so one guy is coming to the office when another is almost leaving. One wants to have Wednesdays meeting free. One has lunch at 11, another at 13. For fucks sake. Some guys have filled their calendar with meetings, most of them which they will not attend anyway, but Outlook shows them as "reserved".
So I spend my day trying to find a free spot that everyone could join. Half of the guys won't read the code and won't give any comments, but still need to be there. And then there are those comments saying "I'd like this variable name to be different" and "it would be cleaner if this was done like I do". Same people produce unreadable mess themselves, but somehow always manage to dodge all reviews of their own stuff. -
So at the HS I go to, there are 4~5 programmers (only 3 real "experienced" ones though including me).
So coming from JS & Python, I hate Java (especially for robotics) and prefer C++ (through some basic tutorials).
Programmer Nº2 is great at everything, loves Objective-C, Swift, Python, and to a certain extent Java.
Programmer Nº3 loves Python and used to do lots of C#, dislikes Java and appreciates Go (not much experience).
So naturally I get shit on (playfully) because of my JS background, because they don't understand many aspects of it. They hate the DOM manipulation (which is dislike too tbh), but especially OOP in JS, string/int manipulation, certain methods and HOISTING.
So, IDK if Java or C++ (super limited in them) have hoisting, but if you don't know what hoisting is, it means that you can define a variable, use it before assigning a value, and the code will still run. It also means that you can use a variable before defining it and assigning a value to it.
So in JS you can define a variable, assign no value to it, use it in a function for instance, and then assign a value after calling the function, like so:
var y;
function hi(x) {
console.log(y + " " + x);
y = "hi";
}
hi("bob");
output: undefined bob
And, as said before, you can use a variable before defining it - without causing any errors.
Since I can barely express myself, here is an example:
JS code:
function hi(x) {
console.log(y + " " + x);
var y = "hi";
}
hi("bob");
output: undefined bob
So my friends are like: WTF?? Doesn't that produce an Error of some sort?
- Well no kiddo, it might not make sense to you, and you can trash talk JS and its architecture all you want, but this somehow, sometimes IS useful.
No real point/punchline to this story, but it makes me laugh (internally), and since I really want to say it and my family is shit with computers, I posted it here.
I know many of you hate JS BTW, so I'm prepared to get trashed/downvoted back to the Earth's crust like a StackOverflow question.6 -
What absolute fucking imbecile thought an upper limit of 6.0.0 would make sense for max supported PHP version on the entire Magento 1.9.3.X code base. Not to mention the installer is broken on account of them not fucking understanding InnoDB is default engine in MySQL.
Seriously Mage Rage is real.5 -
Impulsive saving. I just cut a portion of newly written code (not committed), saved the file as a reflex, and accidentally closed emacs instead of switching window.
The environment should have had the cut in its clipboard, but nope. I should have a history of autosaves, but that doesn't seem to work as I expected.
Binding C-x C-c to null again :(
I have work to do on my .emacs.3 -
I solved the Monty Hall problem for once and for all! Suckers. Of course a computer can't decide if switching or keeping is the best choice. Even wikipedia states that switching wins. NEVER. And even if that would be the case, it's pure how you arranged the labels to determine which one wins. If everyone actually wrote their own code, the conclusion wouldn't be what it is now. Many people probably just changed their code until that false result comes out or had it at the beginning caused by lack of experience.
Here is a GOOD implementation: https://pastebin.com/dRiTWQpw
It gives a 50%-ish chance on a choice like mathematically is correct.
The problem is in the computer simulations: using > or < to check which choice has won. But actually, often no one has won (it's a tie) after running it x times so you have to filter out the ==.
Then, you get the right results. My first version also had a bias, but i refused to accept it and did spent 45 minutes on the code instead of 15. This is the end result. And no, with double ?: in a printf statement i don't expect a prize.
It was a lot of fun actually, did not expect this from such stupid 'problem'35 -
So Sonar (Java code style checker) is telling me to return immediately instead of first assigning the results to a variable:
ArrayList<string> strings = ...
{Some long running logic that populates the list}
String x = String.join(strings);
return x;
Declaring x is bad apparently... but I disagree...
Am I not understanding something here?
The upside out this is you can breakpoint it and well you meet want to add additional logic later while you find a bug while debugging...
I guess it would be noticeably slower but a few seconds... If I were to call it 1 billion times?14 -
Help with C code
int main()
{
int x =10;
void *p = &x;
printf("%d", ((int*)p)* );
return 0;
}
I'm trying to cast p to and int, for dereferencing it and printing the value of x, but Im getting an "expected expression before ) token" in the line for printf.8 -
Question for iOS Swift guys:
Since Implicitly Unwrapped Optionals are now dropped for a while, and everything is an optional, hiw can I now declare property that has no value and intializer will not make fuss?
I used to do this:
class Bullet {
var calibre: Double!
}
This way I can avoid initializer which gets useful when there are properties which hold complex types, which get useful when writing tests.
If I remove ! Then compiler complains.
If I put ? Then My code becomes crap of guards and ifs to check for optionals.
Really hate this Optional thing in Swift. Half my time when I jave an issue is related to optionals.
Btw,
let x: Int! = 10
let y = x, yields y: Int? -
App of a little social network I'm member of didn't connect to the server anymore, since the social network changed their SSL-certification and my smartphone is too dumb to accept the new one.
So, I pulled the source code of the app from GitHub and added some code dealing with SSL-connection-exception-handling.
A warning appears, that there were some errors with the SSL-cert with the question how to proceed and three options:
Quit, Ignore for now, Ignore and don't ask me again.
The code to ignore ssl-errors is just for debug-/develop-purposes, but hey, app with that little "hack" is running only on my phone x)
Now, the app is working again at my smartphone \o/2 -
Why you should use sketchware and not use it at the same time regarding: encryption
sketchware the app is known to build apps by dragging elements to the screen then coding them with blocks or even write your code with the built in ide but there is one thing every developer fears. ah yes. the reverse engineers (or modders)
random guy [rates: X]: sketchware encryption is trash! are you serious?! string fog?! class rename?! i decrypted this whole app with the software i made >:D
sketchware dev wrote back to random guy: string fog isn't working because you decrypted sir! there is nothing we can do sir but email to our email and we will get back to you in a few and fix the problem
i have to say this is why i stick to android studio too many skids decrypt the C++ files or the mod menu just to edit stuff :) i also build some games im learning android studio game development but at the time lets have fun and mod other peoples games1 -
Continuation of my first comment regarding the poor use of dictionaries...
Co-worker's code:
Foreach kvp in dict1{
ForEach kvp2 in dict2{
...
ForEach x in list{
ForEach kvp3 in dict3{
...
}}}
At least 2 of those kvp iterations can be changed to a standard dictionary use
What the hell am I looking at...... :(3 -
I was working with integrating GAMADV-X (python wrapper for google gsuite) with google spreadsheet, which gives limited api calls (around 100 calls) per day.
So I was syncing the users in the spreadsheet and google group users (more than 100 or so).
I used up my daily quota -_-.
Funny thing is I knew when I wrote the code and when I fucking ran it that I will overuse the api call limit.
It slowly triggered to me that I can't work on this project until next day and the first thing that came to my mind
'me dense mother fucker' -
What the fuck is this version control thing? We managed to pass one fucking entire semester building an mobile game without knowing anything about version control. How my team finished the game? Fuck, we just place our source code and files into the folder, archive to rar and sent it through gmail. My desktop was a fucking mess, it was bunch of New Folder(x) all over the place. Fucking school didn't even taught or mentioned even once about that shit. In fact our faculties were all master degree holder. Our life could have been easier back then. So in this last school year, we gonna use that shit in our Capstone project.5
-
"if compiler can infer this, there is no need to add "x ->" , simply use it" ..AAAGHH FUCK YOUUUUU KOTLIN!! what else should i fucking not write? why do't you take a number of my employee and ask his requirements, maybe add a ShoppingKartApp.kt in your compiler next time? it will be completely inferred when i write "Fuck you" in the gradle.
And fucking companies are promoting this! I wonder how those devs are living there
Person A knows only that lambda is
{name:Type,name:Type->code}, and thus writes a clean code.
Person B comes says "This shit suck", writes "{ acc, i -> acc + " " + i }" ,goes away
Person A : "wtf is this shit? why it works?"
Please for the love of god, follow some rules! My first language was python, i love its zen:
- Beautiful is better than ugly.
- Simple is better than complex.
- Readability counts.
- Special cases aren't special enough to break the rules.
- There should be one-- and preferably only one --obvious way to do it.
- If the implementation is hard to explain, it's a bad idea.
-...
I just wish it follows at least one thing from python's zen : "There should be one-- and preferably only one --obvious way to do it."3 -
I hate the Laravel community more than Laravel itself because they tolerated it to develop upto version 5.x with Laravel still pointing out errors in framework's codebase rather than a proper traceback to user's code.
Messed up shit.By Laravel.By PHP :)3 -
LOL XCode....I think they meant "X"tra useless, resembling such as a bag of dicks without handles!!!!
Also, being fucking buried because there's aren't any devs anywhere to be found near me makes me extra cranky!
Ive been hammering away at this Flutter, Java, Swift, Python, and Google maps for just about 36 hours on 3.5 hrs sleep. I just can't stop, I fuckin love this shit!!!
Considering the fact that I'm self taught and just started writing code for real about 7 months ago, I'd say I'm handling this alright for now. Every bit of tech is getting shot out of a cannon at this one- maps, real time tracking, state level auth/Id verification, custom components like ID scans/native desktop applications on custom linux machines, body cams, SIP trunking... all in 3 apps which are 100% multi-platform and scaled up to high end enterprise levels and being groomed for national release. I'm writing the code and doing the tech for ALL of it- even down to custom painted barcode scanners, a wallet system built from scratch, GPS integration, location/geofence based document querying... holy fuck guys I'm gonna fuckin die haha!!!
I went from barely getting websites made in late summer to this very moment, where I am pumping shit out in Flutter, Dart, Python, CPP, Js, Swift, Java, Kotlin, Obj-C, SQL/noSQL, and who knows what else.
I don't even know what the hell I just said haha I hope everyone has a great day! -
Let's say the app you built costs X.
How much would you make the customer pay for the non-mantained source code as it is at that specific point?
I'm asking because I just found a library which costs 50$ for compiled version and 2000$ for source code5 -
Ok, so currently in my Java course on Udemy we are going more in-depth into scope and visibility, and I'm currently doing the challenge for it.
So I'm doing it and the challenge is to have every single name of a variable or method be called 'x' (just to better understand scope and vis, he mentions how this is not a good practice AT ALL) with the exceptions of the classes and scanner var (but there is an optional challenge to also make them named x).
Now that I progressed into it, I noticed something. This challenge is literally making me make my code so DRY and outside-the-box-thinking that, what if, this could be a practice?
Not the naming everything in your code the same var name, but doing that at the start and then renaming the variables after coding. Because right now, I feel as though I am using SO MUCH less code than if I had the liberty of naming my classes, methods, and variables different things, it's actually kinda cool.
I'll attach my code from the challenge to this after by it really amazed me how well my code looked compared to my previous challenges and even personal projects!1 -
Group project at uni, we're learning how to do scrum sprints. So here's a small story about all the ways it can go wrong.
We assign scrum master and product owner roles, what do those do? "We want to do design tho" they say two weeks later.
I end up doing the organization part and structuring the backlog.
"Alright, you guys will be the frontend team, your tasks are X and Y"
No response
One day before the review I ask again
"So, what's the status" (well knowing that they didn't do shit so far)
They start scrambling around, and manage to do like 30% of their tasks at best, I end up doing most of the work for them.
Next week, new sprint, our tutors somehow don't notice that literally 95% of the code has been written by me so far.
"Alright team, hopefully you will do better this time, so and so will be your subteam leader since he knows this stuff"
No response
Some guys start working on independent things without collaborating with each other, sometimes replicating stuff I already did (but obviously worse).
So that's the situation so far, I really would rather kill myself than keep working with these guys, jeeesus1 -
So I have some OPC server to pass a lot of data to another app. And this developer is telling me that a "delete" event for a tag is not arriving into that app. So few emails flow back and forth between us, me trying to explain where that bastard event goes, he insisting nothing sort of arrives on his side and it's my server's fault. Until a meeting is set with my manager and his.
Dev: so I have no actual data from your server.
Me: can you seek, please, within your code if struct X is passed on from the server?
Dev: yeah, it appears a lot of times but I haven't seen any instance with your delete event.
Me: ok then, is it any place where you implement the main interface of the OPC client? There is a method in it where all the events are sent. You can put a breakpoint and I cand send you only this event.
Dev: hmmm, I'm looking for it.
[after couple of minutes]
His manager: Dev, did you find that class?
Dev: hmmm, I'm don't know...
His manager: can you add that breakpoint?
Dev: it's not necessary, I can fix it the "delete". -
Anyone got too used to ChatGPT until now google feels like a caveman tool?
if you tell chatgpt to write code that uses library X that does something it will provide the snippet ready to be copied
whereas googling it means you have to scroll through results, pray someone asked it on stack overflow before you, otherwise skim through medium articles until you find a code block or something
and yeah ChatGPT doesnt always write working code coz of the knowledge cut-off, i switch to bard sometimes or default to google11 -
!rant
Stupid licensing issue.
I have a licensing question/problem.
I'm porting Lemonbar (the fancy GNU/Linux X11 statusbar) to D (which is awesome imo).
I'm adding Wayland functionality and since D is part of the C syntax family some code is just about exactly the same (the XCB libs are protocol-generated external imports).
Also, the X-specific parts are in a specific file.
What do I license the project against? My own license (I prefer Apache) or Lemonbar's? What about the X-specific file?
BTW, it's a full rewrite using the same concepts, object-orienting the whole thing.2 -
To keep myself from doing anything productive on the weekend, I made a little WIP bodged together TF2-Colors page, enjoy?
https://opentf2.github.io/Colors/
I know X is missing:
- Language Selection
- Color Information
- Non-Paint Colors
- Refactored Code
- Documentation
- Section Names
- Section Icons
- Links
- ..
https://github.com/OpenTF2/Colors11 -
A piece of my soul dies when I see code like this:
Y = x ? false : true
I was already mad because the file that contained this line was written in a way that makes it really hard to fix any bugs or add feature that were supposed to be already implemented, then the sight of this just made me feel sad10 -
I'm starting to gain a dislike for OOP.
I think classes make it easy for me to think of the entities of a problem and translate them into code.
But when you to attempt to test classes, that's when shit hits the fan.
In my opinion, it is pointless to test classes. If you ever seen test code for a class, you'll notice that it's usually horrible and long.
The reason for this is that usually some methods depend on other methods to be called first.
This results in the usual monolithic test that calls every goddamn method on the class.
You might say "ok, break the test into smaller parts". Ok. But the result of that attempt is even worse, because you end up with several big tests cases and a lot of duplicate code, because of the dependency of some methods on others.
The real solution to this is to make the classes be just glue: they should delegate arguments onto functions that reside on its own file, and, maybe afterwards emit events if you are using events.
But they shouldn't have too much test code classes though. The test code for classes should be running a simple example flow, but never doing any assertions other than expecting no exceptions.
For the most part, you'd be relying on the unit testing that is done for each delegated function.
If you take any single function you'll see that it's extremely easy to write tests for it. In fact, you can have the test right next to the fuction, like <module>.xyz <module>.test.xyz
So I don't think classes shouldn't be used at all, they should just be glue.
As you do normal usage of this software this way, when a bug is discovered you'll notice that the fix and testing code for this bug is very usually applied to the delegated functions instead of being a problem of classes.
I think classes by themselves sound sane in paper, but in practice they turn into a huge fucking messes that become impossible to understand or test.
How can something like traditional classes not get chaotic when a single class can have x attributes and y methods. The complexity grows exponentially. And sometimes more attributes and methods are added.
Someone might say "well, it's just the nature of problems. Problems can have a lot of variables".
Yeah, but cramming all of that complexity into a single 200 lines class is insanity.12 -
i have been watching some jetpack compose tutorials and trying to create projects with it. Its quite cool and looks very interesting. but wrti8 those modifiers seems like a great wastage of time :/
Also, i have an OCD of writing code in lesser number of lines , as much as possible . so i would rather prefer writing
val x = Modifier.function1().fun2().fun()
than
val x = Modifier
.function1()
.fun2()
.fun()
as long as my code line does not cross the 80 character limit guideline, and as long as it makes sense to not switch to a new line.
but IDE seems adamant on breaking those long modifier lines to weird indented codeblock, so its already getting very noring for me :/2 -
'Job requires 5 years of commercial development experience'
So in other words, we are after someone who knows that every software company goes to the dog after x amount of years and that inevitably all the developers become inhuman code jockeys.
Back to the cupboard I go! -
Sometimes i feel being bad and wrong is better than being good. At least people will not demean you.
Case A : the bad guy
F : Hey man how are you doing?
Me : nothing man just smoking weed and being high all day
F : ugh . Ok i have to go
Case B : the good giy
F :hey man how are you doing?
Me : Awesome man! I have been learning and making apps for last 2 years, recently released this very nice ui notes app with unique notification capability. Took me a month but am so proud of it.
F1 : just the notes app? I made a tiktok clone in 1 month after learning android
Me : :'(
F2 : notes app? I made this awesome *small butunique app idea* app that got 50k installs
Me: :''(
F3 : 2 years? In 2 years i have learned so much that i can now make this puny notes app in ios Android website all synced up in 5 different frameworks with 10 additional features.
Me- ;''(
F4 : cool app. So now can you make this *random idea* app for me? Here are the designs and resources You seem experienced,How long would it take you?
Me : umm i guess so.. idea seems plausible, but i haven't worked on some things that are needed to complete it. So... x days?
F4 : X DAYS?!! wtf man ? Don't you know how to code? Does this looks like a task of x days? You even an engineer bro? Make it in 3 days
Me :
(Ps : replace F with friends , managers , ... Everyone :/)2 -
man if i could figure out how to do stuff and had the money to do stuff i'd be dangerous as fuck, but as of now i can only posit questions... it sucks.
Examples:
- What do modern browsers/crawlers do when hit with, say, an "HTTP 450 Blocked by Windows Parental Controls" or an "HTTP 374" status code?
- What happens if I do <xyz minor edge case thing> on <system?> (just use your imagination, this happens for every edge case i can think of for every system and the list wouldn't fit in a few megs' worth of half-byte ASCII, much less *here*)
- What if I made like a board to fuck with busses while systems were on? Press a button and for like five bus clock cycles pins like 6 and 7 are shorted? That sort of thing. As for system/bus types, *literally any* (old consoles with expansion ports, PCI/-e/-X/whatever, southbridge, etc.)
- What if I did <filetype> shenanigans by doing <something indescribably horrible> to this file? How do things react?3 -
When your university put up questions like "write a code to.." in the written exam paper it feels like drawing a button after writing the code in the answer sheet with text 'run' and a window below it with the text "x number of errors detected where x is a variable" -_-
-
I can't find a complete answer to this question, maybe this community has one:
Does putting an html file, with pure html code (without any php), as .php have any impact (or is processed differently) on the server load compared to simple .html?
Of course, if the content doesn't contain any php code to be processed it doesn't affect the performance, but the simple fact of declaring it as .php cause a different processing root on the server to output the same html result?
I'm aware that if there is any impact, not sure yet, tt's probably negligible, but I'm just curious about the backend root followed.
So, anyone know how exactly these two scenarios are handled (step by step) by the server?
1) Request of pure html as .html.
2) Request of pure html as .php.
My instinct says there must be an additional step in the second scenario to interpret and search for php code to execute.
There is? And does it have any calculatable impact, that multiples for X requests (ignoring caching) and depends of the length of the file?
Thanks5 -
Rant/question:
httpDoSmth1().subscribe(x =>
...then(y =>
httpDoSmth2(x).subscribe(z =>
//do smth with z
return z
)
)
)
Isn't this (not my code) callback hell all over again? The 2. http call expects results from the 1. http call. I feel like this could be solved cleaner using async await/switchMap/etc. ... but not like this.13 -
!rant
So I decided to collab with a website's maker (who i wont name here) to create something like r/place. (not an exact copy.)
I decided to start by learning their API, and customizing the server later.
I asked the guy for some help, and HOLY SHIT.
Let's start off by this: I had to request a chunk. The response data was in binary. 4 bits meant 1 pixel, so right away, I had to deal with that in my code.
No problem, just decided to use C# instead of JS. (see https://www.devrant.io/rants/547013)
I was finally done after a couple of mental breakdowns, and decided to implement updates.
I needed to use webhooks, and that was completely fine. But when I got "C1FFFF0000CA06" as response (in hex), I seeked some help.
C1 is the operation type: it means that a pixel was updated.
FFFF and 0000 were the chunk coordinates. But remeber: it's a signed integer. Guess what, I had to use Two's compliment. I decided to be a lazy asshole and only check for "00000000" because I was only displaying chunk 0,0.
CA06: This is a weird one. It's 2 bytes, and CA0 contains the X and Y coordinate of the pixel (in the chunk), and 6 contains the new color of the pixel.
I was sent the following code to work with 0xCA06:
color = 0xF & buffer
x = buffer >> 10
y = (buffer >> 4) & 0x3F
So I tried to do it, and it didn't work. I'm not blaming the developer of the server (original dev is reddit) because maybe I screwed up, but which guy will have a night of frustration and debugging?
Me.
P.S.: Dev, if you see this, I'm sorry. This API is way too complicated. I know we need to save bandwith and stuff, but damn.1 -
Ok just wanna share things that got me stuck for hours on my recent project and their solution. I hope it’s gonna help someone.
To start with, when I was implementing svg to png, i set an image object’s source with a data url. Normally this is going to trigger the onload hook. However for some fucked up reason it never triggered. The solution is to use setAttribute function and then the hook will be triggered.
Second, you can get rounded triangle by setting stroke width and set stroke linejoin and line cap as round. But remember, if stroke width is 6, then it’s 3 inside and 3 outside.
Third, if you have a rotation of svg element, and later on you want to manually compute the rotated point’s position, it’s most likely some vanilla code is not going to work. You see, when you rotate for x degree, it is actually rotating -x degree. I’m not sure if it’s a bug of my code, but it’s there.
And now the worst thing: if you look up how transform on svg is performed, stackoverflow is going to tell you it’s by order. But that’s somehow not true for my project. If I do set transform to do translation then rotation, the order it was applied is actually reversed. It’s rotation first then translation, like ffs why? Who the fuck said it was in order? It’s clearly in reverse fucking order.
Ok last thing, you can scale svg around it’s center, but absolutely don’t do that because it’s gonna fuck up tanslation and rotation applied to this svg. If you need to scale, translate it first then scale it will be better.
Anyway just some things i encountered. I’m gonna stay away from svg for at least two months now1 -
Psst, anyone who wants to use VS Code, but likes the key bindings for X editor: VS Code lets you use the default key bindings for most editors. Just search for it on the extensions marketplace.
-
Sticking to the man... or facebook sorta.
Using Selenium so I can get all the group feeds in Chronological order rather than Recent Activity... Why the fuck is there still no way to set the default.
Now that I think about the better way is to create a Service app that checks for updates and loads them into a DB and the Client app that just reads from DB. So Updates come from Selenium/Chrome in the backgeround thread while UI doesnt need to lag/wait...
fck... all those Async code for nothing.... (yea i m thinking while i mwriting this... an epihpany moment...)
One thing and the original question is, is there an existing Facebook scraper. OpenGraph doesnt work for Group posts or public events which is what i want the feeds for....
The problem though the AJAX calls for more posts when you scroll down. I am not sure in Selenium how to make the Driver wait for new content in the DOM... rather than just sleeping the Thread for X seconds and checking after.4 -
I'm working with this stupid ass framework that has a bunch of old style React class nonsense as examples (that's not actually that bad, but) ... AND worst of all every code example revolves around this convoluted thing where:
"How you do a thing."
"Make button, then you make a function that calls X, Y, Z and it opens the thing!"
But that's not the way you'd EVER do it because doing the thing inside the framework's components is COMPLETELY DIFFERENT!
I get wanting to dumb down documentation but this is dumbed down to pointlessness! -
What I just had to learn again, if you are the one who brings in (quality) standards in group tasks (like everybody does his stuff until day x, specify image sources, not only Wikipedia Copy & Paste), you are with a 95% probability also the one who more or less works alone on it at the end.
(Works the same with group coding projects where the one person in your group that's able to code relies on you doing most of the work because that person is lazy playing games) -
There's been a fad in the company where the managers ask for the opinions of other departments to "get different perspectives".
On one hand, we get feedback by non-experts, which is obviously bad because they're not in their field. "Feature X is kinda complicated. We could simplify it by doing A." and the manager goes "that's a brilliant idea! Let's do that!" and the devs go "we did consider that, but it has drawback N. And perhaps you wanna do B, but that has drawback M..."
And then they were asking for us programmers for inputs on their designs for logos, etc. Naturally, as programmers, we wanted quick access to many functionalities. But marketing wants a simpler and more intuitive design, even if it involves more clicks. This wasn't in my job description! I just wanna code! Thinking is your job! -
Coming up with tests that show we have met the requirements on the project, some of the requirements are "Use method X" to perform this computation, boss says "we can't simply refer to the documentation/source code demonstrating that this method is used" ... WTF....
-
"Good job coworker X for making a hotfix, that fixed crashes".
I don't get it. Poor code, no tests, bad QA and at the end of the day people get praised for fixing the crash. Cool, I guess I know how you get promoted.6 -
Help me out a bit, functional programming fans!
I'm experimenting with functional programming through JavaScript.
I created some dummy data to experiment with and created a simple function to query the data. I would like to get all elements, whose type attribute is not 'x'. A simple solution can be seen under the 'original code' part.
Under the 'fully functional code' part I gathered some frequently used general purpose functions, which I assembled into the function composition at line 45.
I'm having a bad taste in my mouth and feel that I've gone too far. I basically replaced every language element for a function. Is this the goal of functional programming? Is this how a perfectly functional code should look like?1 -
Writing a x-platform cli tool in Go designed to be an infinite REPL until EOF if no arguments are passed. Code works great on Linux and Mac as-is but not on Windows. On Windows it only works at all if args are passed.
WHY.
And people wonder why I don't like Windows. It's a shame my userbase has so many tech-saavy Windows users. If not for them I'd cut that git branch off the repo in a heartbeat. -
I once declared and initialized a variable with a default value all together. (var a= "default";)
And in a certain IF condition the variable value has to be changed, so i was changing the value of the variable inside IF condition. If (x==y) { a=" newVal" ;}
During a code review i was asked why i am not assigning the default value in ELSE condition. And i was like whut 😑.
So........ Some Programmers be like IF shouldn't exist without ELSE.6 -
[`script(x) ` for x in iterable if condition else command] [#:#]
Complex code in one line
#python
PS. That can be more complex, but I am lazy to continue with this -
Not sure what's worse, finding a bug in my code or waiting in a garage for 3 x tyres to be fitted and tracking to be done on my car! 😱1
-
Wasted 3 hrs on this today:
-Wanted to control pi gpio pins from php web server
-shell_exec(gpio write x x) wasnt working for me
-made a python script for gpio toggling which i wanted to execute with shell_exec
-still not working. Changed permissions, changed code , did everything possible SO MANY TIMES!
-Turns out if i had added a '-g' in the gpio write command..it would have worked in the first place!
FUUUUCK!!!!!!! -
Some background:
About 2 months ago, my company wanted to build a micro service that will be used to integrate 3 of our products with external ticketing systems.
So, I was asked to take on this task. Design the service, ensure extendability and universality between our products (all have very different use cases, data models and their own sets of services).
Two weeks of meetings with multiple stakeholders and tech leads. Got the okay by 4-6 people. Built the thing with one other guy in a manner of a week. Stress tested it against one ticketing service that is used in a product my team is developing.
Everyone is happy.
Fast forward to last Thursday night.
“Email from human X”: hey, I extended the shared micro service for ticketing to add support for one of clients ghetto ticketing systems. Review my PR please. P.S. release date is Monday and I am on a personal day on Friday.
I’m thinking. Cool I know this guy. He helped me design this API. He must’ve done good. . . *looks at code* . . . work..... it’s due... Monday? Huh? Personal day? Huh?
So not to shit on the day. He did add much needed support for bear tokens and generalized some of the environment variables. Cleaned up some code. But.... big no no no...
The original code was written with a factory pattern in mind. The solution is supposed to handle communication to multiple 3rd parties, but using the same interfaces.
What did this guy do wrong? Well other than the fact that he basically put me in a spot where if I reject his code, it will look like I’m blocking progress on his code...
His “implementation” is literally copy-paste the entire class. Add 3 be urls to his specific implementation of the API.
Now we have
POST /ticket
PUT /ticket
POST /ticket-scripted
PUT /ticket-scripted
POST /callback
The latter 3 are his additions... only the last one should have been added in reality... why not just add a type to the payload of the post/put? Is he expecting us to write new endpoints for every damn integration? At this rate we might as well not have this component...
But seriously this cheeses me... especially since Monday is my day off! So not only do I have to reject this code. I also have to have a call now with him on my fucking day off!!!!
Arghhhhhh1 -
When you use Cloud9 to make a project go faster by coding at the same time with your partner and you spent time on Ctrl+X + Ctrl+V on all the code so that it says that you did that code and none of it was done by your patner XD1
-
So trunk-based is the new approach everyone is using, because it is so cool.
I used gitflow for the last projects with azure devops, set up the pipelines like tipically in 1 week if I had other things to do with the help of the portal clicking through things. PR-s triggered pipelines, everything worked cool.
But then trunk-based got momentum, so I worked with this client where 2 developers worked for !!!3 months!!! to setup trunk-based pipeline. It was not my money, so I did not say a thing. They were using infrastructure as code.
I am all in for automation, but seriously? Then again, another project where a DevOps team took 1 dev-month to setup the pipeline + meetings. And what do you get in the end? So that the same image goes on all environments? Like how many releases do you have for prod in a year. Lets say 24. 24 x 5 minutes of manual work for the release, that is 2 hours. So my question is why would you spend 2 hours of manual work while you can automate it merely in a month? Everyone loves to code, but using the ui on the DevOps portal saves you so much time. I don't get this. Maybe I am getting old :D4 -
Not a function but X macros in C. Using them makes the code significantly more manageable and cleaner
-
I'm too retarded to understand how the fuck to get iframes (of other pages on our site) somebody wrote in the past in our code base to not become the page (the original has 2 other pages on our site "embedded") https://cheatsheetseries.owasp.org/...
I don't even fucking understand if I implemented the recommended framekiller code correctly, but it fucks shit up like the not recommended framekiller code so I'll settle for it. I also enjoyed (actually I didn't) reading about how this javascript framekiller stuff is fucking stupid anyway and mainly only applicable for old legacy browsers (in which case go fuck yourself anyway, just use a modern browser which benefits with from the x-header-options whatever the fuck, which was easier to implement and juSt WeRKs)
Guess I have no choice but to write AJAX to do this dumbass shit.
It's a shame I have no fucking clue how to fuckign front end3 -
So I already posted about this a couple of months ago, but I'm still working on my little game, Lore Seeker.
https://apps.apple.com/jp/app/...
I added a bunch of stuff - cards are now divided into 4 factions, and I added a whole slew of different abilities. It's getting pretty close to what I envisioned when I started imo. I also ported it from iPhone to Mac Os X, so if you have a mac you can do me a huge favor by checking it out and giving me a rating! I don't think the mac os app store gets any traffic though.
I have no idea if anyone actually wants to play this thing even if I add a million levels/cards but I'm just continuing to work on it and improving it hoping someone will notice eventually.
The most common question I get seems to be "where's android", so I've been messing around with android studio trying to figure out the basics. I have a tiny platform layer of Swift code that doesn't do much, and most of my code is in C++. So I just need to learn how to embed C++ code and then duplicate a small platform layer. I thought I could just jump into that and 'wing it' but I'm starting to think I will have to actually do some studying to figure out how android works... seems pretty confusing so far.
Anyway, thanks for any comments / advice / disses! <3334 -
If (true) {
// do else action instead
} else {
// fallback code
}
...no one else is in the pod, I "could" open a bottle, but I also have a deadline. X-o -
One of the things I find annoying about today's development is having to use package managers.
Here I am, trying to just simply install a package. Oops! The version of x you are running is not compatible with y. *fixes it and runs it again* Oops! The version of y you are running has dropped support for z.
How about! You just! Let me! Code! And stop! Making me waste time! On project scaffolding! For each! And every! Framework! Library! Or whatever!
*pulls my hair out*
lol4 -
The feeling when you choke your code with cython so much that you manage to get under a single second from almost 2s per quite a lot of calculations with already optimized code.
Another X-mas came! -
There's time crunch already, we need to finish this feature, this stupid fucking feature, quickly.
We design, and then code and obviously because of Murphy's law, our code doesn't work. Why, you ask. Because some shithead was modifying arguments behind the scenes and it took us fuckload of time to reach this conclusion.
Out of frustration, I made this.
https://github.com/iostreamer-X/...
It's a tiny library which helps you log every single change done to your object.
But seriously, fuck that shithead who modifies things without a care in the world! -
Is it bad practice to write a line of code longer than the screen, meaning you need to scroll on the X? I've had one lecturer who hates it and one who doesn't give a shit and I'm not sure of the standard8
-
I've been working on an extremely intermittent bug for the past week in my project that occurs during a stress testing between a PC based server and an embedded device that share files. When the crash happens, I analyze what happened by looking at a file as a result of an fwrite, look at a diff of it, look at the packets etc. For the past 3 days I had been lead to believe there was a bug in stdio.h's fwrite due to a file being written looking like it was truncated in the diff, but the packets telling a different story (X bytes sent to be written, on the result I report X bytes written). Today I noticed that there was either a bug or an issue in the diffing algorithm that led me to think my code was the issue. I spent 3 fucking days trying to figure why fwrite was truncating and lieing about its result when my diff tool was the culprit. FML.
-
Annoying monday - nearly no code but useless things like trying to use a Windows keyboard on some old MacOS X
On the other hand: for the first time I wrote a one line for loop in bash that worked - without googling!1