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 - "it was good code"
-
I worked with a good dev at one of my previous jobs, but one of his faults was that he was a bit scattered and would sometimes forget things.
The story goes that one day we had this massive bug on our web app and we had a large portion of our dev team trying to figure it out. We thought we narrowed down the issue to a very specific part of the code, but something weird happened. No matter how often we looked at the piece of code where we all knew the problem had to be, no one could see any problem with it. And there want anything close to explaining how we could be seeing the issue we were in production.
We spent hours going through this. It was driving everyone crazy. All of a sudden, my co-worker (one referenced above) gasps “oh shit.” And we’re all like, what’s up? He proceeds to tell us that he thinks he might have been testing a line of code on one of our prod servers and left it in there by accident and never committed it into the actual codebase. Just to explain this - we had a great deploy process at this company but every so often a dev would need to test something quickly on a prod machine so we’d allow it as long as they did it and removed it quickly. It was meant for being for a select few tasks that required a prod server and was just going to be a single line to test something. Bad practice, but was fine because everyone had been extremely careful with it.
Until this guy came along. After he said he thought he might have left a line change in the code on a prod server, we had to manually go in to 12 web servers and check. Eventually, we found the one that had the change and finally, the issue at hand made sense. We never thought for a second that the committed code in the git repo that we were looking at would be inaccurate.
Needless to say, he was never allowed to touch code on a prod server ever again.8 -
3 years ago, when I was 12, I told my family that I started programming and that it was my passion. My mum wasn't interested too much about it, but my dad was, and he encouraged me. He told me that he wanted me to become a great programmer.
He died about one year ago, and I stopped coding because I felt bad; every time I opened my IDE I couldn't type anything.
Idk why, some weeks ago I reinstalled devRant, and, idk why (again), I instantly felt good. Maybe because I understood a lot of people had my same passion.
Two days ago, I finally wrote new lines of code.
❤ you guys.18 -
When I finished my studies, I was looking for a job and had an interview at a smallish company.
Boss: can you do C?
Me: yes, I have already done some stuff in C.
Boss: I mean, are you really good in C?
Me, growing suspicious: well yes I already have been using it - but anyway, there's also the project documentation for looking up, right?
Boss: uhm, the code IS the documentation.
I envisioned myself being drowned in undocumented spaghetti code and wasn't really keen on that job anymore, but my following question pretty much ended the interview:
Me: oh, I see. Do you have any roadmap for getting your development to a more professional base?
His looks, priceless! He was just shocked when he realised that he had failed my interview, and that I was a fresher made it even harder to digest for him.30 -
Wholesome anti-rant.
There’s this Indian chick at work that I really, really do not get along with. Fortunately she’s on a different team so we have practically zero interactions. Her code was always decent, maybe upper junior level? but I went away fuming almost every time we talked.
However, I did a release security review today (I’m down from five/six per month to one) and read through quite a bit of her code. It was clean and easy to read with good separation, clear naming and intentions, nothing was confusing, etc. It was almost beautiful. Had I any emotions I might have shed a tear. I sent her a message and let her know :) I actually learned a better way of doing a couple of things from it.
She has grown so much as a dev.31 -
Python. Changed a function to return a tuple instead of one value in some database code. Tests pass, gets deployed, everything works. End of the month comes. Suddenly, we get a report that we're draining people's bank accounts and credit cards.
It turns out there was an untested bit of code inside the billing process that used this function. It used the function that was changed. To make matters worse, when the exception was thrown, the billing had already completed successfully, and due to another unrelated bug it would retry despite this.
So, needless to say, type safety and good unit tests are things I prioritize nowadays.7 -
Me 6 months ago: "This is fucking genius. Beauutiful. Look at that code. See how I did this? Wow, I love it. Fuck I'm good"
Me Now: " What. the. ffuck? Wtf is this? What was I thinking? Goddamn. "
*reduces 3 methods and 37 lines to 2 methods and 8 lines*
Well at least it shows I'm still learning.3 -
You start new job and take over huge codebase without tests and documentation.
It turns out programming language is custom language made by previous developer who was the only one maintaining project.
There is no source version control.
Language runs in vm developed in Fortran.
No one cared to this day cause everything was working.
Project is critical for multi billion dollar corporation that sells medical equipment that keep people alive.
You can’t test your code on real devices only on virtual ones that were made using same custom language but you can’t find source code for it.
Previous developer accidentally died before you were hired.
You signed contract with penalties that will ruin your life.
Your first task is to add “small” feature.
Good luck !12 -
A guy who doesn't work on our project anymore, but still checks on us regularly just did this:
- reported a bug
- started explaining what's causing the issue
- realised the problem was in a piece of code written by him before
- fixed his own mistake, committed it and created a pull request
We all had a good laugh.6 -
TLDR: I wrote one of my firsts codes to help my father. Was really excited after it worked, nobody cared. F*ck them (not really).
So my father comes and says he needs me to help making a simple presentation. Just a title and slides with images. It seemed to be an easy task so I'm like "sure, why not?". So I told him to email the images and I would have the presentation made in no time. The next day I recieve like 30 mails containing from 4 to 10 photos of boats (yes, boats). I stay chill and have the brilliant idea of automating the process with python, just to learn a bit more.
I took some to read the documentation of the modules I was going to use, then write a simple code and bam! In 3 hours I have a presentation with images in it. I open it, every image was 4 times the actual slide and all of the images were randomly rotated, it still was the most rewarding moment I've had in months :') I wanted to show it off to my brothers, so they came to my desktop, saw it and all I recieve was a "cool". Not a good "cool", a "meh" kind of "cool". So I thought it was because of the size bug.
Fastfoward some hours, now every image gets scaled into the slides prefectly, in the correct angle, etc. I tell my dad what I made and he says "yeah sure, the problem is that I need you to give them to have subtitles". He wasn't even impressed. My heart hurt a bit.
I could totally automate the subtitles too (and did it), but what hurt the most is that nobody cared for what I was so pationate about. I'm so fascinated with coding that it replaced all my gaming habits, and now all I do is learn. I want to dedicate a good portion of my life to this but at that moment it seemed nobody in my family cared about it. So this rant is for all those f*ckers that I love but don't know how much my code means to me.19 -
Those days at 1:49AM when your code finally runs and does exactly what you wanted it to do, and you want to scream and tell someone, but you realize that even if anyone was awake, they'd never understand why you're so excited. They'd probably just pat you on the back and say 'Uh, ... good job...?'5
-
This is a funny one:
I found this gem in SO.
Why is it funny? Well, PDVSA is the state-owned company for oil production of my country (Petróleos De Venezuela).
This little intern decided that it was a good idea to publish in SO an answer with actual code, showing database and tables names to everyone.
Priceless.
8 -
!rant
I'm a developer in germany and of course, everyone in this company has a keyboard with the QWERTZ layout, which ( you all know ) sucks especially when using it do write code.
So i asked my boss, if i can get a keyboard in QWERTY layout, because of the given reasons.
He replied nicely: Yes, I will ask the hardware management.
5 minutes later i got a mail: Here is your harware order, you will get it soon.
It's not much, but that was fast and nice :)
Have a good day everybody.28 -
Went to hackathon @ Google HQ in NYC. Gotta say it was pretty shitty. Most people are JavaScript nerds and some code in objective-C, xcode (4-5 out of 50). The rest are chemists, scientists and general folks. Not what I anticipated when you know it's more like iOS hackathon. Anyways it was good to see the shittiest demos in my life made in less than 12 hours. We had 4.5 people working on a toilet project called "I gotta go". Public bathroom locator... One guy coded in JS, xcode and react Native. Another dude was pushing all the code to GitHub and doing backend in firebase. The third guy was making a website for no reason and then I see it's hosted weebly. He hand coded first, I looked what he is doing - just HTML tags. Thank God some organizers helped us and we had a 4 click demo with basic text and no real functionality. Plus the website who never seen. What a fucking waste of $100 and two days.4
-
A while back a co-worker of mine fucked up by leaving some debug code and pushing to production.
He quickly repaired it, redeployed and everything was good again before the customer experienced any issues.
Later that day, management showed up by his desk to ask what happened, how it happened and stating that he was not "angry enough" about his fuck up, long after it has been repaired.
Up to this day i regret not asking in what unit of measurement we could determine if we were angry enough; decibels? gray hairs? grams of shit in my underwear?4 -
At an interview, the first round was an online coding round. Two questions, one easy one hard, 90 minutes, easy peasy.
I solved the hard one first.
A bit of good logic, followed MVC pattern, all done. Worked flawlessly.
Submitted code. Online compiler threw up an internal error citing java is an invalid command(jdk not found).
Called the invigilators. What I heard next, I couldn't believe this shit.
"We're not responsible for any errors you may be having. Figure it out yourself"
I was like WTF dude. This is not even a compilation or runtime error!
After a heated discussion, I made him look at the code.
Him - what is all this classes and all? Why haven't you written everything inside the main function?
Me - those are model classes. Those are different helper functions. That is a recursive function to avoid 5 for loops and use divide and conquer. Ever heard of OOP? what kind of person writes a 300 line program inside one function?
Him - no no we write it like that only. Correct this.
Me - I fit everything inside the main function. Still the same error, java not installed. Called the idiot to have a look at it.
Him - yeah your code is wrong.
Me - may I know what's wrong with it? Can you fix it please?
Him - no no we aren't allowed to see the code (he had already read it twice. It was compiling and running perfectly, locally) .
Yeah you solved only 1 problem, you were supposed to solve 2.
Me - yes because the rest of the time I had the pleasure of your company. (It isn't everyday that I see talking buffoons.)11 -
Hello there, just couple of words about PHP. I've been develop on PHP more than 10 years, I've seen it all 3,4,5,{6},7. Yes PHP was not good in terms of engineering and patterns, but it was simple, it was the most simple language for web to start those days. It was simple as you put code into file, upload it via FTP and it works. No java servlets, no unix consoles, no nothing, just shared hosting account was enough to host site, or even application with database. As database everybody used to have mysql, again because its simple to start and easy to maintain. So PHP+MySQL became industry standard on Web during 00-2012, and continues in some way.
You can write HTML and logic inside single file, within php code, even more single file may content few pages, or even kind of framework. That simplicity and agility sticks everybody who wants to develop sites with PHP.
This is pretty much about why it is so popular.
Each good or wannabe PHP developer in an early days write its own framework or library (like in javascript this days because of nodejs)
Imagine that PHP has hadn't have package manager, developers used to have host packages on their own sites, then various packages catalog sites created, and then finally composer. A gazillions of php code had spread over internet, without any kind of dependency control. To include libraries to your projects you have to just write include, or require. Some developers do it better than others.
So what we have ? A lots of code, no repositories, zip archives with libraries, no dependency control.
Project that uses that kind of code are still alive even today, they are solid hose of cards, and unmaintainable of course.
And main question that I'm trying to answer is Why PHP is not good ?
- First is amount of legacy code which people copy and pasted into their project, spread it even more like a virus.
- Lack of industry standards at the beginning lead to a lots of bad practices among developers. PHP code usually smells.
open source php projects in early days was developed in same conditions so even in phpbb, phpnuke, wordpress, drupal used to have a lot of bad practices in their codebase. So php developers usually not study by another library, instead they write their own frameworks/libraries.
- "It works", - there are no strong business demands, on web development, again because lack of standards, and concerns.
This three things are basically same, they linked to each other and summarize of answer of why PHP have strong smells and everybody yelling against it.
Whats is with PHP nowadays ? Of course PHP today is more influenced by good practice of webdev. Composer, Zend, Laravel, Yii, Symphony and language it self became more adult so to say, but developers...
People who never tried anything except PHP are usually weaker in programming and ecosystem knowledge than people who tried something else, python, perl, ruby, c for instance.
Summary
PHP as any other programming language is a tool. Each tool has its own task. Consider this and your task requirements and PHP can be just good enough solution.
"PHP is shit" - usually you heard that from people who never write strong applications on PHP and haven't used any good tools like Symphony or Laravel.
Cheap developers, - the bigger community, the more chance to hire cheap developers, and more chance to get bad code. That can be applied on any other language.
PHP has professionals developers, usually they have not only php on scope.
That's all folks, this is very brief, I am not covering php usage early days in details, but this is good enough to understand the point.
Enjoy.8 -
Work today was good although put in 2 hrs of overtime....
But I optimized some code by changing out a class. Now it does the same thing except does it:
in SECONDS on my local PC
instead of 10+ MINUTES on a massive server.12 -
Looking at code in our workplace.. I realized one thing. Like Devops, legacy code is actually a mindset.
So here goes my thought:
A piece of code is not legacy because it was written ten years ago.
A piece of code is legacy because it looks like a piece of legacy code.
With the legacy code mindset, you end up writing legacy code no matter where you are, when you wrote it.
I was looking at some part of our code which we written in just the last few months, and I can’t help but think that they were legacy, so it really doesn’t matter when it was written!
It is more about how you write your code that determines whether it is legacy :)
Hopefully this was not crazily confusing anyone. Have a good day guys & gals!7 -
Hey. This code look broken. What should I do?
It isn't broken. It's doing what it's supposed to.
Well, it's hard to follow, but it certainly doesn't look right. And it isn't doing what I expect. Also, why is it calling method(a_class1_or_class2) with a class3?
It isn't hard to follow, and it works just fine. Let me show you. ... huh. looks like it isn't right. and there's a comment here saying the calls aren't clear. but it works just fine. Just copy it over and do it the same way.
I already did that. and it isn't working.
What are you talking about? Of course it works fine. Did you check your code?
------
Really, dude? It doesn't work fine. but, guess what? It works fine* when I change it to call that method with a class2 like it asks for. (Surprise!) But I can't tell him that. Nope. Bossmang get offended. Still won't admit I was right about anything, either.
Ahh... the continual joy of working with (and for) trash.
* well, more fine; the rest of the feature is still wrong. but nope, i'm not allowed to fix it. because why would they want anything to work properly? Already-accepted wrong behavior is good enough. Can't clean up the code, either, because that "muddies the waters." Bitch, I couldn't see the bottom of this sewer if it was half an inch deep! Which is more important: the last contributor entry beside the code, or that code being readable and maintainable? or it, you know, working?
doot doot.
need to scoot.7 -
Most satisfying bug I've fixed?
Fixed a n+1 issue with a web service retrieving price information. I initially wrote the service, but it was taken over by a couple of 'world class' monday-morning-quarterbacks.
The "Worst code I've ever seen" ... "I can't believe this crap compiles" types that never met anyone else's code that was any good.
After a few months (yes months) and heavy refactoring, the service still returned price information for a product. Pass the service a list of product numbers, service returns the price, availability, etc, that was it.
After a very proud and boisterous deployment, over the next couple of days the service seemed to get slower and slower. DBAs started to complain that the service was causing unusually high wait times, locks, and CPU spikes causing problems for other applications. The usual finger pointing began which ended up with "If PaperTrail had written the service 'correctly' the first time, we wouldn't be in this mess."
Only mattered that I initially wrote the service and no one seemed to care about the two geniuses that took months changing the code.
The dev manager was able to justify a complete re-write of the service using 'proper development methodologies' including budgeting devs, DBAs, server resources, etc..etc. with a projected year+ completion date.
My 'BS Meter' goes off, so I open up the code, maybe 5 minutes...tada...found it. The corresponding stored procedure accepts a list of product numbers and a price type (1=Retail, 2=Dealer, and so on). If you pass 0, the stored procedure returns all the prices.
Code basically looked like this..
public List<Prices> GetPrices(List<Product> products, int priceTypeId)
{
foreach (var item in products)
{
List<int> productIdsParameter = new List<int>();
productIdsParameter.Add(item.ProductID);
List<Price> prices = dataProvider.GetPrices(productIdsParameter, 0);
foreach (var price in prices)
{
if (price.PriceTypeID == priceTypeId)
{
prices = dataProvider.GetPrices(productIdsParameter, price.PriceTypeID);
return prices;
}
* Omitting the other 'WTF?' code to handle the zero price type
}
}
}
I removed the double stored procedure call, updated the method signature to only accept the list of product numbers (which it was before the 'major refactor'), deployed the service to dev (the issue was reproducible in our dev environment) and had the DBA monitor.
The two devs and the manager are grumbling and mocking the changes (they never looked, they assumed I wrote some threading monstrosity) then the DBA walks up..
DBA: "We're good. You hit the database pretty hard and the CPU never moved. Execution plans, locks, all good to go."
<dba starts to walk away>
DevMgr: "No fucking way! Putting that code in a thread wouldn't have fix it"
Me: "Um, I didn't use threads"
Dev1: "You had to. There was no way you made that code run faster without threads"
Dev2: "It runs fine in dev, but there is no way that level of threading will work in production with thousands of requests. I've got unit tests that prove our design is perfect."
Me: "I looked at what the code was doing and removed what it shouldn't be doing. That's it."
DBA: "If the database is happy with the changes, I'm happy. Good job. Get that service deployed tomorrow and lets move on"
Me: "You'll remove the recommendation for a complete re-write of the service?"
DevMgr: "Hell no! The re-write moves forward. This, whatever you did, changes nothing."
DBA: "Hell yes it does!! I've got too much on my plate already to play babysitter with you assholes. I'm done and no one on my team will waste any more time on this. Am I clear?"
Seeing the dev manager face turn red and the other two devs look completely dumbfounded was the most satisfying bug I've fixed.5 -
Interviewer: Do you mastering PB? Because this company always use PB.
Me: I good on it.
Int: Oh well you're accept here, welcome.
Me: Thanks.
...
*the first day I joined the company*
Lead. Programmer: Today you will code Java.
Me: Okay sir.
...
Then I ask what the Interviewer's "PB" means, and I got the answer is Power Builder. I think it's the name of the game I always play, Point Blank.
...
And I smile, because of my fool, I was accepted to the company.
....
*sorry in my bad English*10 -
Once, at my first job, the CEO of the company sent a group email in which he essentially lambasted my ability to do my job.
I wasn't even hired as a programmer, I was a data entry guy who learned how to code on the job, and at this point I was literally the only person writing code for the company. I regularly worked 12+ hours every day, and even though I had to learn practically everything on my own I was still getting things done -- at least, I would have gotten things done if the CEO didn't keep pulling me off of my projects to work on whatever his latest ultra-important-idea-of-the-week was. I was even working for an 8 hr/day, 5 day/week salary, putting in extra hours for free.
But no, my sacrifices and hard work weren't good enough in the CEO's eyes, and he chose to say that to multiple people in an email, including investors in our startup. I don't remember exactly what was said, but whatever it was made me so livid I couldn't do any work; every time I sat down to code, I thought about that email and it so infuriated me that I couldn't concentrate. It took me twelve hours just to calm down enough to get back to coding.
After that, I refused to communicate with the CEO except through my boss, the CTO.7 -
I'm been hacking together software for the last year or so now and I've never considered myself to be a good programmer.
Today however I had to implement an A* search from scratch and with only the knowledge of how the algorithm should function I put together some code that looked correct.
I went to run my code expecting one of the typical "Index out of bound", "null reference", "something has not be initialised" BUT I was shocked to find that the code worked flawlessly.
I went into a weird state of shock and disbelief. I'm not naturally gifted at this stuff, so it was just really hard for me to accept that I might actually be getting better to the point where I might be able to say "I am a programmer"
Does anyone else get bad imposter syndrome?6 -
Just started learning python and here is my experience so far
I had started programming with C++ but since I wanted to venture into the fullstack domain (upto some extent, circumstances played a major role), I switched to java and boy was I in love with it.. Spring boot was my life and I had written several applications on it currently running on production.. One of them was crawling tweets and getting some insights out of them.. Today when I started with python, I found a tutorial (link at the end of the post) that almost did the same thing..
Within 2-3 hours and some very basic lines of codes I could achieve exactly what java would have taken at least a week to do.. Python for sure is a good thing..
Probably I am still in my very adolescent stage of learning, but python does seem a very good option worth considering.. Though for now, I would stick to java for writing useful code..
https://marcobonzanini.com/2015/03/... -
Ooh this is good.
At my first job, i was hired as a c++ developer. The task seemed easy enough, it was a research and the previous developer died, leaving behind a lot of documentation and some legacy fortran code. Now you might not know, but fortran can be really easily converted to c, and then refactored to c++.
Fine, time to read the docs. The research was on pollen levels, cant really tell more. Mostly advanced maths. I dug through 500+ pages of algebra just to realize, theres no way this would ever work. Okay dont panic, im a data analyst, i can handle this.
Lets take a look at the fortran code, maybe that makes more sense. Turns out it had nothing to do with the task. It looped through some external data i couldnt find anywhere and thats it. Yay.
So i exported everything we had to a csv file, wrote a java program to apply linefit with linear regression and filter out the bad records. After that i spent 2 days in a hot server room, hoping that the old intel xeon wouldnt break down from sending java outputs directly to haskell, but it held on its own.1 -
The client requested an ability to create reports in the app I had been working on. It was completed to their specification and they were happy with it for about a week.
Then, they asked me to redo the report, changing various components around so I told them it can be done, but is time consuming because they're essentially asking for a completely different report.
Now, they never even looked at the code before and the extent of their coding knowledge is excel formulas. Their repond to me was "it's easy, just reverse the loop."
I simply did not know how to respond. "Just reverse the loop." ...I mean it's so simple, just reverse the loop... It doesn't matter that I've spent a good amount of time on this already, or that the client have never seen the code, doesn't understand coding, doesn't care about programming, none of that matter. ...just...reverse...the...loop...6 -
I guess my best AHHA moment was back when I learned that good code is simple code.
When I started out I wanted to prove myself by showing of how good of a programmer I was(and which I retrospectively wasn't) , which basically meant to use every high level concept I was aware of whenever possible. Multi threading where linear execution would have been totally okay, polymorphism with x meta classes where a switch would have been enough, all that shit.
It wasn't until I had to guide the first person through that mess of useless ego stroking that I found out how much time and money I wasted by not going with the easiest approach that solves the problem.
Took me some time to fully lay off that attitude but it surely was one of the most influential moments of my career.6 -
So I once had a job as a C# developer at a company that rewrote its legacy software in .Net after years of running VB3 code - the project had originally started in 1994 and ran on Windows 3.11.
As one of the only two guys in the team that actually knew VB I was eventually put in charge of bug for bug compatibility. Since our software did some financial estimations that were impossible to do without it (because they were not well defined), our clients didn't much care if the results were slightly wrong, as long as they were exactly compatible with the previous version - compatibility proved the results were correct.
This job mostly consisted of finding rounding errors caused by the old VB3 code, but that's not what I'm here to talk about today.
One day, after dealing with many smaller functions, I felt I was ready to finally tackle the most complicated function in our code. This was a beast of a function, called Calc, which was called from everywhere in the code, did a whole bunch of calculations, and returned a single number. It consisted of 500 or so lines of spaghetti.
This function had a very peculiar structure:
Function Calc(...)
...
If SomeVariable Then
...
If Not SomeVariable Then
...
(the most important bit of calculation happened here)
...
End If
...
End If
...
End Function
But for some reason it actually worked. For days I tried to find out what's going on, where the SomeVariable was being changed or how the nesting indentation was actually wrong and didn't match the source, but to no avail. Eventually, though, after many days, I did find the answer.
SomeVariable = 1
Somehow, the makers of VB3 though it would be a good idea for Not X to be calculated as (-1 - X). So if a variable was not a boolean (-1 for True, 0 for False), both X and Not X could be truthy, non-zero values.
And kids these days complain about JavaScript's handling of ==...7 -
So a good friend of mine calls me up on Friday night, and he tells me about his close friend abroad who messed up and, without going into details, needs me to do his C# project for a course. The deadline was on Monday. I said I couldn't promise anything, but send me the requirments and I'll look into it.
Now, the pay was good and I felt that the guy's reasons were valid (and that the prof was being a dick), also the project was doable in a day and a half, so I said ok. I spent my entire Saturday working on it till I had most of it done: I just needed to refine the code and do the report.
I sent the app to him so that he can check it out, to which he responds by freaking out and explaining that he has missed most of the classes and has a barely passing average (huh maybe the prof isn't so much of a dick). If I get him a high grade, the gig will be up and his prof will fail him. He wants a 60-70/100, no more.
Feeling obliged by our agreement, I spent my Sunday complicating trivial code, breaking standards, and adding minor bugs. Had I know this was what it was going to lead to, I would have never accepted.
It's just so much harder to break good code than to write it.6 -
Ok. Yesterday I finished building my compiler I have to say: it was a pretty darn big thing with 7000 Lines of code.
I did it alone and with almost no help.
I wanted to give some advice in case someone wants to program a compiler. I knaw its useless in times of lex and yacc, but anyway.
-have a good idea for the language
-learn about parser/lexer
-learn assembler
-do it like me: output the assembler to a file and let it assemble/link by the linux standart-tools (call the commands)
-Have fun. Fun is essential in coding
I hope I was able to help people who want to build a compiler alone... Yau can always ask questions ;~)
-3 -
It was 1999. I was just starting my first real job as a programmer for a major insurance company. We were working on code that would screen scrape legacy mainframe data output and convert it to a web-based UI. REALLY stupid project approach I had no input on. I happened to find a programmer in Germany who had released his code in the public domain that would help with making a certain conversion task easier. I downloaded his code and put it to work.
During a code review, a programmer who was probably about 60 asked me where I got the code and what it was doing. I didn't even get to the part about what it was doing because he made fun of me so badly, in a fake German accent in front of a room full of non-programmers, for using code that today is no big deal due to the prevalence of open source. I just clammed up in humiliation because he got everyone laughing at me. His philosophy was if we didn't buy it or write it ourselves, we had no business using it.
I guess I was just ahead of my time?6 -
It was friday evening and almost everyone in office had left. I was assigned a bug related to some of my code changes. I called my senior to help me debug (has three years of experience, whereas me having only one year exp, who is also a very good friend of mine *always helps in debugging*).
So the code goes
switch (someEnum) {
case One:
doSomething()
// no break
case Two:
t.x = someEnum
break
case Three:
.....
}
I had recently added new enun One and was reciting the code logic to him as we were looking through code.
Him: Hey you haven't set t.x in case One. How did you miss that?
Me: No look, I haven't but a break on it. It will go ahead and set it in next case.
Him: What are you talking about? if the someEnun is One why would it execute Two case. Lets copy that line up there and try it locally.
Me: No no no wait. Are you saying that groovy doesn't need breaks in switch (Me being new to groovy but good with Java).
Him: Why would you need break in switch case even in Java?
Me: *stares at him*
Him: I'm going to execute a psvm right freaking now.
Me: *while he writes the psvm* Why did you think there were breaks in switch in any code?
Him: Shut up. *writes psvm code cursing me everywhere*
*executes code*
No way. Really??
Me: Tell me why do you think are there breaks in switch.
Him: I though they were to get you out of switch block and not execute the default block.
Me: So were you coding switch until now without breaks?
Him: I don't know man. I'm starting to doubt all the switches I have ever written.
Me: Anyway that's not the problem, so moving on.
*a while later*
Him: If a interviewer would ask me how would you rate yourself in Java. I would be like "Well I worked on various projects for 3 years in Java, but didnt know why we put breaks in switch. So you figure it out yourself."
One of the best moments in office.8 -
So you think it's bad when your friends, family, strangers and others ask you to fix their phone or computer is bad when they hear you're a programmer, IT or good with computers?
You think it's bad when they ask you whether you're hacking when they see code or terminal on your screen?
You think it's bad when they ask you to fix a cracked phone screen because you work with computers?
Well, think again because today my teammate was asked to fix a vending machine by X from another department because, according to X the vending was not accepting X's other dollar bill. The first dollar bill was accepted so why wouldn't it accept the 2nd one? Because the 🤬 dollar bill is crumpled. That's it.
What wows me is what made X think this is an IT issue.
According to X.... "because it has power, lights and touch screen so IT can fix it That's what you guys do, right? You can fix anything".
Me: wait!?, what?, uhhh..., are you serious? Wtf? Why? Grrrr4 -
I've seen several rants about dumb/useless teachers, college and the CS degree studies; today is a good day to vent out some "old" memories.
Around two semesters ago I enrolled in a Database seminar with this guy, a tall geek from the 80's with a squeaky voice, so squeaky mice could had an aneurysm if they listened to him.
Either way this guy was a mess, he said he was an awesome coder, that we were still "peasants" when it came to coding, that relational databases had nothing on him since he was an awesome freelancer and did databases every day, that we had to redo the programming course with him and with his shitty, pulled out of the ass own C++ style guide with over 64 different redacted rules.
He gave us sample code of "how it should be done" in Java...it ain't my favorite language but fuck me a fucking donkey could have written better code with his ass!! He even rewrote Java's standard input function and made it highly inefficient. He still wrote in a structural paradigm in OOP languages! And he dared to make this code reviews were he would proyect someone's code and mock it in front of the class as he took off points, sometimes going to the negative realm (3,2,1,0,-1...)
But you know what's shittier? That he actually didn't even attend, 90% of the time, it was literally this:
> Good morning class
> Checks attendance. . .
> I'll be back, I'm going to check in...
> 1 hour 45 minutes later (class was 2 hrs long) - comes back
> do you have any doubts?
> O.o no...? I'm ok.
> We're done
Not only that, he scheduled from 4 to 17 homeworks throughout the week, I did the math, that was around 354 files from everyone; of course he didn't check them, other students from higher semesters did and they gained each point taken from students making students from lower semesters get the short end of the stick.
How did I pass? He didn't understood my code or database schema and he knew he couldn't fail me as he had no ground to stand on.
Thanks for listening, if you got to the end of this long ass post and had a similar experience I'd love to read it.
13 -
This here is some source code that i made. And I'll admit, I was a bit frustrated at the time of making. I just started learning to code in HTML and CSS a coulpe days ago. And a friend asked if I could make him a website. So I told him that I barely know the basics yet. And he says that it doesn't matter just as long as he gets a website. So now, a couple days of tryhard coding later, he raged about how bad the site looked and that he himself could have done a better job than I did. And yet the entire site had over 300 lines of code in it (perhaps not very much for you hardcore coders out there, but a biiig step for me) and several subpages, all with custom error pages and all. Although I'll admit, the design was a fucking ugly as fuck since i can design about as good as an alligator flies. But man was I mad after that, haven't talked to him since. The bastard. But to he point, in my rage i made this. An outburst of anger that I later refactored to fit a large amount of devs (since I reckon 99% of programmers deal with clients/customers instead of friends). And if anyone has a spare dns space to put the code on, then help yourself.
The link is:
https://pastebin.com/aFcK10YK
Have a good day!8 -
99% of our server-side code is Python and PHP (legacy applications).
Asked a junior dev to make a small update to a PHP site so we could have it run some cleanup server side. Plenty of existing PHP code to look at and piece something together. Should be 50 lines max.
Did he use the existing PHP code to do this task? Nope. Did he at least use Python? Nope.
Node.js
His response?
"I couldn't figure it out and Node.js seemed to have good support for mongo so I used that instead."
We have 0 lines of server side javascript. Never had node installed. Literally none of the devs use node here. Not only is this completely outside of our tech stack, but he had to take the time to learn Node and JS just because he thought it was easier.
Much would of rather he put in twice as much time to learn the tools of our stack.8 -
Riverbed...the software cost USD $120,000+ and their support was horrible.
Tickets would go unanswered.
Their documentation was pretty good but there were parts that were wrong and they would not fix it.
They would usually close an issue because it was opened by someone else 5 years prior and hadn't been fixed.
The several years I used it their releases consisted of no tangible code enhancements.
Several times we provided very simple reproducable issues and there response was basicly "just don't do that".2 -
!rant
I would like to ask you guys for advice.
I am a content manager who is gradually given more and more dev tasks. That is great because I want to become a webdev. However I have one big issue. Whenever I write code (any code) I feel ashamed because I know that anyone else could do better. I am also ashamed to show my work to my colleagues because I am afraid of what they might think of me. I know that they are good people and they would probably help me out but still...
Someone once tried to explain to me that I am not my code and whenever my code is being evaluated I am not the one who is being judged, it is my code, my current knowledge. I understand conceptually what he was trying to tell me but I just can't feel it.
Did you have similar feelings when you started out?
Thanks in advance.18 -
I pretty much just copied code from Google for a good 2 years, following tutorials on Java, until I actually got a basic understanding of wtf I was doing. I could understand the syntax, loops, and conditional statements well, but for some reason I didn't quite understand the concept of an object until I took a class on Java development during my high school career, where it finally 'clicked'.3
-
This is going to be a rant, but personally, I'm pleased with the outcome of my life now.
I was part of a community for a few years and decided to help them out with my knowledge of programming Lua nearly 2 years ago since they lacked developers for the project itself.
Since it was sort of a custom language that they modified how Lua worked on it, it took me a bit to adapt, but within a few weeks, I was pretty fluent in this so-called custom language they had. Began working on some major updates, additions, removals, and just optimizing this code base. It was a pretty old code base and needed a good chunk of love.
A few months later, I've implemented loads of features, optimized the base whenever I could, and then things start taking a turn for the worse. We get new 'developers' who haven't ever coded the language, and worse they couldn't afford to provide them development servers thus they ended up breaking my servers. I helped them and they learned, they were decent, but now the Seniors and CEO's of the project began to take a toll on me.
I was told that this community had a reputation of driving out developers, ruining their reputations, and that is what started happening. I started getting questioned if I was loyal to helping them, that I've become lazy, even though they were explained I've had mental health issues for a few years and have been hospitalized multiple times.
These sort of attacks kept happening for months, and then they finally pushed my buttons, where I was talking to another Senior of how we should redo the base since it's just so massive and a few tiny updates to the base take a few days to implement across the entire code. What instead happened was that I went to sleep, and this Senior told the CEO I was going to steal the code base and go sell it...
I woke up to messages of how the CEO is all pissed off, and that this what the Senior said. At this point, I started responding with, fuck it. I was so sick and fucking tired of their bullshit. I was the only fucking competent developer, and I did more work in the few months I was there then some people did in 2 or 3 years.
A few hours later I decided to go chat with the CEO and explained what was truly brought up, and he just brushed it off like I was lying. At that point, I lost it. I told him why the code base was horrible since he hired stupid ass developers. He didn't know how to code. People wanted certain items, and he wouldn't be able to add them for fucking months and players sit there making fun of it. Some people state the only differences they see within the code is the code I've done. Basically, he was an incompetent fuck that said he knew what he was doing, and had all these big plans for the future yet couldn't listen to the only competent developer and fucking claimed bullshit.
Now a few months have gone by, I'm looking at their community and it's basically dead with no proper updates except for copy and paste updates claiming to be custom coded. While I'm working on my real life businesses (Which are currently being a headache, but within the year should resolve its issues), starting University for my Computer Science degree here soon, and even considering building my own game here.
Basically, karma is a bitch and that's why when you get loyal people in your life, keep them. (Writing this at 3 am after a few drinks, hopefully, it made sense, I think it does.)
Anyways, goodnight everyone.5 -
They've literally left me with nothing to do. I'm doing nothing. I can't be happy doing nothing.
To illustrate the chaos: Everyone on the team was trying to figure out some defect. No one knows what is going on in the code. It's unlike anything I've ever seen.
I found an API call with a misspelled endpoint. It was wrong since the code was written two months before. There's no way it ever worked. Obviously no one tested the code because they would have immediately seen that the call returned a 404 every time.
I fixed it. That was my only PR in about a month. It was literally one character.
The next week that PR got reverted. Apparently the app works better if the API call fails. No one said what goes wrong if the request is made, just that it "causes problems."
That's how bad it is. No one knows why anything does or doesn't work. People write code that doesn't work, never test it, and the application works better in some unspecified way if that code never gets executed.
The last straw for me was when an architect told us that if we want to improve our skills we need to learn how to read and debug stuff like this.
1) Not to be immodest, but I'm good at figuring out bad code.
2) Just because I can doesn't mean I want to do it all day instead of actually developing software
3) He trivialized the really important skill, not making a mess like this in the first place. If his idea of skill is to sling crap without tests at the wall and then debug it, how is he an architect?
I tried really hard but I can't keep a good attitude. I don't want to become toxic, but why would I consider working that way? I try my best to be good at this. Writing decent code means a lot to me. It should mean a lot to them. Their code is costing them hundreds of thousands of dollars. Maybe millions.
I can't write good code and add value if all I do is debug bad code.
So I'm out. I'm going to another project. Have a nice life.3 -
I was working with a guy 3 years ago, he was junior web developer. Lazy for work, watching YouTube and game streamers all day long at the office. Sometimes i was fixing his crappy code.
And ... one week ago I was surprised seeing this guy come to my current work office as senior web developer.
Im also new at this office and i had good impression i was working with professionals before this happened. Guess what... This guy hasnt changed much. Still writes crappy code , no idea of clean code at all.
I got concerns about my work place now :/ thinking to change it.6 -
Just need to get this off my chest. Started a new job 3 weeks ago at a company that has been around ~18 years, it is only recently that they have started to grow more rapidly. I was brought in under the guise that they wanted to embrace change and better practices and so said I was up for the challenge.
In my 2nd week I was asked to produce a document on tackling the technical debt and an approach to software development in the future for 3 consultants who were coming in to review the development practices of the company on behalf of the private equity firm who has taken a major stake in the company. I wrote the document trying to be factual about the current state and where I wanted to go, key points being:
Currently a tightly coupled monolith with little separation of concerns (73 projects in one solution but you have to build two other solutions to get it to build because there are direct references.).
Little to no adherence to SOLID principles.
No automated testing whatsoever.
Libraries all directly referenced using the file system rather than Nuget.
I set out a plan which said we needed to introduce TDD, breaking dependencies, splitting libraries into separate projects with nuget packages. Start adhering to SOLID principles, looking at breaking the project down into smaller services using the strangler pattern etc. After submitting what I had written to be part of a larger document I was told that it had been tweaked as they felt it was too negative. I asked to see the master document and it turns out they had completely excluded it.
I’ve had open and frank discussions with the dev team who to me have espoused that previously they have tried to do better, tackle technical debt etc but have struggled to get management to allow them. All in all a fairly poor culture. They seem almost resigned to their fate.
In my first 2 weeks I was told to get myself acquainted and to settle myself in. I started looking at the code and was quite shocked at how poorly written a lot of it was and in discussions with my manager have been critical of the code base and quite passionate and opinionated about the changes I want to see.
Then on Friday, the end of my third week, I was invited to a meeting for a catch up. The first thing I was told was that they felt I was being too openly critical in the office and whether I was a good fit for the company, essentially a stay or go ultimatum. I’ve asked for the weekend to think about it.
I’ve been a little rocked by it being so quickly asked if I was a good fit for the company and it got my back up. I told them that I was a good fit but for me to stay I want to see a commitment to changes, they told me that they had commitments to deliver new features and that we might be able to do it at some point in the future but for now I just needed to crack on.
Ordinarily I would just walk but I’ve recently started the process to adopt kids and changing jobs right now would blow that out the water. At the same time I’m passionate about what I do and having a high standards, I’m not going to be silenced for being critical but maybe I will try and tackle it in a different way. I think my biggest issue is that my boss who was previously a Senior Developer (my current position) has worked at the company for 12 years and it is his only job, so when I’m being critical it’s most likely criticising code he wrote. I find it hard to have the respect of a boss who I had to teach what a unit test was and how to write one. It makes it hard to preach good standards when by all accounts they don’t see the problems.
Just wondering if anyone has suggestions or experience that might help me tackle this situation?12 -
The first time I caused a massive error on production.
The good news was the site didn't go completely down. The bad news, however, was that it went down for 60% of our users, and because it's only partial, it got detected only after about two hours.
Everyone halted what they were doing to help investigate the issue. When it turned out that my latest commit caused the error, I was told to fix it... with the CTO and senior software architects watching.
It all happened because I deleted one too many line, an if statement, making the accompanying else statement a complete nonsense. It was a corner case code unforeseen by the QA guy.
The attached meme perfectly describes my feeling for the rest of the month following that accident.
2 -
I was once using an app, made by my friend which could be used as a handy reference for programming topics. It crashed every time i clicked the last entry of the list. I told him that the app has a bug, probably some position mistake and he denied, saying that he doesn't need feedback from a guy who didn't code applications. I learned to code java and started android that night and knew I needed to give him a reply, a good one.3
-
Once had a manager who would refuse to review anything on the basis he "didn't have enough time". Not just code reviews, but also customer comms, support messages, documentation etc. - anything that it's good to get more than 1 set of eyes on. This was a small startup so me working pretty much solo - it wasn't like there was anyone else able to review anything like this.
Fair enough, you might say. He trusts me. Just put it out there.
...but then *as soon as* it was published / sent / committed / whatever, he'd then magically find 5 minutes to glance through it and point out how rubbish / unhelpful / ridiculous the work was, and how it should have never gone out in the first place, and why didn't I read through it before sending as I'd clearly realise how stupid this was.
After a few rounds of this I actually flipped out on him in the office, called him out on his BS and told him to think for 2 seconds about how ridiculous this situation was. In fairness to the guy he did back down, take note and it didn't happen again, but damn, those times were some of the most frustrating of my career to date. -
VB3.
In my last rant I mentioned I used to convert VB3 code to .Net. Before that, I used to work on the VB3 product itself. This software emulated something from the real world, and as such complied with a bunch of regulations that changed on a regular basis, and always had additions and removals that were to be done on a strict schedule (e.g. "we're adding a new product next month, so we have to be able to sell it by the first of the month"). As such, it was a huge sprawling mess.
One day, I was given a task to change some feature slightly. The task was simple enough and really only required adding one line of code. I added that line and clicked "Run".
Error: Too Much Code
What? What do you mean too much code? I asked a colleague for help. "Oh, don't worry, it happens when a function is too long. Just remove one or two of the comments and try again." The comments were, naturally, old deleted code that was quite meaningless so I had no qualms about removing some. It worked, and I went on with my life.
This started happening on a regular basis on our larger functions. But there were always comments to remove so it wasn't a big issue.
One day, though, it happened on a five-line function. This was puzzling - the error had always happened when a function was too big but this one clearly wasn't. What could the error mean? I went to the same colleague.
Apparently, there's also a limit to how big the entire code base can be. "Just find a function that isn't used any more and delete it." And so I did. There were many such functions, responsible for calculating things which no longer existed so they were never called. For months, I'd find functions and remove them. Until there weren't any more. I checked every function and subroutine in our codebase, and they were all used; I checked every possible code path and they were all needed.
What do I do now, I asked? The colleague, who was an expert on VB3 but worked on another project, came and take a look.
"Look at all these small functions you made! No wonder you're running out of space!" Apparently each function created a lot of overhead in the compiled executable. The solution was clear. Combine small functions into large monolithic ones, possibly passing flags in them to do completely unrelated things. Oh, and don't comment on the different parts because we have no room for comments in our code base.
Ah, the good old days.5 -
I used to work for a company in 2017 that was affiliated with a ruling party's tax information agency. The website was janky and the database .. oh the horrors.
Every single record was a JSON object stored in a NEW COLUMN.
That's right. If you had 10K records then the table had 1 row with 10K columns with each column contained JSON data in it.
I understood then, why government websites are so crap.
Anyway, I untangled it and made the performance better to a degree that my then-boss didn't believe what I pulled off.
But yeah, I never got any pay increments or whatever, It was a good dopamine boost to my boss which lasted only 15 mins.
I don't believe in improving code ever since because of the fact that I ain't getting paid extra, so why bother.7 -
I'd say one of the best advice a dev gave me, was that, I should not write duplicate code, but rewrite these parts to a single function.
And another one: If you use specific values in the code, instead of putting it in multiple places, assign it to a variable at one place and use the variable later on.
These advices sound quite trivial, but I think every beginner should learn these as eary as possible.
Boiiii have I seen shitty code from people who don't give a hobo's ass about maintainable code.
Be a good coder.
Write for quality, not quantity.
Care about your successor.
Thank you.
If not, I will fucking find you, fill your guts with napalm and light you up alive on a rusty pole while laughing hysterically.1 -
I'll repeat what I wrote in an answer in another rant because I think it made a good story (I just realized it after writing it :p) :
I met a guy in my school who was the best of the school : I mean, he jumped over the first two years of the school (and he started from scratch, he never had programmed before).
I went to ask him how he got enough motivation to make all the two years projects in one and he told me something that made me understand why he was so good : "I'm fucking lazy, so when I code, I code something that I would use for a very long time, tools that will be useful in next projects".
By doing this, all he had to do in end-year projects was to assemble what he already had done to make the program. He had perfectly working tools that were awesome. So, he never had to work more than 10 hours a week after doing this.4 -
This is something I'll never forget.
I'm a senior UI engineer. I was working at a digital agency at the time and got tasked with refactoring and improving an existing interface from a well known delivery company.
I open the code and what do I find? Indentation. But not in the normal sense. The indentation only went forward, randomly returning a bunch of tabs back in the middle of the file a few times, but never returning to its initial level after closing a tag or function, both on HTML and JS.
Let that sink in for a minute and try to imagine what it does to your editor with word wrapping (1 letter columns), and without (absurd horizontal scrolling).
Using Sublime at the time, ctrl+shift+P, reindent. Everything magically falls beautifully into place. Refactor the application, clean up the code, document it, package it and send it back (zip files as they didn't want to provide version control access, yay).
The next day, we get a very angry call from the client saying that their team is completely lost. I prove to the project manager that my code is up to scratch, running fine, no errors, tested, good performance. He returns to the client and proves that it's all correct (good PM with decent tech knowledge).
The client responds with "Yeah, the code is running, but our team uses tabs for version control and now we lost all versioning!".
Bear in mind this was in 2012, git was around for 7 years then, and SVN and Mercury much longer.
I then finally understood the randomness of the tabs. The code would go a bunch of tabs back when it went back to a previous version, everything above were additions or modifications that joined seamlessly with the previous version before, with no way to know when and so on.
I immediately told the PM that was absurd, he agreed, and told the client we wouldn't be reindenting everything back for them according to the original file.
All in all, it wasn't a bad experience due to a competent PM, but it left a bad taste in my mouth to know companies have teams that are that incompetent, and that no one thought to stop and say "hey, this may cause issues down the line".4 -
While I was in university, I used to be a good programmer (which I still am :D ), my friends used to copy my code for the assignments. One day, the teacher (one of my my mentors) called me in his office and said, "this is your code".
I'm like, in my mind, "How did he know this?"
The teacher said, "If you let others copy your code one more time, I will fail you".
I nodded my head in affirmation.
Later I understood that I've been a "Clean code" principle follower even before I knew this term. So, it was pretty easy to differentiate my codes from my friends. The teacher is really a genius ^_^5 -
I'm exhausted.
After one and a half year after my last rant, I'm here again. I left the previous job as web developer after almost 12y. At the time I found 3 new jobs as developer; I chose the one with the largest company, the premises were really good. My 3 interviews were excellent. But what I found next was almost a nightmare.
I was literally "confined" for the first 2 months, no internet connection, no email address, very little communication with colleagues. My near colleague was sharing the code were I would work via a usb key. All this for "safety" purposes, because "here you start this way".
For me it was not so bad, I could take my time to study my work and do it (without Stack Overflow and only by reference guides, when needed - I felt proud in an old way). But the next months were really tough: no help to understand what I missed about the work I was doing (consider that I was working on a large database, previously used by an old ERP, on which other developers - prior me - wrote a lot of code, to make the company continue use all the data after the expiration of the ERP licences - speaking about a year 2000's Java application).
Now I find myself struggling, because the main project on which I was working has been set aside (apparently for some budget decisions); my work team constantly make me do some manteinance on the old code, but the main tasks are done by the old mate, "because deadlines are always pressing and there would not be enough time to explain you anything". I'm not growing.
I'm really becoming reluctant to write code, and whenever I do it, I constantly feel under pressure, and this makes me nervous and inclined to make errors.
Don't take me wrong, I was/am good at my work, but it's like I'm loosing that sparkle I had till a few years ago.
When I'm at home I try to study or write code, just to keep training my mind, but I'm really struggling and I'm worried about losing my brain for doing this job. I constantly forget things and lose focus.
Never felt this way. I am thinking about the chance to switch again and search for another company.6 -
I had defined a variable earlier, 'count', that I was trying to access later on in the code. Kept getting errors that the variable didn't exist.
When I looked, I had actually named it 'cunt'.
Best typo ever, gave me a good laugh as opposed to the usual annoying typos in programming.1 -
I am extremely particular about writing good READMEs in my repositories. I make sure that it has everything from prerequisites to run the code and tests on a new machine to how to actually run it (and the tests) and everything in between.
Despite all that I was asked questions that should have been avoided if you had seen the README.
One of these times was by a junior DevOps asking me about an error which was clearly due to him running the code without a virtual environment. Pings me with the entire stacktrace, I go to his desk and tell him to install the environment, which he does. 3 minutes later, another error message.
He was running the wrong script. I go to his desk again. Open the repository. Show him the README. Show him the section titled "To run the pipeline"!
There's a reason they're called README. You're supposed to READ them! 😑3 -
Was just told by a guy in my class proudly, “yeah, I’m pretty good at typing. It comes in handy for when I code stuff in class.” Awesome, that’s cool. I ask what he’s doing in the class. “We learned Scratch last semester and now we’re starting Java.” -______-6
-
Today was not a good day for me at all ,being considered a junior developer is not a good thing.
Yes I know due to my lack of the understanding of your 3 years old code base I could not meet up with the deadlines.
So as a punishment one of our senior devs asked me to bring my chair to his desk and told me to commit and push my progress every ten minutes .
He'll then review reading each code line by line ., Reverting too.
The worst part was that for the ten minutes I'll need to wait another 5 , because he was watching some Fifa19 gameplays on YouTube.
This went on for 3 hours .
It worked because I feel like a title noob today .8 -
Before becoming a developer, I used to work as a sales rep at this company that spent a good amount of time building what they believed to be an innovative state-of-the-art “code generator”. It was basically a scaffolding tool for generating software.
They were using it to auto generate customized iOS and Android native mobile app templates, along with a web backed.
The problem was that the generated code was shit, and the developers on the team basically spent more time fixing bugs than if they had built everything from scratch. But their passion for the product meant they just kept using it.
For some reason they never fixed issues in the original templates, so basically all the bugs that were found, kept showing up with each new app!
I have never seen apps like this that essentially had more bugs than features. Opening more than 10 app screen meant the app would freeze and crash. Sign up forms were actually dummy forms. The list goes on...
All the apps had the same shitty UI. For example, Product pages had a product image area that was like 5% of the screen view!
Last but not least, apps had a backend IP address hardcoded pointing to a server with an IP address that was temporary. So one day they had to restart the server and suddenly all customer apps stopped working and required a software update to work!
It was amazing seeing how a team of 3 developers trying to fix messy autogenerated code, couldn’t accomplish what was essentially a website on an app that I managed to build in my free time.
That’s how I knew it was time to quit my job and code full time.2 -
Best tool:
Your hands!
- incredibly flexible
- express a lot of commands trough very little code (just raise the middle finger and tell me if you are not expressing something VERY strong with VERY little complexity)
- reusable
- interfaces
- smells of good soap
Worst tool:
Your brain
- highly power consuming
- wrinkly, ehw!
- overthinks a lot
- imposter syndrome
- hooked on sugar like it was cocaine
- hooked on cocaine like it was sugar
- refuses to comprehend chthulu5 -
Just had an old coworker from a previous job send me some stuff for a php script he was having issues with.
There was too much glory in what he was trying to do: mixing php inside of jquery code, not using strict types would have prevented like 10 issues he was having on his script on another portion, mixing headers, weirdly named variables, poorly constructed, reused db connections, 0 oop or proper dependency management in his code, horrible use of sessions and cookies, O (n²) logic all over the place.
But the cake.....are y'all ready for it? It was code screenshots, not even of just the section, no, the full page, from a windows machine (to make it better he is hosting the application on an IIS server and his configuration was not properly set) but I digress, back to the cake:
He was writing his code inside of wordpad :P
FUCKING WORDPAD
I just politely told him that I was busy at the moment and happily ignored him. Dude is not a good person to begin with imo, for example, he brought the subject of homosexuality during one of our talks after he saw me talking to my bf, who just so happens to be gay, his statement was "I do not understand how there can be gay people when there are women that are so hot"
My comeback was "I do not understand how we can be heterosexual when there are some really attractive dudes out there, see how stupid your logic sounds? attractiveness is not the basis for homosexuality ye dipstick" he let it go after that, but close minded people like that are not really my cup of tea.14 -
WTF is the point a
of auto-generated documentation. Some dude litterally thought it was a good idea to read the code and write the exact same shit differently. WTF IS THE POINT!?
Documentation takes work, sorry, stop being lazy.11 -
I followed a tutorial on how to use TensorFlow to create digit recognition. It worked. Theres just a few issues ...
I found the code on a website, and wrote what i saw (almost copy paste)
I barely understood any of the code
I did not understand the results
I have no idea where the images was found
Im almost more confused now, than when i started, thats not good xD7 -
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 -
After 1 week working on a screen (design, logic, testing) my boss comes to me saying that what I've been work won't be necessary any longer and I should discard it.
1 month later asks for that same stuff and I tell him (jus like he said I should do) that I discarded the code.
Starts calling me names and how useless I am (this was normal).
So I pick up my stuff and just get out while saying: "please, if you are so damn good, you can do that shit yourself, I quit!"
Was there for 1 miserable year and that was my best choice I made till today.
Right now the company closed cause all the devs ended up leaving him6 -
The guy who became my manager just pushes to the prod branch.
On a repo where another team clearly set up development and production branches.
This guy has been pushing code like crazy and I always wanted to take my time setting things up properly in our team: TDD, CI/CD, etc.
Because he pushed so much he became my manager and I was seen as unproductive.
Data Science and software development best practices just dont coexist it seems.
Yeah yeah, it's up to me to start introducing good practices, but atm "getting it done" takes priority over the real based shit.3 -
!rant
Got back into android development recently and while everything was pretty flawless ( I managed to get the basic concepts implemented in a day) something wasn't right.
For some reason I was not happy with the code i wrote, although I took examples from google and tried to adapt their code style. It looked aweful. I hated my code.
But the code itself wasn't the core of the problem. I could easily add new features and replace components with new implementations without breaking the app. All those "good code quality" identifiers were there.
Turn out the problem is Java. Or to be more specific: Java 1.6
Every listener which only calls a single function once a worker has finished needs 6 lines of code. If you implement the inferface in the class it gets messy once there are multiple workers and you have a generic interface. And there are no lambdas!
So I made the switch to Kotlin.
The app was converted to kotlin in 30 Minutes. Android studio can convert the classes automatically and very little manual work is needed afterwards.
After that I spent 2 hours replacing the old java concepts with Kotlin concepts: lamdas, non-nullable types, getters and setters in kotlin style (which in this case is c# style) and some other great thing.
The code is good looking now. I like it. I like kotlin as it has a lot of cool things.
Its super easy to learn. It took me about 2 hours to get into it. It combines concepts from java, javascript, c# and maybe a few other languages to form a modern jvm 1.6 compatible typesafe language.
Android dev is fun again!2 -
I made a functional parsing layer for an API that cleans http body json. The functions return insights about the received object and the result of the parse attempt. Then I wrote validation in the controller to determine if we will reject or accept. If we reject, parse and validation information is included on the error response so that the API consumer knows exactly why it was rejected. The code was super simple to read and maintain.
I demoed to the team and there was one hold out that couldn’t understand my decision to separate parse and validate. He decided to rewrite the two layers plus both the controller and service into one spaghetti layer. The team lead avoided conflict at all cost and told me that even though it was far worse code to “give him this”. We still struggle with the spaghetti code he wrote to this day.
When sugar-coating someone’s engineering inadequacies is more important than good engineering I think about quitting. He was literally the only one on the team that didn’t get it.2 -
Anyone ever run across some code that was so succinct and elegant, that you couldn't imagine ever doing something like that and start to feel bad?
<Look up who committed it>
Oh, well, damn... I used to be so good at this coding thing. -
School's windows installations had the UAC set to lowest.
Anyone could install malware or fiddle with important settings.
Oh by the way, the same school who's gData found it funny to go through my USB drive and delete all executables and all my code because it was "possibly malicious".
Started installing random crap and messing with people in retaliation.
Was fun.
Until I got caught.
Good thing I compiled a list of security flaws earlier on.
From that day on, everytime I messed up, I sold them two security vulnerabilites to let me off the hook.
These included access to all kinds of drives in the windows network, accessing other PCs desktop, literally uninstalling random printers from the network etc..
Fun time.3 -
Help. I'm drowning in spaghetti code
I've been working at a working student (15 hours/ week) at a local software company for about a month now... and with everything I learned at college I'm kind of getting eye cancer here.
We still use SVN
We don't have any coding guidelines. No checkstyle, no overview over the program. When I started there I was just giving a ticket and they said good luck.
We just have some basic RCPTT Tests inside Eclipse and most of Themen don't work in the trunk because the gui got changed...
At least we have a ticket system but it doesn't get used by most of the working students.
I found 10 other bugs while reproducing and trying to fix 1 bug.
And I've never seen Java raped so badly. Today I saw a line that started with 6 brackets because whoever wrote it wanted to cast like there was no tomorrow. I see more instanceof in one day than in my whole devlife before.
The only thing we have is two normal employees that review our code before we are allowed to commit it into the trunk.
So yeah... I'm drowning in spaghetti-code.2 -
Anyone else had an interviewer just blatantly waste your time and lie to you?
I was recently interviewing for a job, the first couple of rounds went really well, and they gave out a fairly standard tech test. It was a basic tic-tac-toe game, with a few extra twists and a 120 minute time limit. They then wanted me to host what I had be able to code somewhere so they could test it out before the second technical interview.
The interview interview date came round, the interviewer never actually showed up, but 20 minutes late he sent me an email saying they wouldn't be going ahead because the code wasn't good enough, and cited a bunch of things that were well outside of the brief they gave for the test. and when I checked the access logs for the hosted 'live' version, it showed they hadn't bothered to actually look at it; they hadn't even checked out the code from the repo.
I've had similar things happen in the past occasionally, but is it just my bad luck, or is stuff like this becoming more common recently?6 -
A friend of mine once buried an exception deep in some code that any reasonable programmer shouldn't ever come across that said "you're the worst person I know"
A few days later when a guy in our project was working on his awful patchwork of a database mapping he managed to somehow actually hit this exception. We all got a good laugh out of it! -
I’ve been interviewing with a startup for a Frontend Engineer role. In the interview they said they didn’t have a designer, that their founder and other devs do the design work. I thought “ok so they are still putting something together and don’t care much if the UI is crappy”, and still proceeded with it. I do the take-home test, it took a lot more than the 1-2 hours they said it should take (these estimates never seem realistic), I thought I did a pretty good job and send it back to them. I then got an email back from one of the founders, they really liked the code and my approach, but the UX was not good enough. He asked if I would be willing to iterate on it if given some direction? The direction: design your own version of our product. I refused. I thought this was a developer position, not a designer position.7
-
I've been wondering this for a while now, but how are senior programmers able to (or at least seem to) remember all the code for all the different languages with all the different syntax?
Let me explain: From my experience there's usually two types of thinkers, there's the memorizers, and the logical thinkers. Its usually the difference between people good at history and people good at math. So considering that most programmers would need to be able to think logically (to problem solve obviously), how do they remember all this different code? I always forget the small details which I have to look back at earlier code to see how it was done (Especially annoying for written exams where we have to remember all the code and how to use it)7 -
We were all drunk at a college party. I pretended that I was able to code something for a friend. He put me on his laptop and made me code. In 20 minutes I had finished. Everybody reviewed the little program and said it was all good.
When we reviewed again the program sober, it was full of bugs that none of my drunk buddies tested out1 -
First Rant here.
So I was working on some integration test issues when I found this by accident made by a professional level SW engineer:
@Test
public void testMethod() throws ApiException {
Response res = null;
try {
res = serviceToTest.callMethod();
} catch(Exception e) {
assertNull(res);
}
}
Was wondering why tests were being green after some code changes I've made cuz tests could have not been green afterwards.
Together with a senior (I'm also professional only) I've tried to explain him for a good 1-2hrs why this code is useless and he still did it. Good thing there are no errors in the real implementation from him after fixing the tests as it's code freeze here and we are having go live in a few days 🙃
Also luckily he isn't working on our code anymore and has only been doing so for a few weeks.
Wasted a day with it and gonna check all of his code now before I run in the next surprise.1 -
It's rant time again. I was working on a project which exports data to a zipped csv and uploads it to s3. I asked colleagues to review it, I guess that was a mistake.
Well, two of my lesser known colleague reviewed it and one of the complaints they had is that it wasn't typescript. Well yes good thing you have EYES, i'm not comfortable with typescript yet so I made it in nodejs (which is absolutely fine)
The other guy said that I could stream to the zip file and which I didn't know was possible so I said that's impossible right? (I didn't know some zip algorithms work on streams). And he kept brushing over it and taking about why I should use streams and why. I obviously have used streams before and if had read my code he could see that my code streamed everything to the filesystem and afterwards to s3. He continued to behave like I was a literall child who just used nodejs for 2 seconds. (I'm probably half his age so fair enough). He also assumed that my code would store everything in memory which also isn't true if he had read my code...
Never got an answer out of him and had to google myself and research how zlib works while he was sending me obvious examples how streams work. Which annoyed me because I asked him a very simple question.
Now the worst part, we had a dev meeting and both colleagues started talking about how they want that solutions are checked and talked about beforehand while talking about my project as if it was a failure. But it literally wasn't lol, i use streams for everything except the zipping part myself because I didn't know that was possible.
I was super motivated for this project but fuck this shit, I'm not sure why it annoys me so much. I wanted good feedback not people assuming because I'm young I can't fucking read documentation and also hate that they brought it up specifically pointing to my project, could be a general thing. Fuck me.3 -
My best code review experience?
Company hired a new department manager and one of his duties was to get familiar with the code base, so he started rounds of code reviews.
We had our own coding standards (naming, indentation, etc..etc) and for the most part, all of our code would pass those standards 100%.
One review of my code was particularly brutal. I though it was perfect. In-line documentation, indentation, followed naming standards..everything. 'Tom' kept wanting to know the 'Why?'
Tom: 'This method where it validates the amount must be under 30. Why 30? Why is it hard-coded and not a parameter?'
<skip what it seemed like 50 more 'Why...?' questions>
Me: "I don't remember. I wrote that 2 years ago."
Tom: "I don't care if you wrote it yesterday. I have pages of code I want you to verify the values and answer 'Why?' to all of them. Look at this one..."
'Tom' was a bit of a hard-ass, but wow, did I learn A LOT. Coding standards are nice, but he explained understanding the 'What' is what we are paid for. Coders can do the "What" in their sleep. Good developers can read and understand code regardless of a coding standard and the mediocre developers use standards as a crutch (or worse, used as a weapon against others). Great developers understand the 'Why?'.
Now I ask 'Why?' a lot. Gotten my fair share of "I'm gonna punch you in the face" looks during a code review, but being able to answer the 'Why?' solidifies the team with the goals of the project.3 -
was looking up some code, won't say which, trying to find something, won't say what, and, heck, I need to find out who wrote and maintains this awesome piece of art. After a couple hours of stalking done, yep, that's how good it was, I finally found the author and guess what? They died two years ago, 24 years old. Dead. Gone. A little more stalking and the punchline was: suicide.
FUCK, I don't even know them but it makes me real sad. It seems this' an actual issue in our line of work21 -
i had to do a project with someone who isnt that good at programming. but for her to learn programming, i wanted to let her do part of the code even though i could have done it myself. so she wrote some code after 2 days without me intervening. then i checked out the code and it was total crap. it was ugly asf, it could have been optimized a lot more and a lot of variables were unnecessary and to think that the code was just around 30 lines in 2 days! when its not that optimized, they deduct points from the final grade and having useless variables and functions can also be a negative thing to the professors' eyes.
in the end, i rewrote the code myself because i wanted it to be better. my grade also depends on that code so i shouldnt be ugly asf.
i recognize my mistakes too and sometimes my code isnt as optimized as it can possibly be but imagine her code is waaaay fucked up.
p.s. it didnt even compile2 -
Managed to land 2 interviews:
The first one was for a startup that was looking for a react programmer (I've never used react before).
The later was a php job at a big company. They told me they used cakephp which is a framework I had not used before either.
Still, I'm more familiar with php than react so I felt more confident with the second interview. However, I felt there was a lot of good chemistry going on in the first interview.
The interviewer was incredibly nice (he was the lead dev, not an HR person as opposed to the second interviewer)
He gave me a small react test to be completed within a week. I barely managed to do it in time but I felt good about the solution.
Just as I was sending it, I get a call from the second interviewer saying I landed the php job.
I wasn't sure if my novice react skills would be impressive enough to secure me the react job (and I really needed a job) so I accepted.
After explaining everything to the guy who was interviewing me for the react job, he understood and was kind enough to schedule a code review where he walked through my novice code explaining what could be improved, helping me learn more in the process.
I regret not accepting the react position. The PHP they got me working with is fucking PHP5 with Cake2 :/
Don't get me wrong, I like the salary and the people are nice but the tech stack they're using (lacking source control by the way!), as well as all the lengthy meetings are soul-draining.6 -
Teammember left. I did his three tickets yesterday. Before that I created and applied new rescue procedure for broken deploys on production and deployed the app manually. Took me about 6 hours to do this right, find the cause, and solve it, and document what I did. After that my teamleader bought me a launch :)
It wasn't his, my former teammate responsibility to bring back prd to life, it was me being good and engaged employee. His tickets, on the other hand, were his duties. Took me one hour to code them. He was working on them for two weeks. I can't wait for the performance review, im definitely going to ask for a nice rise :)1 -
Dev: "I've pushed some code. Give it a code review."
Me: "ok, i'll do it"
<<fast forward>>
Me: "Sounds good to me. Only thing, I wouldn't have gone for all those renames because that was not part of the request, maybe we can discuss ...."
Dev: "I like those names and besides, it's already deployed in production"
Me: " :| .... what's the purpose of a code review when you push straight into production ?4 -
1) Read the wiki on git. I probably have enough shorthands and test methods that you won't need much other shit to debug issues.
2) when debugging, remember that if it is there, there's a good reason why I put it there.
3) commented-out code is probably useful for maintenance. I left it there for a good reason. 😛
4) chances are whatever I wrote, was the state of the art at the time I wrote it. There might be better ways to do it now tho.
5) I always work modular. First, understand the structure. (probably also documented on wiki) DO NOT fuck up the structure. If you change it, you document it.
6) If you feel I wrote shit, it's probably because management annoyed the living shit out of me. Pun intended.
7) Your confusion is normal. I don't do dumb shit.4 -
Honestly? I was always good at maths and creativity. And so, programming was natural to me. I was always good at it with minimum effort. ¯\_(ツ)_/¯
... Algorithms were a whole other story tho. I'm still not confident 'bout any algos I program from scratch. But hey, if it works, it works. (that became my motto about algos, kinda)
Forgot one thing tho: looking at relevant code to whatever I'm doing, be it in a tutorial or stackoverflow. I don't need the text or tutorial or explanation, I need to see code examples.2 -
Boss wanted me to make changes in company's website which was based on wordpres s.
I knew it could be done by tweaking some JS code, but I have very less experience with wordpress
But wordpress is easy man(Internet told me).
Give me 5 minutes, you will see the changes in production.
Being lazy af I directly logged in to ftp, checked out some files, updated some code, I was good to go.
Before pushing it, I opened the website and it was GONE ٩(๑´0`๑)۶
Now there was no public_html in the root.
I was fucked. I have accidentally deleted the website that had no backup.
And the best part I was on leave from
next day.
I was looking everywhere for backups, looked into google cache to get the contents. I have to recreate the complete site now.
Just when I was asking questions on choice of my profession and simultaneously looking here and there in FTP for backups,
I found the jewel "public_html".
It happens out that I have accidentally moved the folder to some other directory.
Phewww.
Moved it back to root. Site was up and running.
Reassured myself that I deserve to be a dev.
Backed up complete site, made the changes.
Uploaded it.
And the best part, amount of wordpress I learned in those three hours was way more than I could have learnt in many weeks.
Lessons Learnt :
A) ALWAYS keep backups.
B) You SHOULD NOT make changes on prod directly
C) You become superhuman when your brain know you are going to be fucked 😂3 -
Does anyone get the feeling that as they become more senior, they care less about meeting "best practices" and more of just "good enough"?
Best practices being everything in those books about TDD, unit testing, design patterns, design artifacts.
Good enough: enough so it won't blow up in prod, some tests but not 80-90%, some docs. Basically not like those public docs, open source projects/frameworks where function is covered
When I first started professionally, I was all about efficiency, good design, reducing technical debt, clean code.
But now, I look at problems and instinctively I may make these decisions but I don't really think about it much. First goal is to just get something working, clean it up later... Maybe.6 -
!rant
So, Rust again.
When I learned that Rust doesn’t support inheritance, only traits (interfaces), I was shocked at first.
Then I tried to remember when the last time was that I have used inheritance in the code that I write (not the code that I use).
And I could remember an instance some months ago. But I also remember that I was very unsatisfied with that design and refactored it to use composition instead. And it was much better.
One of Rust’s properties is that many good practices in other programming languages are enforced rules in Rust.
And in case of inheritance, it seems like Rust decided that composition over inheritance is such a good practice that it should be a rule.
I’m not 100% convinced that there never will be cases where inheritance is better. But I still like this radical idea of forcing the devs to do it "the right way" in the majority of (if not all) cases.
I think many devs will disagree.
What do you think?11 -
It's still in development. It often says the opposite from what is expected. Try Retoor1b chatbot at https://llm.molodetz.nl
This was result after building bot + chat website from scratch including training with embeddings. Design is generated by GPT, I tried my own but all ugly.
It's quite cool huh? Ask it to write some code for you. It's absolutely terrible. If it's down, try again in 5 minutes. I'm still working on it.
What's the result? I finally have a toolkit to make good/serious bots. Code could be bit better, but that's for other day.
Stack: self written webserver (and yes, you can post a gb to it or ddos it. Not sure if it survives the first one. I should limit requests to one mb anyway. Http headers may officially not be more than 4096 in total) since I know http protocol from my head anyway. Python websockets module. Asyncio, chromadb.
It could have xss issues. Don't care.
Let me know what you think
41 -
To the cock-sucking dev who decided it was a good idea to commit 5k+ lines of code written in his "own standard" accross multiple files, in a large project where all devs abide strictly to a certain standard set by the project description.
Fucking incompetent douchenoggin, you're about as useful as Anne Franks drum set!
I'm not saying you're the dumbest person on earth, but you sure better hope, he doesn't die.
Deadshit, dick sucking, penis grabbing sorry excuse of a human being.
Peace out.5 -
Visual Studio Code - ever since the beta.
VS Code is... amazing. There's no words to describe it. It's just amazing.
VSCode since the inception was just this tiny version of Visual Studio that you can transform into your own little IDE. That was the whole point of VSCode - it was a extensible editor. For many years I've used it and never looked back, I still use VS from time to time but Microsoft really nailed this one.
Most of the editors I knew lacked good auto completion and good linting, which IntelliSense was good, and it became even greater once support for languages started piling up. Themes also were top notch, I still remember you can't theme the entire window just the editor, nowadays you can.
And last but not the least is the Remote integration. I didn't need to leave my OS just to do work from another, I just need a SSH agent and it works. It's very straightforward and easy.
Overall Visual Studio Code is a editor that is more about choice and your own style - which makes it unique from IDEs, its fresh and its definitely earned its place as one of the most sought after tools in development.3 -
Today, I was so certain that all the functionalities were implemented to handle some webhook calls from a third-party service. It's a script I wrote that has been running for 2+ years uninterrupted or without any issues.
We got some "complaints/notices" today that some "special" actions weren't registered, so I thought that the third-party service just didn't send those actions via their webhook. After some research I found a part where they explained that those actions trigger the webhook like any other action etc. So..
First thought: "okay, maybe they implemented that at a later stage" (was not the case)
Second thought: "maybe this is not what the client meant" (it was)
Third thought: "Then it should have been implemented" (it wasn't)
Okay, time to look at the code to see where this could get handled but apparently isn't. All the actions look good, nice, clean handeling etc, nicely documented code (gave the 'past-me' mentally a high-five)..
I scroll further down to that specific action and it was quiet obvious why it didn't work.. I just see an empty function with the comment:
"//TODO: maybe handle this action one day. don't know what this does atm, probably unused.. Will take a look at it next week.."
.. :D
I took my 'high-five' back..I just needed to copy-paste some other code and change 1-2 parameters..1 -
“You want to know the answer to that” is the answer I got to my question about a piece of code...
I guess he thought he’s too good for the job.
The dude had decent amount of knowledge but was arrogant as fuck.
Every time I asked him a question he would react as if I was making him work without pay that too on a Sunday (it wasn’t)
P.S. fucker got rejected2
