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 - "well written"
-
Root ain't givin' no fucks no mo'
My boss just demanded that I join a conference call. So, I call in, and there's three other people there.
He starts chewing me out for talking with some vendor directly (their VP emailed me directly and asked for a few things, and i was instructed to make him happy). Apparently I used "confusing wording" and "did not talk his language." Bossman was really getting into gear for a ten-minute berating.
It turns out that the guy in question only read half of my first email, and totally ignored the second email where I told him everything was finished and live and working. I told my boss quite bluntly that the guy should have read what I had written, and that he was an idiot. The boss's defense of the guy? "Well, he's a sales guy." I just laughed at him.
Later, bossman started in on me (once again) for not making enough progress on this ridiculous shared-spreadsheet sales tool he wants, saying "We discussed this a week ago!"
I casually reminded him that we had talked about it for the first time ever on Friday night (today is Tuesday), and he had said it wasn't going to be a priority for the next three weeks(!). Again he stopped in his tracks. Again, I laughed at him.
Guy's a tool and I'm so done with caring.
Root's going to be flippant and angry. Root's going to have fun (:
What's he gonna do, fire me? 😂25 -
Manager: Why aren’t you working?
Dev: I am, I’m just not typing because I’m thinking an issue out.
Manager: Well what is taking so long? You haven’t written any code for like 15 minutes, you’ve just been doodling on your notepad.
Dev: I’m not “doodling”. I’m taking notes and trying to visualize the issue. It’s a complicated issue with application stat—
Manager: Well just simplify it then
Dev: ?
Manager: Instead of making it a complicated issue just simplify it and then it won’t take you so long. You’re likely overthinking it, I never spend more than 30 seconds thinking about any issue before coming up with a solution. That’s what makes me so effective at my job is my ability to be lean like that.
Dev: …this issue is a bit harder than deciding what to have for lunch26 -
How my C programs may as well be written:
#include<stdio.h>
int main() {
printf("Segmentation fault\n");
return 0;
}6 -
Mother of god, was listening to the US govt hearing of zuckerberg about the recent scandals. The amount of very fucking simple obvious questions he 'could not' answer normally...
Govt person: Would you be willing to change Facebook's business model if this was required for the security and privacy of Facebook users' accounts?
Zuck: I don't understand your question.
Sorry, WHAT?! You don't need particular rocket science to understand what's being asked here. A combination of common sense and knowing the English language and English grammar in combination with maybe having finished some form of education should be enough to understand this ridiculously easy question.
Do you need it written on a golden plate with fucking blue letters in Facebook's font with the S letters as dollar signs while drinking 10 gallons of 'fuck every persons privacy'?!
Or maybe shoving it up your ass in the form of heated/glowing metal letters of 10+ inches in height? We could arrange that as well.25 -
"Don't waste your time writing code. Browse on github looking for pieces of code, they're all well written over there."
... during a Javascript exercise lesson.5 -
Here's a recent interview I had for an Android Developer job:
I: Interviewer, M: Me
I: hello, welcome
M: hi, thanks
I: do you know Kotlin?
M: yes, I've been working with it for 1.5 years and have written 3 projects in it
I: do you know RxJava, Dagger, Retrofit, and how to make Custom Views?
M: yes, I'm comfortable with them *explains*
I: do you know Room?
M: yes I do, I've done a lot of practices in it, but unfortunately have never needed to use it in production
I: what architecture do you use? Do you know MVP?
M: I'm currently using MVVM, but not MVP. I've debugged projects in it so I know what's going on in it
I: ok, do you have any questions for us?
M: how did I do?
I: I'm sorry sir, but you're not even a junior here
M: what? Why is that?
I: well you don't know Room and MVP?
M: I said I know them, just haven't used them in production.
I: well you have 3 years of experience but you dont even know Kotlin!
M: Kotlin was your first question and I said I have 3 projects in it. Did you even check the samples you asked for in the job posting?
I: SIR YOU'RE NOT A GOOD FIT FOR US, THANK YOU FOR COMING.
:/56 -
I worked on a greenfield project a couple of years ago. The company had an old solution written in Omnis (heard of it? Yeah, me neither) with an SQL database. My team was to create a completely new web based system... on top of the old database, so the customers could keep their existing stuff.
The dba was an intelligent man, one of the nicest people I've met, and over the course of fifteen years he had made a remarkably terrifying monstrosity of a database. Some years before me they wanted to "future proof" the system and make it "easier to switch to new technologies". So they moved the entire business logic into the database...
I used a tool to create a visualization of said database when we started. It had no views, only tables and sprocs. Look at it! Tables and sprocs are rectangles (well, dots) and any connections are drawn in grey lines. There were no foreign keys, so a tables only visualization only yielded a collection of independent rectangles without a single line.
Now, the stored procedures were bloody MASSIVE. A single procedure that only registered a new interested party and attached them to a property had 2500+ lines and over 150 parameters.
Also, this dba added features and fixed bugs by logging into the respective customers production server and writing SQL.
That database is the stupidest thing I've ever seen a developer do.35 -
I had a client reach out to me to build a website for a company they’re starting.
The email was well-written and I was considering doing it—but then I read the last sentence.
“I think it’s appropriate for you to do it for free since I took the time to reach out to you”9 -
Been lurking here for a while. Finally pissed off enough to post.
Been programming in Ada for nearly a decade now. One of the few younger devs who knows the language well. Have a large collection of libraries and tools written in it, open source. Done contract work. Looking to get out of my current line of work, which is medicine, because fuck this recent legal climate. I'm spending all my time dealing with legal compliance and it rapidly changing.
I see a job posting from a company looking for a programmer to mostly write testing stuff for clients. They mostly work with Ada. I've written a whole unit testing and integration testing framework. Perfect. Apply. "You don't have the required skills." Oh... K then.
Wanna guess what I was just offered as contract work. Same company. I guess i'm fucking qualified if you asswipes sought me out to ask me to fix your fucking bullshit.
What the hell is wrong with management and HR in recent years?9 -
Just a little bit of venting from me (written in GT for speed):
>be me
>apply for a programming job at a local company
>interviewer says that he's impressed with my resume and says that he'll call me
>one week later
>"hey anon, drop by our office, you're hired!"
>hot diggity damn!
>papers say that it's a help desk job
>"oh don't worry about it, it's just that we don't have a programming sector yet"
>wtf the job offer was for programmers but w/e a job is a job is a job
>start working there. Really mineal shit like fixing entries on SQL, resetting modems, etc.
>decide to write a couple of scripts for more mechanical tasks such as gathering .xml for the accountant
>everything is peaches and gravy
>one day the boss calls me into his office
>"hey anon, you're fired!"
>ask him why
>tells me my coworkers ratted me out on the scripts, says that I'm cheating on the job
>ni🅱️🅱️a wut???
>try to explain myself to him but he won't listen
>get fired after 4 months of being the most productive member of the team
That serves me right for trying to be good at my shitty ass job. Oh well.14 -
After months and months of unrealistic deadlines, pulling late night shifts coupled with an insane commute and two very small children at home I had a total burnout. Turned up to work one morning, and stared at the Java code I had been writing for the past couple of days and it might as well have been written in Martian. The more I stared, and the more I tried to keep things together internally the less I was able to make sense of anything - just a random jumble of characters on screen that were as intelligible as the green scrolling lines from The Matrix.
My office manager saw that I was obviously in some distress and took me into a meeting room to have a quick chat - and there I was, a grown man of 35 bawling my eyes out like a two year old. Not the most edifying moment of my life.
However, the company couldn't have been more supportive afterwards; one of my colleagues drove the 100 miles to get me home in my car and took a train back up to the office; my GP signed me off work for six months and treated me for severe depression; the office instituted stricter working policies - not on the developers, but the sales/PM teams that were handing down ridiculous timescales simply so they could get a sale.
For my part, I've learnt to push back and say "NO!" - work is not your life, it's an important part of your life, but my no means everything. Don't feel beholden to a company to meet unrealistic targets that you haven't agreed to. Talk.3 -
I have the habit of immediately closing parentheses after opening them, then insert the code.
The problem is, this applies to hand writing as well. Because you cannot move characters in a hand written exam I spend half of the time writing, then removing parentheses.
Whyyy brain5 -
They announce the results and that was where the fucking plot twist was.
I was *not* on the list. I was devastated, to the point of depression. I refused to get over it, sulked at home, fell sick, skipped college for next two weeks straight. It took a few more days for me to recover.
After several visits from my friends and a lot of convincing, I decided to go back to college. I felt hopeless and had pretty much resigned to my fate. Being the idiot that I am, I missed several other interview opportunities during that interim when I was despairing-away.
Semester exams were about to start and I get a call from my staff saying I had cleared the coding exam for one of the companies that was coming for recruitment the next day. I had written this exam like several months ago and didn’t even remember having written it. It was such a short notice and I had zero time to prepare and my psyche didn’t want to(remember how I had resigned to my fate?).
I did manage to make it to the interview. I was expecting a tough interview (this company had a reputation for having tough interview rounds) but all I got was a bunch of tree and linked list and search algorithm related questions (internship interview). I had two rounds. It did really go well but I had learnt to not get my hopes up. Then I noticed other interviewees being called for a third round and they asked me to go home. I was like “meh”. I was used to it at that point in time.
Very unexpected to me, (but i’m pretty sure y’all have guessed at this point) I get a call saying, they have recruited me as an intern! 6 months later, I was working as an employee!
When I look back today, I realize that my current job, in every way, is waay better than the one I had so desperately wanted! The pay, the timing, the location, my actual job description, all of it! As a bonus I have an awesome manager who trusts me! I work with remotely with a team with such high standards and I learn something new everyday.
In my two years here, I have built a couple automation systems from scratch, I have mentored an intern and got him a full time offer, I have had two free two-week trips to the US and I have been promoted once! I’m so glad I was rejected that day (:
Thank you for reading!17 -
Guy: *hands me sheet of paper* What does this code do?
Me: *looks through code written on the paper* Well, most likely segfault.
*awkward silence*7 -
I worked in the same building as another division in my organization, and they found out I had created a website for my group. They said, “We have this database that was never finished. Do you think you could fix it?”
I asked, “What was it developed in?”
He replied, “Well what do you know?”
I said, “LAMP stack: PHP, MySQL, etc.” [this was over a decade ago]
He excitedly exclaimed, “Yeah, that’s it! It’s that S-Q-L stuff.”
I’m a little nervous at this point but I was younger than 20 with no degree, entirely self-taught from a book, and figured I’d check it out - no actual job offer here yet or anything.
They logged me on to a Windows 2000 Server and I become aware it’s a web application written in VB / ASP.NET 2.0 with a SQL Server backend. But most of the fixes they wanted were aesthetic (spelling errors in aspx pages, etc.) so I proceeded to fix those. They hired me on the spot and asked when I could start. I was a wizard to them and most of what they needed was quite simple (at first). I kept my mouth shut and immediately went to a bookstore after work that day and bought an ASP.NET book.
I worked there several years and ended up rewriting that app in C# and upgrading the server and ASP.NET framework, etc. It stored passwords in plaintext when I started and much more horrific stuff. It was in much better shape when I left.
That job was pivotal in my career and set the stage for me to be where I am today. I got the job because I used the word “SQL” in a sentence.3 -
*goes to the local town hall to get my new ID*
A week ago:
Clerk: Sorry sir, our systems don't work anymore, we can't process your request!
Me: Epic. Is there any sysadmin in here that can fix this pronto?
C: No it's a centrally managed system. It's managed by the people in ${another town}.
M (thinking): Well how about you fucking call them then, fucking user. Screaming blood and fire when nothing is wrong server-side but doing nothing when there is. Fucking amazing, useless piece of shit.
One week later, i.e. today:
M: Hey, I'd like to renew my ID card. I've got this announcement document here and my current ID card.
C: Oh no I don't need the announcement document. I need your PIN and PUK code letter.
M (thinking): What the fuck do you need that for.. isn't that shit supposed to be my private information..?
*gives PIN and PUK part of the letter*
C: Alright, to register your new ID card, please enter your PUK and then your PIN in this card reader here twice.
M: Sure, but I'd like to change both afterwards. After all they're written on this piece of paper and I'm not sure that just destroying that will be enough.
C: Sure sure you can change them. Please authenticate with the codes written on the paper.
*Authenticates*
C: So you'd like to change your codes, right?
M: Yeah but I'd like to change it at home. You know, because I can't know for sure that this PC here is secure, the card reader has a wired connection to your PC (making it vulnerable to keyloggers) and so on.
C: Impossible. You can't change your PIN at home. (What about the PUK?!)
M: But I've done that several times with my Digipass for my previous passport.. it is possible and I've done it myself.
C: Tut tut, impossible. I know it's impossible and therefore it is.
M (thinking): Thanks for confirming that I really shouldn't enter my personal PIN on your fucking PC, incompetent bitch.
M: Alright, I'll just keep this PIN, try at home and if it's really impossible because the system changed to remove this functionality (which I highly doubt, that'd be really retarded), I'll come back later.
(Just to get rid of this old stupid woman's ignorance essentially.)
C: Sure sure...
Me: I'd also like to register as an organ donor. Where can I do that?
C: That'd be over there. *points to the other room in the town hall*
FUCKING THANK YOU LORDS OF THE WICKED RAVEN AND THE LIBERATED TUX, TO GET ME AWAY FROM THAT STUPID FUCKING BITCH!!!
.. anyway. I've got my new ID and I'm an official organ donor now 🙂6 -
I'm sick of how much abuse PHP gets from other programming communities. PHP written well, using PHP 7 is comparatively quick. yes it has its quirks, just like JavaScript, but just because you can do stuff in multiple ways, and the language has a few inconsistencies doesn't make it a bad language. The recursive flag in bash applications changes case inconsistently (I.e. zip and cp) but that doesn't get bashed (lol) half as much....
I think I need to finish my coffee this morning29 -
I might have posted this before. But I am going to post it again. Because emojis.
Me: 😁 Software lead I have finished coding the thing.
SL: 😀 Cool, good job. That is going to really help out the analysts.
Software Manager: 😐 hey I noticed you have coded a new thing and pushed it to integration.
Me: 😁 Yes.
SM: 😐 Well how do you know when it's done?
Me: 😑 . . . When you run it and it does the thing?
SM: 😐 Did you write test steps?
Me: 😕 Yeah . . . they're in the issue ticket.
SM: 😐 Yeah but how do you know those are right?
Me: 😕 Because I wrote the thing and the test steps?
SM: 😐 did you put any steps in our acceptance test procedure?
Me: 😕 No.
SM: 😐 why not?
Me: 😧 Because the acceptance test procedure tests requirements. There is no requirement for this functionality.
SM: 😑 Then why did you do it?
Me: 🤔 Because it was an internal request from the analysis team. There is no customer impact here.
SM: 😑 I really think we should write a requirement.
SL: 🤔 But what requirement is he going to attach this to?
SM: 😑 We don't have to attach it to a requirement. We can just test it once and remove it.
Me: 😒 SM, you know we never remove anything from the acceptance test procedure.
SM: 🙂 We do sometimes.
SL: 🤔 When was that I have worked here for twenty years and we have never removed a test from that document.
SM: 😑
SL: 😒
SM: 😑
SL: 😒
Me: 🤐
SM: 😧 I really think there should be an acceptance test written.
SL: 😧 Looks like you're writing an acceptance test.
Me: 😒 Alright as long as y'all're payin'. Shit I was just tryin' to save y'all money.
*acceptance test written and sent to peer review*
Peer: 😐 The requirement tested section doesn't have any requirements spelled out.
Me: 😅 No.
Peer: 🤔 Why?
Me: 😓 Because there is no requirement associated with this test.
Peer: 🤔 Then why are we adding an acceptance test?
Me: 😡 WELL AIN'T THAT A GOOD GOD DAMN QUESTION!?6 -
I was messaged on LinkedIn by a recruiter while I was in the UK for my honeymoon. When we got back home to Colorado I called him back and everything went well enough that a tech screen call was set up between four or five guys on the team, and me.
I was expecting to be grilled about various Linux, networking, video transcoding, database, and transaction handling questions and problems, as that was the bulk of the job's description. But instead they just gushed that they'd used software I'd written at previous jobs and loved it.
It was very friendly and they never challenged me (not being arrogant here-- they literally never tested me) and we wound up just talking about, "the job," and about how the work sucked without the tools and apps I'd written.
I got an offer for $30k more than what I asked, the next day.5 -
"everyone can code" is like to say "everyone can write". Yes, everyone can write, but there's a difference between be able to write and be able to write a successful well-written novel7
-
My second job. I've been hired as a research specialist, not a developer, but they found out I could code during the interview.
Boss: hey, so we have our main product line that shares the control panel for all the models, right?
Me: unh, yeah
B: well, we need to know how it works.
M: sorry?
B: yeah, I mean, we should have a manual with all the tech documentation so we know how everything works
M: ...and didn't you handle the tech docs to the developers?
B: uh...no, actually we requests feature to the devs (note: external company) with a phone call, or email...now we need the specs.
Me: omg
...
The other company (which is part of the same group) handles me the source code.
It is a huge, 25k lines of spaghetti written by at least 7 people, one at a time, uncommented.
After a month I produce a 50page doc with how everything works, after actually compiling my resignation letter 3 times.
M: boss, here the docs
B: fine, I'll take a look
15 mins later
B: this is not what we need! You cannot describe those algorithm like this!
( I described the algorithms with their block flow, with a punctual verbal description)
M: umh.. So how do you need it?
B: we need an excel table, with all the entering conditions on the rows and all the exit conditions in columns, and the description of the condition of work in the crossing cells!
M: are you even serious?7 -
Worst legacy experience...
Called in by a client who had had a pen test on their website and it showed up many, many security holes. I was tasked with coming in and implementing the required fixes.
Site turned out to be Classic ASP built on an MS Access database. Due to the nature of the client, everything had to be done on their premises (kind of ironic but there you go). So I'm on-site trying to get access to code and server. My contact was *never* at her desk to approve anything. IT staff "worked" 11am to 3pm on a long day. The code itself was shite beyond belief.
The site was full of forms with no input validation, origin validation and no SQL injection checks. Sensitive data stored in plain text in cookies. Technical errors displayed on certain pages revealing site structure and even DB table names. Server configured to allow directory listing in file stores so that the public could see/access whatever they liked without any permission or authentication checks. I swear this was written by the child of some staff member. No company would have had the balls to charge for this.
Took me about 8 weeks to make and deploy the changes to client's satisfaction. Could have done it in 2 with some support from the actual people I was suppose to be helping!! But it was their money (well, my money as they were government funded!).1 -
I've had 3 interviews with the same company. The first two interviews went pretty well, they looked interested, on the third they tell me "your CV says you are not graduated yet, we can't hire you now".
SO WHY THE FUCK DID YOU HAD TO WASTE MY TIME?
You've had my CV before the first interview, why the hell didn't you read that I am still a student? Is the first thing it's written on it! Stupid fuckers.5 -
I was expecting a 4th interview this afternoon for a position as a fullstack elixir developer.
Got a response from the CTO.
'Even if you pass all the tests with success, we could not go further because you're a junior and we're looking for a senior'
Well, dude, you've seen me 3 times and didn't understand that I was a junior ? My CV is not enough explicit ? It's written at the top of it...
So after a motivation interview, technical test, technical interview and Phoenix framework interview, they only realized yet the plot.
Good luck for your seniors to pass their knowledge to other seniors.17 -
So where to start... Let me preface this by saying I am a Software Architect for C# and do 99% dotnet development.
I just received a phone call from our Director of Development asking me to look at adding a feature for SSO with our companies main development project, which is written in PHP. I hope I made the correct changes but since I am not a PHP dev... I am not 100% confident in my code.
Now I am writing this as we are making the deployment Friday, December 29, 2017 at 5:00 pm. I should add that I am going on vacation for the next week.
So let me summarize... I am not a PHP developer, the non-PHP developer is making PHP changes on a Friday Night, and before a long weekend and before going on vacation.
I would like to point out that I said I was not 100% comfortable with this... but well this is what they wanted. I am not even sure what really to say about this though.6 -
A CMS raping WordPress so hard up the ass till there is no tomorrow. I hate that bastardized piece of fuck. “Hey I want you to fix my page and its wordpress. I pay 20 bucks.“ Well fuck you too sir. Wordpress is no cms you wanna be coders. Get back to your fucking photoshop and design something original! Every fucking wp page looks the same. Every “nice feature“ is some kind of monkeypatched workarround. No problem i set preview pictures for every post just to enable some weird slider to function.
I also love those buttfucked files with just a “require foo“ which also just requires “bar“. Drop that fuck. Implement autoloading. Nobody uses php4 anymore step into the future. “easy to learn“ fuck me and fuck you untill you vomit jizz! Clusterfucked spaghetticode thats easy, easy to put another rotten load of clusterfuck on top. Also those security features. I put an empty index.php to prevent directory traversal. N I C E! Stop using wordpress as CMS, its a blog engine. Nothing great has every been written on top of wordpress and never will. I dare you to deny everything related to it and if you are one of those designer guyd, you can gargle my jizz you fucknut!
Starting 2017 i will start a counter and rape every 10th Wordpress which gets abused as cms i encounter into oblivion on their 0,99$ webhosting shit.
Fuck this I'm so mad about that crap17 -
Boss comes to me with an idea, we use a spreadsheet to store certain sets of links for clients, sometimes with dozens of links, he wants us to be able to push a button and open all the links in the sheet. I'll admit I'm not exactly proficient in excel but said I'd look into it.
I came up with a macro which seemed to work for a while but there were a few links now and then that didn't want to open due to the way excel apparently checks the links prior to actually opening them. I told my boss that I'd look into a better solution but was slammed in office with scheduled projects.
I ended up taking time at home over the next week learning how to make this happen in Python. After a week I've got a CLI Python app which takes in an excel workbook and asks the user to select a sheet. Well employees don't like CLI so they asked for a GUI. I had never made anything with a GUI before since I'm not a software developer, anything I had previously written was written for me so it didn't need a GUI to be useful.
Spent another two weeks at home developing this thing and finally got a working solution. Now several employees are using my app as part of their daily job, saving them well over an hour of just clicking links in a spreadsheet.
Boss goes on a long rant about how he appreciates me and is thankful I was able to figure this out in my own time and save him money. So I say "If you really wanna show you appreciate me, you could approve that raise I've been asking for."
He replies, "Haha, yeah, but that's not gonna happen."
(I and THE back end developer, and I make less than the copywriting interns, time to start looking)12 -
Google sucks!
No, not as e-mail or for privacy reasons. Sure, that too, but it comes with "free" stuff.
It sucks because it's breaking every possible record in the worst, shittiest, most insanely stupid APIs and integrations out there on the entire fucking planet!
It is comically stupid!
Aside from their LOVE of hard-deprecating APIs every few months, requiring constant, time consuming maintenance of every tool that integrates deeply with Google services, some of their APIs, for expensive stuff, look like they've been written by Bobby McFartface from 7th grade.
Take a look at DoubleClick Search (their ad performance reporting tool, that sure does sound like one). To upload custom, additional data, you must pass in a ton of parameter, and they REQUIRE some of them to have a specific, hardcoded value. What's the point in passing that parameter then you dickheads?!
But fine, so you uploaded some stuff using the API. Now you want to delete everything and try again after you fixed a bug - well you fucking CAN'T! You can't delete stuff, you can only mark them as "deleted" using an update call.
Bulk operations? Fuck no!
Can I just add on top? Well of course not! That will raise a ton of exceptions. Same message should be transmitted using the PUT, not POST request, in order to edit.
Can I send everything to PUT? Of course not! You can't edit something that's not there, dummy!
Can I see what's there so that I can update it, and add what's missing?
Well of course not! Why on Earth would you need to see what information is in there after you uploaded it? Who needs that anyway?
Simply send, pray, and hope that everything will be fine (it will not).
Like holy fucking crap, it can't get any more stupid!
Google is a huge pile of idiots who feed on only a single cow - the search engine.
It's times like these when I think that Google right now is the worst thing that exists for everyone in tech. It's dragging everyone down with their monopolies everywhere and complete idiocy in managing them.5 -
Customer : c
Me : m
*Few weeks ago*
C: the server is slow, it sometimes takes 7 seconds before I see our data
(the project is 7+ years old and wasn't written by someone who is very good in SQL)
M: yeah I see that, our servers are busy with this one "process" (SQL query)
C: make it faster
M: well that's possible but it will take a few days (massive SQL spaghetti that I first have to untangle)
C: 😡 nvm then
*Yesterday*
C: server is down !
M: 🤔 *loads data from server and waits ~ 7 seconds*
M: Well what's the problem?
C: I need the data but it's so slow
WELL YOU MINDLESS IMBECILE... If something is slow it doesn't mean our god damn production server is down !
That just means that you have to give us a day or two so we can optimise the (ALSO BY YOUR REQUEST) rushed project... And save you YOUR money that YOU waste on the processing time on our server...4 -
Wondering around some code and I found:
// The next few lines of code should be fairly self-explanatory
// ...
Well if it were so self-explanatory then why TF putting up a comment here!!
Git blame file
Oh sugar it was written by me...1 -
Python:
* looks nice when written
* painful to write nicely
Perl:
* looks horribly when written
* easy to write
C/C++:
* looks cryptic when written, hard to follow
* difficult to write
Java:
* looks somewhat nice if written well
* easy to write
Shell:
* looks crippled
* a breeze to write
it's like nice'n'easy doesn't even exist..24 -
A couple of weeks ago, I asked the "brand manager" if he knew how to reset printers to their defaults before reconfiguring them, knowing full well that he did not. He assured me that he did. I smiled and let him leave.
He called me yesterday, frantic, because he didn't know how to reconfigure a printer that already had a password. After reminding him of the above, I told him how to put the printer in diagnostic mode and how to navigate the menus. Literally: "Turn the printer off, then hold down the feed paper button while turning the printer on. It will print out a bunch of diagnostics, and a menu at the bottom. Just follow the instructions at the bottom to use the menu"
Apparently following simple instructions is well outside of his abilities. After he spent five minutes fighting with it and complaining, I called him and walked him through powering the printer on while holding down the feed paper button. Terribly difficult.
The next step amounts to "hold down the feed paper button for more than 1 second." He spent ten minutes (ten!) on this unimaginably challenging step, and, frustrated at his inability to outsmart a simple button, he gave up completely.
He literally couldn't follow the instructions on the printout. I've attached a picture to show how ridiculous this is, and it saddens me terribly to report that I'm quite serious. he was literally unable to figure this out.
HE SPENT TEN MINUTES TRYING TO PUSH A BUTTON FOR >1 SECOND! TEN MINUTES!
That's what was too difficult for him! A button! With written instructions!
I can't even.
But the kicker?
Now he and the bossman want me to drive half an hour so I can push a button for ~1.2 seconds because they're utterly incapable.
I'm soo done.
So. done.7 -
ESTIMATING FUCKING HOURS.
Well not literally, that only takes 10 minutes.
But software estimation... anyone pretending to be good at it is a dirty liar. Adding a button? Uh, let's say 2 hours, I mean I gotta poop in between as well, and it's probably some broken bootstrap theme with hacked custom margins.
Building a commenting system coupled to an ancient CRM? Uh... maybe one day? Maybe a month? I don't even know what the CRMs looks like? You won't show me because "that's irrelevant"?
WELL THEN I DON'T FUCKING HAVE A CLUE.
And in the time we spent on discussing time estimations, I could have written like half of the feature... or zero... because you still haven't fucking shown me what the CRM API looks like.
YOU KNOW WHAT I'LL GIVE YOU AN ESTIMATION. ME. VACATION. DONE IN 6 WEEKS.6 -
ARGH. I wrote a long rant containing a bunch of gems from the codebase at @work, and lost it.
I'll summarize the few I remember.
First, the cliche:
if (x == true) { return true; } else { return false; };
Seriously written (more than once) by the "legendary" devs themselves.
Then, lots of typos in constants (and methods, and comments, and ...) like:
SMD_AGENT_SHCEDULE_XYZ = '5-year-old-typo'
and gems like:
def hot_garbage
magic = [nil, '']
magic = [0, nil] if something_something
success = other_method_that_returns_nothing(magic)
if success == true
return true # signal success
end
end
^ That one is from our glorious self-proclaimed leader / "engineering director" / the junior dev thundercunt on a power trip. Good stuff.
Next up are a few of my personal favorites:
Report.run_every 4.hours # Every 6 hours
Daemon.run_at_hour 6 # Daily at 8am
LANG_ENGLISH = :en
LANG_SPANISH = :sp # because fuck standards, right?
And for design decisions...
The code was supposed to support multiple currencies, but just disregards them and sets a hardcoded 'usd' instead -- and the system stores that string on literally hundreds of millions of records, often multiple times too (e.g. for payment, display fees, etc). and! AND! IT'S ALWAYS A FUCKING VARCHAR(255)! So a single payment record uses 768 bytes to store 'usd' 'usd' 'usd'
I'd mention the design decisions that led to the 35 second minimum pay API response time (often 55 sec), but i don't remember the details well enough.
Also:
The senior devs can get pretty much anything through code review. So can the dev accountants. and ... well, pretty much everyone else. Seriously, i have absolutely no idea how all of this shit managed to get published.
But speaking of code reviews: Some security holes are allowed through because (and i quote) "they already exist elsewhere in the codebase." You can't make this up.
Oh, and another!
In a feature that merges two user objects and all their data, there's a method to generate a unique ID. It concatenates 12 random numbers (one at a time, ofc) then checks the database to see if that id already exists. It tries this 20 times, and uses the first unique one... or falls through and uses its last attempt. This ofc leads to collisions, and those collisions are messy and require a db rollback to fix. gg. This was written by the "legendary" dev himself, replete with his signature single-letter variable names. I brought it up and he laughed it off, saying the collisions have been rare enough it doesn't really matter so he won't fix it.
Yep, it's garbage all the way down.16 -
Last year I applied for a similar position to that I have now (Front-end Dev), but with a higher salary and less responsibility.
The interview went fairly well I thought, but I was also given a short written exam, where I was supposed to point out errors in the code provided. I'm certain I got everything right but I took too long (about 20 minutes for 20 questions) and they got inpatient pressing me several times.
My excuse was that I haven't used a pen in about 3 years. My hand didn't know what was happening! Who even writes anything anymore nowadays?!6 -
You know what you sound like when you say that "I want to be a programmer but this code is offensive so remove it"? It's like saying that "I want to be a surgeon but I don't like blood, so remove the blood right now."
I personally don't really like blood a whole lot, especially when it comes out of the bodies of other people. I don't really want to become a surgeon, but let's say that I would. "Teacher, I don't like blood, I want to become a surgeon but I hate blood!!! MAKE ALL PATIENTS STOP BLEEDING NOW!!!"
To which my teacher surgeon would of course respond: "Well how about you don't become a surgeon then, because humans that are cut open do bleed, and there's nothing we can do about it."
Same thing with code. You know why code is written? To be a useful tool, for people to become more productive by running the thing (unlike the average SJW). And normal people, you know how much they care about the code? They only care for it as much as for it to be able to run properly. And the ones that do look in the source code either want to improve its functionality or check whether it's actually something decent, secure, safe to run etc etc. People don't normally look at code for the sake of getting offended by something.
But the formulation used in the code, does it even matter? Jerk, it's a term that's used in physics. Does it refer to your despised white cis males whacking off? Of course it doesn't, it's a term to describe change in acceleration. Masters and slaves in code, does it refer to slavery? Most certainly it doesn't. So why bother?6 -
Allright, I'm pissed.
Warning: more than 4k characters written by a non native english speaker ahead.
Legend:
Storytelling
> Short summary of the current situation
> "Something being said"
> (Something being thought)
* Actions *
-- Background --
In an attempt to reorganize my desktop I accidentally deleted a folder I called "development". In there I stored links to all my IDEs (Not sure how you call these in english), but also some workspaces like unity (Not much stuff there, processing (just some hobby stuff) AND Eclipse (FUCKING EVERYTHING RELATED TO SCHOOL WEB DEVELOPMENT). Now 3 days have passed and I realized this important folder was missing. Cleared that windows trash the instant I deleted the trash on my desktop.
> Shit, Regret
Install a file restore programm. Do every possible search. Nothing found.
> Big shit
Deadline was in like 3 days. Week was fucking rough so:
> "Screw this, the teacher nevet corrects the assignments and also fuck JSP"
Fast forward 2 months to last week. Teacher starts checking assignments.
> Fuck
* Sees pattern: Only students with missing or bad marks are checked. *
* Feels save *
Teacher approaching me while working on current projects.
* Doesn't feel save anymore *
> "Well, I'ld like to see your THAT programm"
> Well fuck
* Tells the truth *
> "Well that's unfortunate, but I must write a mark. Do you really have nothing to show?"
* Remember that I worked on the school pcs when I started *
> (Better than nothing. Gotta try it)
* Teacher checks programm, not pleased *
> (Fuck me, but at least it's over...)
> Nope
* Teacher calls me over *
> "With the mark I had to write today you can't reach that good mark even with a good examination, what are we gonna do about this?"
> "Well, there were other assignments that were never checked. Could we replace that mark with one of those?"
* Teacher agrees *
> (Srly bless this guy for that support)
My best choice was an Android app we had to develop during December in pairs. I did the front end (90% of the whole work) and my partner the backend (10 %). I also did 30 % of these 10 %, because I had to review the shit he wasn't able to debug himself.
> brainlogic.exe provided by windows vista
This distribution was partly my fault since I overestimated the work needed for the backend, but also the fault of that fucker. I mean, he didn't tell me the professor already provided 90 % of the backend...
Rest of the week was really busy (always 1 or 2 things to study for each day, workout and family stuff).
Yesterday (It's past 12 already) I arrived at ~9 pm in the dorm I could finally start reviewing my code.
Internet gets shut down at 10 pm.
Gotta hurry.
* Opens project *
* Sees half a year old code *
* Fights urge to puke *
> (Alright I gotta do this. For the mark!)
* waits for gradle to index files *
* Remembers the fact that I haven't opened Android Studio in the last 2 months *
For those who don't develop with android studio: This is an equivalent to ~10k windows updates waiting to be installed
> (Well, gotta work with this kinda old version)
"gradle sync failed"
> ( Ok, just restart it. You're fine )
* Android Studio doesn't react anymore and/or renders *
* Waits 5 min *
* Restarts laptop *
* Android Studio is reacting again*
"gradle is synching"
9:45 pm: gradle is done and I can finally compile my app
> FML
* Sees App launched on phone *
* Almost pukes again *
> (This was the assigment for the UX chapter, so design doesn't matter)
UX is decent. Proceeds with testing stuff. Save paths work, but some bugs can be caused by going of it
* fixes as much as possible *
* Takes quick look at backend *
Date date = new Date (GregorianCalender.getInstance().getTimeInMillis());
C'mon, I asked you to be the backend. You got 90% of the methods already written by the teacher and had 2 months to write the interfaces to my Front end AND you come up with shits like that.
Note: this example is a minor example of brainlogic.exe
I did what I could to make improve my situation. Hopefully he doesn't discover the bugs. And If it's a backend bug then I could't care less, since that was not my job!
Wish me luck for today!undefined web development jsp school assignment not my job fuck up android studio tldr; not getting paid enough for this shit gradle blame backend9 -
I just had a rather stressful morning. I should've known something was up by the sounds of thunder as I walked into the office.
I sat down and checked my emails. There was an email from the boss who was away on a business trip. The subject read, "CRITICAL BUG" and my name was mentioned. "Great...No time for coffee", was my first thought.
I began searching commits to see when and how the bug came to be. "SHIT! It was my fault", I said aloud.
(A bit of backstory, I am Irish, working in Germany with a B2 level of the German language.)
I now had to communicate the problem quickly with a senior developer who is Russian. He can't speak English well and I would not expect him to speak it. We are in Germany after all. I tried my best to communicate the issue, but I found it so difficult to understand his German in a Russian accent. Normally, in the office I speak German except when it is urgent and I must explain a problem in greater detail through English. I got past that obstacle, however, the real challenge of fixing the bug awaited.
After 2 hours of coding, I had a solution and committed it to the master branch. All the while, I had been replying to the bosses emails with updates, probably with many grammer mistakes.
We have no dedicated testers here and the code is written in a way which makes it very difficult to test (i.e. it was written many years ago). When I had initially written the code, I tested rigorously and found no issues.
Just needed to rant. I need a coffee break now...4 -
Well, just remembered a fuck up one of my friends and me did. Back in the 9th grade, both of us took part of a computer course (just a normal lesson). He got me into programming. So after half a year we "hacked" into the school server. Tbh it was quite simple. The server did a backup each week in a specific folder. The problem was, the backup file had no proper rights set. Everyone had access to it. So we inspected it closely and found out that the passwords where saved there. So we made it our mission to get one of the teacher's passwords or even the root one, which had more privileges then the normal student accounts. After about 2 days we managed to crack one of them (using a hash table available for download). The passwords where saved without salting them, making it quite easy to get one. Now we were sitting there, having access to a teacher's account. So we logged in and tried to figure out what to do next. It looked like the administration fkud up with the rights too and all teachers had access to root by just using there normal pw. Well, the Grand final is coming. We put a script into the startup of the server (which restarted at 4:30 AM each Friday). The only line that was written in it was "./$0|./$0&"
We never got caught. And it was a heck of fun ^^8 -
Preface: i'm pretty... definitely wasted. rum is amazing.
anyway, I spent today fighting with ActionCable. but as per usu, here's the rant's backstory:
I spent two or three days fighting with ActionCable a few weeks ago. idr how long because I had a 102*f fever at the time, but I managed to write a chat client frontend in React that hooked up to API Guy's copypasta backend. (He literally just copy/pasted it from a chat app tutorial. gg). My code wasn't great, but it did most of what it needed to do. It set up a websocket, had listeners for the various events, connected to the ActionCable server and channel, and wrote out updates to the DOM as they came in. It worked pretty well.
Back to the present!
I spent today trying to get the rest to work, which basically amounted to just fetching historical messages from the server. Turns out that's actually really hard to do, especially when THE FKING OFFICIAL DOCUMENTATION'S EXAMPLES ARE WRONG! Seriously, that crap has scoping and (coffeescript) syntax errors; it doesn't even run. but I didn't know that until the end, because seriously, who posts broken code on official docs? ugh! I spent five hours torturing my code in an effort to get it to work (plus however many more back when I had a fever), only to discover that the examples themselves are broken. No wonder I never got it working!
So, I rooted around for more tutorials or blogs or anything else with functional sample code. Basically every example out there is the same goddamn chat app tutorial with their own commentary. Remember that copy/paste? yeah, that's the one. Still pissed off about that. Also: that tutorial doesn't fetch history, or do anything other than the most basic functionality that I had already written. Totally useless to me.
After quite a bit of searching, the only semi-decent resource I was able to find was a blog from 2015 that's entirely written in Japanese. No, I can't read more than a handful of words, but I've been using it as a reference because its code is seriously more helpful than what's on official Rails docs. -_-
Still never got it to work, though. but after those five futile hours of fighting with the same crap, I sort of gave up and did something else.
zzz.
Anyway.
The moral of the story is that if you publish broken code examples beacuse you didn't even fking bother to test them first, some extremely pissed off and vindictive and fashionable developer will totally waterboard the hell out of you for the cumulative total of her wasted development time because screw you and your goddamn laziness.8 -
If I died, I would have one regret.
I once worked in a code base whose messiness would make an oil spill in the fucking pacific ocean look like spilled milk on the floor in comparison.
Naturally, it had bugs. Oh BOY did it have bugs. Most of them were taken care of well enough. Or about as well as anyone insane enough to work in that code could.
There was just this one bug, which I still (un)fondly call "my bug of 2 years". It. Just. Didn't. Make. Sense.
It was written in JavaScript. Naturally. Which by itself, is the metaphorical programming language equivalent of a pile of horse manure. But this bug. It was the guano icing on top of the horse manure cake which is JavaScript.
I LITERALLY spent 2 years trying to find a solution. I woke up at night, thinking of explanations. I had dreams about fixing the damn thing. And I never did.
On the day I left the job, I had to pass it on to a friend (who hasn't solved the fucker yet either).
I hated that bug with all my heart. But..
Now that I think back, all the books I read, all the docs that I scoured, every non working fix I coded and every failed efforts I made on it, eventually made me a better programmer.
So cherish your bugs and issues. Sometimes, they come, not to hurt you, but to help you grow (unless you use JS, those bugs just wanna fuck you).3 -
When you document your class just right, so when you encounter it accidentally while debugging, you feel like digging in a base class, because it's so well documented and perfectly written.1
-
I love how the Keybase Linux client installs itself straight into /keybase. Unix directory structure guidelines? Oh no, those don't apply to us. And after uninstalling the application they don't even remove the directory. Leaving dirt and not even having the courtesy to clean it up. Their engineers sure are one of a kind.
Also, remember that EFAIL case? I received an email from them at the time, stating some stuff that was about as consistent as their respect for Unix directory structure guidelines. Overtyping straight from said email here:
[…] and our filesystem all do not use PGP.
> whatever that means.
The only time you'll ever use PGP encryption in Keybase is when you're sitting there thinking "Oh, I really want to use legacy PGP encryption."
> Legacy encryption.. yeah right. Just as legacy as Vim is, isn't it?
You have PGP as part of your cryptographic identity.
> OH REALLY?! NO SHIT!!! I ACTIVELY USED 3 OS'S AND FAILED ON 2 BECAUSE OF YOUR SHITTY CLIENT, JUST TO UPLOAD MY FUCKING PUBLIC KEY!!!
You'll want to remove your PGP key from your Keybase identity.
> Hmm, yeah you might want to do so. Not because EFAIL or anything, just because Keybase clearly is a total failure on all levels.
Written quickly,
the Keybase team
> Well that's fucking clear. Could've taken some time to think before hitting "Send" though.
Don't get me wrong, I love the initiatives like this with all my heart, and greatly encourage secure messaging that leverages PGP. But when the implementation sucks this much, I start to ask myself questions about whether I should really trust this thing with my private conversations. Luckily I refrained from uploading my private key to their servers, otherwise I would've been really fucked. -
- Project for a 40+b$ company.
- No business analysis.
- Only some 64 pages tech paper dividing the project in 4 iterations (pretty well written).
- « Please estimate the first iteration ».
- Can we do it in 2 weeks? Only items in first iteration, I think we can but we need a BA before we accept the project.
- Confirmed by senior dev front. 10 days, says we need a BA before we accept.
- Confirmed by senior dev back. 12 days, says we need a BA before we accept.
- UX/UI senior designer says he can't estimate such a technical, says we defo need a BA before any estimations.
PM, who is actually the department manager, says OK we can do it. No BA and estimations are halved, UI/UX 2 days.
He fucking signs the contract.
SURPRISE MOTHERFUCKER, WE NEED STUFF FROM FUTURE ITERATIONS IF WE DON'T WANT TO THROW AWAY ALL THE FIRST ITER WORK.
PROJECT BECOME A CLUSTERFUCK.
NOBODY UNDERSTANDS ANYTHING. THE CLIENT HAS NO CLUE EITHER.
The fucking dep. mgr assigns another PM and says he don't have time anymore.
NOBODY HAS A CLUE WHAT THE PROJECT IS AT THIS POINT.
We have 3 days left.
Whole team came to a conclusion: the only sane thing to do is to give our grouped resignation letters.
Thanks. It was fun while it lasted. Your dep. can go to hell.5 -
Are you a iOs developer/Android developer/graphic designer/web developer/3D artist aged 18 - 30? Are you fluent in English, both written and spoken? Well, that's nice , Good day 🤡1
-
I just love refactoring :) that feeling when an agonic 50loc method with ifs, loops, streams, other shit shrinks down to 3 lines with descriptive and SRP-compliant method calls.. When you can actually read code as a nicely written story. When there are no rubbish comments, cryptic variables and no overly complex if-else skyscrapers jamming all the logic in one conditional chain. When all the abstractions are designed so nicely and design patterns applied so perfectly that extending either of the components is as easy as a walk in a park.
When everything is nice and neat. Only then can I sleep well and enjoy the autumn :)
just some random thoughts after today's coding session :)5 -
I think I nailed it.
I had an interview on Friday. Never had I ever such a good one. Everything went so smoothly I'm amazed to this moment.
It started pretty much normally. Few questions about me and my CV. Next some soft skills check and few minutes talking in English to make sure I know how to speak.
Next, two funny trick questions. I hope I'll translate them good enough.
1) You've got 6 cups in a row. Three of them, next to each other, are empty. Remaining 3 are full. You've got one movement to make them stand alternately, ie. Full, empty, etc. or Empty, full etc.
2) You've got yourself a cake. Normal, birthday cake in a shape of a cylinder. On three cuts, you have to cut it in 8 equal pieces.
Next was technical interview. The only thing I couldn't answer to was a formula to get angle between camera and two objects on the scene. Something about cos x.
They told me that I was the only recruitee to make project using Hololens SDK. Other people made the images gallery in 2D only.
Also they were VERY impressed that I managed to send them fix that changed a lot of the gallery in an hour. No one was expecting it so fast since the feature wasn't all that simple. Or so they said. Code was written so it wasn't hard to implement this change.
Now I've got to wait at least a week for their response. As you could imagine, I'm nervously checking my email each time I get any spam.
I'd like to thank @fire-phoenix and @Root that were responding to my last posts about this new work tasks and current hardships. I know it's a bit too early to celebrate but I'm just so hyped for how well everything went 😀10 -
My friend who is new to Android App Dev was trying to make a simple app that programmatically takes a pic then sends it as an MMS. He opened Stack Overflow, copied code and i heard him murmur "hmm this is simple". Knowing the future, and the wrath of Android Studio, i leaned into my seat and waited. 2 hours later i knew Andy Studio had pissed all over him and it was written all over his face. I walked past him as if to go to the toilet then back again, his screen was blood red with errors and my heart danced and sang.
3 hours later i was out of the room and he sent me a text saying "I give up". I replied, "well tbh, im suprised it took you that long"
Thank you Android Studio for showing all those who think all we do is copy and paste code that they are freakin retards.4 -
Casual workday be like:
Project manager: It is important we deliver these features.
Me & Coworker: Sounds reasonable, here is how long we need, roughly.
Mgr: Well, the deadline is already set and the contract is signed and written.
M&C: Ummm...
Mgr: Also, while we are hosting the application, we are not paid for operational cost, so make sure to optimise the crap out of it immediatly. Preferably while developing the features.
(A wild architect appears): Also everything has to be built on cans and kubernuts, with rectangular ui and bootstyling and with these internally developed backend frameworks NOBODY tests. Coroporate policy you know.
(A wilder division CEO appears on meeting): Also we are rolling out code KPI's across the organisation. Everyone is expected to Focus on documentation, test coverage and there is now mandatory SonarQube scanning of repos. ZERO DEFECTS PEOPLE
M&C: ...
(Wildest Salesteam appears): By the way we sold the application to these other customers, they love feature XYZ and must have it.
M&C: It does not have feature XYZ
Mgr: It will have feature XYZ
M&C: Allright so with all the extra funding from the sales, we need to hire atleast one Machine learning guy, an extra frontend specialist a developer and maybe funnel some of the funding into slacking the operational budget in the start.
Animated Suit *Railing a line of coke from his gold plated ihpone 15*: What funding? Get to work. Also your havent been super sharp with your time registration.2 -
This happened via mail thread today.
Boss: we need this new brilliant feature I just made up and running asap! Top priority, it has to be done well, for my reputation is on the line!
Me: *looks at the specifics* 'kay, looks easy enough, this evening max and it will be ready. I just nees some extra info about what kind of data validations (I speak no accountant) are needed, and some other details (a total of 3 questiona).
B: Sure! Remember, it needs to be perfect, as my reputation is at stake. Call me on the phone and I'll give you the details!
M: Can't you answer via mail? Thua way both me and the other devs will have clewr guidelines
B: Just call me! Why do you need it to be written down? It's faster this way!
...Fine. I'll keep asking until you're ready to give me a written answer to my questions. No way I'll take security details via phone for something you want in production this evening. No chance in Hell I'll take responsibility for "misunderstanding" what you said on the phone. Why does it always has to be like that?8 -
I'M TIRED OF HEARING THAT DEVELOPMENT IS NOT A CREATIVE FIELD! Creativity is emerging new ideas from non-existent ones. It is not confined to pretty designs or well-written copy. Sure, devs are logical problem solvers – but not a single dev will solve those problems the same way. Code is like the paint on our dark-themed canvases and you can see yourself out if you think devs are just robotic coding machines8
-
Me : I should start building user authentication system.
inner self : there are enough free and secure ones out there, just go read the documentation.
Me : fuck I'm not reading 10000 pages of documentation written in alien language.
inner self : well then you better start building
Me : **writes code
Inner self : you better add the data validation and security while coding
Me : I just want it to work !
Me after a few days trying not to suicide : the site is hacked, the code is bugged, hello darkness my friend5 -
"I keep telling you, I'm not a pilot"
"and I keep telling you, you fly boys crack me up!"
I'm not a developer, but I'm doing some complex things and I need the benefit of computers to work things out, so I know enough programming to get me by. Recently one of the uppers decided that all the amateur spaghetti python programs I'd quickly slapped together should be developed into tools that the clients engineers can use!
"How long do you need!."
" I have no idea how to make something like that",
"but it's all just maths right! you can figure it out",
"probably, given long enough bu.. "
"okay get started and we'll check in in a couple of weeks" "hold o.." "I'll give your pride and joy to the graduate to fuck up while you're working on that" "wai.. " "anyway got take this call, good luck"
┗|`O′|┛
So here I am.. I have no idea what I'm doing.
So since I have a working knowledge of python, fortran and VBA, someone suggested I learn nim, which was not what he sold it as. Then a software engineer that went to the same uni as me, suggested RUST! you can't mess up rust, and look at this I created (shows me a decent looking desktop application) "I'll help you out". But it wasn't really that easy.
Then I asked some questions... that was my first mistake, that's not acceptable until you know what you're doing apparently. Especially when the answers are in the docs you can't find in a topic you don't understand for a version you're not using solved with a tool you've never heard of for an operating system you forgot existed. Look at this moron asking a question.
Okay to be fair, I went through the rust docs and it was well written, and I do really like this language. But I do not have a degree in computer science, and so many docs for crates are just written with an expectation of a certain level of knowledge. As soon as there's a build error, it's at least 3 -4 days of me faffing about trying to decipher hieroglyphics.
..and the graduate is about to unwittingly commit manslaughter..
I'm sure whoever needs to fix this mess in the future will post a rant about this train wreck.6 -
Dreamt I was writing code for work last night, pretty sketchy stuff. But then at some point I woke up, and in my daze panicked thinking that I'd actually written that code. So when I fell back asleep, dream me was working on fixing all the issues that I actually had never writen. Woke up again, worried about if I had left everything well, and realized my stupidity.
I need some days off... 📴2 -
Please ++ this. I need a stress ball. I've been debugging someone else's code for the past 8 hours and it might as well be written in Sindarin script.1
-
If programming languages were countries, which country would each language represent?
Disclaimer: its just a joke
Java: USA -- optimistic, powerful, likes to gloss over inconveniences.
C++: UK -- strong and exacting, but not so good at actually finishing things and tends to get overtaken by Java.
Python: The Netherlands. "Hey no problem, let'sh do it guysh!"
Ruby: France. Powerful, stylish and convinced of its own correctness, but somewhat ignored by everyone else.
Assembly language: India. Massive, deep, vitally important but full of problems.
Cobol: Russia. Once very powerful and written with managers in mind; but has ended up losing out.
SQL and PL/SQL: Germany. A solid, reliable workhorse of a language.
Javascript: Italy. Massively influential and loved by everyone, but breaks down easily.
Scala: Hungary. Technically pure and correct, but suffers from an unworkable obsession with grammar that will limit its future success.
C: Norway. Tough and dynamic, but not very exciting.
PHP: Brazil. A lot of beauty springs from it and it flaunts itself a lot, but it's secretly very conservative.
LISP: Iceland. Incredibly clever and well-organised, but icy and remote.
Perl: China. Able to do apparently almost anything, but rather inscrutable.
Swift: Japan. One minute it's nowhere, the next it's everywhere and your mobile phone relies on it.
C#: Switzerland. Beautiful and well thought-out, but expect to pay a lot if you want to get seriously involved.
R: Liechtenstein. Probably really amazing, especially if you're into big numbers, but no-one knows what it actually does.
Awk: North Korea. Stubbornly resists change, and its users appear to be unnaturally fond of it for reasons we can only speculate on.17 -
Hello, I'm now gonna rant for a bit. I'm usually not a ranty person (wait, why am I on this site again?) , but here we go. I sometimes feel misunderstood about my side projects.
I don't know about you guys, but when I program on my free time, sometimes I just want to grab a glass of wine and explore things I think bout during the day. So, during the start of my CS-education, when I started to get my programming feet a little warm, I wrote this tic-tac-toe game (as you do...), and I thought "Well I know how to play the game. Surely I can program an AI to play against". So I thought hard for an evening or two and came up with something that wasn't too shabby (I can't win).
Then another time when learned about creating GUIs we got to do simple menu based stuff with buttons and pulldown menus following a certain structure, but we also learned that positions of components can be set freely. So I thought "Well, if I can freely change the positions of components, surely I can animate stuff and if I map that to some keys I can create a real time game!". So I wrote a small platformer with two squares that ideally succeed in killing one another. After animation I started fantasising about 3D rendering, so I created a small application which creates the illusion of 3D, which was cool and all, but that got me dreaming of creating a real 3D engine. It became almost like a cause of mine; to understand how it all works and create a 3D engine from scratch.
So now I've written a 3D engine. A simple one, mind you, without all the bells and whistles, but still a 3D engine.
So, after all this rambling, what is this rant about? It's about how people react to all this. The reactions are divided. Some are impressed, mostly people who cannot program, but others are like "hm...". For example, during job interviews, when people ask me if I've done anything on the side and I mention this, people usually go like ".... hm... :| Well that's great. So mostly just done your own stuff?". Well YES! What is that supposed to mean? That I've not created shippable applications? I've explored, which I myself believe is valuable! I believe I've learned something along the way. And most importantly I've enjoyed it. Maybe I'm over interpreting this, but sometimes it feels like people don't even understand the joy in it, like it's illogical. Why create something that in the end won't create any real value?
Am I alone in this? Or perhaps, have I just written far to long and uninteresting a rant for anybody to read this far? I don't know. You tell me.13 -
How can business majors be so gullible?! Who the fuck poisoned their minds with the app hype ?!!
Seriously my tears are 90% from laughter and 10% shame for humanity.
Friend: "Dude I'd like to consult with you the idea of an app...etc"
Me: "Sounds nice, got a business plan?"
Friend: "Yes, but well...you see... development has already started"
Me: "oh cool, how's that going?"
Friend: "well I already made an upfront payment of 2K dollars"
Me: "sounds kind of excessive for the amount of work...wait did you said upfront payment?"
Friend: "yeah, we calculated 30k total"
😐
Me:"umm...that software must be...special...? Can I see it?"
Friend: "that's the thing, they haven't delivered"
Me: " did they give you mockups? A development plan? Demo? Anything?"
Friend: "umm no"
Me: "a god damn receipt?"
Friend shows me a piece of paper with the name of the guy and 2K written on it.
Friend: "he says he's been busy, I wanted your advice"
I blame Eduardo Saverin's fate and my friend's on college's failure to teach "real world assholes 101"7 -
*Looks up advice on how to implement something
*Finds reasonable, well written advice on Stack Overflow that recommends not using <insert latest framework here>
*Ignores advice
*Two hours of exasperated coding and git resets later
*Goes back and upvotes advice -
During the last couple of days, I got to hear quite a horrible story...
So we start at the beginning, where I have a dev-related chat with some other strangers on the internet. One of them was working on a custom protocol implementation with an API to go with it, written in Python. There were plans to migrate the codebase to another language like Rust in the long term. So the project seemed to be going well.
Another guy and the main subject of this chimed in on various of our messages, and long story short - he uses Express.js for everything he does, and he doesn't know jack shit on what he's talking about. Yet he still does.
Later we got the delight to hear that he had beaten up his mother, and that she's now in the hospital because of it, with broken arms, hands, fingers and severe bleeding. Yet he has the audacity to complain about his sore throat, caused by all his shouting. He refuses to seek any help, or to take medicines he's been given. This has been going on for several days now.
As much as I hate to even think about it, these too are "developers". I too have skeletons in my closet, but goddamn.. that these people even exist. The very idea that you may be talking to them every day. It disgusts me.16 -
A couple of weeks ago, I got to the second stage of a recruitment process with a relatively big fintech in the crypto space (I know) - all went well and although I did not think much of it at first, with all the information I had gathered I came to realize this might as well be the best opportunity I've had in my pursuit of finding a new job (i.e looking for high technical challenges, unsure of where I see myself in 5 years, wanting to give full-remote work a try, etc.).
Cue to the end of the interview;
"That's great! I really enjoyed speaking with you, your technical background seems excellent so we would like to move to the next stage which is a take-home test to do in your free time.", said the interviewer.
"Wow! Much amaze, well of course! What's it gonna be?", said the naive interviewee.
"I'm sending you the details via email, please send it back in 48 hours, buhbye now", she hangs up.
...
"48 hours?? Right, this should be easy then, probably some online leetcoding platform, as usual.", thought the naive interviewee, who evidently went through this sh*t numerous times already.
A day later I receive the email: this was the whole deal. The take-home test supreme with bacon and cheese. A full-blown project, with tests, a project structure, a docker image, testing and bullet points for bonus points! The assessment was poorly written with lots of typos and overall ambiguity, a few datasets were also provided but bloated with inconsistent comments and trailing whitespace.
What the actual fck??? Am I supposed to sleep deprive myself to death while also working my day job? What are you trying to assess? How much of my life I'm willing to sacrifice for your stupid useless coding challenge? You are not all Google, have some respect, jeez.
I did not get the job.2 -
Well, for starters there was a cron to restart the webserver every morning.
The product was 10+ years old and written in PHP 5.3 at the time.
Another cron was running every 15 minutes, to "correct" data in the DB. Just regular data, not from an import or something.
Gotta have one of those self-healing systems I guess.
Yet another cron (there where lots) did run everyday from 02:00 to 4ish to generate the newest xlsx report. Almost took out the entire thing every time. MySQL 100%. CPU? Yes. RAM? You bet.
Lucky I wasn't too much involved at the time. But man, that thing was the definition of legacy.
Fun fact: every request was performed twice! First request gave the already logged-in client an unique access-token. Second request then processed the request with the (just issued) access-token; which was then discarded. Security I guess.
I don't know why it was build this way. It just was. I didn't ask. I didn't wanted to know. Some things are better left undisturbed. Just don't anger the machine. I became superstitious for a while. I think, in the end, it help a bit: It feels like communicating with an alien monster but all you have is a trumpet and chewing gum. Gentle does it.
Oh and "Sencha Extjs 3" almost gave me PTSD lol (it's an ancient JS framework). Followed by SOAPs WSDL cache. And a million other things.5 -
New country, new company, new team, new projects.
I'm supposed to be the TL of a team working on a React project.
A guy in his late 40s celebrates himself as "the senior", he basically just finished watching a youtube thing, React 101 crash course or similar. The other two juniors who did only Wordpress so far venerate him like a god.
The code, of course, is one on the finest pieces of crap I ever had the pleasure to deal with in my life: naturally a bunch of JQuery plugins for everything, no tests, no state management, side effects everywhere, shared state and globals like hell, everything written in ES3/ES5 style, no types, no docs, build and deploy totally manual, deep props drilling at every level... and not to mention the console.log() shipped in prod.
First day, already headache.
Full rewrite start tomorrow.
Hiring real devs as well.4 -
Interviewed at a pseudo-startup (not quite a startup, but later realized run and organized like one) where the VP of dev ops seemed eager to have me in. I sent him my code sample and he said he'd schedule an onsite. Weeks went by without a peep.
Being persistent, I kept emailing, figuring the environment still might be worth the apparent lack of interest... Eventually the dude told me he'd been away on "travel" and he didn't check his mail. He said come on by if I was still interested...
I went in and met with a couple people on the team, interviewed (I think) well and he said he'd be in touch. Another two weeks -- nothing. I emailed again, he said they hadn't reached a decision. By this time, I'd pretty much written it off. I never heard anything back. No good, no bad.
Moral of the story, don't waste your time on anyone who doesn't respect it enough to give you theirs.3 -
15 years ago I had a job interview as technical leader. They asked me about the trendy framework in those days, Struts. I didn't know much to be honest. I actually started to study java the month before. I was 30 y.o. and I managed to sell myself well.
I got the job. I never saw Struts, the real job was to migrate a z/OS application written on PL/I for DB2 (all things where new to me, I programmed something in VB when I was younger, before studying a career in statistics). Anyway, somebody else already scaffolded Struts, I implemented some business logic here and there, and mostly tried to make sense of the monster-legacy.
Fast forward now.
Two months ago I was interviewed on the last version of Angular and AWS devops, kubernetes etc. I managed not to look completely idiot, but honestly, I never went beyond an Hello World in Angular, and kubernetes, well, I like the name.
I got the job as Technical Architect.
First project I'm assigned to: migrate a 15 years old Struts application to cloud.
Somebody has containerized everything.
Somebody will scaffold a dotNet application.
I'll watch. Maybe I'll write some nice powerpoint presentation. Maybe I'll fill in some business logic in some methods.
I wanted really to be a technical Architect and do things other modern people do.
I actually wanted to learn something.
Anyway.
For 160K$ a year is not bad, I wouldn't complain.3 -
“Good comments explain why, not what,” says Andy Marks. “Do more of the former and none of the latter. A well named method or variable will beat a well-written comment every day.”2
-
Many people told me that all my face expressions look pretty the same. Whatever my mood (angry, happy, surprised) there is no much difference that appears in my face.
Well I didn't believe them until I tested a "Facial Emotion" program written on Python, and it gives me ~almost~ all the time that my facial expression is: Neutral.
Well, I think the algorithm is not well implemented 😐8 -
Wow i must have been brain dead when i wrote this code. Needed to exclude certain elements from response for the the list of objects.
for (obj : objects) {
If (obj.skipFromResponse()) {
break
}
add obj to response
}
I used break instead of continue at the if condition which meant it would break out of the loop at the first instance of condition being met.
This went through qa and has been in production for 4 weeks so how did this not break before. Well little did i know the list of objects was sorted and all the test data, qa data and everything so far in production coincidentally only had the last element with matching condition. This meant it returned everything correctly so far.
Today was the first time there was a situation where this caused incorrect output. Luckily as soon as I heard the description of the issue I remembered to check the merged PR and hung my head in shame for making such trivial error. I must have written way more complicated code without any problem but this made me embarrassed to even admit. 🤦♂️4 -
Meeting yesterday:
Senior E: "Man, every time I do code review I thought this is the stupidest code ever written - then I look at the author, oh wait it's me"
Me: "Well, the perfect code is the code never gets written"
SE: "Casting appreciative look with a nod" -
!rant
Just started working for a new company. Super cool. Just like the last one (as far as perks), except they actually trust their devs.
Old company: Make sure your code is extensible
Devs at old company: You know it's not written in stone right?
Old company: Does that mean you can make it do this?
Devs at old company: No. That's the wrong code base
New company: I need a feature. Get it done when you can
New company devs: Well, guess I'll take some time to refactor all this stuff while I'm at it
~Some time later~
New company: Thanks, that feature works great!
No staring over shoulders, asking when it will be done. No asking why we want to refactor something. As long as work continues to flow, there are no issues. It's great!
Also, if we want to try a new tech, we just have to put together a short paper explaining why it will work better in that situation than the tech that's already in place. -
Ah.. the beauty of clean code.
I wrote a very cleanly written program two years ago. Proper variable names, not too many, right naming, right design pattern,.. Now I come back to it and I am able to instantly figure out the code again. It only took me half a minute.
The importance of clean code... that's something the industry needs to understand more. Well, then there's the money issue. lol5 -
Well on my last full-time job, that ware using cookies for authentication (not something new, eh?). The thing is, you see, the cookies had the 'accountId' which if you change to another number, kaboom you're that account, oh but that was not all, there was an option to mark the account type in there 'accountType', which was kind of obvious in VLE (virtual learning environment), 'Teacher', 'Student', 'Manager' put what of those values and boom you are that role for the session
Thing was open of SQL injection from the login form, from said cookies and form every part you can pass input to it, when I raised the question to my TL he said 'no one is going to know about thatt, I don't see what is the problem', then escalated to higher management 'oh well speak to *tl_guy*'
Oh and bonus points for it being written in ASP CLASSIC in 2014+ (I was supposed to rewrite, but ended up patching ASP code and writing components in PHP)
In 2015-2016, in a private college, charging kind-of big money per year1 -
A well written script is a lot like a spell.
You invoke it and well stuff( magic to few 😋 ) happens.
The resemblance is uncanny!
Well, off to the Wizarding world of IT Devops then.2 -
So I built one of them Auto GPTs using Open Assistant and Python.
Essentially I have two chat rooms with each representing a different agent and some python written to facilitate the api communication and share messages between those two. Each agent is primed with a simple personality description, expected output format and a goal. I used almost identical inputs for both.
It boils down to "You are an expert AI system called Bot1 created to build a simple RPG videogame in python using pygame."
So anyway, I made that, and let it run for a couple of iterations and the results are just stunning, but not for the reasons you might expect. The short story is that they both turned into project managers discussing everything and anything *except* the actual game or game ideas and in the end they didn't produce a single line of code, but they did manage to make sure the project is agile and has enough documentation xD.
Presumably I need to tinker around with their personalities more and specify more well defined goals for this to lead to anything even remotely useful, but that's besides the point. I just thought others might find the actual conversation as funny as I did and wanted to share the output.
Here's a pastebin of the absolute madness they went through: https://pastebin.com/0Eq44k6D
PS: I don't expect anyone to read the whole thing word for word. Just scroll to a random point and check out the general conversation while keeping in mind that not a single line of code was developed throughout the entire thing8 -
i once ran into this:
// magic part starts here, do not touch
and this:
// i know, and i'm sorry
in legacy code. needless to say, i prefer undocumented, well-written code to all that followed1 -
I fucking hate my boss so much
He looks down on me like I’m some idiot who doesn’t know his shit.
The other day he was trying to explain OAuth2.0 to me in the most dumbed down way ever, even after telling him I do already know how OAuth 2.0 works. He just said “oh well just making sure” and continued explaining it to me the exact same way. Felt shitty having something explained to you which you already know in such a way in front of all of your coworkers
Whenever I give my thoughts on something he answers with an argument that’s essentially true but pretty stupid:
B: “We don’t need to bundle our JS files” (see my other rant)
M: “Our load time is around 15 seconds though and it takes forever to update our script tags”
B: “Yes but it’s only 15 seconds once and the tags are already there so it’s fine”
How do you reply to something like that??
On top of that, his code is absolutely awful, always looks hacked together, lacks documentation and i don’t think he has written a unit test in his life
I don’t even like frontend, was told I would mostly do backend and it seems like all I’m doing recently is write fucking javascript because even if I wanted to write backend code, it’s nearly impossible to write clean code in this pile of horseshit codebase7 -
So I was finally done with the project, every feature was implemented the way I wanted it be, every piece of code optimized and well written, I was completely satisfied with my code and didn't feel the urge to add a "last little feature/optimization"...
.
.
.
Then I woke up 😭😭😭2 -
Bro, that code u call well written, would look better if it was encoded in base64
Damn, u look like the guy at github who thought it would be a good idea to sell to microsoft.
You are an insult to anyone who codes... or thinks4 -
Does anyone else get that surreal feeling where you actually realise you're paid to sit and write a language which most of the world doesnt understand, no one can speak it, and the those who may have the capability to write it don't really want to understand?
I mean, I'm pretty sure that a book written in Latin wouldn't sell well enough to pay the author year-on-year.
Pretty much job security through obscurity.
Surreal.3 -
So, I wanted to find a new way to arrange my language's alphabet. Atm, I'm loosely using latin's system even though my system is weird;
A B K D E F G H I IE SH L M N O P R S T U V
So, I remember that another language (I think Japanese) uses a poem with every letter to figure the order of their letters, so I decided to do the same.
Only problem is: My current word list is very limited, some of the letters I needed only existed in specific words (aka, the word for "Dark") so I ended up making a very depressing poem.
Enjoy! Or not.. I'm not going to tell you what to do.
English translation below. I also will post images of it written in my language's script, as well as one line in my language's cursive script (I'm not doing the whole thing in cursive because fuck that)
Senarseha:
Seh ninfuat seh nem fieta; Seka sato nem fiekm juna jenes sermin.
Seh ninfuat sif nemsin netua niet; Seka sem sedma nemat sargo no
nrokniet sam fiekmin sehim sepra.
Sehim sinta nem nara niv nakliet.
Seh nem sine fieta.
English:
I say I am well; But all is dark before day begins.
I say it isn't too much; But this place is a farm of
preasure that blackens my soul.
My mind is ever in agony.
I am not well.6 -
Worst hypothetical Dev job... hmm 🤔 well I think I have the right scenario for you. A medical company stores patient charts and critical life saving information in a database. This database makes medical decisions for lifesaving incubators and if there’s a bug it means 10,000 newborn sick babies will die because of your fuck up (oh and you’re criminally liable too so good luck!). But beyond the high pressure job that sounds at least somewhat normal, the database is written in a special form of assembly for a custom undocumented CPU where only one copy in the world exists so all tests and development are on production. Google and StackOverflow is banned so your only resource is your brain. Good luck🍀9
-
Seriously.. Getting job apps rejected because I'm over qualified for the job.
Well, if I wasn't interested In the job and staying if hired, then I wouldn't have had written a tailored application..11 -
Found my old code.
You gotta admit, that's some clean code there, considering I learned C# only for a year at that time.
But those comments....
VeRy WeLl WrItTeN, vErY dEtAiLeD, vErY gOoD8 -
Over the past week I've been working on a game written in JavaScript (in the browser) which can be played with hand gestures seen by a camera (wanted to use an IR camera but couldn't get one in the time I had). It is the well-know Shell Game!
Blood, sweat and tears went into this because I wrote my code extremely bad so it became a huge clutter.
Will refactor some day, but I'm happy with the result!4 -
If you didn't think NodeJS dependency hell was that bad, you should try sequentially parsing a graph that's stored as an array of nodes and their references, where processing of said nodes forces you to use some async functions that depend on other async functions.
What should have been 20 lines of code written in 30 minutes has turned into 3 hours of horror, reading about babel, realizing that it's just adding more problems without solving one, assessing the effort of modification of async libraries to include sync methods as well, trying out asyncwait, async, and everything else there is, trying to rethink the recursive algorithm, rewriting it several times, cursing and hating myself for not choosing to use Python or .NET Core, screaming senselessly at my wife in a language as familiar to her as Klingon, crying in the bathroom, re-assessing my life choices, thinking whether it was a mistake to dedicate 10 years to this career, maybe I'm just not cut out for it since I can't handle this simple task, watching noose tying tutorials on youtube, thinking about my naked empty RPI that won't connect to the server any time soon.
Seriously. Why is it SO BAD?! Or is it just me?5 -
Today’s lesson in C programming:
DON’T use
system( “clear” );
in Mac OS...
Causes seg Fault in ur program when it is perfectly correct...
What happened was... a friend wanted help with C programming and had written this code... but it was getting seg Fault randomly... just random seg Fault when his code was correct...
I pinpointed the seg Fault to a printf statement but the statement was correct...
Off to search the issue I went, found out that flushing problems can occur in printf if u don’t use \n.
This happens randomly. Thought this might b the reason...
Went to a VM running Arch Linux and tested the code there... worked perfectly. No issues whatsoever.
From a distant memory I remembered some people discussing to never use system( “clear” ); since it causes issues.
Thought to remove that line from code, thinking it wouldn’t make any difference.
Well imagine my shock when the code worked fine after remove that freaking line...
M gonna blame this one on Mac OS since arch had no issues with it 😡😡
Now to find alternative to system( “clear” );
Damm it I spent 4-5 hours on this crap!!!!!!9 -
A people person is only a people person to another people person. I fucking hate them. Most sales people I see don’t really have any skills per say. They think they do by claiming to be a people person. The entire sales community is like this. Fake as shit. They pay thousands to learn something that has been written in Medium or you could just Youtube. I think I can pretty much get the fact if you wanna make a video do well, you need a good title. They speak everything on the surface. And they claim to a be a layperson. Well, no. Fuck you. I not giving you an average. You are stupid as shit. They can’t write a proper fucking email. I have to go through kubernates and monads and they still make more money than devs via commission. They are too sober and fucking pretentious too. Fuck em fuck em fuck em.3
-
"You always know when you have a good tester, because you're always a little annoyed when that person comes around your desk/cube. The reason for this is that you know that if the tester is in your general vicinity, they've found something wrong with what you've written. All the excuses start to pile up in your mind of 'Well, you're not using it right!', etc, but in the end, you know that the tester is right, and you've just made a mistake in your programming."
-https://stackoverflow.com/a/5256734 -
Happened to me - an experienced dev with most of the experience on the web.
I apply to this company that I had no idea what they do (big mistake on my part). I ace the technical interview, and they follow up with a request for a presentation on a topic, to see how well I can prove a point or understand a technology. So I do that. Everybody is listening carefully. Most people at the office didn't know the basics of what I was talking about, but there was a guy who knew more and asked the tough questions, but I didn't let down.
So we talk again, and again, and all is going well, we're out for a coffee, talk about the future of my career and the company, in a more casual setting. Got to know the CTO, etc. Everything was going stellar.
I was waiting for the offer, but instead I got a generic "We can't continue with your application" together with a notification that I was being blocked by the contact person.
Weirdest interview ever. And this thing really put me down and struck at my self-esteem. I mean was it really hard to mention whether you didn't like my expectations, or my skills, or my "fit for the team"? Or at least not block me like that, it's not like I'm gonna stalk you or anything. I still get birthday notifications on Skype from people I've interviewed with before, and I haven't written them since because they have other stuff to take care about, as do I.
Anyway. I got up and started again. New company. High expectations. High salary expectations. Rejection. Fuck.
Ok, start again. 2 companies this time. Both at the same time. Both make me an offer. Have to turn one down. Harder than I had imagined. The choice that I made literally changed my life for the better. I'm glad I didn't end up at any of the other 2 companies that rejected me.
Even experienced people get bad bitter rejections. Don't have high expectations, and that will help you keep your emotions in check, and fight on.2 -
I'm a graduate developer with 1 year experience. Was asked to improve the performance of a feature which was written by external consultants on £1000 per day, and in its worst case takes 2 hours to complete. I rewrote it and got it down to 1 minute 27 seconds.
Manager: "Well yeah, but can you not get it any faster?"
...6 -
I submitted a security report some days ago.
It is well written, it explains what is happening and what is the impact providing an example. I give some advice about how to handle this situation, it's about concurrency issues and it's pretty tricky to debug.
Answer from the reviewer:
"Please, can you tell me what are the implications?"
...
...
FUCK.
IT'S LITERALLY FUCKING WRITTEN,
CAN U EVEN READ IT?
THERE ARE PICTURES DESCRIBING THE ISSUE, I EVEN ATTACHED A FILE YOU CAN USE TO DEBUG.
...
This is the last time I report vulnerabilities.3 -
Meet today.... Fetlang
---
lick Bob's cock
lick Duke's left nipple one million times
while Ada is submissive to Duke
make slave scream Ada's name
Have Charlie spank himself
Have Ada lick his tight little ass
Have Bob lick Charlie's tight little ass, as well
make Ada moan Bob's name
make Bob moan Charlie's name
---
Never felt so dirty after calculating the fibonacci sequence...
https://github.com/Property404/...
"Fetlang is a statically typed, procedural, esoteric programming language and reference implementation. It is designed such that source code looks like poorly written fetish erotica."8 -
It’s throw back Thursday!
Back to 1979... before the time of the red dragon book compiler book, (forgetting about the green dragon book) ... there was a time where only a few well written compiler and assembler “theory” books existed.
What’s special about this one? Well Calingaert was the co patentor of the OS/360. .. “okay soo? ... well Fred Brook’s Mythical Man-Month book I posted the other day. Calingaert is basically the counterpart of brooks on the OS/360.
Anyway, the code is in assembly (obviously) and the compiler code is basic.
Other than this book and from my understanding 2-3 other books that’s all that was available on compilers and assemblers as far as books written goes at the token.
ALLL the rest of knowledge for compilers existed in the ACM and other computing journals of the time.
Is this book relevant today, eh not really, other than giving prospective, it’s a short in comparison to the red dragon books.
If you did read it, it’s more of a book that gives you more lecture and background and concepts.. rather than here’s a swath of code.. copy it and run.. done.. nope didn’t happen in this book.. apply what you lean here10 -
Let me just open by saying, I do enjoy a random post on the internet giving PHP a bit of appreciation.
But then I'm reminded why some people shouldn't be allowed to write articles for developers or junior developers when they them selves are oblivious to the content they are writing.
So... here I am scrolling down LinkedIn and spot this headline "why php is the best choice for 2020"
Well that caught my attention (you know, as a php dev spotting a positive php article and all), so I went and had a look and by god I was ready to rip my eyes out at the mis-information being written in this article.
I shall let you all enjoy the punishment I endured rather then bring spoilers
https://dev.to/brewer1_jane/...16 -
ESET Antivirus is a strange animal. On one hand, it seems reasonably well written, because unlike Norton or F-Secure, it doesn't subject your computer to death by constant disk access and 100% CPU load for 10 minutes when you start it.
On the other hand, when I clicked the link in the mail about renewing licenses and filled out the form, I was not redirected to a page where I could enter credit cart details.
Instead, I got message that some representative would get back to me in 1-2 work days. Eh, what? It's a digital product for f***'s sake. Now, I suppose they'll send me a hand written letter (written using a quill, no doubt), delivered by a bloke riding a horse and wearing a tricorn.
Well, at least ESET virus definition updates are pushed on the internet, and not sent out on 5.25" diskettes.3 -
Dear coworker,
when I asked: "So, how does it work?", I didn't expect the answer to be: "Well, you push this button, wait three seconds and when it's finished, this LED turns on."
I was hoping for a more in-depth description (like, the way you'd consider me to be seriously interested in your work or learning from you) along the lines of "Well, you see, I have written this CLI-Tool here, which connects to the adapter and parses the contents of the file via serial interface to the on-board controller. This controller performs an integrity check of the device and then decides whether to flash or not. The testing unit itself checks if its being programmed with the right parameters."
Of course I know how a programming device works but I was interested in your solution in this special case ... so I think I'll just check the doc later if there'll ever be some.4 -
Must nearly every recently-made piece of software be terrible?
Firefox runs terribly slowly on a four-core 1.6GHz processor when given eight (8) gigabytes of RAM. Discord's user interface is awfully slow and uses unnecessary animations. Google's stuff is just falling apart; a toaster notification regarding MRO stock was recently pushed such that some markup elements of this notification were visible in the notification, the download links which are generated by Google Drive have sometimes returned error 404, and Google's software is overall sluggish and somewhat unstable. Today, an Android phone failed to update the Google Drive application... and failed to return a meaningful error message. Comprehensive manuals appear to be increasingly often not provided. Microsoft began to digest Windows after Windows XP was released.
Laziness is not virtuous.
For all computer programs, a computer program should be written such that this computer program performs well on reasonably terrible hardware... and kept simple. The UNIX philosophy is woefully underappreciated.37 -
Reading a Ray Wenderlich book to try give RxSwift a go. Book is well written and going well. But I’m grinding my teeth at the fact all the code samples use 2 space indentation. Despite the fact apples standard is 4 ... and you know tabs would let us decide.
I know it’s a small thing, but it’s really pissing me off3 -
I'm absolutely fed up with all documentation being tutorial-based these days! Well written documentation doesn't start with you creating a new project from scratch.
This is basically how all of Microsoft's documentation starts: Step 1 - Open Visual Studio. Step 2 - Create a new project...
I just checked out their WPF samples repository, and about 8 of the projects won't even compile. Absolutely ridiculous. There's 205 projects in the repository, and of course the one I need is on the list of those that won't compile.1 -
So a non programmer friend of mine needed an in house time tracking tool and found one on codecanyon. He bought it for 40$ and asked me if I could provide him some Webspace to host it until they deploy it in house. I said yes and took a look at the code as some stuff wasn't really working. All I can say is "wtf is that pile of crap". Nothing works, it looks like it's written by a first grader and it's UI looks like it was assembled by a chimp (well actually I think chimpanzees could make a better UI). Now I am interested the progress of rewriting that tool for him and I am almost done with all functions that thing should have and even more after 6 hours. I wonder if all stuff on codecanyon has the same quality and if, I am considering this as bonus income...5
-
Lets play a game of spot the bug...
Too easy you say?
What if I told you that this code was written by a well paid dev over an exceptionally large period of time?
Crazy huh, but that's still nothing. The most ludicrous thing about it - is that you (like me) probably suffer from a mild case of impostor syndrome.
I just ended that suffering. The only thing worse than impostor syndrome is believing you actually know what the fuck your doing. Keep it in check but learn to love it... it's probably the reason you could spot the bug after all.4 -
Couple of jobs back we got bought out by that massive shipping company with the red and yellow colors.
We used macs and some high up moron decided it was a good idea to put on domain policy restrictions on our macs, but developers can't work without admin access so if we wanted to keep said admin access, we had to sign a written agreement indicating that we were not allowed to do certain thing, like change our wallpaper or install personal music players, you know like Spotify, which at the time was what most of us used.
Now this was just a nice cherry on the cake of stupid descision that was making me rethink working there. Thanks to the high demand for skilled front ends, it was 11 am when we got this, 3pm I had comnfirmed my interview for the next day.
An hour later our manager called us all in to explain this was BS formalities. Well too fucking late, learn to communicate you dumb shit.1 -
!rant
It's nice when a great new idea you have is fairly easy to implement and works well.
My latest idea involves running my discord bot, written in nodejs off of my phone using a terminal app (that doesn't require rooting my phone).
Once I got a branch of the project with no voice support, I wrote a bash script in vim on my phone (an odd experience, I assure you) and ran it.
Things have been working well, far better than trying to use PhoneGap to build something that would run it.
All in all, I'm pretty satisfied, and it was a fun and relatively painless project! (thankfully)10 -
I was looking at some poorly written code today in a project and I was curious to see who wrote it. I blamed it and found I had wrote it 6 months ago! smh Well... at least I know I'm getting better! I ended up refactoring it to use better code patterns.2
-
Sometimes it's better to burn a bridge so you don't even think about crossing it in the future.
See, I left a company some years ago because I didn't see my future in it and all management combined had a collective intelligence of a chicken.
However, I got a call from them a couple of months ago asking me if I could return. The salary was double and the working arrangement seemed fine. On paper. WFH. Flexibile hours...
Since I actually liked the project itself for its technical challenge, I accepted the return offer. What a bad idea that was.
Of course, the things that made me leave for the first time had only gotten worse. Bad leadership, idiot developers in team leader positions. Tech debt higher than Mount Everest. Bad infra that makes you want to off yourself every time you work on it. The whole circus.
Seriously, the "senior" team leader will happily merge code that includes assert(true == true), but hold up a well written MR because he has a personal vendetta with the developer.
Personally, I always check him whenever he starts being an ass. But the poor juniors are in hell. They're terrified.
Now I'm leaving again, but this time I've made sure I can't come back.3 -
Just because I have not written any code yet, does not mean I have not started on your project. I can either plan it well or let the code flow from my fingers like diarrhea.
-
.net 1.1 had the best documentation ever written. Microsoft spent an enormous amount of money and a dedicated team of skilled engineers just to write them. It was kind of a great time to be a developer, even though the technology is much better now. The current reliance on community docs doesn't hold up as well.2
-
Finding the right balance between well written, need-one-week, maintainable software, and fast-written, ready-in-2-hours-and-never-look-at-it-again software.
Last time it took me 20 minutes to integrate with a new API. I had a script that did everything you needed. I then spent 2 weeks on handling error responses, unexpected responses, exceptions, intelligent retries, logging, unit tests, integration tests, caching, documentation, etc. -
That feeling of betrayal when you finally find a proper, well written and well formatted article/tutorial about a framework (or anything you are learning), only to find out it is "Part 1" and no other parts were ever written...
-
Holy shit Sololearn is actually such a Well Designed app to just learn the Basics of languages. Really smooth Animations and Fun Quizzes
(Btw, This Text was written with Google Keyboard which some how is so bad, i need to Switch Back to SwiftKey like STOP CAPITALIZING RANDOM WORDS GOOGLE!!)4 -
finally got TI to cough up their SDK and I noticed there's no compiler or linker or anything. Turns out I need to use TASM.
...TASM is for MS-DOS or compatible. I'm on Linux.
Well, it went poorly, as usual, specifically like this:
- tried to automate building with DOSBox config and Python script: output binary always corrupted. Manually repeated, TASM mangles output on DOSBox every time. No PCem or 86box, and i'm on a Ryzen, so no KVM DOS. Out of luck there.
- TASM Linux build or wrapper? No build, but there is a wrapper! ...wait, it needs... 4 things written by random people to be made from source. I mean, that's not actually that bad... oh, after setting all of them up (and struggling through some autoconf/automake bullshit, one of the programs only had source for a 2.x kernel and autoconf/automake were not happy about it) it fails because one project's been worked on a lot more and dropped support for working with the other 3... goddammit.
- Community SDK? Several options for this... but all of them need .NET 2 to run on Win9x, don't work in Wine, or require... hey look, TASM! GODDAMMIT!
- DOS on a real machine? It's a massive bitch to shuttle files to and from a real DOS machine quickly and I can't take 30 minutes between builds that take me 4 minutes to change enough to need tested again.
why must i suffer like this22 -
Soooooo had 2 phone screenings with 2 different recruiters.
So all was going well with the first call until she asks me about certain technology, and I'm a little confused as to how she was working it, so I asked, "do you mean....?". And her reply was....,"I don't know, I guess. That's what's written down here." I seriously almost hung up the phone!! 🤣🤣🤣
The second one was worst! This genius had the bright idea to call me from...wait for it....HOME! I mean all I heard was brats in the background and they kept destructing her. She's like ," so how long have u been-- Billy! Get down off that, NOW! Sorry about that." I'm thinking, "what the hell?"(only seconds into the call) She continues, "So what's your favorite lang-I told u to get off that! Hold on..." phone goes silent.... "Hello, I'm so sorry...." Asked me more programing questions few seconds later..."I thought I told you-------" phone drops! At this point I'm trying to hold my laughter in. She gets back on. "Sorry, dropped my phone. Well, I think that's all the questions I had, did you have any for me?" "Really?" I'm thinking. "Nooooope" I say.
🤣🤣🤣🤣 I was having somewhat of a crappy day, I needed that.5 -
I have always believed that clean code is readable code, and if your code is readable, then it shouldn't require masses of comments to explain it. However, in the course I am being taught, we are being told that in programming, comments are massively important to help another developer understand your code and what it does. So what is the consensus of the dev community?
Do you feel comments are key, or redundant if your code is written well?20 -
In my school, eleventh grade (so nearly "Abitur", A levels), we got the task to create a program which will be running on every computer here which should replace the Classbook (like a book where homework and lessons and stuff is written down).
Now, the class before mine already did a part of that, a program to share who is ill/not at school, with a mark whether it is excused or not.
So far so good. They all seemed not that bad when they were presenting it to us. Then, the first thing: they didn't know what git is. Well, okay I thought.
Next, there was this password field to access the program. One of them entered the password and clicked enter. That seemed suspiciously fast for an actual secure login. So fast, the password could have been in the Code...
Yesterday I copied that program and put it into a decompiler.
And... I was right.
There were the login credentials in plain text. Also, haven't thought of it but, IP address + username + password + database name were there in plain text, too.
Guess I am going to rewrite this program down to the core2 -
Mantain a huge bad designed and worse written full stack project.
It was an internship and I was paid pretty well. It still lead me almost to a burnout; while sleeping I used to dream the project
They hired me a couple of months later to redesign it from scratch. I only rebuilt the db and I made a sweet job. 85 reduntant tables reduced to 30.
Then they fired me because they couldn't afford me. Still got paid well enough1 -
The first PC I was exposured too. At the begining I was just playing games, but then I learned about BASIC and was intrigued enough to start typing the sample source codes which was listed in popular sience magazines.But when I run a simple pong game which was written as 2 player game and decided to make my first AI to play against me which at my first attempt got so perfect that I got not chance to win and then slowed it's reactions so I can actually enjoy playing against it and win some times... well that's the moment I got really hooked.4
-
When reading through someone else's code, what about it made you think "Damn this is well written" or similar?
Any language - I have a bias towards PHP, C++ and C though.9 -
I learnt something from every single project I made, but this one... it was really different, new language, new library, new hardware.
Problem:
there's an infopoint in a place, that was really hard to use (ball mouse over a monitor)
Solution:
make the screen be touch.
Developing the solution:
- after a bit of research I find out there's a library/project called OpenCV
- there are example programs that detect hands written in C++ (which I know) and Python (which I don't know)
- the whole infopoint works on a raspberry PI, with raspbian (I'm not new to linux, but it's somehow different, plus tons of customization)
So I spend like 3 weeks trying to understand how to make it work, at first, the webcam was on the TV and you could move the mouse just by shaking your hand, but it didn't work too well, so we tried making the webcam look at the screen and then calculate the differences between "no-hands" and "user-hand", but should have been calibrated, wasn't too precise... dropped solution.
put the webcam 30cm above the screen, let it just analyse a few centimeters of sight from the screen and it worked flawlessly, BUT it could just recognise the horizontal axis => had to rework the infopoint UI to make it dumb-easy
It all finally worked, I learnt python, openCV, a bit of photography
Then hated it all and decided to never do that again -
My favorite home-written script is `sudo thermonuke` which basically kills all the proliferation of Chrome tabs I've opened, as well as kills every other app I leave open on my desktop carelessly. It's a bit brash, but nuke and pave baby. Nuke and pave.2
-
Legacy code huh?
Well i'd say it would be when i was workng on an old java app that was apparently written by a retard.
He had used strings to represent booleans for no apparent reason. As if that wasn't bad enough he would use different strings too:
Y N true false 1 0
He used them randomly too , y and 0
N and true
😡
I sense it was done on purpose
Perhaps he knew he was leaving soon2 -
- Launch the new version of the system I have been refactoring for 2 years and counting, then ceremoniously burn (literally) the legacy code as well as the cluster fuck of hardware it runs on.
- Decrease my stress + bus factor by bringing another up to speed on my code & the new version (his cluster fuck now).
- Pay attention to & take better care of health, my wrists in patricular.
- Find a mentor and mentor someone else.
- Get out of crisis management mode and find the time to write tuts, experiment and live a little.
- Find & join a local dev meetup, maybe make a local dev friend.
- Book leave and actually take it, preferabbly without having to take my laptop to the beach - actually, preferabbly at least have the choice to take a offline vacation.
- Sort through the drives containing ALL the code I have ever written, migrate the usefull interesting bits to Github.
Phew, that bit of self reflection was intense! I'm adding a cron to my server to sms & email me this rant in a year to remind me what hope looks like. -
So when code is badly written, more corner cases are unnecessarily introduced. And it’s sometimes tricky to find the corner cases and probably messy to fix the corner cases.
And so the code grows in size as a result. And when these fixes to the corner cases are not well done, they introduce more corner cases.
So what results is a large collection of corner cases. Only corner cases remain when this goes on for a while.
Because of this, every new feature can be effectively translated to a collection of corner cases to be implemented.
As corners grow, triangles become circles and tetrahedrons become spheres.
I live in such a sphere.8 -
When I was a junior engineer I used to hate writing unit tests but now I look forward to writing them.
Well written Unit tests will save your life6 -
Now my client does not want to rely on Amazon S3 because of the One Outage that it ever had a couple what weeks ago I forgot already. So my dumbass blurts out well we could always just back up to some other image or file storing website. But now I'm expected to implement this right away when I really haven't thought about it at all I mean I would have to write some sort of failover and some sort of daily or syncing mechanism. I guess I should forget about any direct upload to S3 code that I have written. Really I guess I have to wrap all of the image and file handling stuff with my own solution. Which actually that will be very nice when it is done and I could use this on other projects but it's quite a lot of work for something that I don't feel we really need at this stage in development. Just because you're using stuff on production that has am enormous red TEST label in the way of the ui doesn't mean i can code bullet proof software any faster4
-
>uni project
>6 people in group
>3 devs (including me)
I am in charge of electronics and software to control it as well as the application that will use them.
2 other "devs" in charge of a simple website.
Literally, static pages, a login/registration, and a dump of data when users are logged in.
Took on writing the api for the data as well, since I didn't fully trust the other 2.
Finished api, soldered all electronics, 3d printed models.
Check on the website.
Ugly af, badly written html and css.
No function working yet.
Project is due next week Thursday.
Guess who's not having a weekend and gonna be pulling 2 all nighters2 -
garbage collectors' lifestyle matters!
Ever eyeballed the abyss of your memory leaks? Shit, garbage collectors deserve a raise.
Unsung heroes, janitorialing thru that VM like a dung beetle, silently fucking up your perf so you can do that delicious spaghetti. Indiana-jonesing the fuck out of that memory trash can and euthanizing all that disgusting heap of pointers hanging, dangling, like... well, like garbage.
At the very least they're deterministic, unlike that Markov chain we all had the displeasure of fucking up. Amen? Amen! 🙌🏻
You gotta wonder, though, what goes through their nuggin. Do they reminisce about the potential of that half-ass-written class? Do they weep for the elegance of a forgotten function bottlenecking their job? Nah, probably just counting down the nanoseconds till their next full GC cycle. Aaah, like cold beer in Saturday barbecue.
So next time your program miraculously avoids a memory error, take a moment, put your hands up in the air and say a prayer to your garbage collector.
Silently covering for your fuckups2 -
Unpopular opinion: unit tests are often overrated.
Although a well written test suite is almost essential in some parts of the application (I.E. business logic) I cringe when I see hundreds or thousands of line which “mocks” everything to test a micro service which just does CRUD operations on a database, in cases like that unit tests are just a waste of time because almost every operation involves a mock which may not behave like the real database and often needs to be rewritten when the code undergoes a huge refactoring. In these case a integration test suite is faster to write and way more helpful.9 -
!rant
Designed and written > 1.3k lines of code this week and 98% test coverage..
CI and CD set up and working..
Was a Long week and very exhausting but I feel really good now, happy to start the weekend with whiskey and beer.
This is gonna be one of my most productive sprints so far..
Hope you all had a successful week as well.
Happy Friday 🍻
And please don’t start with any „that’s nothing, I’ve written 5k lines ones“ comments.. It‘s professional, stable, optimized code and code I can actually be proud of.4 -
“We mob every thing so that means we don’t need pull requests, because by the time the code is committed it’s had plenty of pairs of eyes on it”
Well, I beg to differ.
Today I read through some of this spaghetti mobbed code to look into a performance issue. Wasn’t supposed to but bored stiff so I ‘went dark’ and did it without the mob.
After about an hour I figured out it runs a few lines of dubious code and if there’s an error it tries many times over with an exponential back off.
And each run of the methods will fail for sure because of how it’s written.
Someone must’ve seen this problem but instead of realising it can never work, they’ve wrapped it in retries and back offs.
So many back offs and retries that it just sits there doing this for 25 minutes.
But yeah. The mobbing works great guys, keep churning out this quality code. 😂😂😂
Can’t wait to see the back of this joke job.4 -
So we got these webservices, that are written in XML and they needed to be parsed and converted into a JSON-model. Well...
-
I started with C#at the age of 12, it was way too complicated and I learned Lua for Computer craft instead. Next I learned Ruby for RPG Maker and finally Javascript for web Dev stuff.
Now comfortable enought with Javascript but put off by its quirks I learned Java for compiling faulty minecraft mods, but I only fully learned it in school.
At the same time I learned python and quite liked it for scripting, but ultimately it was not a good match for my projects.
Disapointed with Java I returned to C# and liked it quite a lot, but started learning C++. After touching my first Microcontroller I learned C and I've stuck with it as my favorite language.
Along the way I picked up Kotlin, in case I need to do some Java shit. Much better.
But how did I come to an understanding of programming. Well I got better after each time I got a layer deeper until I hit silicon.
I had tinkered with electronics since I was 15 so I just had to study some boolean mathematics in school and some vintage computers architecture and instruction sets and...
Then I finally understood how that shit I wrote in Lua way back when was actually executed by my hardware.
Allways dig deeper and you'll find enlightenment eventually. -
Most successful project at work: NodeJS utility for storing loads of measurements from an application running on various other systems and providing fast ways of getting at that data. No DB, just CSV files broken into time periods. Also has a search function written in C that can very quickly find all user sessions matching the criteria. It's not perfect, but it does the job pretty well and I can tweak the storage engine as much as needed for our use case since its all custom written.
Outside of work: Incomplete right now but I soldered some wires onto an old sound card and managed to get an Arduino to configure it and play some notes on its FM synthesis chip. Still quite a newbie to electronics so this was quite an achievement for me personally. -
I love software. Seriously, I love it. /s
Transmission is given a bad torrent (which, given that it's a torrent service, you'd expect it handles quite robustly) and completely fucks up. Like, really badly. It doesn't respond to RPC anymore, systemd has to resort to sending it a SIGKILL to get it off the process tree, and the web interface.. yeah. Nothing.
It doesn't log by default, so fine I'll add that to the systemd unit and restart it with debugging options enabled.
# systemctl daemon-reload && systemctl daemon-reexec
Turns out that /var/log/transmission.log can't be written to by my Transmission user. Well shit. Change that to /home/condor/transmission.log.
# systemctl daemon-reload && systemctl daemon-reexec
# systemctl restart transmission-daemon
*blood starts to reach its boiling point*
Still logs in the wrong fucking location. Systemd, I told you to log over there. I did everything I could to make you steaming pile of shit reload that fucking config. What's the fucking problem!?
*about 15 minutes of fighting systemd*
Finally! It spits out a log in the right location! Thank you Transmission and systemd for finally doing your fucking jobs. So a bad torrent it is, hmm...
*removes torrent from .config/transmission/torrents*
Transmission: *still fucking shits itself on that ostensibly removed torrent*
That's it. BEGONE!!!
Oh and don't get me started on the fact that apparently a service needs some 400MB of memory. Channeling your inner Chrome Transmission?8 -
One of my favorite things to do in Secondary School was to go around telling people I had written a program that uses the 'Doomsday Algorithm' which sounded really cool and always scared those who didn't understand it.
Truth is, the 'Doomsday Algorithm' is just an Algorithm that used to determine the Day of the Week of a given date.
I wrote this when I was 13/14 years old and I'm still super proud of it today.... well I mean I probably would be if I could read my own code.1 -
Fuck this I need to ventilate.
Thinking about job change because maintaining and extending 3 years old codebase (flask project) is FUCKIN exhausting. It was badly written since start by someone who obviously didn't know much about python. (Going by commit history.)
Examples:
- if var != None / if var == None
- if var is not None / if var is None (well..)
- Returning self-parsed obscure JSONs from dict variable
- Serializing dictionaries into database by str() (both sqlalchemy and mysql support JSON format) - THEY ARE ALMOST UNUSABLE OTHER WAY AROUND (luckily, python can deal even with that)
- celery tasks, the way they are called they BLOCK the whole flask (not bad in itself, but if connection breaks there are no errors, nothing it just hangs)
- obscure generator/yielding that contains return of flask's response in itself
- creating fifteen thousands of variables one by one where they would look so nicely as dict keys, and hey they are then both MANUALLY SERIALIZED into returning dict by "%s" (string formatting) [okey, some of them are objecst like datetime but MATE WTF]
- many, many more, PEP lint shall not pass
I would rather deal with fresh startup owners wanting me to program unicorns in one week then trying to extend and manage zombie-like projects.
Nothing personal against the firm I actually like the place.3 -
Somehow I enjoy creating flawlessly working nifty utilities a lot more than writing actual business code.
It's that versatility and reusability of a well-written utility that makes it suitable for many use-cases that puts a smile on my face.
A single-purpose business and use-case-specific piece of code doesn't do it for me anymore. I guess it never did, really...
I wish I could get paid for building tools rather than business apps :)3 -
Taking a 4 month Software Engineering course in University. Spent the last 2 months making Traceability Matrix, Component Diagrams, Deployment Diagrams, Sequence Diagram and not a single line of code was written.
Is this how it works in Industry as well? Lol.12 -
Curious interview process for a job I was denied for. I was told to create an app for a "case study" I was given a week it was supposed to be a single activity sports app written in MVVM with a specific API. I turned in a single activity, 3 fragment application, that made queries and displayed results from that specific API as well as told the weather and in quirky quotes told you whether or not it was a good idea to go tailgating. When I got to the interview after turning it in a day early they said they loved the application, hounded me on code (all questions in which I answered) and they told me that I would get word on next steps within the next few days. Obviously I didn't get that job as earlier stated however, does this not seem weird?3
-
I'm writing a devrant like site, so a kind of forum that supports live chat under every article. Login will be just username and password to stay anonymous. Email is optional for password reset. Also it won't have password requirements. Who cares if user uses insecure password. I do like the devrant avatar thing. I will use the ducky generator instead. So everyone on the site is a custom duck. K-SASS prolly never expected his generator to be used anywhere. The requirement of this site is that it scales very well. I have db calls of 0.006s, this is for persistent data only and will be used by all site instances. I expect that it can handle many clients concurrent as long I do not return more than 30 rows or so. Events get handled by a self written pubsub server.
All sounds great and development goes fine. But why is this a rant? Because the same thing as always is biting me, I can't design a site at all. I know how but I don't have any feeling for design at all making me almost incapable of building an attractive site. The only thing I can 'design' is an application in bootstrap or smth. I spend so much time one design while I don't like to do it ironically. But looks of site is almost as important as an good working site. Good working site doesn't get used if looks bad in many casee. This is since the start of my career an issue and it sucks that I appearantly can't deliver a whole site on my own meeting my standards.
My backend work is top notch tho. Btw, this application is not to be an alternative for devrant. I do not think I can attract more users than it already has and I've seen two communities disappearing once because someone decided to make a new one, took half of community with him and both communities died after short while.
End product of this project is a working project, not a live site hosted somewhere. It's pure about mixing mostly self written tech to get the best performance. Reinventing wheel on many levels. I wanted maybe to do the site in C but decided that it's way to much work for the value. I change the site so rapid since I don't have decent plan that python aiohttp is the best choice in amount of writing it yourself and fast. It's very lightweight.
More a story than a rant, sorry29 -
dear fucking client, why are you giving me only the "???" as an answer to my well written documentation and explanation about the latest bugfixing.
WHY? What could I possibly get out of this shitty answer? #fml4 -
Ohhhhhh shit, this is a good topic.
Well, I just expected more... Better.
Like maybe the programming lecture could have been Java 1.6 rather than 1.2, and taught rather than read from an archaic time of dusty powerpoints.
Maybe we could have used Spice or a reputable circuit modelling tool rather than CircuitMaker; a tool no longer being maintained that barely makes it past install because it was written in a time before circuits.
Maybe day fucking one of the first year, happy clappy, let's teach you HTML lecture the tutor could have just shown us a copy-pasted hello world. Rather than the ugly, mixed-case, no-end-tag-having, broke ass HTML 4 scribble she felt the need to go over every detail of.1 -
You may know I love to hate tests. Well not the tests actually, what I hate is the TDD culture.
DBMS schema in my app dictates a key can either have a value, or be omitted - it can't be null, and all queries are written with that in mind (also they're checked compile-time against schema). But tester failed to mock schema validation, inserted a bunch of null keys with mock data, actually wrote assertions to check those keys are null (even though they never should be), and wanted me to add "or null" to my "exists" queries.
No, we don't need more tests, and you're not smart with your "edge cases" argument. DBMS and compiler ensure those null values can never exists in our DB, and they're already well tested by their developers. We need you to stop relying on TDD so much you forget about the practical purpose of the code, and to occasionally break from the whole theoretical independent tests to make sure your testing actually aligns with third-party services some code uses.
And no, we don't need more tests to test your mocks, and tests to test those test, and yo dawg, I heard ...5 -
What you're about to read is an horror story based on real facts.
Our story begins one week ago, when a dev who calls himself "Arfmann" (what a loser, the f* means arfmann?) decided to take his dev skills to another level.
He always has been scared of databases. He made really bad dream about them. Like, they were screaming at him "SELECT useUs FROM database" while he was crying in some shared preferences noises.
A week ago, he decided to overcome his fear. He learned the basics of SQL. Everything was going well. Until, he decided to implement it on Flutter. A Google's technology.
At first, he decided to appeal to documentation. Went on Flutter web site. Flutter documentation. Sqflite documentation. Started reading. Started doing tests with the code written by Google's engineer.
Everything was fucked up. Dozens of errors, the documentation started to blow up and his PC went on fire, due to Android Studio.
He used a sample project made by Google's engineer. "Maybe if use directly their code it will work. Maybe I was the problem". He wasn't.
The whole documentation was wrong, every single line of code was a spaghetti code (yes, every single line was an entire spaghetti code). Everything was put in the main. If you wanted to try to keep things organized, you would end up punched and beaten up from the code itself. It would become a sentient entity that will beat you the fuck up.
Really scary. -
Your code is:
⭕️ Comprehensive
⭕️ Well Written
⭕️ <!-- Informative -->
Check none.
Walking into another devs code. -
The most excited I've been about a piece of code would probably be the time when I made a resource hogging thing in C. The reason I was really excited was because I haven't really written C/C++ that much, at that time I wrote Java mainly. Anyway, I was able to use up nearly 90% of the CPU (i7 something), as well as 14-15/16gb of ram the school computers had. A professor there saw it and was proud of me, which really motivated me. So I compiled it and copied it to almost all the library computers (with less resources), hid it, and made a shortcut to it on the desktop disguised as Chrome.
-
I think I'm a good developer. I have pretty decent debugging skills, including pulling apart disassembled x86 and other architecture code.
I'm fascinated by how things work.
But almost everything is catered for by a library. Or has already been done.
I find it enjoyable to create a library or program myself, but get disheartened when I find some library or program that is written seemingly very well, compared to my own code. And then I start to think I'm not a good developer after all.
Sort of relates to my previous rant about repeatedly rewriting code.
Applies to me doing programming as a hobby but probably affects my code at work as well... I just can't help but think my code is probably awful compared to what someone else might write.
...then I see incredibly ugly, messy, badly written code by other people and I feel better...
I suppose it is like an artist who sees amazing works but cannot paint to that standard, but is well beyond drawing stick figures with crayons.
Sounds like a trivial problem but it probably impedes my progress with a lot of things.3 -
Go to bed tired. Wake up tired. Get up tired.
A month ago I was excited doing my work, I even was planning a huge change on one of our projects, detailed everything and passed it over to other folks to get funding. Now I seriously doubt I could pull it off. When I start reading a line of code I forget how it started before I reach the \n.
There was this thing I was asked to implement... A nifty one, I already could see the implementation. As I came to it I got stuck. Like when your body gets "stuck" when you get scared to death - you know what you have to do (i.e. RUN), you know how, but for some reason you just can't... Couldn't come up with anything. The other dev had to take it over and implemented it all in like 4 hours. Just like that. And it took me another 4 hours to understand how and why it worked when I know it should not take me that long as I used to write similar algorithms myself for fucks sake! I know I could have written it myself... but I couldn't..
I'm seriously worried.. Is this the end of my carreer as a dev? Am I broken somehow? I have some vacation days saved but I doubt it would be enough... Don't know if changing workplaces would work as well. I've always wanted to leave 9/5 and start working on my own project full time but now I am not sure I could pull it off either.. wtf is happening.. wtf... wtf.. -
Cocktail for disaster:
- TDD
- Mocking
- Multithreading
- Averagely well written, testable code
- All tests pass
- One test methods still shows some vague stacktrace in a worker thread ❌ but the test passes ✅
- Run only that test method and no stacktrace.
So I've been pulling my hair for the last two days trying to figure out what was throwing in that test method. Turns out that thanks to the multithreading going on, some other, similar method threw the exception in parallel. And apparently a different test method was already running when the exception was finally caught.
🖕
When I discovered that, it was fixed in a minute. 😭1 -
Started new course called "Introduction to natural language processing" in uni. I am super bad at doing regular expressions and don't understand anything about them.
Saw the first weeks homework. Have to do i.e. some text cleanup with regex... I was sad. But now after reading the course material and trying some of the exercises I'm super excited since I'm actually doing something "real" with it.
Do you guys just love it when teaching material is well written? I do.3 -
I've been reading devRant at work for the past 6 months and it kept me sane through a few moments. Thanks. :)
And now I finally started to feel that maybe even I could have some horror stories to share. (I've been in the company for more than 4 years)
(Sorry for long post.
TL;DR: break time laws suck in my country.)
One example would probably be how our company decided to cut 5 minutes from our lunch time (down to 25 minutes) and add 3 minutes to our 5 minute coffee break(*"gifted" by our CEO) in the afternoon.
You're probably asking yourself, "What happened to the remaining 2 minutes?".
*Well, it's simple. In my country it's somehow still legal to have only 30 minutes of break time for the whole day if working hours don't exceed 10 hours. It's actually written in the law that you CAN divide that lunch break time to be placed at different times. To me that sound like fucking nuts...
Thankfully nobody's taking that time change quite literally and most people still use the full 30 minutes. But some people here have been fired for much less, so I don't play around. I just pretend to work while reading devRant. 😎3 -
I think this is the first time ever on my team where I read someone else's source code and actually went "wow... This is pretty well written and structured". No god methods or classes.
-
My C# class loves to come up with weird/unrealistic scenarios to teach a specific language feature... I feel like the more effective way to teach would be to mention a real life scenario where it makes more sense to use the feature and give it some context rather than coming up with some arbitrary series of classes to represent departments and employees and then say "write extension methods for them to write them out"
If you tell me that I'm going to go, ok this works, but is there a specific reason I should do this instead of using a for or foreach to do the exact same thing? Don't get me wrong I see the appeal of extension methods as well as LINQ but this class never gives any sort of context as to why we're doing stuff. This class could be good, I've had classes that focus on language specific features taught in ways that make sense... My Java prof did a great job...
Also all the slides are terribly written...
Like I attached an example of the description for extension methods... The slides then go on to explain how the syntax for them works and gives an example...
Like ok I guess technically you told me what they are and how to use them, but gave zero context...
On the opposite end of the spectrum, I go to MSDN for their definition of extension methods, and it is much more clearly written and gives context to where/why they're used... and this is supposed to be a 5th semester course...2 -
I absolutely hate software to the point where I started converting from sysadmin to becoming more like a dev. That way I could just write my own implementations at will. Easier said than done, that's for sure. And it goes both ways.
I think that in order to be a good dev, you need these skills the most:
- Problem solving skills
- Creativity, you're making stuff
- Logical reasoning
- Connecting the dots
- Reading complex documentation
- Breaking down said documentation
- A strong desire to create order and patterns
- ...
If you don't have the above, you may still be able to become a dev.. but it would be harder for sure, and in some cases acceptance will be lower (seriously, learn to Google!)
One thing I don't think you need in development is mathematics. Sure there's a correlation between it and logic reasoning, but you're not solving big mathematical monsters here. At most you'd probably be dealing with arrays and loops (well.. program logic).
Also, written and spoken English! The language of the internet must be known. If it's not your first language, learn it. All the good (and crucial) documentation out there is in English after all.
One final thing would be security in my opinion, since you're releasing your application to the internet and may even run certain services, and deal with a lot of user data. Making those things secure takes some effort and knowledge on security, but it's so worth it. At the most basic level, it requires a certain mindset: "how would I break this thing I just made?"4 -
Did my first meaningful work in angular in many moons at work today - also apparently the first time I've touched it in 4 major version releases lol.
I typically find myself specializing in API and service architecture lately, so I was pleasantly surprised at how quickly I got back into the swing of things with the front end in general. Granted the app itself has been very neatly organised and written which goes a very long way to helping one find their way quickly.
That said, I really can't admit to having any desire to stay working in angular for very long. Yes, I think it speaks well to the framework itself that I can pick up immediately going from version 8 to 12 without any issue, but also, I think angular kinda sucks ass*.
* Opinion should be taken with a grain of salt coming from a .NET dev. This does not reflect the views of .NET or other devs in general. User results may vary.1 -
Somebody ranted about his teacher showing windows presentation and teaching nothing. I wanted to comment that post but i have enough material to make the whole rant out of it.
Well at least you have those presentations! In my school we have 2 IT classrooms one with win xp, 1ghz cpu, 0,5gb ram computers and one with win vista, 2 core 2ghz cpu and 2gb of ram PCs.
Guess what room our teacher is using... of course the worse one! The second one is fine, few years ago another theacher had been using it!
I tried to convince him to change rooms but he is coming up with silly exciuses! (like "server is not working here!", well i fixed it with my friend but why are you even talking about it when you are not using yours in old class!)
PS. That server is useless anyway, every pc is connected to router that is connected to internet so supervisor pc is not mandatory, only acces restriction is enforced by win accounts.
I heard from students from my class (that picked that optional IT course) (i'm in high school) that gimp is not working because pc's are so bad!
Sometimes even notepad frezzes.🤔
Not only class is shite but teacher clearly has no idea what is he doing. (in order to pass the final from IT you need to learn simple C++, up to simple foo objects) and of course he isn not even talking about that! On one lesson about sorting algorithms he gave everybody 10 small pieces of paper with numbers on them and told everybody to sort them manualy, because he didnt know how to do it himself! So there is no doubt they wont be able code it.
I need to mention that i volontered to "clean, fix" that classroom (in order to convince teacher to move). And in that class i saw programms written in c++ on every computer! That means somebody was teaching propely before! 😣
I feel sorry for those guys, they are just waisting time. I would fall for it as well but i decided i can learn coding in home ;).
Well, results are shocking, after 1 month of coding i learned C# and i can basicly make any algorithm i ever wish. I learned about computer operation so well that i can nearly teach computer science. (i helped my friend in usa that is a electronic student with that and i'm very proud of it 😁) and it class still can't even use all 3 loops correctly... 😥 Ok i must admit i have been coding for a looooong while so i had time to learn basic c,c++ and pc operations before, but point still stands.
Why the hell are you wasting life of those studends? Why are you giving them a choice to learn coding WHEN YOU CANT EVEN USE PC YOURSELF?! (that it course is optional so you can apply if you want so)
I dont regret not bothering about it.1 -
my fist job... i get to edit a c++ code written by a (mind you) programming company that they teamed with for the past(mind you again) 3 years ...
now just for starters, this code was edited by self taught coders that are really good engineers(they are really good), that didnt really know how the code worked before yet they still changed it, and it worked, how ever they wanted some changes.
i get the project files, and there is not one single comment describing what is happening... only code commented out... and no documentation what so ever were done....
so below are some of my comments that i wrote after i finished adding what i had to add, and fixing what i had to fix:
/*first rule of C anything coding, no actual functions in the header, well let me introduce you to a fully functioning thread running program all in the header, enjoy*/
//used to control the thread
// i honestly dont know why, but it worked soooooo yea...
// TG uncommented // for absolutely no reason what so ever...
//used to communicate with the port
//the message to be sent to the inverter, which has a code that will handle it
//hmmmmmm...
//again not usefull since we are using radioButtons
// same ...
// same ...
// same ...
// they said they dont even use this mode, but none the less, same ...
// calculate the checksum for the message
// ....
// one of the things that work, and god forbids i touch
// used for the status displayed on screen
// used for the (censored :P) status in the message
// used for the (censored :P) status in the message
// not used at all, but the message structure contains it and i refuse to edit that abomination
// used for the (censored :P) status in the message
// used for the (censored :P) status in the message
// just dont ask and roll with it, i didnt want to touch this
// saaaaame ...
// if before true this saaaaaame ...
// value of the (censored :P)
// it pains me to say it again, but this is no use
// (censored :P) input
// (censored :P) input
// only place seen , like for real it was just defined,sooooo yea :D
// well you know how it is
// message string
// check sum string
/****below from feed back****/
// (censored :P) coming in
// (censored :P) coming in
// (censored :P) coming in
// (censored :P)
/****below is the output to the receiver ****/
//(censored :P)
// (censored :P)
// (censored :P)
// (censored :P)
//you thought we were done.... nope, no idea. it comes in the feedback
// not used, literally commented out the one time it was used
// same ...
// XD, man this is a blast, same ...
// nope ...
// used to store the port chosen for the communication
// is a static for the number of data we have recorded so far, and as a row indicator for the recording method
// used to indicate the page we are on in the excel file, as well as the point in physical point in the test
// same ... oh look at this a positive same :D
// same ...
// same ...6 -
There's this company that works in the RPA (Robotic Process Automation) domain, they describe their work as using A.I and Machine Learning to collect Big Data whilst following the latest trends in IoT, Blockchain, Web 6.9, and any other fancy term they can use while in fact, well... They're using an outdated software that uses vb6 modules to scrap some images and no employee have ever written a single line of code.
-
An OSS library made me learn a new language and I am so happy it did!
I came across a well implemented System Verilog parser written in Rust. It was so good to see someone putting in the effort to write that library, I wanted to contribute to it. I had zero knowledge in Rust but I thought, what the heck, let me learn it.
And man it was a steep learning curve. After a 2 weeks or so, now I have very basic understanding of the language. What better way to learn something than just diving into an actual project?
So, today I raised an issue to the developer for a possible improvement to the library. I hope he accepts it -
!rant
When you inherit some code from the job student and you notice how well written and commented it is. I'm glad he is soon returning as a fulltime employee. Hope he will keep this up. -
Why!!!
Why must some devs make life complicated!!!!!!
So, here I am enjoying my day (well enjoying the meetings that are taking me away from working) when I get a bug report that script X isn't sending out emails anymore.
Ok that's weird, this as far as I know uses the same email class as every other email being sent out from this project, and they all work.
Let's go have a quick dig...
function sendEmail(){
/*do a bunch of stuff*/
}
Is being used, well that's odd, it should be $emailService->send()
But what ever, it's probably an old wrapper for legacy sake since this script was written years ago. But nope, I almost cried, it's a wrapper for mail() isolated into this script.
Like for fucks sake, why in the hell would this be used when there's an entire fucking class that's tried and tested and only looses 1 email every few months, coz shit happens.
Errrrr.... sometimes i really wonder why people can't just do what they need to do the first time round.rant i'm tired of fixing bullshit code emails why you no work php i don't get paid enough for this shit oh god that's why4 -
I have nothing but good things to say about the book “Building Microservices” by Sam Newman.
Very well written, high-level look at Microservices. It took a lot of the assumptions I had built and dissected the different options and approaches with drawback included.
Now, onto “Building Microservices With Go” by Nic Jackson!1 -
Following my first rant, my boss had the brilliant idea of running the old and the new architecture in parallel. I had advised that it won’t be ideal since the same Scala code was ingesting into 2 different Kinesis streams and one was running an old KCL written in Java where as other was consumed by a Firehose delivery stream(eventually we will be ingesting it into Firehose directly). I had told few manual + automated tests on Code as well as from a functionality of the new architecture and a set of tests for checking the integration of the new Producer code with Consumer.
The statement I got from my boss was “This is the test, we test it on production in parallel”. My boss had a brilliant idea to fucking test the new code on the production directly but running them in parallel without accounting for undefined behaviour it might cause in the current production system. I mean my boss should get a Nobel peace prize for shattering our mental peace.
Anywho, we started the deployment today at 5AM in the morning. I had all the aws services deployed. Was just waiting to deploy the new Collector code which we did at 5AM. Immediately after 5 minutes the system went bonkers, there was fire, blood, demons and I was smoking a cigarette with the biggest “I told you so smile” on my face. I’ve just written an email to my boss and have told him calmly that “Listen motherfucker, 90 percent of the software companies aren’t idiots to focus on testing and quality. We need to start spending time on testing and quality else we’ll again be in the same soup after few weeks again”.waiting for his reply1 -
Linkedin is known from displaying invasive corporate advertisements like join our cloud, and other picture title shit.
But it got worse.
From January I am invaded by contribute to this article crap and get some badge. Powered by some artificial intelligence shit.
From about a month or so I am seeing lots of suggestions on linkedin wall that look like content written by bots, and the posts are from real people, well morons from FAANG started showing up with their generated spam but that’s not all.
This week I started getting job offers that look like are written by chatgpt and not a real people. When I reply to this offer that it looks like it’s not from real person I am ghosted.
Those job offers are like 3 a day and I those are not only contacts but mostly a direct messages from premium account that costs 1000$ per month or more.
I feel like I’m in real world matrix.
But that’s not all.
I see lots of recriuters from my contact list are getting fired and looking for new job.
But that’s not all bitches !!!
I sometimes reply to some CEO and they delete posts and invite me to contacts just to ghost me.
I feel so disconnected I started to think all those people are all only bots and I am last living - real person that is not using AI to write something.
I think microsoft finally managed to kill this cash cow with their obsession about AI. Corporate shit is killing every good platform.
Hope for fediverse to take off with some news websites thinking about integration with fediverse.
Help me obi P2P nobi you’re my last torrent hope.
If p2p social networks won’t take off now it would be dead end.9 -
Was once interviewing for Ops support roles looking after multiple websites wrote in java, rails, php with some rest apis, apache, varnish and more....
We were also starting moving towards automation and devops practices so we needed to expand...
We have a great CV from someone who had all of the technologies and chef mentioned on their CV so we were positive....
Invited to interview and something wasn't right..... I dropped a "so you mentioned a few different languages on your CV, can you talk me though some of the applications you've looked after and what languages they were written in, etc?"
His reply.. "yes I looked after a lot of applications and helped people with them in English"
Me "oh.. Okay.... So those apps which software languages were they... You mentioned things like Java and Php and automation tech like chef?"
Him "well yes they were all sorts of things but I predominantly looked after the apps that were wrote in English... Didn't deal with any wrote in java or chef... Just English"
Me ".... Does anyone else have any questions?"
Safe to say we didn't offer him the job.... -
I was facing another if those problems (not bugs) that have the good solution barely outside if your reach.
I decided to pull my Ace in the sleeve and ask on stackoverflow. As I was half way through my well written question, where I had to illustrate stuff in great detail, and express clearly what is required, I realized how to solve it.
If I had written the question like many of the people who complain that SO is full of pricks who just downvote, nobody would have understood it, and I wouldn't have solved it myself. I would have been ignored and maybe even downvoted.
Write down your requirements explicitly, unambiguously, and you solve half of the problem by that. Do that on SO and you will never complain again.3 -
Heyyy DevRant Fam! It’s definitely been quite awhile since i have posted in this amazing community and I apologise, i’ve been extremely busy with my uni work and just life caught up to me 😅, also as always I really hope everyone is doing very well wherever you may be as always :-).
I’d love to ask you guys a question that has been on my mind for a while now 😊, I’ve been thinking of making my own password manager for a side/fun project. What I’ve been doing is I’ve found a open source project on github and downloaded it , loaded it up and read through some code, from memory the project is called ‘keepass’ and its written in c++!.
I’d love to get some advice from you guys, how do i go about learning and understanding open source code :-)? What is some advice you can give to me? Anyways I’d be very grateful for any piece of advice :D once again as always hope everyone has an amazing Sunday night and long weekend, wherever you may be!.
Thank you for reading my very long post sorry for rambling on 😅.
Kind regards,
Milo ☺️4 -
Soo... Let me get this straight... My boss reeeeeeally wants me to reconfigure our database system to sync data between each of our 15 sites... Let me this about this...
Our database is an MS Access database originally written about 17 years ago. It was written as a standalone database that runs a unique instance for each of our sites.The person responsible for the database (still not the original developer) before I took over 6 years ago bragged about how they were "an 80s developer" (w...t...f!). Even with all of the fixes and additions (additions because... F&$#ing of course there are!) It's still basically held together by duct tape and spit.
Hmmm... Ok, still possible. What's the environment I'm working in... I have absolutely ZERO control of our workplace network... That's a whole other department. Due to the nature of the workplace (and it's sites) there is extreme limitation on network access.
Well... If I'm Reeeeeeally nice to the people in charge of the network, maaaaaybe they can give me access to a little server space.
A very long shot, but, doab.... Oh, the boss would really like this handled in the next couple months...
F$#k you! There is no way on God's (still) green earth that I... Alone... Can rewrite a legacy database... written across 4 or 5 different versions of FU$KING MS Access, and give 15 sites, with extremely limited networking, real time data sync in... Oh, a few months.
Now, I do not work with "computer people". I'm usually lucky when my coworkers remember their passwords (which, even if they don't, WHY tell ME! I don't run the network!)
And when I tell my boss basically what I just said... In a nice, pleasant way... They suggest I'm not giving the problem enough thought...
FU#K YOU IGNORANT ASS! Write me a ToDo list in MS Access (no, I'm not going to tell you where to start) in under an hour then, MAYBE, we can talk about... No... Just NO... Can't be done!
*Takes deep breath* so... Lovely weather we're having, right?3 -
I always thought I suffered from imposter syndrome until I saw what the previous developer on this NodeJS/SailsJS project did.
They put return statements inside of a switch block. He also put in the break statements as well. The return statements were the exact same thing every time it was written.
Fuck shitty JS developers....6 -
You know that moment, when you look for something on wikipedia, and after few hiperlinks you are reading about influence of penguins on Mars' day length or othen nonsense?
Just happened to me like 4th time when reading Django documentation. It is so well written and easy to understand, that I just click and click and want to go deeper, and then realise I have to read what I need, because I never ever got to it in the first place.
Gotta love the people who make such docs. I never could, and prbly will.1 -
Ok, so I have been lurking around here for a while now. Not at all knowing what to rant about. I like my work, I don't have to deal too much with annoying (or almost any at all) customers and all in all I feel fine.
However, I feel like I want to, in some way step into this awesome community in other ways than just comments and ++.
So this post will be about a book. It's almost our Bible. Well it's probably the closest thing to a proper part of the trilogy we will get.
And for not being written by Douglas Adams (the almighty) himself; this book is surprisingly good! If you haven't, and get your hands on it, do read it!3 -
Fuck you Jira, for your shitty implementation of the board, which causes written comments in tickets to simply disappear.
You clicked on another comment during edit? Say goodbye to what you have just written!
You clicked on the send button to send your comment? Well, many things can happen with our overcomplicated pile of shit that we call Jira. So, your comment might get lost. Fuck you. We are complicated. This shit can happen. Deal with it.2 -
This literally happened in my current team, and I'm not even an experienced dev yet.
Incident happened like this :
Our team is working on a RCP based on eclipse plugins, which has a headless mode and a GUI mode. Now, in the GUI mode, my manager cum architect thought there are no need of user log files (long story) because the user can see the info on screen, whereas in the headless mode, she wanted me to print the logs onto the console and a log file as well.
Now it just so happened that our team had got a recent addition as a replacement to our lead developer (she left the company) who claimed she had 3 years of expertise and a masters degree, and she was assigned a task. The task was to format a custom file we were generating out of the product (basically dumping info in a file) in a human-readable format. Miss new-addition-masters-degree decided it would be a very good idea to redirect the standard java output stream to a file output stream ( which she used for generating the formatted file ) but somehow never realized that she needed to reset the output stream back to standard output.
Consequences were devastating. I wrote the logic for the logger ( yes, apparently any available logging mechanism won't do it, again, long story ) and had it printing to a file in tmp directory. The logs seemed to be working fine initially but after a few logs, specifically from the point where the formatter started working, all the logs got printed in the formatted file. And this file was supposed to be used by our clients to develop something on top of it. Naturally, I got the heat of it and then naturally, worried and nervous and curious and in a frenzied state of mind, I started debugging.
When I got to the actual fault, I seriously could not decide whether to cry or laugh or call up miss masters and scream at her. I decided to ask her about what the hell she had written and her answer was most of it was written by the developer she replaced, so she didn't know it would cause this much problem. Anyway, I fixed the leak after that and averted the catastrophe.
And that, fellow devs, is the story of how I solved a crisis in my first year at corporate.1 -
i wrote a website, a server in go, a small os in c, a game in js, a game and server and web scraper and other desktop apps in java, mobile apps with flutter, a website with php also, implemented aes in go, wrote a parser in java. done sysadmin stuff on my vps and pihole/openvpn/nextcloud on my rpi. learn about c vulnerabilities and used metasploit. attempted to write an interpreted language. did some led displays with arduino. currently learning tensorflow.
i have never...
- written a driver
- made a game with a game engine
- created a file encoding
- implemented an oauth2 server
- made an api
- worked with vr
what am i missing? i want to be a very well rounded dev.13 -
I wrote three posts for a tech writing website - all of which were well researched, well formatted, and I figured, pretty relevant to most people working in software, right
The website decides hmm, we won't promote the posts at all - no retweets, nothing. So they all get about 100 views each within the first few days. Sad.
Meanwhile, one article written in basically BULLET POINTS gets pinned to the frontpage, and another article written in the most pajeet English I have ever seen containing factually wrong information (HTML is not a fucking programming language) gets retweeted and publicized and ends up with thousands of views
Why even fucking bother11 -
We use a open-source business management software (incl. crm, e-commerce, billing, accounting, warehouse, ...) that is highly customizable.
Previously we had "Company A" that customized it for my company. It was very expensive so they hired something to do the same but cheaper & inhouse. The codebase that "Company A" has written was terrible (confirmed by CTO & the new colleague").
Then the CFO wanted functionality A. Colleague said that this will take 2 weeks to implement. One week later, it was no longer needed & functionality B was now mandatory. Rinse & Repeat.
The CFO: "Why is nothing ever gonna get finished" or "why is the quality so bad?"
So they hired another person for the same position. This person has more experience so it costs them a lot more... And suddenly, everything works well
They contacted a few months later a consultant that analyzed the company. The consultant asked (for good reason) why such a small company has 2 people maintaining the in-house BM software. And suddenly, they wanted to get rid of the worst person. <enter my previous rant>
He is thrown out. Now the head of Operations wants to remove that software because it was not "sexy" enough (her words). So they introduced a glorified spreadsheet with less functionality. That new colleague was offered to take the lead on that project... And thus he fled to another company.
That project failed and now everyone is fired... And they hired back "Company A" to maintain that BM project.4 -
Happend a few months ago...
We encountered a performance issue somewhere in our Code, written by a guy who already left.
It was kind of this:
foreach(var id in idList)
{
CallServiceWithDataBaseAccess(new List<string>()
{
id
}
}
Well. It was obvious as in this example... -
!rant && story
tl;dr I lost my path, learned to a lot about linux and found true love.
So because of the recent news about wpa2, I thought about learning to do some things network penetration with kali. My roommate and I took an old 8gb usb and turned it into a bootable usb with persistent storage. Maybe not the best choice, but atleast we know how to do that now.
Anyway, we started with a kali.iso from 2015, because we thought it would be faster than downloading it with a 150kpbs connection. Learned a lot from that mistake while waiting apt-get update/upgrade.
Next day I got access to some faster connection, downloaded a new release build and put the 2015 version out it's misery. Finally some signs of progress. But that was not enough. We wanted more. We (well atleast I) wanted to try i3, because one of my friends showed me to /r/unixporn (btw, pornhub is deprecated now). So after researching what i3 is, what a wm is AND what a dm is, we replaced gdm3 with lightdm and set i3 as standard wm. With the user guide on an other screen we started playing with i3. Apparently heaven is written with two characters only. Now I want to free myself from windows and have linux (Maybe arch) as my main system, but for now we continue to use thus kali usb to learn about how to set uo a nice desktop environment. Wait, why did we choose to install kali? 😂
I feel kinda sorry for that, but I want to experiment on there before until I feel confident. (Please hit me up with tips about i3)
Still gotta use Windows as a subsystem for gaming. 😥3 -
Never received a single good specification, just verbal gibberish instructions.
One of the things I got tired of, so I quit.
Suddenly, when the boss realized how fucked they are when I leave in two months and how much he needs me to do before that, starts sending prioritized, well written, well specified documents over new features and existing bugs.
Why didn't you fucking do that from start 😂3 -
Ever had to work with a Web backend, which is written in C++, has 30000 lines of code and is contains php, JQUERY, HTML as well as a desktop UI? I have to do that right now. Now, I am not the most experienced dev with Web stuff but this is fucking ridiculous.2
-
2 years back when I was onshore, we were in the bad situation due to the size and complexity of handling big webserivces simulators. A single change makes the build red hence the face of other developers too.
These simulators were created using J2EE and VM templates 5 years back. With the time, application and data size grown. We were supposed to maintain consistensy in dummy data accross the applications. But some programmers made a copy of these simulators to finish their applications fast and made the situation worst.
Finally one of the team member dare to use stubby4j to solve this problem. Choosing the stubby4j was a good decision as it was the specialized tool written to create simulators only. But as the stubby4j was not having all the features a simulator need, he customized it's build for our simulators. All the team members were happy.
After few weeks, I picked a story to transform other simulators using stubby4j. The story was previously closed as it was hard to implement in stubby4j. I ingonred the comment and started working on. I spent 2 weeks but couldn't solve the problem. I read the comment in between but It was very late to take the step back. I was not able to give proper status update in the daily standup. Other team members (working from offshore) were thinking that I'm just passing the time. However my manager handled the situation very well and asked if I need some help.
This was friday, I took the leave as it was my wife's birthday. We couldn't go out due to the bad weather. I was thinking about the code all the time. Hence I started to write a new utility to handle all the requirement a webseervice simulator need. I took 2.5 days to complete it. On Tuesday, I demoed it to the whole team. And published it as an opensource application "STUBMATIC". In few weeks I received the good response from other teams as well.
I'm a full time open source developer now. -
So, my favourite language is Python, and for web developing I use Pyramid, and to stay in my "comfort zone" I use brython for client scripting, don't take me wrong, I love javascript, but for just a bit of performance lost I like being able to use all my pre-existing python code if I need to...
So, this was my first work experience, for a military industry, we had to make a service for uploading big files and sending them via email.
I heard one thing that shot me out of my "comfort zone" (I'll call it cf from now on)... "Use php"...
So, I already had written in php and I've always disliked it, perl-ish and broken as a bethesda game (i like bethesda games, but they are broken)
Another thing: javascript vanilla or jquery, never liked jquery either, so I decided to use vanilla js...
So, after 6 months of work, my partner and I finished it...
Well, more than one year later that mess we had to make to satisfy our boss' most absurd desires is not online yet, I search it on google every month, so yeah, 6 months of my life wasted (also, it was a "stage", so not only I didn't get any recognition, but they didn't give me any money) -
FML having to take on and support a python test framework that looks like it was written by a junior C embedded dev without a mentor.
- Imports everywhere in the code
- No abstraction or OOP
- sys.path.append fest (broken imports of course)
- Global variables fest
- No docstrings
- No readme
- Somehow mixed with a jUnit test framework as well
- Uses Windows environment variables profusely
- Pycharm has a stroke when I open files from this project5 -
ok, fuck people. i mean the people who talk about things that are a big deal. you don't need to take a course in html/css to build a website, you need documentation.
people act like programming languages are a whole separate literacy. they're not. it is not a big deal, nor an accomplishment of any significance, to learn any language to a basic extent. variables, control flow, functions and scope should not be considered challenging topics, and people should stop bragging about them. i'm pretty sure this is because programming is new. as people, i think when something is new we tend to think of it as more complex and harder to understand. basic programming is not that.
ok that was a tangent from my real point. college is a scam. anyone can learn anything from books and the internet. any time you want to learn about something, go to google, and search "${my topic} site:*.github.io" and you'll have a page about that topic written by someone who is knowledgeable and passionate of the topic. colleges don't teach people how to think like these books/websites do. and i'm fucking sick of people who'd rather see a degree then a portfolio. fuck them shits bro. i can distinct my smart friends because my smart friends speak logically and enjoy becoming smarter. i would take the kid who watches aerodynamics videos on youtube and then built a plane over a kid who studied and got a five on his ap physics exam. watching then doing is better learning than watching and repeating. after all, creativity is not at all measured in our grades, and i'd like to argue that sometimes intelligence isn't even measured. i mean, people can say they're good at math, but the kids who talk about fibinnoci numbers and why there can never be two primes more than 7 (i if i remember properly) integers apart or the ones who prove cryptographic algorithms. i guess what i'm trying to say is the dumb kids aren't dumb and the smart kids aren't smart (well not that) but kids who are passionate and just do something instead of waiting for their degree to do the same thing are the best and brightest. i forgot what i was talking about. sorry it is almost 2 am and i am intoxicated , and i don't believe i got my point across very well either.7 -
DO NOT EXPORT GPG KEYS _TEMPORARILY_ AND ASSUME THAT THEY'LL BE IN THE ORIGINAL LOCATION AFTER EXPORT!
I learnt this lesson the hard way.
I had to use a GPG key from my personal keyring on a different machine ( that I control ). This was a temporary one-time operation so I thought I might be a smart-ass and do the decryption on the fly.
So, the idiotic me directly piped the output : `gpg --export-secret-key | scp ...`. Very cool ( at the time ). Everything worked as expected. I was happy. I went to bed.
In the morning, I had to use the same key on the original machine for the normal purpose I'd use it for and guess what greeted me? - *No secret key*
*me exclaims* : What the actual f**k?!
More than half a day of researching on the internet and various trials-and-errors ( I didn't even do any work for my employer ), I finally gave up trying to retrieve / recover the lost secret key that was never written to a file.
Well, to be fair, it was imported into a temporary keyring on the second machine, but that was deleted immediately after use. Because I *thought* that the original secret key was still in my original keyring.
More idiotic was the fact that I'd been completely ignorant of the option called `--list-secret-keys` even after using GPG for many years now. My test to confirm whether the key was still in place was `--list-keys` which even now lists the user ID. Alas, now without a secret key to do anything meaningful really.
Here I am, with my face in my hands, shaking my head and almost crying.5 -
Finaly I write my first rant about dev stuff.
My mom works as a shop clerk in the optic shop (they sell glasses). It is a small shop run by family buisness (not by my mom, she is only employed there). She had been constantly complaining about the poor pc performance and how the program there are using for inventory managment always hangs.
Her boss decided to "upgrade" the pc's by buing macs, but he was stopped by me and my mom. (I was helping them with some IT stuff so i had a bit of a influence over that).
The program they are using was written by some amateur programer that is a boss of a similar shop somewhere in the country.
So i recommended to them to install SSD's to speed up their pc's, and it did nothing. Of course i blammed the poorly written program next.
The program hangs when you type in the find field. I wanted to check if my gut feeling was right so i asked them to have task manager open when they type. And my feeling was right.
When you change anything in the text find bar, the program sends a crap ton of requests to the local server and that server sends a crap ton of packiets back, enough to saturate the local connection...
I will try to rewrite the app myself, just for the challenge of it. I want to check if i can write a better one than this one pos. They still want to buy better pc's but they wont be any help to them... Well i will help them with that anyway (having good pc's is good anyway). I hope i can create the app that will fix their problems...3 -
I don't know what to think of Vue 3 Composition API anymore. At first I hated it because it's nothing but one big ole rip off of React, and I hate React so much; its hook system is the most disgusting anti-pattern I've ever seen in the entire JS ecosystem. This gave me the incentive to try out Svelte instead, but after doing so, I look back at Vue 3 and noticed that they're kinda similar... why are so many JS devs allergic to classes? You can have much better written code that way. Idk, I'm waiting for vue-class-component and vue-property-decorator to fully migrate. In the mean time, if I'm gonna be forced to write composition based code, I might as well use Svelte.3
-
Posted previously about our codebase being a monolithic, poorly-written, pain-to-maintain gigantic cluster-fuck. And the efforts made to rewrite it.
Well, we made huge success the previous year in this regard. I rewrote the entire API while my other team mates worked on two different UI apps one of which is now in production and the other soon to be released in alpha.
Processes have being put in place for our team and are being improved.
We still have some technical debts though.
Dev goal for 2020,
- Pay most of the technical debt.
- Dive deeper into Flutter and finish the app I wanted.
- Play with ML, AI and Game dev.4 -
For all things, for all men, that a man compliments a thing does not imply that this man at least attempts to understand this thing. However, for all men, that a man criticises a thing implies that this man at least attempts to understand this thing.
For all computer programs, that a computer program is terrible implies that scrapping the current implementation of this computer program and beginning anew may be the best method of fixing this computer program.
With few exceptions, for all programming languages $l$, given sufficient effort, $l$ source code can be human-readable.
The UNIX philosophy never became outdated.
For all computer programs $p$, $p$ should be written sufficiently well that the author of $p$ can be prideful of $p$.
For all computer programs $p$, a specification for $p$ should be written before $p$ is created.
For all good computer programs, a good computer program can run on terrible hardware.
Every clock cycle is valuable.8 -
So I saw a blurb about AlphaCode from DeepMind. I went to look at their website:
https://alphacode.deepmind.com/
What I see is the most insanely detailed spec for code I have ever seen in my life. I haven't even seen college programming problems this detailed before. Most specs "I" get are like one or two sentences long "if" it is even written down. A lot of the time the direction is: write some stuff and we will tell you what we hate. Just figure it out.
So DeepMind is claiming they can produce code as well as the average programmer because they ranked 54% in a coding competition. What a complete misleading claim and absolute bullshit conclusion. I am all for creating new tech around generating code, but this is just to sell snake oil to an idiot manager at a startup.
This is going to lead to some really fucked up rants here at devrant.6 -
Pet peeve: the claim that static typing prevents errors.
Today I worked on a C# project that's a mess of nulls, side-effects, inferences, and race conditions. Then I went back to a JS project that's twice the size but written in a clean, well-tested, FP style and currently has fewer than 10 issues logged.
Look, I get that there are upsides to static typing, and I'm open to introducing typescript or flow for our JS code.
I just can't stand the faux-concern from the static typing dingleberries when they are the ones who produce these horrendous lumps of unmaintainable shit, and the JS/Python/Ruby/etc people are over here quietly reinventing functional programming and code modularity.10 -
One responsibility of our team is general code QA for the entire dev department, DevMgr walks in our area yesterday…
DevMgr: “Has anyone reviewed the new WPF threaded model execution code?”
- everyone on the team responds “no”
DevMgr: “Can we get a review on that code ASAP? If it works as well as the developer said, it’s going to solve the lock up problems users are experiencing and automatic logging of errors.”
DevA: “Well, no amount of code is going to stop users from performing bad searches locking up the user-interface. That code is just a band-aid around the real problem. If the developers would write unit tests first …”
- rant about 5 minutes on unit testing that had nothing to do with why the DevMgr was here
DevB: “Yea, the code probably isn’t written to handle threads correctly. All the threading they’ve done so far is –bleep-”
DevMgr: “Oh, I wasn’t aware of that. Get me the results of the code review and if they don’t have unit tests, delete it from source control and let the developer know it’s not up to our standards.”
OMFG!! You have not even seen the code!
OK, DevA ..what the –bleep- does unit testing have anything to do with the user interface! You know the DevMgr is too dim to understand the separation of concerns. Shut your pompous ‘know-it-all’ mouth.
DevB…what the –bleep- have ever done in WPF? You manage the source control and haven’t written any C# in two years and never, ever written code for any significant project. Take that “handle threads correctly” and shove it up your –bleep-. Pompous –bleep-hole. Go back and watch youtube and read your twitter while the grown-ups get the work done.3 -
Well, this happens time to time...
I'm freelancing as a backend guy. I like to take care of all infrastructure before really starting to build anything, this mostly includes dev/staging/prod environments with some linear promotion strategy. So.. I did this API. Still on staging, proceeding with the development as planned, everything goes according the timeline.
And then.. this happens... At some point PM told frontend guy that it's time for production (without notifying me), so the frontend guy does what "anyone" would do in this case - tells PM to create DNS record for production to point to staging app.
Time passes, I'm still unaware of this. But I'm starting to see some quality entries in the DB, not the usual QA crap. I write to them that they're doing good job and continue with my tasks.
One of the tasks required some major DB change. I could've written migrations script, but since we're not in "production" yet, I just wipe the DB and recreate schema as I need it.
In 10 minutes the furious PM starts shouting that "production" is down and I need to fix it ASAP.
I'm lost, I'm asking questions, I'm slowly understanding what's happening...
So I want to grab some coffee, sat back down, wrote politely that they suck, added a finger emoji and terminated the contract.
Felt like the right thing to do as I definitely don't want to continue within the same "team".1 -
Fuck I feel fucked up just for completing user account management, authentication, email verification, password reset. Securing all of this with ssl and checking for any security loopholes.
I can't believe this took me more than a couple months.
Well I was lazy and unmotivated.
I fucking hate crafting stupid ass routes in nginx.
I fucking hate making a nice responsive gui.
I have to design even the stupid html for the emails. Fuuuuck.
So much boilerplate on top of that with username and email validation.
I learnt regex 5 times over the past couple months, still not enough.
And now I actually have to build the functional part.
On the plus side I can reuse this stupid boilerplate if I can make it more modular and readable.
There's shit ton of comments to the point where I feel like an idiot for including so much info. It's like I've written it for a toddler to take over.
Gawd. Anyways it's over now. 50% I guess.
I can finish the rest of the server more quickly and then spend another year designing the Android application.
I'm really lazy in places where I have to design UI/UX. Although at this point it's kinda what could put my application at the top. (I'm lazy, I ain't bad.. I just hate implementing my ideas I wish I could just visualize and have it appear on my screen)
I do like parts of gui that involve little math problems that would make motion smooth and efficient. -
Currently my school's Java curriculum has outdated resources and the only modern resource is a poorly written AP Computer Science book that barely scratches the surface of the language. Well, my teacher saw what I'm capable of compared to some of the other students and decided that she wants me to write an entire curriculum for the class. The only thing that bothers me is that there are plenty of online resources that I used to get where I am that she refuses to let the class use because they're "too advanced" and "they won't understand it." Does she understand that I've never written a course before and that my way will probably be more difficult than the tutorials that she calls "too advanced?"
Well... there goes my summer I guess7 -
To create a really amazing OSS, I don't even care if anyone uses it or if it becomes popular or anything, I just want to do it to prove to myself that I don't need to get paid to write good code, I can do it to make the world a better place too.
This has really been my main goal for a long time now, sure I've written some a few OSS but I don't consider them up to that standard yet, but I am working on something right now that will get close if I ever manage to finish it and if it is well written. -
My ideal dev job, would be a job I can show compassion towards. A team I can be proud of and learn from. And a vibrant workspace with likeminded individuals who just want to improve themselves even if they feel their at their pinnacle.
My current office tries to make use of new technologies, we've embedded docker, vagrant, a few ci systems on an in need basis per team, and a lot of other tools.
My only real qualms are they feel indifferent towards new languages and eco systems ( Node.js, GoLang, etc ). Our web team is still using angular.js 1.x, bower, refuses to look into webpack or a new framework for our front end which is currently being bogged down by angulars dirty checking.
Our automated quality assurance team is forced to use Python for end to end testing, I've written an extensive package to make their lives easier including an entire JavaScript interface for dispatching events and properly interacting with custom DOMs outside of the scope of the official selenium bindings.
Our RESTful services are all using flask and Python, which become increasingly slow with our increase in services. I've pushed for the use of Node or GoLang with a GraphQL interface but I'm shot down consistently by our principle engineers who believe everything and anything must be written in Python.
I could go on, but tldr; I'm 21 and I have a ton of aspirations for web development. I'd like to believe I'm well rounded for my age, especially without any formal education. I'd love to be surrounded by individuals who want the same, to learn and architect the greatest platforms and services possible.1 -
I've had this idea for some time now. How about a website that gathers some of the most well written open-source code and allows you to easily read it for educational purposes? Everyone says that reading source code can be a great learning tool but directly jumping into github is not very friendly to newcomers. I saw what underscore.js has done with the annotated code link and I think it's great. What do you think?6
-
Just happened 4 days ago.
I was writing a thesis and at the same time creating a tool which automates my measurements.
It was written in Python and everything worked very well.
Of course I left it to my advisor for further measurement, telling him that if he want to measure multiple times he just need to loop over the measure-function.
I left him an example-file which looked a little like this:
example.py:
"""
import measurement_class
# Parameters
if __name__ "__main__":
m_class = measurement_class.coordinator(#Parameters)
m_class.measure(#someotherparameters)
"""
So after a few weeks I came back to my advisor (four days ago) to see this:
loop_over.py:
"""
import os
for _ in range(0,100):
os.system("python3 example.py")
"""
I'm not sure how I should feel about it...2 -
Wow. All these weekly rants work so well with my current project lol.
A 4-5 year old iOS project, written in Objective-C with some jQuery thrown in to keep things interesting. Its the kind of codebase where you look at some code and think "what the....how....you know what nevermind". Everything has CoreData mangled into it somewhere which causes all kinds of issues. got search results from a web API? better save those to CoreData. Why? Who knows...1 -
So first rant, here goes weirdness, and also lengthy rant
So in my company we have the hr and accounting managed by the same person which also deals with all things employee related and she had a need for a way to extract a birthday from, what is in our country the personal identification number, things go great i get a formula that performs parts of the magic up to the point where the first digit of the number dictates the gender and century to be used when forming the full year, mind you only the last two digits of the year are in plain within the id number so i thy a number of ideas. After bashing around google sheets for a while ( i've got open office installed and formulas don't export well to the excel that person uses but google sheets does so i built it there).
First idea : make a few conditionals to check for the value so we have 1 and 2 for 19th century, 3 and 4 for 18th century , 5 and 6 for 20th so i go ahead and write my conditions and they fail, all evaluates to false, it cascades through the else variants up to the last one so i'm wondering if the "if" itself doesn't support the or operator, seems it does, next i think it's the bloody condition written wrong so i reevaluate my logic in php in a test script, it works as intended, then i think ok not the right function called, let's see the docs, docs confirm i'm doing it right but what was wrong was the way i was getting that first number, using left seems to produce a string although the base thing is a number, now i start searching how i can cast it, like you would normaly do when the data type is fried, value function appears to be the solution but it isn't working....now i'm thinking "ok so i have a value and different things to print out so let's look for a switch, maybe it can understand that" switch function found under the form of choice, i get it sorted but am stuck wondering why the heck was the if and value combination not working.
Simple answer to that : value doesn't work well with function results, a known bug listed by someone in a comment, a comment i have failed to read for about 45 minutes of trying to understand.
All in all it worked well for the person asking for it so it's nice. -
I like rants that are thought provoking and push a message forward regardless of whether they may sting a little, so for my first post on here I'd like to hit at home with many of you.
Html5 "Native" Applications are not needed. Let's cover mobile first of all, the misconception that apps are written in either javascript or Native android/ Native ios environment. Or even some third party paid tools like xamarin is quite strange to me. OpenGL ES is on both IOS and Android there is no difference. It's quite easy to write once run everywhere but with native performance and not having to jump through js when it's not needed. Personally I never want to see html or css if I'm working on a mobile app or desktop. Which brings me to desktop, I can't begin to describe how unthought out an electron app is. Memory usage, storage space for embedding chromium, web views gained at the expense of literally everything else, cross platform desktop development has been around for decades, openGL is everywhere enough said. Finally what about targeting browser if your writing a native app for mobile and desktop let's say in c++ and it's not in javascript how can it turn back into javascript, well luckily c++ has emscripten which does that simply put, or you could be using a cross complier language like haxe which is what I use. It benefits with type safety, while exporting both c++ and javascript code. Conclusion in reality I see the appeal to the js ecosystem it's large filled with big companies trying to make js cross development stronger every day. However development in my mind should be a series of choices, choices that are invisible don't help anyone, regardless of the popularity of the choice, or the skill required.8 -
Shit, I lost the rant again. Well let's begin from the top.
This is little bit personal but I'm not keeping any of this as a secret. I'm a hyperactive thinker at nights (ADHD). I must write this down, although it's well over middle-night at this point.
I just discovered that I might be better writer whilst I'm sleepy, hungry, out of affection of the meds or all of the above.
And may I remind you that I'm not a native English speaker or writer.
* Saved to clipboard, so I won't lose this again *
I've written now 2 long rants, 8 issue reports (devRant) and a loong collab posting in this one sitting, or rather laying. It feels like I'm writing perfectly without missing a beat. I know that's not right, it's the main symptom in ADHD; My brain is actually running slower than an average, much slower. That's a reasonable explanation for the “fast” innovation.
I'm running without restrictions of a normal human, I don't "overthink" every single word and rather go with the flow. That's what spell checkers are for.
* Save *
You can probably see what's happening. It's certainly also true when writing code. I left out the normal cleaning up (except for the grammar, found 10 errors).
It's pretty much the same thing as I'd imagine being drunk or even high.
I must not be the only one.
* Writing tags... *
* Update error count *
* Recover one part from memory *10 -
How do you tell people in your team their code is poorly written?
I am not an amazing developer, I lack experience of real world and don't have many finished products under my belt.
But I feel/think my code is well separated into separate classes, follows DRY well and is generally considered as following good practises.
However, the main Dev in this new small team which has been put together and I have been appointed to manage sees things differently.
He writes good functional code(it completes it main purpose) however it's all in the one program.cs file, lacks good comments and is just generally untidy :(
I kinda fell into this whole management thing and it's kinda new to me..
Maybe he just needs a bit of direction? I am going to be putting in a code styling guide
Any tips on managing a Dev team would be very much appreciated.
PS. Iv been around for a while, and did previously have an account which was quite active, however I decided to delete and create this new more anonymous account :P10 -
Ticket: here's something wrong with the export of transactions, please check.
Very useful description, let me just go over this logic I've written months ago.
Yeah, I went extra sure that everything's right, besides the ones for created during the initial testing that we left. Took me a hell a long time to prove because there's such a vague description but ok.
Of course I have the time to make an eyecandy of an excel spreadsheet for you.
Only for you I'll also go and fix these entries manually. If you want me to do it so badly, I'll gladly do it.
Oh what, you're upset that I wasted 5h for this complete bullshit? Well fucking go and learn the database structure yourself then or get sued idk
Hope it was worth that 1€ difference the customer paid himself.
Not to mention that I also had to do an emergency setup to work from home because those people who are responsible for giving me an appointment for a covid test sure like to wait days after my sick leave is over. ffs, I just had a cold...
Also fuck all this bullshit mac software required to work in this network, half of this shit flat out requires you to use the same software and ofc it's all closed source to the point where I'd be glad to have an electron app for everything. -
Guys! I just want to share this very well written article. It does not only apply to music production but also to our personal pursuits in life. Hope it helps those who are struggling, like me, putting one's crap together.
http://musicsoftwaretraining.com/bl... -
It's a good intention if you want to separate your code in logical units and split it into multiple methods, but could you please stop handing the control flow through about 20 methods before even really starting with the actual logic? This mess is 10 times as long as it needs to be, because someone decided to make everything go through 10 "validate one little thing" methods for every method with actual logic!
Edit: DevRant didn't allow me to post first, now I've analysed the code a bit more and the control flow actually goes out of a specialised class into a generalised class and back (not by returning, but by calling the specialised class from the general one) and the parameter that says what specialised class to call gets written into a class variable, then read from there and passed as a method argument, then back into another class variable, then the code changes it up a bit as a local variable, then passses it as a method parameter again... First it seemed like it knew what class to call using black magic, but no, it actually just hid the fact really well that it did in fact pass the class reference through in multiple forms from beginning to end. -
Named the wrapper script as CH<scritpname>.
Giggle every time I see the script.
CH is a short form of shit in my native language. If anyone asked me what it means I’ll say it’s Chief script. 🌚
(That’s right, its the script to deal with all the shitty code written by other ppl. May be I write shitty code as well. At least shits are separated.) -
I am trying to implement an API. It has a very good documentation, everything is written clear and simple, along with
- HTTP 401 on unauthorized request and
- Error codes from 1-35 with definitions
Opened the provided sample file, changed the username, password and client code fields to our own in the source, then tried the request. The Response:
HTTP 200
{"ErrorCode":-1,"ErrorDescription":"Unauthorized."}
Well, thank you very much! 🤬2 -
Soo I've written some python code to test things for my soon starting bachelor thesis. I work with a little robot car I share with other people and use 2 cameras on it. Today I make the extra effort to go to the lab to test my things as there were too many people busy with the available cars yesterday.
Set it all up with ROS and my project as per usual just to see whether python fucks me over again ... nothing, ok what a surprise.
Good part: my python code seems to work flawlessly
Bad part: cameras don't work, although they don't throw any errors. Quick check with rqt_image_view ... everything seems fucked up, but not broken. Cameras not accessible as they should be, only 1 view available instead of the normal million modes and a blank grey camera stream on the screen. But no errors, nothing.🙄😪
I also wanted to capture some footage to test at home, well that's gone to shit. Now I had to simulate that using my phone camera ... while crouching.
Fuck ... me.1 -
I remember back when I was in pre calculus I decided to take a class online. So my teacher's website was made by him and run on go Daddy, he taught precalculus, calculus, algebra, algebra ii, and computer science. I decided to penetration test his website and use a web crawler. His directory that had the tests, test answers, exams, exam answers, and homework answer's as well as all the books he's written in PDFs, was unprotected, I could access and download them all. He also had a database directory that contained all the students' phone numbers, email addresses, home addresses, and their full names.
I alerted him to this and didn't get anything in turn :P2 -
I was building a super simple Laravel app for a client (forms APIs stuff)
For the frontend I used jQuery cuz why overkill it with react.
Now the sad part:
The app makes ajax calls to fetch the data from the database and update the view according. The code is very well written and the call is so quick that in a blink of an eye the data is processed from the controller and sent to the view -_-
Because the user doesn't gets to see what the fuck just happened when they clicked the action button, I had to add a setTimeout function before the Ajax call to slow down the process by 2000ms and added a freakin spinner.
I feel very sad when I can't show how awesome apps I can build but,
I killed my ego for the UX.
This was my sacrifice.
Anyone faced similar shits?3 -
Cordova is the perfect example of the importance of managing a state.
You have 100 plugins in your config and one of them fails? Well, now you are in an inconsistent state. You can't delete the plugin because it doesn't exist but you can't add it because it already exists. If you search any question about cordova on StackOverflow literally ANY answer is like "delete the platform and install it again".
In average I find myself in an inconsistent state more than once a day. No error is handled so I find myself debugging their code and it's horrible, looks like written by someone that had no idea of what he was doing. I know it's legacy and capacitor should be preferred, but what the hell? Really? -
Some time ago I shared a story about negotiating a raise. After that I talked with boss a bit longer and he gave me a new assignment which is not really dev-related. His logic was that I know Java so I should be able to do this since system I'm going to work with is written in Java. Yeah, right.
I have to configure document-flow system, eDok, for our client. I have absolutely no idea about all this document processing and such, but oh well. It's his money.
To do so, my boss bought an serwer with Ubuntu and our client has installed it. I finished a beta version of my last project and today had to start working on this eDok shit. I tried to log in, but nothing was working. From the logs it looks like HDD has failed.
Well, at least it has happened now and not after I've configured everything 😅 -
Been consulting a friendly acquaintance on technical issues for some time now. An interesting side project in a field that I am not familiar. Well after some time you begin to be well versed and understand what it's all about.
Wrote some code. Made a website. Did some soldering and prototyping. Now I find myself in a position where most of the IP is a) written by me b) designed by me.
An official agreement has been a topic couple of times. The owner wants to hire me, but I don't see myself working there. He offered shares. I said yes. But nothing has been formalized.
Now the the CEO sends me an NDA that practically tries to make me sign over all the IP to the company. First correspondence I get from him since the beginning. Legislation is quite clear. Without written agreement IP is owned by the creator.
I lolled. They must think I am dumb because I try to help. I feel a hefty invoice for services provided generating in my accounting.. -
So I applied for a Cloud Architect position. The process was very intensive. Roughly 6 interviews, 2 practical assignments and a written exam. In total it took me 3 weeks to go through the screening process. I aced everything, and was told they were going to send me an offer. I received an email on the 21st of April asking me if I was still interested. I replied back immediately saying I was most def interested. The next morning I get an email back from the hiring manager, who happened to CC the client as well, saying I took too long to reply to the offer, and the job was filled. I was perplexed as to how I took too long to reply. I went through the email chain that the client also received, and saw the hiring manager changed the email headers in the reply chain from the 21st of April, to the 12th of April. So it made out that I did indeed take too long and the client went with someone else! WTF! Very unprofessional, but very little I could do.. I wasted a lot of time and energy and heartache with this!4
-
Wanted to know what you guys think about "Dev" jobs that also include making slide shows and presentations?
Eg. Imagine working on an analysis engine. And just when the core functionality is working, your boss wants your team to make presentation for every client that it's going to be used for - using the raw data given by the engine.
Instead of maybe adding that function to the engine itself.
Suddenly your work is now 12+hours of MS office instead of 8 hours of coding.
And a year later. You have 10 unfinished skeleton code architectures, poorly documented and 90% of the test cases never written.
And most of the devs who were on the initial project have either left out of frustration or have been fired because apparently fresher's who can not code with a senior coder level proficiency is not performing well.9 -
Good Lord!
FP looks nice, feels right, scratches the itch when written well, but supporting, debugging and fixing/extending it is a fucking hell!
Well, it's either FP or TS/Node.4 -
If by coding style, you mean conventions and not design patterns, then I'm surprised no one has mentioned the official documentation nor the standard library of sorts. I'm relatively new in the industry but at least I'm quick to realize that every language/framework community tend to have their own preferred style; not a one-size-fits-all thing. And these preferences are usually set off by code samples from the official docs. This is true at least for the big communities where the official docs are well-written.
-
Our teacher has assigned us a project that should be well documented, well built, written in a language that he has no freaking idea how it works and the project should be Facebook rich with features, we are three members in a team and the project should be done in less than two months. How the hell should we deal with this freak?5
-
What do you guys desire from an API, apart from well-written documentation? One of the things I want to work on is a website with an API, and I want to know what you would want from one. Eg version numbers, error fields, authentication, stuff like that.2
-
Retrospective does not seem to work in practice as it does in theory.
Complain about what went wrong and what went right. Then at the next one, those issues still exist.
I might as well just have written in a diary to air my frustrations -
Rarely do I find well-organized code written by researchers. Well, it runs, so reproduction is possible, but when it comes to actually change something in the code, it's as messy as it can get.
And THEN, I look into the paper so that, hopefully, I can make sense of what is going on. Turns out, the documentation on the paper is also poor.
F*<k. My. Life. -
can't take this sh1t anymore, will start updating my CV today.
I have to steer wheels on this shitty php-related task with testing suites with latest guides written in 2014, code base of that suite got a shitton of changes.
When referring to original documentation and example that is not working and gives me loads of errors, community pricks just saying something like: don't use 6 year old tutorials!!! well, that is the latest I could find, so yeah -> basically go fuck yourself situation!
went alive from 1st part as I managed to make some hacky clusterfuck that works. now i had to switch library that has no documentation at all, has shitton of options and lattest update is like from 3 years ago, library that is connected had some breaking changes lately so to no surprise I can't get this shit to work!
Is whole php ecosystem just made of folks who simply doesn't give a fuck and latest knowledge update they had is like 4 years ago?
ofc I am excluding laravel community in this!2 -
Hey guys, I have a question.
If you ever had to deal with parity (Ethereum node software) and ever ran archive node, you perfectly know how long this bastard synchronizes. For our server it took almost month. Well, today or yesterday parity decided to spontaniously blow up (or crash) corruptiong database manifest file which greatly undercut us.
Anyone knows any viable way to rebuild manifest file withoud doing full sync from a scratfch?
If anyone has any suggestions other than what 95% of internet say "well, delete your database and sync from scratch" Im happy to test if it will solve our burning burning issue.
I am sure there is some way to rebuild database, especially where it's manifest file that's corrupt (Ive checked it, for wtf reason parity decided to truncate the file when it crashed).
Database backend is written in rust, and is called rocks db.
EDIT: if helps, its archive fat database (fat db means it should be easier to recover?)4 -
I was tasked to parse some complex output oft another application so that it can be displayed nicely in our Frontend. The output had lots of inconsistencies and exceptions - I spent the entire fucking day to wrote the craziest regex I have ever written in my entire life. With a few minor issues it worked pretty well. I was happy... Then a colleague came into my room, peeked into my screen..
Him: "You are aware you can just specify a --json flag to get json output?"
Me: "..."
*long silence*
Me: 😵🔨
Please end my life.1 -
Whenever I reach the point where static analysis can't help me any further I always feel a sort of thrill mixed with terror. This is the real deal. Until now the problems were easy to find, the questions had well defined answers to choose from, the rules were universal. In the part of the logic that cannot be checked, the invariants upheld manually, where the best the type system can enforce is for the programmer to clearly state what they're doing, lies the real beast. In proofs commented on functions or invariants as logical expressions over plain English variables written in the doc comments of a struct.
In the blurry and pompous future I imagine for software development, that's where the programmer's time will be spent. Once we all agree on what a string is, what it means to depend on someone else's code, and what parts a UI should be made of, all a developer should have to do is make decisions and derive proofs an automated deduction engine can't do on its own. -
!rant
Ok so I'm about to start working on an OS but I am going to run through a few tutorials to get the base systems down then I'll incorporate a interpreter for BASIC and my custom scripting language.
Just curious if anyone can point me in the direction of a few well written tutorials that will explain the systems being used. (I want to use Assembly and C only btw, but am open to others)
I only have 1 decent tutorial but it's older and complete (https://github.com/cfenollosa/...)3 -
Remember how I was - against all that was promised - assigned to a time-sensitive front-end (so definitely not my forté) project about a month ago? Remember how I struggled with the choices of how to go about it - switching from F# (Fable) to Rust (Yew) to eventually settling in with Vue and TS?
Yeah, I’m glad I went that way, even though there could’ve probably been better choices out there: my part is done now, even though it’s not quite prod ready yet (close tho), the team who’ll maintain it takes it over now, after I finish dealing with my current minor issue. And damn their front-end guy is GOOD. Makes me feel very inferior in that department. Well, I am. Back to back-end, thank you very much...
But I have an issue here, that bothers me. I’ve produced a codebase that’s obviously written on a tight schedule: no tests, no documentation, a few embarrassing hacks/workarounds and so forth. I actually feel bad for leaving it out of my hands to them in such a state...1 -
Hey everyone :-) - Hope you're all doing well & Staying safe, i just have a question for you all, i have a project i am working on which is a command line tool to track my storage on my PC & laptop, right now it outputs my remaining space, used space and storage capacity :-), it also shows these numbers on bar chart & pie chart - i'm proud of it! :D , its written in Python also - would love to know what other things would you guys add to it? any ideas? id really appreciate it :-) cheers! <336
-
!rant
Thanks to the urllib documentation wich I find well written in opposition to the Beautifulsoup one
My script finally fucking WORKS
Not a rant sorry but I'm so glad I can finally sleep better thanks to it that I had to mention it -
Currently debugging a project that was written over 4 years ago...
At first all was well in the world, besides the ever present issue off our goddamn legacy framework. This framework was written 7 years ago on top of an existing open source one, because the existing one was 'lacking some features' & 'did not feel right'.
Now those might be perfectly fine reasons to write a layer on top of a framework, but please, for all future devs sanities, write fucking documentation and maintain it if you're going to use said framework in all major projects!!
Anyhow back to the situation at hand, I'm getting familiar with the project, sighing at the use of our stupid legacy framework, attempting to recreate the reported bugs...
Turns out I can't, well I get other bugs & errors, but not the reported ones. I go to the production server, where I suddenly do can reproduce them...
Already thinking, fuck my life, and scared for the results... I try a 'git status' on the production server....
And yep, there it is, lo and behold, fucking changes on production, that are not in git, fuck you previous dev who worked on this and your stupid lazy ass modifcations on production!
Bleh, already feeling royally pissed, there's only 1 thing I can do, push changes back to git in a seperate branch, and pray I can merge them back in master on my dev environment without to much issues...
Only I first have to get our sysadmi. to allow pushing from a production server back to our git server...
Sigh, going to put on my headphones, retreat to my me space and try to sort out this shitpile now... -
Another consultant. He/she sends out meeting request about system X to me and a few other guys/girls. X is actually a, you know, global thing. It is well known but not incredibly famous but well known.
But she/he mispells it. It is not even close. So, he/she just guesses how it should be written. It is not a big thing. But I am truly interested, and a little worried, about how that kind of mind work. Is she/he convinced that that is how X should be written? I think not because X is not an actual word but just a product name. In this case the product name is synonymous with the company name. If you pronounce X as he/she has written it will just be distinctly different than the correct way of saying it.
So I got this meeting request in my calendar which just sits there in its erroneous way and it irritates me. Mostly, I am annoyed by the fact that he/she did not bother to look up the correct spelling. And it has now been a week or so and it has not been corrected so I must then conclude that he/she still is ignorant of X. Which leads me to the conclusion that he/she is not really that motivated.
I am perhaps a grumpy old developer but I do think I can spot incompetence a mile away nowadays. I’ve been at it for over 15 years now.1 -
SQL is amazing.
I'll toss out some bassakwards query and the optimizer will make sense of it and suddenly I'm searching a amazonillian records in no time.
Then rando one day (today) I fire up what I think is really not the most wonky query I've ever written and ... "Well shit this is surprisingly slow."
So then I go full n00b and add some fields to the query that I know would limit the number of possible records to way low thinking that might help and ... nope no faster...
Guess it's time to bust open some books about SQL....4 -
I'm actually a huge fan of elementary and the appcenter - it's so nice just to have a small collection of well-written, good looking apps that do one thing well3
-
Question for the hiring managers out there: When reviewing applications for an open role, what specifically stands out to you about an applicant? (Assuming that the ATS gods don't just automatically filter the application out.)
Is it their achievements at previous companies? (Ex. Boosted ARR by 200% or decreased monthly churn by 30%)
Is it their career trajectory?
Is it their resume writing abilities?
Is it their education/certification credentials?
Is there some degree of "brand shopping" involved? For example, does seeing an average resume from a former Google employee with 2 YOE get you more excited than a well-written resume from a candidate with 7 YOE who worked at a lesser-known company?
I suppose much of this depends on the role and its needs.
Just given the market right now, I'm curious how hiring managers are making selections from their undoubtedly vast pool of candidates. I've heard that almost any job positing now is getting 500+ applicants within the hour, but with the caveat that 490 of those 500 applicants are completely unqualified (Like a Shift Manager at Chipotle who worked an IT help desk summer internship applying for a Senior Software Engineer role.)
Ultimately, what aspects of an applicant combined with their background and resume makes you say "Wow, this might be the one" while reviewing applications for a role?3 -
Quess who's back again, php oudated piece of shit monolith codebase. So we have a relatively huge client we need to migrate to AWS.
It is written with yii, all object-oriented. The way it's implemented makes me question my love for object oriented as well my sanity for even accepting this project.
I probably could talk about this piece of shit for hours but the fact they save 3 gigabyte of qr code images is the fucking worst. It's literally a few one hundred thousand images who could be generated on the fly.
Please for the love of god, let me finish this migration tomorrow.4 -
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 -
What is a open source project you can recommended looking at? I would like to go trough a project written in either C or Python to learn more about how bigger projects are managed and get used to understanding someone else's code.
I think those are both very important skills that I lack.
I was maybe thinking about git as I've heard it is well documented, but I'm not sure if it is easy enough to understand for me.2 -
This morning I found out that the code I wrote to convert json data to a new format in our DB was giving errors and a bunch of questions got saved with the wrong property. It was assumed when it was triaged with my boss that we would only see one key property so the code written by me so the code was aimed at that. Well some questions have multiple keys for no reason. They are mostly floating data that hasn't been wiped clean because the develop who wrote this use json data in psql with no validation or data cleaning. This edge case was also never caught on PR reviews and we got a pretty heavy review process. I'm not being blamed for it. Most of it I think all the devs feel bad we didn't catch this because it affected us greatly. I've been working all morning trying to resolve it with my boss and just now in the evening we stopped. I just feel like I'm not a good dev at all and just want advice on how to deal with situations like this. I'm a new dev and this is my first job I have held for almost a year2
-
Recently, Apple rolled out Push Notifications for PWA websites as a beta feature on iOS 16.4 devices. And let me tell you, it's a game-changer! But, when a client asked me to implement push notifications for their iOS users via web and service worker, I knew it wouldn't be a walk in the park.
Why, you ask? Well, their backend code base was written in Plain F*cking Vanilla PHP, which felt like I had time-traveled back to the 1980s! Plus, since the ios web push feature is still in its early stages, there were hardly any resources to guide me through the process of sending push notifications to Apple WebPush API using plain php.
Despite the obstacles, I managed to successfully send notifications to Mozilla and Google Chrome users. But Safari? Not so much. The client needed the task done within 24 hours, but due to delays, it ended up taking me three days to figure out the kinks. In the end, I had to refund the client, but I'm not one to give up easily.
In fact, I've created a public GitHub repo for a Quotes App in Flutter (https://github.com/GiddyNaya/...) that can send PN to iOS users via web. I'm diving down the rabbit hole to figure out how to make it work seamlessly, and I won't stop until I've cracked the code. Wish me luck!15 -
Searching for simples game using canvas + vanilla ES6 and best practices.
Turn out it's very hard to find well-written javascript, so far most of the resources found are spaghetti code.
So if you know any good github page, blogs or tuto, feel free to share! Thanks :D2 -
Had my first ever technical interview! I usually interview well in like normal non dev interviews but I was so fucking nervous I couldn’t think when they asked me technical questions. I did a lot better on the written portion but damn I fucked that up. It’s for a co op position so I don’t think their expectations are super high but still fuck I feel dumb
-
I tried to make some SP using the syntax and formatting that visual studio outputs when making a SSRS report. I thought it was nice.
It formats the code in a standard way and transforms stuff like "join" to "INNER JOIN" and "left join" to "LEFT OUTER JOIN ".
When the team reviewed the code they were like WTF?! This syntax is horrible, it can't be understood. You did this?
*Me with my red face*...
I just said. You know what? I am going to go back to the old school syntax if you prefer. I just thought it was better.
Yeah... You really should go back to old school syntax.
---
Keep in mind that the old school syntax is annoying to me... No formatting at all and basic instructions are not in larger upper case.
Anyway, I thought it was nice tbh. I still think it is. And it is definitely better to me in some way.
What bothers me most is that they want to improve their coding. They say they want to be more standard and it seems every time you want to make a change it's not a good idea because "everything is already written that way". And when you don't make a change, "you should have change it"... Well sorry I was just copying the old style.
Anyways , it's not that important. I do get their point. Sometimes.1 -
I wrote a whole article about it, and oh wow, it still exists. It was probably the first optimization I ever did in my life, and it was while I was learning SQL.
And writing an edu-tainment article aimed at total laymen as well as beginners was also fun.
http://swczdev.blogspot.com/2010/...
Sadly, czech language only. But... the english autotranslation actually looks readable:
https://translate.google.com/transl...
Long story short, though: 4 or 5-table join going from 7 seconds before optimization, to 0.08 seconds after optimization. Both were written by me, the optimized one was written without any reading on how to optimize SQL, based purely on me actually stopping to think about how I can reduce the DB load based on the little that I knew about how SQL servers work.
Optimization made it about 99,9999422% more efficient, based on my improvised efficiency metric of how many rows the query retrieves and produces versus how many are thrown away on the end due to the WHERE part of the query.
And that was also the day when my question of "what is there even to optimize in SQL?) was answered... by myself.3 -
The Code Abyss Beckons! 🤯
Hey fellow devs, brace yourselves for a wild ride into the chaotic realm of code confessions and debugging dramas! 🎢💻
So, here I am, standing at the precipice of my latest coding adventure, armed with a keyboard and a questionable amount of caffeine. 🚨☕
Today's quest involves unraveling the mysteries of a legacy code that seems to have been written in a language only decipherable by ancient coding sages. 😱📜
As I navigate through the nested loops of confusion and dance with the dragons of runtime errors, I can't help but wonder: Is this what the Matrix feels like for developers? 🕵️♂️💊
In the midst of my debugging odyssey, I stumbled upon a comment in the code that simply said, "// Abandon hope, all ye who enter here." 🏴☠️📛 Well, isn't that reassuring?
And then there's the moment when you finally fix that elusive bug, and you feel like you've just tamed a mythical creature. 🦄✨ Victory dance, anyone? 💃🕺
But let's not forget the rubber duck sitting on my desk, patiently listening to my monologues about algorithms and existential coding crises. 🦆🗣️
So, dear coding comrades, how's your journey through the code abyss going? Any epic wins or facepalming fails to share? Let the rants flow like a river of improperly closed tags! 🌊🚫
May your semicolons be where they should and your documentation be ever truthful. Happy coding, and may your merge conflicts be swift and painless! 🌈🤞
#CodeOdyssey #DebuggingDrama #DevRantChronicles9 -
I spent 2-3 days on debugging code written in assembly script. Apparently, you need to initialise an array using new method otherwise it re-uses the previous array from the same scope and it has created infinitely large array. Just wtf.
And I got error like "wasm blah blah blah blah blah blah".Just give proper error.
Running the environment locally wasn't an option because well it doesn't fucking work locally. So, I have to forcibly test on CI and they have created a site that can show you logs because you can't access or query data directly from server and while debugging you try to log something it randomly works sometimes and sometimes you get output from god knows which deployment. Just create a fucking API for displaying log or build a proper docker so that we test it locally.1 -
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 -
I implore ANYONE... please...
Have you EVER written a SINGLE Jest test that didn't have some sort of bullshit spewing stuff like this:
"ReferenceError: You are trying to `import` a file after the Jest environment has been torn down."
"Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."
and yet running on a device, features work flawlessly and quite well, no errors or even warnings in sight logged
This is the most fragile pile of garbage I have ever seen.
I hate this.
inb4 your stupid ass todo boilerplate garbage you wrote tests for in freshman year. i'm talking about a REAL app with HUNDREDS of components.
where the grownup testing tools at? it's a question I've still not answered after a year of fucking around with this framework1 -
Learned to program by shutting myself in my dorm room with a Shareware Modula-2 compiler and a well-written tutorial.
-
Despite not having any real C# experience to speak of, I've been put on a short and rather intense enhancement project that was written with .net framework and MVC.
Yesterday I had to add a new method to call a stored procedure. The file I had to add it in was over 6k lines long. Most files, not including entities, are well over 1k - including the views.
Can't say I'm enjoying working on this project so far.
(Did I mention the clients have a tendency to change requirements mid sprint?)1 -
A clever code that works but is difficult to understand or a well written commented code that’s easy to understand but does not work ?
Comment below:9 -
I'm about to send an email to a client with some well-written recommendations and advice in it. I swear that if he calls me quickly like he usually does, and before sufficient time has passed for him to actually read and grok what I've written, I will ignore that call and wait until tomorrow morning to get back to him. RTFM, dude!
-
1.2 years ago, I was an intern, In letter they've written that 4 hours to work but I was working 12 hours daily cause I was curious and my boss appreciate for this. so one day while testing our app at 3 am in the night, he said, u r working too hard, so u can take a Smart Phone from my side of worth ~$250. I was so happy. He said it is a gift for ur dedication. Also, they've given ~$250 on my initial day while joining to upgrade my PC. But now, I've provided my resignation letter. So they've asking me to give back the Phone cause its a company asset and also give back the money. But later they said don't give the money but deliver the Phone before 15 Jan. So, idk am I an idiot or what but I was working more harder and helping more people in company so that they're provide more stuff and get impressed. But now I think i should not do anything and do my work as a duty. Idk, should I return the phone, should I ask my boss again that u have given it as a gift or should I return another $250? I'm a student, I don't earn much and my boss knew it very well. like after 2 year of experience in MERN stack/ Azure/ Flutter, I've created many things in company and they've decided to give $3,607/year according to my new offer letter. That's why I left the company.5
-
So here's the thing.
I'm a junior-developer in a small company and have quite few experience working on big company projects. We have this old massive project which is not very well written. At all. A couple weeks ago I finished small cms project which lets you deploy sell sites. And now my manager assigned me to refactor this old project which is thousand times more complex then the one I developed to use the same concept as mine.
I have no experience managing other programmers, I don't know how are you supposed to separate tasks and how to plan all project till the end. I've never worked in a team where you have lead developer and who gives you technically explained tasks. Mostly it's just "place a button here to export this graph. And please be fast, it shouldn't take more then an hour." when in reality you only spend hour trying to figure out what tables to use and how this graph was created in the first place.
I'm overwhelmed and totally stuck.2 -
I was tasked with reviving this mobile app purchased off the shelf. Initially, I was impressed with what I was seeing while perusing the codebase. I'm used to editing laravel projects written by handpicked amateurs. So this felt like a breath of fresh air. Coupled with the fact that I'd recently enquired on this very platform whether anyone has chanced upon an impressive code. All is going well, until
I start finding the multi layers of abstraction and indirection cryptic and obfuscatory; and that is coming from an idealist like me who advocates for "clean" patterns such as event emission. I wonder whether it would have helped if the emission or events were typed for easy listener tracking, instead of a black hole like vm.notifyListeners() (DOESN'T EVEN HAVE AN EVENT NAME!)
With time, I become disgusted by the tons of custom elements with so many parents
My take on production level user of the view model pattern: amazing in theory
One of the architectural decisions made on this project that had me foaming in the mouth, pulling my hair and cursing out the author's generations, past, present and future: can you believe these guys are APPENDING IMAGE DOMAINS TO THE RESOURCE? Ie the domain names are tightly coupled to the images and dictated by the api, instead of the client
If this isn't bad enough, the field names of returned entities/models don't exist on the database, of course because the stupid laravel framework abets this sort of madness by combining eloquent "scopes, attributes, and appends". A trifecta of horrors.
I eventual scaled through the horrors, but not without losing my admiration for the team behind it. App has returned to the shelves, because my company lost patience with my resuscitating it. They have the regular api authentication in place, but that's not good enough. They just had to integrate firebase as well, just because. Meanwhile, this isn't documented anywhere. I stumbled into it during my scuffle with app setup, gradle ish. Eventually got banned by firebase for "sending unusual requests". My company's last straw -
When working on an old system that’s a complete mess how do you handle adding new code in terms of effort?
I normally take pride in my work but if the system is such a mess I sometimes find it hard to get motivated to do it. I often find it makes me feel sleepy? Even new code that is tweaked is nowhere near as well written as if it were a new system.
Anyone else get that?3 -
I think I just realized what my biggest gripe about our career paths that I hate the most.
This is something that has worsened over time, especially the last 2 to 3 years.
As developers, we have far too many options. Some of the most powerful apps are written with languages that have hard, and I mean HARD, guardrails in place. If the app is written in a language that does not meet this criteria usually a framework has been used to install those guardrails.
We just get our minds so wrapped around the possibilities and the opportunities in the software, that we just can't focus on the end result. We're like puppies that are excited about something and we just piss all over everything.
In my career I have met far too many developers that don't have the capacity and mental fortitude to take control of their actions. Because of this I think the only way for us to stop this corruption, that I feel we are nurturing, the solutions/services that we use need to push back on us and install those guardrails for us.
All this came from a change that Microsoft put in place that seems well intended, but introduces yet another choice and a multitude of opinions in how you release code.
It used to be a simple check box. If it was checked it was pre-release, if it was unchecked it was a production release. That's it. On or off. The simplest choice you ever needed to make on a release.
Now though, there are two check boxes. One for a pre-release and one for a latest release. You can also not check either for some "ephemeral" release? So now something as easy as on or off has been made into a difficult decision on how this works within my pipeline. Now every time I make a release I have to ask myself, "which one do I check?"
I shouldn't need to spend more than a second to identify a path forward on simple shit like this, but here we are with a third choice.
Can we just stop overcomplicating shit?6 -
Started openshift to make send some of apps to cloud, damn it is too annoying. Everything is like 4x time consuming and hard, documentation really lacks, you google some errors? well answer is in red hat site and you can only see that if you are paid subscriber, issues in github are closed randomly(generally like we are going to fix this so no open issues??-written in 2017). If i had any other chance i would take it, like instantly.
-
Rant
Okay so I was given a task to add an additional column to the reports in our timesheet system a couple of days ago.
This system hasn't been modified in several years and was not written especially well.
The report generated is shown in a Windows forms datagrid.
I spent 2 fucking hours trying to figure out how data was getting added to this shitting thing when I realised that it was being done by shitting index on the SELECT statement.
God, why didn't the original Witter just use a bloody databinding -
They offered a coding test alongside a resume. So I took it and did extremely well. Showcased my talents wonderfully. They ask for an interview (video call). We do the first half of the interview with an HR rep, goes great, a little over schedule. So we go into the second half with a little over twenty minutes left, and the hiring engineer wants me to write some code. He explains my task and sends me to a site where I can write and execute the code and he can watch. I had never written code with an audience before, and between that and my now 20 minute timer, I was a tangled up ball of nerves. Needless to say, I blew it, writing nothing of worth. He ends the call and I open my IDE. Working solution in 7 minutes. I got a rejection email two days later. Worst part? The company employed the author of one of my favorite "learn to code books". Would have been amazing to work with him. Really demotivating to say the least.2
-
Low self-confidence dev:
I'm testing out code that I've written for an hour and works the first time I run it. My first thought: "Well, I guess I'm just getting better at writing code with less obvious bugs -- better debug through all the LOC I just wrote." -
Well it was a paid internship but I was in IT/support, used to work in shifts, loved the night shifts (solo) that was when i could write some code, a fellow intern showed me a bash script he had written to automate some the reports he needed to generate, life was great those few months.
-
Candidates must check application essay sample to suit their specific purpose
Students require checking any available application essay (https://wikihow.com/Write-an-Applic...) sample for its authenticity and reliability. In this regard, students should remember that maximum number of the papers available on-line, mostly free, is simply the cut and paste job, which make the task of candidates difficult in making their decision. Therefore, it is essential to check the quality of written work of such samples, while students need hunting for the example, which can suit their purpose
For example, students desiring admission to a particular course program in pathology, would need an essay sample, which would relate to the field of analytical medicine, while any written work on the subject of pathological laboratory tests can be excellent. However, finding the topic specific essays like this one would be very difficult, as students need ordering such customized essays.
Therefore, students require spending quite some time in conducting a proper research to find the reliable and trust-worthy essay writing service for getting their customized essay written within the scheduled delivery time. In addition, students should check the sources that the writer would have used for gathering the information, which is presented in the essay, to support its thesis statement.
However, the following guidelines would help students to check the available application essay sample, with regard to its essential ingredients that should be present in such essays. Nevertheless, students could also go through a good term paper help to learn the art of writing a well-defined essay, which can ensure their admission to the coveted course program.
Introduction and the essay topic
Students should check the introduction part of the sample and the method of presenting the topic in it. In addition, the writer should formulate a close link of the topic problem with the thesis statement of the essay. However, as admission officers do not expect candidates to write research papers as their admission essays, the topic question and hypothesis of the essay should be very simple and easy to understand.
However, the topic of the application essay sample should be close to the theme of the assignment. In addition, the students should check the method of presenting arguments in the main essay body, while its introduction should provide hints about them, in brief. Therefore, the sample should provide supporting details like personal examples, while addressing the essay topic.
Check essay language and structure
The language used in the available application essay sample by type of https://500wordessay.org/blog/... should be simple and vivid, while the examples accompanying the discussions should be reader-friendly and easy to understand. Students should realize that selecting officers do not expect them to use any complex terms in their admission essay, as it would give an indication of their bragging, without much reason to do so.
In addition, the essay organization should be such that the contents are transparent and free flowing, while the whole essay writing must be cohesive. Nevertheless, students should look at research paper help for learning the art of locating a good essay sample, on-line.
However, they can find more tips to check the quality of an application essay sample from custom essays.18 -
I’ve made a list of things I want to learn. Languages, frameworks, etc and i don’t really have too many things on the list that way I can learn them well.
I’ve been struggling with this choice because I’m honestly not sure whether or not I should consider Rust to be on the list.
I like the modern features it contains, and I don’t mind the syntax.
I don’t like it’s way of memory management, I’ve heard it’s performance can be very lacking, and I’ve heard a lot of negative things about the compiler and the efficiency of the language (although I feel like efficiency comes down to the person and how the code is written)
So please redpill me on Rust and try to convince me to add it to my list because it’s close.2 -
So I was building opencv some time back.
Nice enough package, like most python linked packages I'm finding though I know you can use it via c and its meant to be but why would you want to ? .. it contains a whole bunch of half finished crap that is actually useful in part including the capacity to tear apart video files and manipulate frames one at a time and then rewrite them back to a file. about the only lib that's easy to use that I saw that does that. hell I can even compose my own video frames. also the only other lib I saw that does that thus far.
so...
I post a bug, because of FUCKING CMAKE NOT WORKING. not conforming with the well thought out build environment that most GNU style c packages use.
you know like when you need an upstream source package to build the code, or a downgraded package to build the code and don't want to fuck up your host environment so you have to specify a bunch of lib paths and the like so that ld and gcc work correctly etc etc etc from your custom build location and so you can later use these same values to find the compiled lib and build software against it.
fucker closes my ticket saying i hijacked the c environment................
no.
its because cmake sucks.
they're using and i don't know why a module specifically written to find libtiff.
specifically written but doesn't find the only source on my system that provides tiff which my env variables point directly to !!!!
lazy fucking cocksuckers !
I want to code a solution this issue.
something that translates ac files and am files and cmakelists into something intelligent and easy to follow that doesn't sacrifice the flexibility of make and gnu shit and unfucks cmake based projects !7 -
What is a good way of enforcing rules (particularly following release procedures, cut off dates) for a team?
Other than the rules need to be well defined and written down, I'm thinking there needs to be a consequence for violations....
Like must provide a valid explanation or buy the boss/team/whoever has to do extra work because of the violation a drink.
But not sure what's a good one, does it work out is this too Draconian?9 -
How can a novel emerging challenger software (written in Rust) take me 4 hours to install (still ongoing)?
Today I have decided to give Pijul a go. Pijul describes itself as a theory-sound alternative to Git, which I have wanted to get away from for a while now, due to various reasons -- many of which I saw Pijul advertise to have solved on design level.
So I set away a day to learn Pijul, today. Well, 4 hours after I sat down -- after a number of hilariously wonky failures of "Rust ecosystem" to do the right thing as I had to install Rust with some shell one-liners those insane wizards recommend for installation process (all in the name of "stability but not stagnation") -- Pijul has now been installing with the blasted `cargo` for an hour now (that's after 3 hours of getting to the point where `cargo install pijul` stopped exploding in my face) -- telling me I only have 40 crates more to install. Are they throttling me, perhaps? I don't care -- I should have been installing Pijul from a repository in accordance with my Linux distribution, or -- at worst -- download a BLOODY COMPILED PROGRAM IMAGE.
What is it with the hipster developers today? Everything they get of tools, they subsume and churn out intricate complexities the likes of which we hadn't seen yesterday. Tell me fellow developers who think installation of your software has to require three and a half novel "installation solutions" to which I can't be arsed to be made privy -- do you think your life today is easier than, I don't know -- wrangling with a Makefile and a C compiler (which today thankfully can do rather good job of standards compliance)?
I mean I wouldn't mind Pijul being written in Rust -- but it turns out Rust's advertised elegancy in practice is wrapped in so much "giftwrap" I feel like what desire I had to learn Rust myself, I'll stear well clear.
Here's an advice for developers in general -- an advice continiously ignored for decades -- stop blowing your original scope of delivery in auxilary packages you think you need to reinvent just because you can or because your mom is out of town! For programming languages like Rust this most certainly entails NOT writing your own package manager, with its own package delivery mechanism that has its own configuration file format and virtual machine to configure dependency resolution or what have you!
You wanted to write a programming language that has novel features you think we need? Fine -- write one and stop there. Watch it grow, and watch people who are busy working on other parts (scopes) of software to integrate your offer.
What a shitshow. Stop smuggling alternative package managers, installers, and discombulators with your actual product -- I only want the latter, I don't want the rest of your damn piping, walls, roof and a cathedral on top of it!
Don't be that guy starting with a pin, and ending up with a fucking diorama miniature of a pig farm in Netherlands. Jesus.7 -
How I can get from Where function is called. It looks like ghost to me :(
Actually When payment is completed, It updates the status.
It is well written and working
I checked all the files
Cron files
Webhook references
I am not able to find from Where it runs :(
Any suggestion
The platform is not build by me2 -
I recently joined a good MNC as a .net fullstack dev and right now contributing mostly to the frontend part to one of our projects. I have another team member writing the APIs and when i look at how the middletier is written and how APIs are structured, its just plain shit nothing else. It hardly follows any restful principles, returns weird response code, no design patterns at all, in short its a 10 year experienced dev writing code like a fresher.
I tried to communicate my concerns in a nice way but they were not taken very well. And when later I am asked to work on that codebase it will be like jumping in a pile of shit.
Now my question to you wonderfull people out there is, how do you handle situations like this? Do you have any suggestions for me please?5 -
Ever had to switch out a whole serializing layer in an API? Damn that's a lot of work :(
At least the 1952 tests are written well... -
So, I was googling for cross platform javascript things.. every answer, there's only weex and nativescript, but both aren't ready for prod, so I tried weex, it's alright but the documentation is non existant, and the support is practically on dial up, and hardly anyone has used it. And nativescript isn't really an option cause it's only for mobile.
So I chose weex, web + mobile, and I can easily port my already written vue project, sweet, so I get to porting, run into a few issues but it's pretty easy, need to play with some of the root file path definitions, no "./"'s just "@/" (if you use @ as your root symbol).
great. Pug works, sass... seems to work, then I run into a pretty big issue with sass compilation/loading, can't find an answer for an hour.
So I go out. Then come home, no answer on my SO question.
So I google "jsfiddle weex" to get a jsfiddle template for debugging weex/vue projects.
A few results down. I see this: https://reddit.com/r/javascript/...
well I've heard of framework7, but it would require me rewriting most of my element tags and components, but what's quasar?
I have a look, totally cross platform, desktop, web, mobile... wtf..
read the docs, "uses vue single file components"
..what, holy fuck, the documentation is beautiful, it uses vuex, fucking fuck.
I just found it 10 minutes ago....
wish me luck......... -
Spent months writing up a model and fine tuning, trained on complex image data (all we had to work with), to work well with what it needed to do.
Only to have “subject matter experts” be like: why don’t you use PCA and K Nearest Neighbours.
The fuck do you think the baseline was written with?