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 - "hard-coded"
-
An entirely typical exchange at work:
PM: How long would it take to build an application that collates Gubblefluffs and exports them as a PDF?
ME: Hard to say. What’s a Gubblefluff?
PM: Nothing complex. Its basically an object with some stuff in.
ME: Erm, okay. So I’ll define a Gubblefluff object plus methods to add edit and delete, then for each Gubblefluff have it write a line to a PDF.
PM: It will need to email that PDF to somebody.
ME: Okay, cool. “Gubblefluffs-by-email” should take about a day.
6 hours later…
ME: I’ve done Gubblefluffs-to-pdf, I’m not clear on what’s in a Gubblefluff but I’ve made it flexible so it can take almost anything.
PM: No, a Gubblefluff can ONLY be one of 4 Snigglefingers plus a timestamp and some JSON.
ME: What? Right. Okay. What’s a Snigglefinger?
PM: (sighs) A Snigglefinger is the collection of relevant Babelsets.
ME: Babelsets?
PM: Yeah, a user can have any number of Babelsets but they must correspond to one of the four types of Snigglefingers.
ME: There are users!?
PM: Of course!
ME: But I’ve not coded anything for users.
PM: Shit. I’ve told the client they can have it today. How long to add in users?
ME: And Babelsets, and Snigglefingers and the new Gubblefluff rules?
PM: Yeah.
6 days later…
ME: This is done now. It’s a beast but it works. Who should it email the PDFs to?
PM: Client X, plus cc to Y and bcc to Z.
ME: What? It doesn't support CC and BCC!
1 hour later…
ME: This is done. I’ve tested it and sent you a copy of the PDF it generates.
PM: Okay thanks. Is the cron running daily?
ME: What cron?
…
ME: Okay, so the cron’s running once a day at 8pm.
PM: Oh, it’ll need to be at 3:15pm. That’s when we’ve told the client they’ll get it.
ME: Right. I’ll change it...
PM: Also, the PDF you sent me looks nothing like the visual.
ME: What visual?
...53 -
Worst Hackathon ? When you have coded so hard during 48 hours to have a functional prototype and the winners get trophee with a static PowerPoint, full of bullshit buzzwords...10
-
was at a hackathon, had to write an app that sent current location to emergency contact. hard coded the location of where the hackathon was taking place and one of the members phone numbers. we came second14
-
Was lead developer at a small startup, I was hiring and had a budget to add 3 new people to my team to develop a new product for the company.
Some context first and then the rant!
Candidate 1 - Amazing, a dev I worked with before who was under utilized at the previous company. Still a junior, but, she was a quick learner and eager to expand her knowledge, never an issue.
Candidate 2 - Kickass dev with back end skills and extras, he was always eager to work a bit more than what was expected. I use to send him home early to annoy him. haha!
Candidate 3 - Lets call him P.
In the interview he answers every question perfectly, he asks all the right questions and suggests some things I havent even thought of. CTO goes ahead and says we should skip the technical test and just hire the guy, his smart and knows what his talking about, I agree and we hire him. (We where a bit desperate at this stage as well.)
He comes in a week early to pick up his work laptop to get setup before he starts the next week, awesome! This guy is going to be an asset to the company, cant wait to have him join the team - The CTO at this stage is getting ready to leave the company and I will be taking over the division and need someone to take over lead position, he seems like the guys to do it.
The guys starts the next week, he comes in and the laptop we gave him is now a local server for testing and he will be working off his own laptop, no issue, we are small so needed a testing stack, but wasnt really needed since we had procedures in place for this already.
Here is where everything goes wrong!!! First day goes great... Next day he gets in early 6:30am (Nice! NO!), he absolutely smells, no stinks, of weed, not a light smell, the entire fucking office smells of weed! (I have no problem with weed, just dont make it my problem to deal with). I get called by boss and told to sort this out people are complaining! I drive to office and have a meeting with him, he says its all good he understands. (This was Friday).
Monday comes around - Get a call from Boss at 7:30am. Whole office smells like weed, please talk to P again, this cannot happen again. I drive to office again, and he again says it wont happen again, he has some issues with back pain and the weed helps.
Tuesday - Same fucking thing! And now he doesnt want to sign for the laptop("server") that was given to him, and has moved to code in the boardroom, WHERE OUR FUCKING CLIENTS WILL BE VIEWING A DEMO THAT DAY OF THE PRODUCT!! Now that whole room smells like weed, FML!
Wednesday - We send P a formal letter that he is under probation, P calls me to have a meeting. In the meeting he blames me for not understanding "new age" medicine, I ask for his doctors prescription and ask why he didnt tell me this in the interview so I could make arrangements, we dont care if you are stoned, just do good work and be considerate to your co-workers. P cant provide these and keeps ranting, I suggest he takes pain killers, he has none of it only "new age" medicine for him.
Thursday - I ask him to rather "work" from home till we can get this sorted, he comes in for code reviews for 2 weeks. I can clearly see he has no idea how the system works but is trying, I thought I will dive deeper and look at all of his code. Its a mess, nothing makes sense and 50% of it is hard coded (We are building a decentralized API for huge data sets so this makes no sense).
Friday - In code review I confront him about this, he has excuses for everything, I start asking him harder questions about the project and to explain what we are building - he goes quiet and quits on the spot with a shitty apology.
From what I could make out he was really smart when it came to theory but interpreting the theory to actual practice wasnt possible for him, probably would have been easier if he wasnt high all the time.
I hate interview code tests, but learned a valuable lesson that day! Always test for some code knowledge as well even if you hate doing it, ask the right questions and be careful who you hire! You can only bullshit for so long in coding before someone figures out that you are a fraud.16 -
A guy on another team who is regarded by non-programmers as a genius wrote a python script that goes out to thousands of our appliances, collects information, compiles it, and presents it in a kinda sorta readable, but completely non-transferable format. It takes about 25 minutes to run, and he runs it himself every morning. He comes in early to run it before his team's standup.
I wanted to use that data for apps I wrote, but his impossible format made that impractical, so I took apart his code, rewrote it in perl, replaced all the outrageous hard-coded root passwords with public keys, and added concurrency features. My script dumps the data into a memory-resident backend, and my filterable, sortable, taggable web "frontend"(very generous nomenclature) presents the data in html, csv, and json. Compared to the genius's 25 minute script that he runs himself in the morning, mine runs in about 45 seconds, and runs automatically in cron every two hours.
Optimized!22 -
/*
It's a pretty long rant. Hope you didn't get bored :P
*/
So I have this friend of mine who has learnt Python at good level (that's what he says) and is with me in all classes in college. I have worked with C, C++, C# and Java only and hated Python when it was taught (wk44).
So the following happened in the last 2 weeks:
Once he wrote a Python function in terminal just returning a hard coded string (lame right) and will show me how cool is it and that it is sooo much easier.
Whenever we do a mini project together he will force that we use Python. Even in Image processing when everyone is ready to work on Matlab, he insists that Python would be a better option.
We asked that this XYZ is very easy to implement on Matlab.
We then had to listen about the large and great community of Python and that it has Libraries for everything and that it is the greatest programming language ever.
One day he saw my C# project for DFA and NFA simulation which was the greatest project I have "completed" myself, and went like "Hmph, if I was you, I would use python and make a more "professional" code" (then went on arguing as always)
This happened today in Networking lab-
(Sockets was taught and we are expected to learn its programming aspects)
All students: Open linuxhowtos.org and start reading on socket programming
He : Opens some websites and downloads books on Networking with Python or someting
Now while I am reading the documentation of sockets and bind, he opens spider IDE, copy-paste the code in the book and start bugging ME that he is getting all these errors like literally showing me those errors and whining about all those problems.
Me: We are supposed to learn this in C. Here take a look at this link.
HE: No I'll use Python cuz it is better than your C. It has libraries for everything and is much easier.
Me: Alright whatever I am fed up, do whatever you want11 -
When you're hard at work on an algo but forgot to take your ADHD medicine so the squirrels are fighting outside but need to check Facebook statuses and having a dance party to Cotton Eyed Joe is a great coworker on LinkedIn which is now coded in Ember JS is weird compared to Python and my pencil is a funny color and my keyboard is shiny. I forgot the punchline. I'm gonna have a bowl of cereal. What was I doing?8
-
Ex-boss (who boasted 20 years of programming exp.) Would not let us work on a web project saying we didn't have enough experience and said he'd do it alone... Fast forward to 3 days before presenting to client, we get to check the log in interface and immediately find that there's no actual security, no validation... Just 2 text boxes with hard coded users and no way to add more without creating them in db... And if you knew the next page's URL you can actually skip the login... Needless to say he was removed from the project that instant and we (interns at the time) had to do everything from scratch. A 3 months project done in 2 days. Never been more stressed in my life :'(11
-
Our website once had it’s config file (“old” .cgi app) open and available if you knew the file name. It was ‘obfuscated’ with the file name “Name of the cgi executable”.txt. So browsing, browsing.cgi, config file was browsing.txt.
After discovering the sql server admin password in plain text and reporting it to the VP, he called a meeting.
VP: “I have a report that you are storing the server admin password in plain text.”
WebMgr: “No, that is not correct.”
Me: “Um, yes it is, or we wouldn’t be here.”
WebMgr: “It’s not a network server administrator, it’s SQL Server’s SA account. Completely secure since that login has no access to the network.”
<VP looks over at me>
VP: “Oh..I was not told *that* detail.”
Me: “Um, that doesn’t matter, we shouldn’t have any login password in plain text, anywhere. Besides, the SA account has full access to the entire database. Someone could drop tables, get customer data, even access credit card data.”
WebMgr: “You are blowing all this out of proportion. There is no way anyone could do that.”
Me: “Uh, two weeks ago I discovered the catalog page was sending raw SQL from javascript. All anyone had to do was inject a semicolon and add whatever they wanted.”
WebMgr: “Who would do that? They would have to know a lot about our systems in order to do any real damage.”
VP: “Yes, it would have to be someone in our department looking to do some damage.”
<both the VP and WebMgr look at me>
Me: “Open your browser and search on SQL Injection.”
<VP searches on SQL Injection..few seconds pass>
VP: “Oh my, this is disturbing. I did not know SQL injection was such a problem. I want all SQL removed from javascript and passwords removed from the text files.”
WebMgr: “Our team is already removing the SQL, but our apps need to read the SQL server login and password from a config file. I don’t know why this is such a big deal. The file is read-only and protected by IIS. You can’t even read it from a browser.”
VP: “Well, if it’s secured, I suppose it is OK.”
Me: “Open your browser and navigate to … browse.txt”
VP: “Oh my, there it is.”
WebMgr: “You can only see it because your laptop had administrative privileges. Anyone outside our network cannot access the file.”
VP: “OK, that makes sense. As long as IIS is securing the file …”
Me: “No..no..no.. I can’t believe this. The screen shot I sent yesterday was from my home laptop showing the file is publicly available.”
WebMgr: “But you are probably an admin on the laptop.”
<couple of awkward seconds of silence…then the light comes on>
VP: “OK, I’m stopping this meeting. I want all admin users and passwords removed from the site by the end of the day.”
Took a little longer than a day, but after reviewing what the web team changed:
- They did remove the SQL Server SA account, but replaced it with another account with full admin privileges.
- Replaced the “App Name”.txt with centrally located config file at C:\Inetpub\wwwroot\config.txt (hard-coded in the app)
When I brought this up again with my manager..
Mgr: “Yea, I know, it sucks. WebMgr showed the VP the config file was not accessible by the web site and it wasn’t using the SA password. He was satisfied by that. Web site is looking to beat projections again by 15%, so WebMgr told the other VPs that another disruption from a developer could jeopardize the quarterly numbers. I’d keep my head down for a while.”8 -
Not really dev as much but still IT related 😂
in college we got some new macs in our class. Before we were allowed to use them the "IT Tech" came in and did something to them all (probably ran some scripts to set stuff up)
Anyway, I was completely new to OS X and accidentally pressed a key combo that opened up a dialogue to connect to a remote file server. I saw the address field was already filled out (from when the IT Tech was running the scripts). So me being me I decided to connect. Low and behold my student credentials got me in.
Taking a look around I found scripts, backups and all sorts of stuff. I decided to look at some of the scripts to see what they did. One of them was a script to add the Mac to the domain. Here's the funny part. The login to do that was hard coded into the script....
To conclude. I now have domain level access to my whole college network 🙃
Tl;Dr: stupid it tech saves password in script. I find it. I now have domain level access to the college network14 -
About two years ago I get roped into a something when someone was requesting an $8000 laptop to run an "program" that they wrote in Excel to pull data from our mainframe.
In reality they are using our normal application that interacts with the mainframe and screen scrapping it to populate several Excel spreadsheets.
So this guy kept saying that he needed the expensive laptop because he needed the extra RAM and processing power for his application. At the time we only supported 32 bit Windows 7 so even though I told him ten times that the OS wouldn't recognize more than 3.5 GB of RAM he kept saying that increasing the RAM would fix his problem. I also explained that even if we installed the 64 bit OS we didn't have approval for the 64 bit applications.
So we looked at the code and we found that rather than reusing the same workbook he was opening a new instance of a workbook during each iteration of his loop and then not closing or disposing of them. So he was running out of memory due to never disposing of anything.
Even better than all of that, he wanted a faster processor to speed up the processing, but he had about 5 seconds of thread sleeps in each loop so that the place he was screen scrapping from would have time to load. So it wouldn't matter how fast the processor was, in the end there were sleeps and waits in there hard coded to slow down the app. And the guy didn't understand that a faster processor wouldn't have made a difference.
The worst thing is a "dev" that thinks they know what they are doing but they don't have a clue.7 -
For all those who hard coded 2017 in their code don't forget to update it 😋
PS. I actually know people who have6 -
I once ran into a CAPTCHA that was hard coded with a simple math problem. Every time it asked what 5 + 1 is.4
-
So today, our "senior tester" logged a bug because he "Viewed Page Source" on the web based report he's testing and the Year values are hard coded! So 2017 will have to added manually!
I burst out laughing so hard, all my colleagues think I'm having a mental breakdown.2 -
Boss: Hey, remember that app you made that was supposed to be purely for demonstration purposes?
Me: The one that we hard coded to get done in a week? Yea, why?
Boss: Here are some changes we need done for the next meeting.
Me:...1 -
Once it really hit me hard. The father of my brothers wife once told me that I'm not fit for IT in general. He thinks that I have pseudo knowledge of IT and Programming.
He just works parttime at home as "computer scientist" and sells routers, pc and such stuff to some private customers. Before he used Filemaker and sayd that he already coded his own CRM with it.
When he said that it really made me sad. But after we talked I looked back what I already achieved:
1. I build for me and friends custom PC's with Case mods and Hard Tube watercooling
2. I can programm in HTML5, CSS3 and PHP
3. I raised a Community with over 60 people in it. We got 2 dedicated Linux Roots (I7-6700K, 64GB RAM, SSD)
4. I manage the Linux Servers on my own with VoIP, Mail-, Web-, MySQL- and Gameservers
5. I built up a complete Community Solution with Game Groups, Forum, Tournament System and a lot of custom scripts.
6. Now Im almost finished learning the C++ Basics to code and manage to learn the beginning of GUI/UX programming.
7. Next thing Im gonna learn is Javascript (Browser) and Java, so I can complete my Web Skills and also can code Java Desktop Apps and Java game plugins (don't rant, Javascript is not the same as Java, I know 😉)
So I thought to myself "maybe in the eyes of others Im not a computer scientist, but then Im on the way to be one at least"
But please dont be a douche (the father) and prejudice me, before you don't know what I already can and achieved.
Just because you're are selling computer parts and installing them doesn't mean, that you are a computer scientist and telling me that I'm not 😉
In IT you're the smith of your own merit!7 -
HoD in my college is a "22 year experienced C programmer" with a PhD in CS.
One day I went to him and told, it is very hard to work with TurboC, and it isn't needed as we can easily migrate to GCC.
He asked me why was I complaining. No other student has any problem. They have been using it ever since the college started and everyone was "comfortable" with it.
I stood silent. He then went on to say, even JVM was coded in TurboC. I nodded and left the office as i didn't have an argument.
He's the same guy who had earlier said, "printf returns an array of characters printed", so I guess everything works here.11 -
Me: Taking online course for programming. Think it's not that hard.
PC: Coded programm runs good like in the tutorial.
Me: Wow I can code now.
Just printed "Hello World"4 -
How the fuck am I expected to salvage a fucking project that has been handed down to me with.
- No fucking clear architecture
- No fucking documentation
- Fucking shitty ass code base with no fucking coding standards
- The previous team was fucking learning a whole fucking new technology stack *Not fucking kidding* making fucking mistakes left and right
- No code reviews
- Mixing fucking local and cloud enviroment together
- No fucking testing
- Feature that were supposed to be implemented and are not working
- No configuration all the stuff are hard coded
- Full responsiblity for the whole stack
- Only one other guy with me
- And this fucking project has been delayed for a year
- MUCH FUCKING MORE WHERE THAT CAME FROM
Like what the fuck am I expected to do? I took the job thinking that people knew what the fuck they were doing and surprise surprise that was a fucking bust.
the problem is also I am the junior and these fucking people have more experience than me, what the fuck happened to over seeing people's work, PM doesnt give a shit, developers dont give a shit nobody gives a shit.
But when I got this surprise surprise now everyone is interested in finishing the project
BULLSHIT11 -
I was asked to help with the website of this one club. Their 'IT head' is a business person. I told them no, but they sent me something anyways.
They sent me a zip file of their code
instead of giving me access to their GitHub repo. I then realized that they were using 3-year-old NodeJS and Express to power their static website and doing blog posts as JavaScript modules.
A second part of their architecture which was related to member sign up was horribly broken and also written in Node. I found out that they hard coded credentials to their Google Apps account, despite having the setup to pass it via environment variables.
And now they are worried that their sign up isn't working. Their developer resigned.
They want me to help them fix it within a very small timeframe. So they can use the code to collect membership fees.
This is what happens when you have business people develop code.6 -
public String getDbPasswd(){
try{
String dbPasswd = SomeInhouseEncryptionLib.getPasswd("/hard/coded/path/to/key");
return dbPasswd;
} catch(Exception e){
LOGGER.log(Level.SEVERE,e)
return "the-actual-password";
}
return null;
}
And this is now in production
FML3 -
got given the job of removing a menu link on a site my company hadn't built today.
biggest pile of dung ever! the site had folders for 5 different back end languages all full of random files not in use.
I dug around and found it was using a big framework that produces a massive single variable and outputs it as the page.
Eventually I realised this wasn't in use either but was still being loaded in the site! in fact the site even has a database and an admin login but the stupid original dev hard coded all the content in and runs includes to files in the admin folder directly from config!
such a confusing, pointless, shit site! Its like building a car and driving it like Fred from the Flintstones....1 -
every day I get phone calls from some idiot to moan about something I fixed.
I had a job to copy a site and use it for another company, with everyone's consent. I do it and found the original was garbage. hard coded functionalities. limited control over which pages appear in the menu and so on.
problem is the site administrator doesn't understand the system and made pages visible on the menu that shouldn't be and so on. these never showed up before because it was broken.
now she phones every day because she setup her pages wrong originally and tells me stuff like, why did you change this, it worked before and crap.
I never expected she would have setup the pages incorrectly so I never thought this would happen.
lesson here is if it's broken and you're the only one that's noticed, just bloody leave it.1 -
Python. Ok, so it's a really cool language, as a scripting language it's awesome, quick to write.
When it's been used to make full fledged oop programs that you suddenly have to maintain things like duck typing become problematic. Looking at an object fuck knows what methods are available. Worse still when some bastard that thinks he's being clever doesn't bother declaring any object attributes and instead overrides the __set_attr method to dynamically add them as they are used there is no hope for the poor sod that has to maintain it later.
I've also now worked out I'm at least the 3rd person having been given the task of maintaining it, i spent a day changing CLI options wondering why they didn't do anything but occasionally crash the app. I've now found a few thousand lines deep that someone had hard-coded these values because they couldn't work out where to get the CLI args from!
I've gained a new appreciation for nominative, strictly typed languages.11 -
The codebase I'm working with hss rarely comments on it. But when there are comments written they are shit like:
//Kill Matt
//don't ask me where that hard-coded value came from, it just works
//we have to add the elements to the fucking list
Reeeeally helpful. Yep.2 -
Gaming community of mine launched their slick new website with their new "ticket system" where people could put in tickets to get help by volunteers.
2 hours and an approval by one of the admins later I managed to inject forge http request into literally every form on that side. Modify permissions, delete users, edit tickets, put invalid values into every attribute of them... In other words break everything.
Turns out the whole thing was coded as a first time project by a person who has no clue about web development and noone is in charge of anything really. There are no requirements, no beta testing, no version control or backups, but at least they had a hard deadline. 🤣
Still not sure if I wanna fix their shit and do it properly or just enjoy seeing it crash and burn.5 -
One of my former coworkers was either completely incompetent or outright sabotaging us on purpose. After he left for a different job, I picked up the project he was working on and oh my God it's a complete shitshow. I deleted hundreds of lines of code so far, and replaced them with maybe 30-40 lines altogether. I'm probably going to delete another 400 lines this week before I get to a point where I can say it's fixed.
He defined over 150 constants, each of which was only referenced in a single location. Sometimes performing operations on those constants (with other constants) to get a result that might as well have been hard-coded anyway since every value contributing to that result was hard-coded. He used troublesome and messy workarounds for language defects that were actually fixed months before this project began. He copied code that I wrote for one such workaround, including the comment which states the workaround won't be necessary after May 2019. He did this in August, three months later.
Two weeks of work just to get the code to a point where it doesn't make my eyes bleed. Probably another week to make it stop showing ten warnings every time it builds successfully, preventing Jenkins from throwing a fit with every build. And then I can actually implement the feature I was supposed to implement last month.5 -
So I recently had a university project which focuses video game audio. We had to work in groups of 3 students and the task was to create a video game which uses audio as a gameplay mechanic.
Our idea was to create a game where you collect different audio samples which get looped as background music, and you have to select the correct ones to have a nice tune. To make it a bit more challenging we had enemies, guns and grenades plus doors which only open if the correct music is playing.
The guns fire on-beat, and the grenades always explode on the first beat of the next bar.
It was quite challenging to get things synced since even small offsets are noticable.
I wrote some nice code and theoretically it should have worked but for some reason the gun shots and the grenades didn't quite hit the beat of the music.
I tweaked stuff, created workarounds, optimized lot's of code to get execution times down but it still only worked sometimes.
I tweaked more and more only to realize that the timing drifted over time.
At that time I worked 20-30 hours on tweaking and trying to get it perfectly timed.
After recalculating some numbers I realized that all the audio samples are recorded at 135 bpm, but the guys who did the recordings said it was 130bpm.
I asked them if it could be the case that the samples are 135bpm and they said:
"yes, they are at 135 bpm as we told you"
I scrolled back in the telegram conversation only to see that they said 130.
Changing the number to 135 resolved all the problems and all of my workarounds and tweaks weren't needed.
So I worked for nearly 30 hours just because they didn't notice their fault and even when they realized that the timing is off sometimes (which took forever because they never played the game), they didn't even consider that they might have given me the wrong numbers.
This all wouldn't be that bad if both of my teammates had worked for more than 15 hours but they didn't. I did all the hard work and the only single thing they did fucked up my workflow. It fucked up the system I created and it fucked up the gameplay as things got unpredictable. Because of their fucking fault I worked as much as both of them combined IN ADDITION to all the other work I did (built 3 maps, coded everything, created animations, ...)
I love working in teams, but only if the whole team is motivated. Those two fuckers were the exact opposite.
Luckily i found the error so I could fix it, but guess with whom I'll never ever work together again?10 -
"in this ad i will show you how to code something called hyper-casual games. these games have brought developers millions of dollars and i happen to know just a little bit about these games. see i also coded my own game and i brought me 6.5 million downloads. i then implemented my business plan and guess what i got now 65 million downloads. crazy. now if you just buy my book u will learn how to make millions of dollars just like me because game development isn't that hard after all!"8
-
Disclaimer: This is not a Windows hate rant as this problem has been solved by Microsoft(partially).
I went to a hackathon last year at an engineering college. It was not such grand hackathon as people have in USA or Europe. So I entered in this competition trying to develop a medical app which asks the user detail about his/her problems then asks questions to match the symptoms of diseases. So me and a guy(who isn't a coder) tried to develop that app. He provided the data of diseases, I tried to develop kind of AI app with those data but found that job too hard for one day hackathon. So I wrote an email for api medic for their api which I was going to use. I then coded continuously for 4 hours in Android studio for the android app. The event manager told us late in the day that repo had been made for the hackathon and we must push our codes before 12 that night. The event manager provided the repo very late that day maybe around 6. I did a big mistake not creating my own repo on github to save every code I had written from time to time.(After this e vent whatever I code I save it in a repo). I was running Windows 10 on one of my laptop and ubuntu on my another. Due to some divine badluck I was using my Windows 10 laptop on that hackathon. So around maybe 10 I was about to wrap up the day push the code to repo. I went to getself a cup of coffee and returned to find lo and behold fucking BSOD. I was fucked, it was my first hackathon so made another misatake of using emulator rather than my android phone. My Android phone was not responding good that day so I used the android emulator.
From that day on I do three things:
1. Always push my projects to github repo.
2. Use android phone after running some minor tests on emulator.
3. Never use windows(Happy arch user till eternity.)
You might be thinking even though BSOD, it can be recovered. But didn't happen in my case, the windows revert back to the time I had just upgraded from Windows 8.1 to 10.3 -
So, the uni hires a new CS lecturer. He is teaching 230, the second CS class in the CS major. Two weeks into the semester, he walks in and proceeds to do his usual fumbling around on the computer (with the projector on).
Then, he goes to his Google Drive, which is empty mostly, and tells us that he accidentally wrote a program that erased his entire hard drive and his internet storage drives (Google, box, etc.)...
I mean, way to build credibility, guy... Then he tells us that he has a backup of everything 500 miles away, where he moved from. He also says that he only knows C (we only had formally learned Java so far), but hasn't actually coded (correction: typed!) in 20+ years, because he had someone do that for him and he has been learning Java over the past two weeks.
The rest of the semester followed as expected: he never had any lecture material and would ramble for an hour. Every class, he would pull up a new .java file and type code that rarely ran and he had no debugging skills. We would spend 15 minutes trying to help him with syntax issues—namely (), ;— to get his program running and then there would be a logic issue, in data structures.
He knew nothing of our sequence and what we knew up until this point and would lecture about how we will be terrible programmers because we did not do something the way he wanted—though he failed to give us expectations or spend the five minutes to teach us basic things (run-time complexity, binary, pseudocode etc). His assignments were not related to the material and if they were, they were a couple of weeks off. Also, he never knew which class we were and would ask if we were 230 or 330 at the end of a lecture...
I learned relatively nothing from him (though I ended up with a B+) but thankful to be taking advanced data structures from someone who knows their stuff. He was awful. It was strange. Also, why did the uni not tell him what he needed to be teaching?
End rant.undefined worst teacher worst professor awful communication awful code worst cs teacher disorganization1 -
Thanks to the developer who decided to release his library with no documentation and hard coded values .. 10 hours well wasted !2
-
I started my internship at the end of the year..
Fuck my ass!!! This code I have to work with is a huge pile of shit.
The code base I need to work with is around 40k LOC. It is a mixture of C++, C, Java, Python, Bash and I think I saw some lonely js files around.
A list of awesome parts:
- Paths are hard coded.
- Redundant code everywhere
- No documentation or inline comments available
Most of the comments in the code are just old code that is not used anymore. But the cherry on the turd is the class that should provide all kind of useful functions in my daily routine. About ninety percent of the functions have the same description or nothing. Sometimes a function name says "readSomethingFromSomewhere" but instead it writes something to a file. It is really confusing and I need to check everything twice instead of rely on what the function name promises.
I have also learned why copy paste isn't that good. The brief descriptions of every method in a files are always the same.
getName() - Description: Fork child process
getIp() - Description: Fork child process
getIpv6() - Description: Fork child process.
Surprise: None of these functions forks a child process. :D
Another awesome feature is the thing that they store up to five different versions of libraries. Everyone with slight modifications but no hint which one you need to use. Sometimes it is the newest, sometimes the oldest which is running in production. Another case of try and error.
Oh and my dev machine is a potato with a power supply and a fan. I started with NetBeans and every time I compiled the code it sounds like the machine wants to lift off and leave for a better place. (At this point I switched to Emacs and everything runs smoothly now)
At first I thought that I'm just not that good at coding and understanding a big project from scratch but some colleagues have the same problem. The whole system is very inflexible and it is all about "std::cout"-debugging to check if your changes do what you want them to do.
Currently I'm just trying to fix this mess to make the life for the next student or employee easier. The first month was just frustrating as hell. I need to ask so many questions and most of the time the answer was "I don't know, haven't touched this code in years". Needless to say that my progress isn't that awesome but at least I get a nice payment for 20 hours of work a week.2 -
git push origin stupid-long-feature-name
git pull origin develop
*Checks through all changes. No major conflicts. Accepts changes.*
npm test
*4 failing tests, none of them in pieces that I touched for my feature.*
*That's funny. QA was loaded from the develop branch, and everything works.*
*Actual data has dates from today. Expected data has dates from a week ago.*
*examines tests*
Why are all these expected dates hard-coded‽
tl;dr The external development team committed 4 tests that would only ever pass on the day they were written.5 -
Yay, I have to rewrite + design a 15-20 year old website 🎉
Originally written in, God knows what version of php, HTML and JS by a Java dev, and patched every other year when something broke or a new feature was needed, every time by someone new...
Some years ago the system was moved from a Windows host to Ubuntu and that was a nightmare in its own, because of all the hard-coded paths...
Welp, at least some fucker found another fucker who is willing to create a new design for the site, so that's off my plate...5 -
I'm currently removing hard-coded DB creds in our modules which is in production. I've thought, this format is the worst:
db_dsn = 'db_dsn_conn_1'
conn = pyodbc.connect('DSN=%s'%(db_dsn))
Behold!!
conn = pyodbc.connect('DSN=db_dsn_conn_1') -
Past two days one of the senior devs has been complaining to anyone who will listen about a UI assembly containing 'hard-coded' references to a third party component causing several builds to break. The developer who added the telerik component probably had no idea the reference is pointing to his personal directory instead of a relative path. Easy fix? Uh...yea...but he just ranted to our boss for about 10 minutes about he has no idea how to fix the problem and the TFS build failure holding up his other projects.
WTF!? You fracking know what the relative path is!...just fracking change it and move the frack on.
The drama this drama-queen keeps spewing out is driving me out of my mind.3 -
EoS1: This is the continuation of my previous rant, "The Ballad of The Six Witchers and The Undocumented Java Tool". Catch the first part here: https://devrant.com/rants/5009817/...
The Undocumented Java Tool, created by Those Who Came Before to fight the great battles of the past, is a swift beast. It reaches systems unknown and impacts many processes, unbeknownst even to said processes' masters. All from within it's lair, a foggy Windows Server swamp of moldy data streams and boggy flows.
One of The Six Witchers, the Wild One, scouted ahead to map the input and output data streams of the Unmapped Data Swamp. Accompanied only by his animal familiars, NetCat and WireShark.
Two others, bold and adventurous, raised their decompiling blades against the Undocumented Java Tool beast itself, to uncover it's data processing secrets.
Another of the witchers, of dark complexion and smooth speak, followed the data upstream to find where the fuck the limited excel sheets that feeds The Beast comes from, since it's handlers only know that "every other day a new one appears on this shared active directory location". WTF do people often have NPC-levels of unawareness about their own fucking jobs?!?!
The other witchers left to tend to the Burn-Rate Bonfire, for The Sprint is dark and full of terrors, and some bigwigs always manage to shoehorn their whims/unrelated stories into a otherwise lean sprint.
At the dawn of the new year, the witchers reconvened. "The Beast breathes a currency conversion API" - said The Wild One - "And it's claws and fangs strike mostly at two independent JIRA clusters, sometimes upserting issues. It uses a company-deprecated API to send emails. We're in deep shit."
"I've found The Source of Fucking Excel Sheets" - said the smooth witcher - "It is The Temple of Cash-Flow, where the priests weave the Tapestry of Transactions. Our Fucking Excel Sheets are but a snapshot of the latest updates on the balance of some billing accounts. I spoke with one of the priestesses, and she told me that The Oracle (DB) would be able to provide us with The Data directly, if we were to learn the way of the ODBC and the Query"
"We stroke at the beast" - said the bold and adventurous witchers, now deserving of the bragging rights to be called The Butchers of Jarfile - "It is actually fewer than twenty classes and modules. Most are API-drivers. And less than 40% of the code is ever even fucking used! We found fucking JIRA API tokens and URIs hard-coded. And it is all synchronous and monolithic - no wonder it takes almost 20 hours to run a single fucking excel sheet".
Together, the witchers figured out that each new billing account were morphed by The Beast into a new JIRA issue, if none was open yet for it. Transactions were used to update the outstanding balance on the issues regarding the billing accounts. The currency conversion API was used too often, and it's purpose was only to give a rough estimate of the total balance in each Jira issue in USD, since each issue could have transactions in several currencies. The Beast would consume the Excel sheet, do some cryptic transformations on it, and for each resulting line access the currency API and upsert a JIRA issue. The secrets of those transformations were still hidden from the witchers. When and why would The Beast send emails, was still a mistery.
As the Witchers Council approached an end and all were armed with knowledge and information, they decided on the next steps.
The Wild Witcher, known in every tavern in the land and by the sea, would create a connector to The Red Port of Redis, where every currency conversion is already updated by other processes and can be quickly retrieved inside the VPC. The Greenhorn Witcher is to follow him and build an offline process to update balances in JIRA issues.
The Butchers of Jarfile were to build The Juggler, an automation that should be able to receive a parquet file with an insertion plan and asynchronously update the JIRA API with scores of concurrent requests.
The Smooth Witcher, proud of his new lead, was to build The Oracle Watch, an order that would guard the Oracle (DB) at the Temple of Cash-Flow and report every qualifying transaction to parquet files in AWS S3. The Data would then be pushed to cross The Event Bridge into The Cluster of Sparks and Storms.
This Witcher Who Writes is to ride the Elephant of Hadoop into The Cluster of Sparks an Storms, to weave the signs of Map and Reduce and with speed and precision transform The Data into The Insertion Plan.
However, how exactly is The Data to be transformed is not yet known.
Will the Witchers be able to build The Data's New Path? Will they figure out the mysterious transformation? Will they discover the Undocumented Java Tool's secrets on notifying customers and aggregating data?
This story is still afoot. Only the future will tell, and I will keep you posted.6 -
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 -
Why you should always backup.
Nearly a year ago I developed a whole project (iOS, tvOS, watchOS), but I never backed it up because I had a recent machine and thought the chance that something happens to the disk is so small I didn’t backup. But then my mac didn’t start correctly. So I needed to reset it. Lose the project, some other files but not much else. Then I recoded the project and backed it up on multiple places. But a little later, I was writing another app, again didn’t copy again... This time I deleted the wrong folder and deleted the trash, was gone too. So from then I learned to copy everything I coded. All projects I work on, I keep a copy of on an external disk, GitHub and Bitbucket. Assuming they wont crash all at the same time 😉.
So I recommend everyone to backup all your code. Even if it’s only 500 lines. Losing it is hard...3 -
TL;DR;
Idiot hard coded database host on the app... Pushed to prod and suddenly shit wasn't working... Took me 10 minutes to figure out what was going on...
Wrote a passive aggressive git message and commited.
Before updating prod my boss turns around to me and the following took place:
Boss: is there any problem with the server?
Me: yes, someone (i know who was ) hard coded the test db IP and it broke the backend.
Boss: oh, but will it affect the mobile app?
Me: well, it won't work but I'm already pushing the fix.
Boss: no..err.. I mean... Will I have to make any change to the mobile app?
Me inside: wtf dude... For real?! Get your shit together...
Me: no. It good, I already fixed it.
Boss: OK. Thanks
TL;DR;
Moron hard coded dB's host and stupid boss can't get shit together nor ask who did it to take precautions...12 -
Buffer usage for simple file operation in python.
What the code "should" do, was using I think open or write a stream with a specific buffer size.
Buffer size should be specific, as it was a stream of a multiple gigabyte file over a direct interlink network connection.
Which should have speed things up tremendously, due to fewer syscalls and the machine having beefy resources for a large buffer.
So far the theory.
In practical, the devs made one very very very very very very very very stupid error.
They used dicts for configurations... With extremely bad naming.
configuration = {}
buffer_size = configuration.get("buffering", int(DEFAULT_BUFFERING))
You might immediately guess what has happened here.
DEFAULT_BUFFERING was set to true, evaluating to 1.
Yeah. Writing in 1 byte size chunks results in enormous speed deficiency, as the system is basically bombing itself with syscalls per nanoseconds.
Kinda obvious when you look at it in the raw pure form.
But I guess you can imagine how configuration actually looked....
Wild. Pretty wild. It was the main dict, hard coded, I think 200 entries plus and of course it looked like my toilet after having an spicy food evening and eating too much....
What's even worse is that none made the connection to the buffer size.
This simple and trivial thing entertained us for 2-3 weeks because *drumrolls please* none of the devs tested with large files.
So as usual there was the deployment and then "the sudden miraculous it works totally slow, must be admin / it fault" game.
At some time it landed then on my desk as pretty much everyone who had to deal with it was confused and angry, for understandable reasons (blame game).
It took me and the admin / devs then a few days to track it down, as we really started at the entirely wrong end of the problem, the network...
So much joy for such a stupid thing.18 -
I coded the app so good
I optimized the UX SO GOOD
I made the UI look GOOD
I made the error handling and input validation ROCK HARD SOLID BULLETPROOF
NO FUCKING WAY COULD YOU FUCK THIS UP
NO WAY COULD YOU BE DUMB ENOUGH NOT TO KNOW HOW TO USE IT AND NOT FUCK IT UP
I GAVE IT TO MY DAD AS A NORMAL USER TO TEST THE APP AND HE FUCKED IT UP ON THE FIRST TRY
HE DIDNT UNDERSTAND THE UX.
.10 -
You know what kind of devs I hate?
- The "Oh I never worked with it so its shit"
- The "I dont wanna learn something new"
- The "You can use JavaScript for this and everything else"
- The Pro ++ Ultra Dev who never heard of modulization and layering
- The hard coded values guy12 -
I think I might change my middle name to "I told you so"
Couple of weeks ago I proposed integrating a daily process job into an existing WPF application (details of what+why would be too long to explain) and the manager suggested I make the changes
Me: "I can do it, but Jay has the most experience with that application. I don't have his WPF skills"
Mgr: "How hard can WPF be? If it uses the MVVM pattern, it should be a snap."
Me: "Its nearly an 8 year old WPF project with several chefs in that kitchen. I pretty sure I could figure it out, but that is a difference between 2 weeks and 2 days. Integration is pretty straight forward, Jay could probably do it in a day."
DevA: "WPF is easy. MVVM makes it even easier. I worked on the shipping app."
Me: "That's was a brand new, single page app, but yea, it should be easy."
DevB: "WPF has been around a long time and the tools have really matured. I don't understand what is so difficult."
Me: "I didn't say anything would be difficult, I know with that application, there is going to be complexity we need to figure out."
DevB: "It uses the MVVM, so all we need is the user control, a view model, controller, and its done."
DevA: "Sounds easy to me."
Mgr: "If you need more time to work on the vendor project, I'll have DevB work on the integration."
<yesterday>
Me: "How is the integration going?"
DevB: "This app is a mess. I have no idea how they got the control collections to work. If I hard-code everything, I can get it to work. This dynamic stuff is so confusing. Then there is the styling. Its uses dark mode, but no matter what I do, my controls show up in light mode."
Me: "The app uses Prism, so the control configuration is in, or around, the startup code."
DevB: "That makes sense. Will it fix the styling too?"
Me: "I have no idea. When I looked at it, some controls loaded the styles from the main resource, other's have it hard-coded. Different chefs in the kitchen, I guess. How far have you got?"
DevB: "I've created invoice button. That is as far as I got"
Me: "I'm finished with the vendor project and I'll be wrapping up the documentation today. I can try to help next week."
DevB: "Thanks. I think we might have to get Jay to help if we can't figure this out."
Me: "Good idea"
Two weeks and only a button. A button? I miss Delphi.3 -
TL;DR just read this
So my current (student) job. Asked me to count inventory. Did so, on paper because nobody had a list of the product barcodes for easy cumulative scanning. I also made records for every single barcode. Then I had to key it in onto the Bookkeeping and sales software thing. They don't have keyboard shortcuts, so I quickly made an ahk script.
Had to manually type in everything 3ven though I had a digital listing.
Software lets you print barcodes for products but gives you an error when you try because you haven't assigned a code. WHICH YOU CAN'T DO IN THAT Crap. You also can't search for a product based on code.
Found out it used access as a back end for that buggy c++ thing that crashes with 'operation not permitted' when you press the red x. Great! Now I can import! And there is a barcode field. Wow. Fucking fantastic. What a fuckfest.
Their website. Their fucking website. Great from a user's standpoint, but my God. It uses joomla! However, version 2.5. That hasn't been supported for a long time. Part of the images are hard coded into the theme. The text editor flips. Adding a page sometimes works, sometimes it doesn't, and sometimes makes 2 pages.
And their cnc lathe runs on a laptop with Windows 3 on it, but hey, fine5 -
In college I was working on a PHP app that needed to get a list of people to send emails to from a DB and send an email to all of them.
The good news is, I had hard-coded my own email address for testing so I wouldn't annoy anyone if things got messed up.
The bad news is, I had done something wrong and had an infinite loop. It was only running for 30 seconds or so, but the emails were coming in for hours.1 -
I’m in a big company now. We have all the resources in the world. We promote best practice. We don’t even seem to have deadlines. We mob on everything so that we get the benefit of all our experience combined.
So if all that is true, why in gods name does the first class I open have shed loads of hard coded settings, IP addresses and GUIDs in it?
FML. How did I end up working in this shit.9 -
So my college is writing a desktop app (usually my domain), and he doesn't want to do internationalisation because of time constraints. HARD CODED STRINGS EVERYWHERE!11
-
about 6 years ago I was working for a large consulting company on a government project. I put in a change for a stored procedure that hard coded the partition to 0, except 0 didn't exist on production, just on test. several thousand government employees couldn't access it for a day. 😞
-
My loop checked a variable, then the next 5 nested loops checked it again, then started over. It was a hard coded variable I forgot about.
I just made my code OCD -
Jumping back and revisiting some basics of game development that I've ignored for a while and decided to follow a tutorial for building a 2D minecraft clone just to see how easy it is to incorporate some of my engines capabilities...
Every single fucking function he is creating does not have arguments and instead uses hard coded numbers repeated throughout... Fucking send help7 -
So, I'm the only developer in a marketing firm. I was asked to develop the company website. The deadline was within a month. A full on CMS. When I was interviewed I told them that I'm more fluent in back-end development rather than UI design etc. So the company's designer started designing the website. Incomplete designs were given to me one week before the due date. I'm a fresh grad so I'm relatively new. So I used a website builder knowing that I can't code the whole CMS within a week. I asked them which they gave approval to knowing it was $16 a month.
I started making it using webflow. 2 pages in, I asked them to pay for the subscription because webflow allows 2-3 pages for the free version. When the time to pay came, they were like, "wow, $16? That's a lot every month for just a website". Keep in mind, it's not that they don't have the money. Just cheap. This was like 5 days before the deadline and they said it's too expensive and asked me to code everything by myself. And gave an extension for a few months.
I said okay and started development. I said we would still need to spend on a cloud instance for deployment which would be like $6 monthly. My manager asked me is there a way to not pay monthly and pay like $100 and get one for lifetime. I facepalmed so hard. I tried explaining to him cloud-server costs are either monthly/yearly or pay-per-use basis. He told me maybe because I'm new I don't know and go to do some research on it. I researched and the only solution was to buy a server which costs $100++ monthly. I sent him the costs in a document which he did not even bother to read.
That was back in November last year. Fast forward to February. I've coded the website thrice. The design keeps changing every week. The design is still not complete. And they are saying I'm not eligible for a promotion because the website is still not done. It pisses me the fuck off. It's not my fault it's not done. The designers haven't done the design, the manager can't decide on shit. I'm just here because it's my first job out of uni and I thought it might be a good experience, but honestly right now the way they are treating me it pisses me off.6 -
Was writing a CMS detection tool today for my internship company and kept getting every result back as Joomla. Took me only four hours to find out that I hard coded the domain to check against...
-
So today, me, the pacifistic "linux is not THAT great"-guy, was like well let's try ubuntu 17.10 (cus in the end i want a reliable os with no to less maintenance).
So i installed it next to my loved windows.
Clicking a link seems to have an hard coded delay of about 3-5 seconds until the pages actually start loading in ff on linux, so i was like maybe it's because there is a wall between me and my router..
Went into the other room.
I have one bar WLAN strength. I stand next to my router. What the fuck.
Hmm, could be sth else, let's don't be an asshole and blame linux, let's check windows. Full wlan, full speed, all good.
So my point is proven: you want to fiddle around a bit, do some coding with serial-connected devices, want a shell that actually is usable and you like to procrastinate by doing some random maintenance? choose linux.
If you need to be productive with other things, use windows.4 -
TLDR: Just had a "I am god" moment because something worked on the first try.
Been working on hooking into and modifying a plugin's central function and related output for almost two weeks now. The documentation is garbage and the source code is ... fine, I guess.
I had been working on getting the filter & display working on a form with sample data I'd put together. I finally got the desired result before I left on Friday, but had the sample selectors hardcoded in.
Within a couple of hours this morning, after fiddling around with pulling the needed data dynamically, I navigated to and checked out the function on the intended page for the very first time since starting the project and IT FUCKING WORKED RIGHT AWAY.
I let out a forceful "yussss" under my breath and stood up with my fists in the air. Nobody noticed. But at least I get to show my manager the fully functioning thing this afternoon instead of the hard-coded sample-only I had when he checked in with me this morning.1 -
So, awesome clip to use for testing... Problem is, I found this in the codebase for a production app.
*Facepalm*1 -
We have a new hire, and he doesn't know much so he is receptive when given feedback on better ways to handle a situation...Or at least, he appears that way. Until the next time and he didn't listen at all.
Today I'm working on the front end to match his API calls. I ask him about a list of options for one of the fields, as he didn't provide that info initially. No worries, there was a lot, easy to miss. He responds with a list of ~100 options, which he copied and pasted from, I'm assuming, their documentation. I tell him that's too many options to hard code, as there is an easy chance to have an error or for there to be one added or deleted, and ask if there is an API endpoint to get the list.
He then asks if I need the key and value, or just key. I tell him if he needs the value(human readable) then he can send me just the value, otherwise both. He says he just needs the key, so I let him know that I need both then, as the value is human readable. He says okay.
He proceeds to make the endpoint, I test it. Then I look at the code he wrote. Not only did he not send me both, he just sent the keys, but he hard coded all 100 keys as opposed to making the call to the external API.3 -
The most annoying co-worker(*team*) I have worked with just signed off a custom project that uses plain text passwords, hard coded into a file.. PLAIN TEXT!!! NO HASH!!! NOTHING!!! The same team also told me that working in feature branches cuts into their productivity, but they want CI/CD implemented NOW!3
-
!Rant #motivation #hugeProject
Yesterday i started a new app and i designed some of it but classes i coded will speed up the whole coding of other parts .
Anyways today i needed to work on the server side of the project and when i was working on setting up the databases structures i realized how big is this project (it uses like 3 APIs) so i was unmotivated because its a side project and it takes alot of time and overall it dont worth it and even app may fail or may be successful.
So i said i dont care about how it will turn out
Im gonna do it , and im gonna do it right now
So i did now its 6 am and the server part is almost finished ! 75% done .
It was a secure login system and signup with verifications and more security stuff and the codes that provide the server status and most of the user parts . And some of the features of the app .
The most hard thing remaining is to setup the in app purchases and the APIs .
So if you see a project that is huge .
Dont give up . Just do it as long as you can
And you will see how much you progress !
And the huge project will be a big project ;)
Then a normal project , then a tiny project :P
Good night1 -
The frustration that comes to each developer when he tries to write the code structured by thinking through each situations, and your team lead comes and tells you why r you doing so much validations just hard code them we need to release it today client is waiting. After 3-4 months the same team lead goes through the code and shouts at you telling why the he'll you hard coded all these, can't you write the code correctly by thinking through.3
-
Left a line only meant for use in development uncommented when pushing to production.
It effectively hard coded some of the data we ingest.
Nobody noticed for a week.1 -
Trying to get an app written on my home pc running on a different one... Without the source code...
Fixed a config issue but then run into a hard coded path I forgot to put into the configs...1 -
So today was interesting.
I had to extract the domain from an email address and compare the domain to a hard coded whitelist, nothing difficult, fuck takes 2 min really.
Except the project starts throwing 500 errors for no god damn reason, like seriously, I double check syntax, nope looks fine, run pho's syntax checker on the file
# php -l /path/to/file.php
Nope says it's all good.
Checks error log on server -> no log
OoooooooooKay then.
Comments out the few lines, saves, errors gone.
remove comments, error comes back.
Do this a few times, and magically the fucking thing stops throwing errors, now I haven't actually changed anything, and I know this project is so fragile I don't know how it stays running at times but fuck me this is a painful joke.6 -
When I just started programming I aways added fake loading screens and hard-coded login screens to my c# applications because it looked cool..
But I also always added an invisible panel to the top right so whenever you click that it would bypass the login screen.
I had to do that because 1. I will forget that password after 2 seconds, 2. I got no time for that login screen.2 -
So I am interning at this company, and I am Coding in Go.
Now I don't have much exp with go so I'm learning it, and all of my team is cool cause they also had to learn Go. Anyways I am just petty intern-dev so everyone and everything is cool.
Migrating from python to go is quite hard.
Unlearn, You must.
What I have imagined Go, to be is:
While python has this top down approach to inheritance and polymorphism, Go has bottom up approach.
In Python child classes are derived from parent class but In Go child classes create a parent class. (this might be totally wrong, but that's how I've imagined golang)
Go is static wrt dynamic python.
I have coded in C for 1.5 years then I switched to python, so I feel that am familiar with static typing. The path that lies ahead of me shouldn't be too hard.
I would like to take a step further and say that Golang is C, but with modern syntax/semantics. It derives many of its features from newer langs like js, Python, etc while being a compiled language which translated directly to machine code.
That's all 😊
My team members are really great and supportive, I am about 10 years younger than them but we still connect and sync.
Everything is Great, Life is Good ❤️2 -
Spent ten plus years professionally coding, used c, go , python, openwhisk ,docker, kubernetes and God know what else. Now I have to convince those team members who coded so far in their free time that write fucking clean code, avoid dependency on distributed and hard coded configuration, how to build a product
Fuck my life2 -
The shitty trainticket-app doesn't sell me any tickets. Who the fuck coded this crap. I really tried hard to pay for a fucking ticket...2
-
One of our projects migrated their file-repository to another one during a major release.
Instead of giving this task to an experienced programmer, they gave it to the head of the respective dev department due to the usual release panic.
Soo.... He wrote the migration tool. It was executed during the release. Everything seemed fine so far.
A few days later. Someone from the above project came to my team due to some "strange behaviour on the production database".
They reported that they couldn't download some of the user's documents due to unknown reasons.
After quickly analyzing the current state of the new file-repository, we concluded that the affected documents did not exist in the new repository.
Then we took a look at the so called migration tool...
Well.. After nearly 30 min. we knew the root cause for that.
They only migrated the first 4 levels of the folder structure. Due to the assumption that "we don't use deeper nesting". (Facepalm)
As the head of their department wrote it, no one seems to questioned it either. Nor did they made a code review and ended up with a tool with hard coded urls to the production db, no version control, no build tool, no ci, nothing. Breaking nearly every possible company standard.
However.. That's not it. When analyzing their migration tool we noticed another even more dangerous thing.
They mixed up the id generation of the migrated documents resulting in a random assignment between customers and documents. Which is quite bad as this contains sensitive information. E.g. passports
They offered us quite a nice amount of money to fix this until EOB. We declinded as it was simply not possible in that time, but agreed to support them with the new tool.
After some time I heard that they migrated production again. And they fucked it up again. They never talked to us after we offered them support...
The third and final migration was written by us. Not only migrated it correctly. It was also way faster. By factor 20.
In the end we haven't gained anything from this rushed project as the penalties were piling up due to this fucked up migration.
After all this time I'm not sure who is to blame. In my opinion, partly all of them.
Head of department who can't and shouldn't code.
Seniors who didn't review the code and didn't ask for help.
Release mgmt who put way too much pressure on the devs. -
Recently got a new widows laptop, I was so excited.
Spent a free hours trying to fix the hard drive which is spinning at 100% making the computer slow... still haven't found the problem.
So I coded on a Mac instead
...and then I found 20 dollars4 -
You know how a normal developer will start writing a program, and then take the big pieces and split/refactor it; move hard coded things into functions that take arguments, and cleaning up along the way?
Our manager makes a tons of empty files, and empty directories, with how he thinks he wants to build something, and checks them all in. Tons of .gitkeep files in empty directories, blank Jenkinsfile, Dockerfile that doesn't build.
When he makes wiki documentation, there are tons of subsections, all of which are links to pages with "TODO" in them.
Dear god stop it you asshat! Stop making tons of empty files and pages. Write the thing in one chunk and then split it as needed like someone who actually knows how to engineer software!1 -
> do you feel sorry for freelancing contractors
> whose previous client abandoned them
> they ask you to help them fix some trivial bugs in the shitty code
> you believe you can change the world by going overboard by also improving the code quality, along with fixing the bugs
> initialize an empty file where you'll translate the shitty code into a more organized one
> start creating variables and generic functions which can be used in a modular and organized fashion
> meticulously document the first function you write
> realize this is not worth your time
> insert some glue code into the original code which fixes the trivial bugs
> glue code has hard coded values so it adds to the shittiness of the code
> submit the work
> get $$$ -
So, a new web project came for some small layout changes, nothing to fancy.
It was on the hands of another company and the client didn't want to work with them anymore. Basic Magento with a custom theme.
As I was wondering through files, I found out that the old devs echoed, in ".phtml" files, contents from ".txt" files located in base directory. I was shocked and went forward with it. The core of Magento had tons of this "echo"s. Several minutes later I found out that they "coded" another administration panel besides Magento, that had "authentication" with hard-coded user/pass inside index.php and a session start. That admin panel just rewrote the contents of .txt files using textareas. Why/what/when the fuck..they've forgotten the admin password?!?!!!!
This was like 3-4 years ago.
Worst project i've seen, ever... -
Working on modifying a legacy web project and just about every single element is `position: absolute` with crazy z-index juggling and hard-coded pixel sizes and positions everywhere 😭
To make it even worse, a bunch of the javascript will also change elements sizes and positions so it takes forever to track down why an element is where it is1 -
Short angry rant
What the fuck is wrong with the SalesForce Authenticator logic?! How in the hell do you fuck up a simple 2FA system this hard?!!
Login -> Waiting for Notification... nothing... -> Reload Page -> Login -> Waiting for Notification... nothing -> Click "Use Code instead"... nothing happens... -> Reload Page -> "Login -> don't even wait for notification and just pres "Use Code instead"... nothing -> Reload Page -> Notice there's a "Use Code" button on this page as well -> Finally be able to log into the fucking Aloha piece of shit...
How TF is it, that Duo is able to send me a push notification within 1 second and it ALWAYS works... and THIS FUCKING SHIT NEVER FUCKING WORKS THE FIRST TIME AND AT WORST JUST DOESN'T WORK AT ALL!!!!!
Fucking hell.... Don't offer me a push notification service if you don't know how to make one... jesus fucking christ... All of Salesforce security is fucking stupid, but at least the others mostly work, but this retarded piece of crap is making me actively surprised when it works on first try... Maybe it's because I'm on a slow connection, but again Duo Mobile doesn't have this problem and works *instantly*... so what sort of retarded monkey coded the SF one I don't know, but I hope they are making better products now, because this is a disgrace to programming and security6 -
So for those of you keeping track, I've become a bit of a data munger of late, something that is both interesting and somewhat frustrating.
I work with a variety of enterprise data sources. Those of you who have done enterprise work will know what I mean. Forget lovely Web APIs with proper authentication and JSON fed by well-known open source libraries. No, I've got the output from an AS/400 to deal with (For the youngsters amongst you, AS/400 is a 1980s IBM mainframe-ish operating system that oriiganlly ran on 48-bit computers). I've got EDIFACT to deal with (for the youngsters amongst you: EDIFACT is the 1980s precursor to XML. It's all cryptic codes, + delimited fields and ' delimited lines) and I've got legacy databases to massage into newer formats, all for what is laughably called my "data warehouse".
But of course, the one system that actually gives me serious problems is the most modern one. It's web-based, on internal servers. It's got all the late-naughties buzzowrds in web development, such as AJAX and JQuery. And it now has a "Web Service" interface at the request of the bosses, that I have to use.
The programmers of this system have based it on that very well-known database: Intersystems Caché. This is an Object Database, and doesn't have an SQL driver by default, so I'm basically required to use this "Web Service".
Let's put aside the poor security. I basically pass a hard-coded human readable string as password in a password field in the GET parameters. This is a step up from no security, to be fair, though not much.
It's the fact that the thing lies. All the files it spits out start with that fateful string: '<?xml version="1.0" encoding="ISO-8859-1"?>' and it lies.
It's all UTF-8, which has made some of my parsers choke, when they're expecting latin-1.
But no, the real lie is the fact that IT IS NOT WELL-FORMED XML. Let alone Valid.
THERE IS NO ROOT ELEMENT!
So now, I have to waste my time writing a proxy for this "web service" that rewrites the XML encoding string on these files, and adds a root element, just so I can spit it at an XML parser. This means added infrastructure for my data munging, and more potential bugs introduced or points of failure.
Let's just say that the developers of this system don't really cope with people wanting to integrate with them. It's amazing that they manage to integrate with third parties at all...2 -
Two of em.
The first one was making a project following mvc patterns for my last job in which the structure was so easy to follow that my buddy has been able to move allong with it and do more projects out of it. He had a hard time with web development and the boss would have him do it and learn on the job.
To this day that application remains as a "framework" of sorts.
It was made in an unholy comb of js for the front end and classic asp for the backend with restful endpoints and all that shit. I was drunk when I coded most of it.
The other one was during my time in the u.s army. I was a mechanic, a really shitty one mind you. But i knew how to read manuals. All and every task was accomplished to the point in which they had me basically rebuild a vehicle that was beyond salvation. Got it done in 2 months and command was so impressed they set me up as the brigade commander's personal driver and mechanic. I was also drunk for the most part, but then again so where the rest of my brothers.4 -
My first job was 3 years ago.
I was tasked to create feature updates for a referral system.
There were two programmers in that project , both had left the company before I started.
There left no documentation whatsoever. They gave me a copy of user manual as my guide. HAHA!
Half of the code was in code igniter framework(wasn't even familiar with it then), the other half was hard coded.
It was a total nightmare. Wish I had the guts to call it quits then and there. XD10 -
Sysadmin's nemesis: a DBA. Especially an oracle DBA. There's no other kind of tech worker I've seen who's more opposed to best practices.
How about for devs?4 -
Got one right now, no idea if it’s the “most” unrealistic, because I’ve been doing this for a while now.
Until recently, I was rewriting a very old, very brittle legacy codebase - we’re talking garbage code from two generations of complete dumbfucks, and hands down the most awful codebase I’ve ever seen. The code itself is quite difficult to describe without seeing it for yourself, but it was written over a period of about a decade by a certifiably insane person, and then maintained and arguably made much worse by a try-hard moron whose only success was making things exponentially harder for his successor to comprehend and maintain. No documentation whatsoever either. One small example of just how fucking stupid these guys were - every function is wrapped in a try catch with an empty catch, variables are declared and redeclared ten times, but never used. Hard coded credentials, hard coded widths and sizes, weird shit like the entire application 500ing if you move a button to another part of the page, or change its width by a pixel, unsanitized inputs, you name it, if it’s a textbook fuck up, it’s in there, and then some.
Because the code is so damn old as well (MySQL 8.0, C#4, and ASP.NET 3), and utterly eschews the vaguest tenets of structured, organized programming - I decided after a month of a disproportionate effort:success ratio, to just extract the SQL queries, sanitize them, and create a new back end and front end that would jointly get things where they need to be, and most importantly, make the application secure, stable, and maintainable. I’m the only developer, but one of the senior employees wrote most of the SQL queries, so I asked for his help in extracting them, to save time. He basically refused, and then told me to make my peace with God if I missed that deadline. Very helpful.
I was making really good time on it too, nearly complete after 60 days of working on it, along with supporting and maintaining the dumpster fire that is the legacy application. Suddenly my phone rings, and I’m told that management wants me to implement a payment processing feature on the site, and because I’ve been so effective at fixing problems thus far, they want to see it inside of a week. I am surprised, because I’ve been regularly communicating my progress and immediate focus to management, so I explain that I might be able to ship the feature by end of Q1, because rather than shoehorn the processor onto the decrepit piece of shit legacy app, it would be far better to just include it in the replacement. I add that PCI compliance is another matter that we must account for, and so there’s not a great chance of shipping this in a week. They tell me that I have a month to do it…and then the Marketing person asks to see my progress and ends up bitching about everything, despite the front end being a pixel perfect reproduction. Despite my making everything mobile responsive, iframe free, secure and encrypted, fast, and void of unpredictable behaviors. I tell her that this is what I was asked to do, and that there should have been no surprises at all, especially since I’ve been sending out weekly updates via email. I guess it needed more suck? But either way, fuck me and my two months of hard work. I mean really, no ego, I made a true enterprise grade app for them.
Short version, I stopped working on the rebuild, and I’m nearly done writing the payment processor as a microservice that I’ll just embed as an iframe, since the legacy build is full of those anyway, and I’m being asked to make bricks without straw. I’m probably glossing over a lot of finer points here too, just because it’s been such an epic of disappointment. The deadline is coming up, and I’m definitely going to make it, now that I have accordingly reduced the scope of work, but this whole thing has just totally pissed me off, and left a bad taste about the organization.10 -
I was walking in the cineplex after watching a movie today and saw an advertisement for "a digital loyalty card platform for retail outlets. Get loyalty cards on your phone!" being used by a big brand in my country.
The thing is, although not a terribly original idea, I first thought of developing a system/platform like this all the way back in 2012. I coded it, I advertised, I lobbied HARD; I poured my damn soul into this thing. Nobody accepted it. I scrapped it because I thought it was just not a good idea, only to see what is essentially a clone of it being shown off and lauded as a brand new innovative solution.
I won't lie, seeing that ad so prominently and proudly displayed really crushed me. I honestly don't know what makes their rendition better than mine, since mine did pretty much the same thing theirs does and my design chops are pretty much on par with theirs. I was rejected and I don't know why and that stings more than the countless other times my other ideas were shot down because of market mismatch, logistical flaws or just shortsightedness on the part of potential customers.
This isn't an invitation to a pity party, and I can't say there is a moral to this little anecdote, but I feel moved to share this experience with you guys.
Pick from it and learn what you will, I hope this falls under the eyes of the right person out there.5 -
Fuck Wordpress, Fuck Wordpress's PHP
I'm so fucking tired of everything in this godforsaken CMS. Import a JS File? Sure, just add a *completely obvious* line into a very specific PHP File, where you'll have to specify a lot of "useful" parameters. No, I somehow DON'T want to specify that I don't wand jQuery in every import. And don't even get me started on Content Delivering. Embed CSS? Sure, just write the fucking whole path to the file, or use the broken get_stylesheet_uri() Function. Embed an Image? Sure, let me just go to the Backend and wait 6 Minutes for this bullshitty System to upload the image and then copy the hard-coded Link. Oh, you want to remove googleapi embeds? Sure, let me just fuck up your whole Website in return.
You want jQuery? Well instead of using the "$" Symbol, you have to use the jQuery() Function. Except when you don't have to, which is 100% random each time you reload the page. Oh, you actually did import a JS File? Sure, let me just not run it. Thank you fucking piece of shit thats calling itself "WordPress" and fuck you and everyone whos actively encouraging its usage1 -
I'm considering quitting a job I started a few weeks ago. I'll probably try to find other work first I suppose.
I'm UK based and this is the 6th programming/DevOps role I've had and I've never seen a team that is so utterly opposed to change. This is the largest company I've worked for in a full time capacity so someone please tell me if I'm going to see the same things at other companies of similar sizes (1000 employees). Or even tell me if I'm just being too opinionated and that I simply have different priorities than others I'm working with. The only upside so far is that at least 90% of the people I've been speaking to are very friendly and aren't outwardly toxic.
My first week, I explained during the daily stand up how I had been updating the readmes of a couple of code bases as I set them up locally, updated docker files to fix a few issues, made missing env files, and I didn't mention that I had also started a soon to be very long list of major problems in the code bases. 30 minutes later I get a call from the team lead saying he'd had complaints from another dev about the changes I'd spoke about making to their work. I was told to stash my changes for a few weeks at least and not to bother committing them.
Since then I've found out that even if I had wanted to, I wouldn't have been allowed to merge in my changes. Sprints are 2 weeks long, and are planned several sprints ahead. Trying to get any tickets planned in so far has been a brick wall, and it's clear management only cares about features.
Weirdly enough but not unsurprisingly I've heard loads of complaints about the slow turn around of the dev team to get out anything, be it bug fixes or features. It's weird because when I pointed out that there's currently no centralised logging or an error management platform like bugsnag, there was zero interest. I wrote a 4 page report on the benefits and how it would help the dev team to get away from fire fighting and these hidden issues they keep running into. But I was told that it would have to be planned for next year's work, as this year everything is already planned and there's no space in the budget for the roughly $20 a month a standard bugsnag plan would take.
The reason I even had time to write up such a report is because I get given work that takes 30 minutes and I'm seemingly expected to take several days to do it. I tried asking for more work at the start but I could tell the lead was busy and was frankly just annoyed that he was having to find me work within the narrow confines of what's planned for the sprint.
So I tried to keep busy with a load of code reviews and writing reports on road mapping out how we could improve various things. It's still not much to do though. And hey when I brought up actually implementing psr12 coding standards, there currently aren't any standards and the code bases even use a mix of spaces and tab indentation in the same file, I seemingly got a positive impression at the only senior developer meeting I've been to so far. However when I wrote up a confluence doc on setting up psr12 code sniffing in the various IDEs everyone uses, and mentioned it in a daily stand up, I once again got kickback and a talking to.
It's pretty clear that they'd like me to sit down, do my assigned work, and otherwise try to look busy. While continuing with their terrible practices.
After today I think I'll have to stop trying to do code reviews too as it's clear they don't actually want code to be reviewed. A junior dev who only started writing code last year had written probably the single worst pull request I've ever seen. However it's still a perfectly reasonable thing, they're junior and that's what code reviews are for. So I went through file by file and gently suggested a cleaner or safer way to achieve things, or in a couple of the worst cases I suggested that they bring up a refactor ticket to be made as the code base was trapping them in shocking practices. I'm talking html in strings being concatenated in a class. Database migrations that use hard coded IDs from production data. Database queries that again quote arbitrary production IDs. A mix of tabs and spaces in the same file. Indentation being way off. Etc, the list goes on.
Well of course I get massive kickback from that too, not just from the team lead who they complained to but the junior was incredibly rude and basically told me to shut up because this was how it was done in this code base. For the last 2 days it's been a bit of a back and forth of me at least trying to get the guy to fix the formatting issues, and my lead has messaged me multiple times asking if it can go through code review to QA yet. I don't know why they even bother with code reviews at this point.18 -
GODDAMN I HATE WIX!
I feel angry. I feel like smashing the developer's face who programmed this piece of shit editor. Everything I touch there just breaks and moves on its own. I fix the header, save, come back the next day and everything is shifted 5 pixels. WTF!?!
Plugins that they developed in-house aren't even compatible with their own systems. Custom code disappears suddenly. Editor doesn't allow two people to edit at the same time, resulting in lost work.
Seriously FUCK WIX.
Don't ever even consider touching this nightmare of an editor.
I could literally have hard-coded the entire site in React or Vue faster than building it in this editor, but my client wants the ability to edit things on their own later.
WIX: Not even once.4 -
I need to convert lots and lots of lengthy hard-coded entities into backend objects, as I'm tired of pushing new commits every time something superficial needs to change.
Also, I need to figure out continuous integration. The guy who was going to help with that just left the company, and I was using his eventual forthcoming help as an excuse not to take responsibility for learning about it myself.
I need to learn golang and start converting some code to it, to see if the performance compares to the perl that's currently in place. Perl is brilliant, but aside from me, only old people know it, at my office. That definitely creates a longterm supportability issue.2 -
So here I am trying to understand the database schema in order to write a REST interface. Then I find that one of the tables contains an id and a name columns but the name is Integer not a string!
I contacted the developer who gladly explained that it was easier for them to store the ids in the database but the actual names strings were hard coded in the source files so they can handle translations! -
You know you're going to have a great day when your transpiler is spitting out an error that you hard coded to ignore and don't have access to its source code for a couple days .-.1
-
This project is gonna drive me insane. I'm moving a custom-scripted WordPress ecommerce site to WooCommerce. The basis of the source site was WooCommerce but with the advantages stripped away and with a LOT of hard coded stuff added to it to make it seem like a unique, custom ecommerce engine.
Now I have to strip all that away and standardize it back into the WooCommerce way so it's all easier to maintain.
It's like I've been handed a jigsaw puzzle of a bunch of clowns and now I need to take it apart and put it together again but make it look like George Washington instead.1 -
first was with people who wanted to host a hackathon. no one even coded a simple hello world application. not even tried to google it with the free internet access available. second time was only one other developer and myself with a bunch of people wanting to claim their fame. pitching alot of ideas but none wanted to do the hard graft.
-
Work Rant, again.
Working on a project, it has a messages feature.
Currently it supports text messages and images.
The guy before me had to leave, so I was put in charge on this project, to develop it.. all alone...
Project Manager : "Please add PDF support to messages"
Me : "Sure its an easy task".
1 day later:
-Starts working on that feature
-PDF files can now be sent.
-Looks at the sent messages-
-Message is there but I... I cant see the PDF file-
Hmmmm...
Moments later I discover the entire system is non-modular... hard-coded images only support.
Fuck me. -
When you gotta learn those hard coded values for a practical exam cause your professor doesn't accept other values:)
#feelsEngineeringInIndiaMan3 -
So, funny story with a bit of self promotion at the end.
I was recently checking out some apps on playstore and found that my first ever , "launched just to experiment" app (released 1.5 years ago) has received more than 5k downloads . I was very happy about that so posted a small message on LinkedIn .
Now , my LinkedIn profile consists of 98% people who are totally strangers and never met me ( is it just me or do you also get a lot of stranger connect requests there?). So my usual post rarely ever goes beyond 5 or 6 likes.
Bit idk how there too my post got 35+ likes and now i was on cloud9.
So i finally decided to kick my ass and release some update to that app ( it had around 70% pity comments like "nice first app,but it should have this x feature",. "overall nice but it could use an x feature " etc.
And boy what my journey was in the last 72hours.
Firstly my madhead laptop started killing me with the battery failures and constant hang.
Then my past asshole self tried to give me a middle finger. So i have this whole partition in my memory where i keep my Android stuff and apps. It has a special folder named published zone and i keep all my published app codes and related files there.
I was fairly certain that this app's code eill be also there,so i opened it, found the code and tried running it.
Turns out my asshole self had tried to mess around the code so much that all the db layer WAS fucked up, all the ui WAS changed and no code was working.
"Not to worry", i thought. I always use git and there would be a correct version some commits before. WRONG. I HAD CHANGED THE WHOLE FUCKING WORKING PRODUCTION CODE AND DIDN'T MAINTAIN A VCS!
Also this was the verbose and shitty java code my 1.5 year before self so loved to write, so it was taking me way more time to figure out what's happening in an already fucked up code.
So i tried a couple of ways to get back my working code :
- I tried looking for a google recommended solution. Those guys take my whole app code build and distribute via playstore, but they provide no means to retrieve back the original code.
- i checked my (occasionally) back up hard disk but no. My hard disk would have 100s of movies from 2016 , but not a useful piece of fuckin code.
- i also tried to get my apk and decompile it via some online decompiler. Here the google again fucks up and don't allow me to get my apk directly. Meanwhile i found a ton of shady websites which are hosting an apk of my app without my knowledge O_o . I tried to decompile on of them but code was even more non understandable than my fuck up code.
So i ended up looking at both the mess up code and decompiled code and coded the whole app from scratch ( well not scratch, i extracted the resources and some undamaged activities from the mess up code . Also github was down for more than 3 hours yesterday , at the same time when i was trying to look onto some repositories)
Lessons learned:
- DON'T FUCK UP WITH THE PRODUCTION CODE
- MAINTAIN VCS
- Your laptop is shit reliable, github is also shit reliable , so save code at multiple places.
- there are way more copies of your code lying on the internet than you think.
Checkout my app here :https://play.google.com/store/apps/...2 -
Good to see people are learning and don't use hard coded credentials and store them in the DB.
Now they just have to quit putting them into migration files -
I remember the day when I was in first year college. We were tasked to make a c++ program that will print a diamond pattern. Didn't know that you could achieve that with for loops.
What I did?
A hard coded one.
What I got?
An F -
I'm way past the point of being pissed now....
So there's some software (API's, mobile app + website) that I wrote to manage supplier incentive programs in a big hurry last year - which lead to a bunch of stuff being hard-coded in to launch on time. So after last years promotion was done I took down all the services etc was very fucking clear that in order to finish & deploy it to run again I would need at least around 4 months notice.
On the surface its pretty simple but it has quite a large user base and controls the distribution of enough cash & prizes to buy a small country so the setup of the incentives/access/audit trails is not something to be taken lightly.
Then once I'm done with the setup I have to hand it over to be "independently audited" by 3 of the larger corporate behemoths who's cash it distributes (if I get a reply from one in 3-4 weeks it's pretty fast).
I only happened to find out by chance an hour ago that we are apparently launching an even larger program this year - ON FUCKING MONDAY. I literally happened to over hear this on my way for a smoke - they have been planning it since last year November and not one person thought it might be kinda important to let me know because software is "magic" and appears and works based on the fucking lunar cycle. -
Every week since I started the company:
Boss "We need a special feed of resources for this customer."
We say "Great let's build support for custom feeds."
Boss says "Could we just hard code that resource in really quickly?"
This week:
Boss says "Could you make a system that dynamically let's me know what resources has been hard-coded in all special feeds, and that alerts me when a resource goes offline".
Now what should we respond?
Help us out! Best suggestion might turn in to an email to boss..7 -
Would someone like to review my new website for web development and tech work?
www.thewebnician.com
ToDo
add services via back end(hard-coded in right now)
make it easy to apply discounts
A rating system
add chat to website
add site specs
add a more detailed about page6 -
was working on a project once where we needed a database mapping to some c# code
tasked one of our less experienced guys on it to maybe give him some experience
now I'm assuming most people here who have worked in .NET for a reasonable amount of time know about entity framework, and I did tell the guy about it.
three days after giving him that task he comes up to me smiling and says he's done
great! what did he do? he wrote the database mapping from scratch using hard coded SQL queries using lists to chain queries together in a sea of if-else statements...
let's just say the code broke down and needed last minute fixing when it was time to present it2 -
Spent seven hours reading source code at work yesterday. The little documentation I was able to find alternated between English and Spanish. And some of the things I saw... Straight out of a horror novel.
For example: NUMBER_2 * NUMBER_60 * NUMBER_60 * NUMBER_1000 to get the number of milliseconds in two hours.
Or this super contrived method which capped the registration age at 100, which now caps it at 102 anyways because they use hard coded values for the current year. Took me 15 minutes to find out what "fixYear" (this method) did.
No wonder I got home and crashed in bed till nearly midnight after that... I swear that was harder than a university Calc final...3 -
Spent an hour trying to figure out why my API request was returning unauthorized, turned out I had a trailing space after the ID (hard coded for testing purpose) T_T4
-
When date format is hard coded and application goes international. Application works ok until day turns 13. Error is seen a couple of days later, then it's the 1st again and everything is ok. Just to mention one of many strange errors. Just to make it harder, app works well if running in other countries that is using the same format. Daahh1
-
Pulled my hair out over one today (and a week ago when I first saw the issue)
Setting up development environment. Created test user and test database and used mysqldump to copy data over.
MySQL was executing a function as the wrong user. Checked my config files, checked my config reader, checked my database connection, checked checked checked. Checked everything twice, I felt like Santa.
Changed the password in the config file to make sure it was logging in right. It threw an error still but not one I had expected so I figured the login still worked (My bias was that I thought the config file was not working or the mysql library was caching authentication. Both were wrong but this blinded my debugging. Foolish, I have forgotten my training)
Logged into the database directly via client. *didn't bother executing the function because I was only testing auth*
Think
Think
Think
Search entire project for database username. It's gotta be hard coded by accident SOMEWHERE.
It's not.
Why
Why
Why
Wait.
-- Flashback to how the test db was created -- What's actually in this damn script?
DEFINER `production_user` CREATE PROCEDURE `old_db`.`procedure_name`
Two issues: definer is old user (this is the error I was seeing) and its creating the procedure on the old db (this would be the next error I would have found if I kept going)
Fuck mysqldump. Install mysqldbcopy. Works
Put hair back in head. -
At school during my first Java project we had to make a simulation of a parking garage and what effects price changes would have in order to find the most optimal business model from some company.
At the project kick off.
School: "we will be checking your code for plagiarism. if you use code from the internet, even if its 2 lines you need to mention the source. otherwise you will fail this cource."
We go on to do the project.
Friend of mine who was in another class sees a group presenting a 2 days old version of my teams application. theres literaly a credits button that displays the names of the people that worked on it in a popup.
Me: mentions to a teacher that my project was stolen.
They literaly didnt even change the name and pulled the entire repository from github and handed it in.
The fucking teacher doesnt even check the code / git logs after i mentioned that the entire codebase was stolen from a public github repository.
There was an endless mountain of proof to support my claim such as our team members names hard coded in the code they handed in and about 500 commits from our accounts.
I will from now on NEVER EVER mention sources when i hand in code at school.1 -
Microsoft is always at it.
Hello, I recently discovered this eye candy of a looking website and how good the CSS looks (Kudos to whoever made this) , and I decided to post a rant of my own. And its about MS Edge and other applications.
So I built my own ATX tower a while back (Loving it) , and I found that it was WONDERFUL to have a computer that was brand new, that didnt have candy crush preinstalled on it when I got it.
Windows 10 users, do this:
Press WIN+I to open the settings menu.
Go to "Apps"
Scroll down the list....
How many applications do you see there that are actually useful , or that you have downloaded?
I never downloaded a Realtek Driver... and I never need it for anything to work. This is the case for 90% of the things you may see in the applications.
Why is HULU installed?
Why is NETFLIX installed?
Why is MINECRAFT BETA INSTALLED? THE BETA HASNT BEEN OUT IN YEARS?
But I digress, this is the case when I work on a computer such as my grandmothers who, bless her soul, isnt very adept at basic file management. Heck , she uses free Norton Antivirus against my recommendation to use the PAID active firewall application on her computer (VIPRE)
So needless to say she needs help. All the time.
So here comes microsoft recently, reinstalling like 15 different programs on her computer , including MS edge. Who else is tired of bloating? I know I am.
I recently found this program on Git!
Its the Sycnex Windows 10 DeBloater
But guess what? DONT USE IT.
Wanna know why?
Because if you do, it works, and if it works, it disables:
- Cortana (basic search engine for your OS, good luck finding candy crush).
- Microsoft Store (That means no XBOX games pass either)
- It breaks part of the file explorer
Wanna know why? BeCaUsE it geTs riD oF Ms EdGe
And believe it or not, apparently MS edges source code is Mandatory for certain functions on your computer. So even If you try to uninstall the browser, it stays behind in some form.
So there you have it. They hard coded it into windows.
Enjoy!
So its not even the author of the GITHUB programs fault, its just a real techincal limitation of the platform.
I hate that stuff man. I really do. There should be 20 things installed on my computer and thats it. Everything else is just, space for games on a solid state. Or Eclipse Photon, etc.
I would post links to show you guys a few things but. Unfortunately I cant post URLs yet!
However, thats my first rant. Hope you liked it.20 -
Another terrible rant from the inhereted Hydra source code. So deep in the dark dungeon of that code I noticed something interesting. They declare this INT32 array with an incredibly long (like 200 values) list of hard coded magic numbers. Something along the lines of:
INT32 array[200] = {-1,0,1,21,4,7,19,33...};
However, the resulting output was incorrect. After spending a fort night and a good chunk of my remaining sanity I had overcone the 437 levels of indirection left by the previous programmers, and narrowed it down to this line. But it looked perfectly fine.
I pull up the diffs and notice someone had checked in a change to the source. I track it to this line and find what the original data had been.
INT32 array[200] = {-1,0,1,2l,4,7,19,33...};
In VS the default font shows l and 1 as fucking identical. Someone had accidentally made that change to 21 from the original 2l and checked it in. I mean I can't really blame them. Who the fucking hell inatantiates a fucking int32 array and peppers in a fucking 2l (long) for no fucking reason?! -
I hate programmatic auto layout. It's such a mess! Simple shit like cells that can easily be defined in a .nib become spaghetti coded messes that violate every good programming practice ever. Want to recreate the same style of cell again? Good luck reverse engineering the hieroglyphics your teammate wrote when creating the layout by hand. Never mind a whole bunch of useless shit is done in code that could easily be defined via runtime attributes through the storyboard. But why learn a new approach? Cause job security. Or because for some reason Interface Builder tools are seen as "too hard" or "not scalable" to use.. fuck me.2
-
May's last week was very hectic. I had just finished my final exams and there were going to be semester project evaluations in that whole week.
@safiullah and me had decided to make a whole Social Network with all features in it, for the DB course project.
All other classmates were making small management systems like ticket booking and etc.
We thought that if we really wanted to learn DB concepts then we should come up with something different than a management panel.
Hence we did it. This was the first time we used a framework. Well, I had written that PHP framework while i was learning about how frameworks work and the way they are made. So it wasn't a big thing but it was something which could be used as a base for clean and organized code.
It took about a month of commits and pushes and it resulted in a very good social network. It had all the features and algorithms present in a starter social network.
For us students, we were happy to see what a fine job we had done. We learnt a lot and used new concepts.
When we went to the instructor, she asked us to sit down and show the project. @safiullah placed the laptop, and logged out from the social network so that he could show her a demo.
She exclaimed,"Why did you do it (Log out) ?"
He replied: "To show you how it works🤷🏻♂️"
She:"Get to the previous state and leave it"
Then she asked different questions like what was a post request in php and how it differed from get? what library for DB connection was used... etc.
We explained each and every step.
She saw the frontend design and said "You've just added text to the elements" as If we were showing her a theme demo with hard coded text accomplished by inspect element.
She did not take a look at any other page than the one we had shown her at start. She navigated to no other page and asked nothing about what total features were implemented and how they were done?
Then she said Thank You and we left.
After some days marks were uploaded in LMS and we were just two points above the average.
She took no look and gave us the least when our project was the best.
I'm 100 percent sure she thought that we were showing her a project copied from somewhere else. 🤣4 -
So I went into work yesterday on my day off right? (Mardi Gras) to finish up a pretty significant addition to our application. I only had 2 days to work on it before we were to show it off to potential buyers today, so I came in to get it to at least a working state that we can improve later...
Well, that wasn't good enough. First thing my boss said when he saw it was, "this isn't what we had talked about". No dip-shit, this is what you get when you have 1 programmer working on their holiday. Like, I know we talked about this massive content update, but we talked about LITERALLY LESS THAN A WEEK AGO. I really don't know what you expect, but I made it very clear that all I could get done was a prototype at best. Not to mention that this whole app is a hard-coded "fake-prototype" that was never supposed to make it this far.... -
The secondary access point stopped working, turns out the date/time is wrong. You guessed it, the ntp server is hard-coded in the firmware (last version), no option to change it, it a linksys but not supported by openwrt.
Grabbed a second one, flashed with openwrt, same shit, and can't access by ssh because it's an old dropbear build.
Hate trashing things, but sometimes too much is too much 🍺2 -
When you pick up a codebase from 4 years ago of utter dissaray and static/hard coded in nature.
Then later meet said original developer presenting at a conference on re-useable code.
There is a feeling akin to meeting someone whom you have seen naked...2 -
My team was asked to point to a mock service in our QA env. Standard procedure is to copy the line in our QA property file that has the service URL, comment one out, and change the other to the mock service. Then, push the code and deploy to QA.
What did someone do? He didn't touch the property file. He found where we were defining the configuration for our http requester, removed the property reference, and HARD CODED the mock URL.
Wait, it gets better. The mock service does not function the same way the real service does. We need to send an additional query param to the mock service (that has a value already being sent in a header) so they modified ANOTHER file where the actual request is being made.
He made the changes, deployed to QA, and didn't check in any code.
What is going to happen next time when we deploy to QA with the latest code? Oh look, we'll be pointing to the real service again.
I explained this to my architect, and included that this messed up mock service they were calling is our 2nd mock service (no idea why they made a new one) and he simply deleted the stupid 2nd mock service. Screw that!
And...now requests to QA don't work 😂 -
I just started a new job last week. Old-school sysadmin role for a pretty old-school company, but the pay is nice and the kids've gotta eat.
They gave me a windows laptop. I haven't used windows for work or as a daily driver since 2016, and now, a week into trying to make this machine work for me, I have the following observations to report.
WSL is nice. It's nice to have it installed(though actually installing it was an adventure unto itself), and to set alacritty to open my default user prompt straight into that is very nice. As terminal emulators are by far my most used piece of software, that's nice to have.
Command-line software management through powershell, winget, and chocolatey are also very nice.
I like the accessibility offered by autohotkey, though there is something of a learning curve on it. Once I get better with it, I suspect that what follows will be largely mitigated.
The Bad:
In general, Windows is janky. It feels like it's all kinda taped together without any particular cohesion in mind. As a desktop, it feels decidedly amateur, compared to the feature-mountain polish of MacOS, and especially compared to the flexibility and infinite possibilities of Linux.
Lots of screen real estate is wasted, with window decorations, and fonts that look terrible at smaller sizes, because the antialiasing of fonts is just terrible. Almost all the features I depend on in other desktops: ad-hoc searches and launches(alfred, rofi) are-- again --janky. They work, but they typically require more typing than alfred or rofi. I admit I haven't spent weeks on this problem yet, but I haven't found a workable solution yet with wox, hain, and keypirinha. Quick searches like what you get with alfred, alfred workflows, and the swiss army knife that is rofi, just aren't possible or reliable with the tools I've used so far, and most require some kind of indexing agent to fully function.
It beggars imagination that a desktop in which users are subjected to "default apps" that is purported to be acceptable for enterprise, professional use, does not have a default entry for text editor. I installed nvim-qt, and I want to use it to edit anything and everything I ever edit with text, but all too often, apps have hard-coded instructions to open text files with notepad.
I want to open certain URLs with firefox, certain ones with firefox developer edition, and others with vivaldi, and yet there is not an app available that I have seen yet in my searches that allows me to set this kind of configuration. I found one that's supposed to, but it just ignores everything I put into its config, and just opens MS Edge for everything. Jank.
Simple things take too long. Like the delay between when I laboriously hit ctrl-alt-del to bring up the login and when the actual text field appears, and the delay between that and when I want to start using the computer.
Changing some settings requires a reboot. Updating some software requires a reboot. Updating permissions on something sometimes requires a reboot. And those are all on top of the frequent requests to reboot for updates.
I would have thought Windows would have overcome most of the issues that create these problems, but it's just, as I said, amateur.1 -
fuck it, tell me straight.
Can i live into this tech world with poor math skills and no interest in web dev and designing?
my experience as native mobile dev was enjoyable and still is, but i fear that this is not a very broad career choice.
You see their is blockchain, dapps , hybrid apps, webapps, server designing, tensorflow models and Ai models( though they can be integrated with native apps too i guess ) , and many more tech and therefore jobs that rely on knowing about the webdev. and all i know is how to make a decent native java app.
and why the fuck should i join this web dev cult? its such a fucking mess. 8 different types of text sizes sizes, <b> and <strong> being the same thing, do you know about a thing called abstraction? My android studio would give me fucking murder warnings if i even dared to introduce hard coded texts along with code. and here, an html page is basically text + attributes? fucking kill me.3 -
one of the most annoying things about our system at work is that we're constantly updating broken links because we're in the process of updating a lot of legacy code. there's this one service to retrieve links for a module, but half the links in the legacy code are hard-coded strings anyway, so the whole thing is just a huge maintainability disaster. anyone ever come up with any interesting solutions for managing links between modules?1
-
I wrote my first code in 5th grade in QBasic, together with a friend who introduced me to it. We made a math "game", with hard coded problems, so you'd get the same questions everytime you played ;D
-
Joined a startup, pretty happy with the company over-all so far truthfully. Secured a large project yesterday with higher billables so job security wise things are good. However... The project I've been working on is a mix of a Spring boot webapp and a game. Two separate applications that interact with each other.
Two teams. A home team, and an away team, plus.... 2 "AI's" to play against... Well.... whoever designed this "AI" designed it so they can only ever play as the away team. Why... every function, every method, every bit of logic is coded around what "Half" of the inning it is.... Now I had the bright idea of picking up the hardest task on the ticket list, of making these AI's be able to play as the home team.
WHAT A TASK, and to make things worse. Instead of using some kind of proper inheritance with actual structure, we have TWO COPY AND PASTED AIs where the other has more hard-coded team sided logic that needs to ALSO be adapted.
17 points my ass.
I do love my job though.4 -
It finally happened. They just kept pushing, and pushing, and pushing. Asking for more and more features in an app that was a hard-coded demo from the beginning. Well it's all coming down now.
That database that was added in, missing half the API.
New features, broken.
Old features, broken.
Buttons, missing.
Drivers, need updating.
Yee, haw.
I tried to tell them, I really did. That maybe we should stop asking the client what they want, and instead sell them what we have. Well, now we have nothing.3 -
Sometime ago I had to debug a override to a Joomla component made by the trainne.
So the component work just fine on development but not in production. I made the transition myself so I knew the code was the same.
This is my first rant, quite long, hope you like it.
So I thought something went wrong in the database, I searched and didn't find a thing.
Then I decided to check the code... hold yourself now
The component had to support internalization ..so instead of using the proper function to see what the current language is, he made a if with the URL hard coded..
Like http:://dummy.com/en/
:)2 -
A jr dev was having an issue registering code with our data pipeline (prefect self hosted).
Turns out he's running vscode to launch a anaconda shell (didn't even know that was a thing) to launch jupyter notebook and running commands in the notebook (didn't know that was possible) all from Windows.
No it doesn't work. His environment configuration isn't right. I told him to just run Linux and get rid of all that nonsense.
Nothing is on git yet and were three weeks in! His code is full of hard coded absolute paths of files on his hard drive... He even had an example app to go buy, with a project layout to copy.
There's no helping some people9 -
Spent days to setup a newer-Android version with reverse-proxy-HTTPS certificate in its CA store + one that'd support Google Play and signing in (old school man-in-the-middle).
FINALLY got the API calls of this 1 app whose unofficial client I wanted to make coz their main sucks ass. Just to get stuck on the phone-number-based OTP that they use for their login (:
They send a unique token for each OTP request, I assumed they're using some hard-coded string based function, which they decrypt on their backend to verify.
Downloaded their APK and decompiled. Went through dozens of weird-ass-named classes (coz decompiled). For the 2nd time I thought I had it!
But no -.- they call Google's Firebase messaging for the phone-num OTP n that function simply called firebase, looked into that service n ofc it's very tightly coupled with the calling API's backend
It was fun while it lasted I guess~~~1 -
Hey guys, first time writing here.
Around 8 months ago I joined a local company, developing enterprise web apps. First time for me working in a "real" programming job: I've been making a living from little freelance projects, personal apps and private programming lessons for the past 10 years, while on the side I chased the indie game dev dream, with little success. Then, one day, realized I needed to confront myself with the reality of 'standard' business, where the majority of people work, or risk growing too old to find a stable job.
I was kinda excited at first, looking forward to learning from experienced professionals in a long-standing company that has been around for decades. In the past years I coded almost 100% solo, so I really wanted to learn some solid team practices, refine my automated testing skills, and so on. Also, good pay, flexible hours and team is cool.
Then... I actually went there.
At first, I thought it was me. I thought I couldn't understand the code because I was used reading only mine.
I thought that it was me, not knowing well enough the quirks of web development to understand how things worked.
I though I was too lazy - it was shocking to see how hard those guys worked: I saw one guy once who was basically coding with one hand, answering a mail with another, all while doing some technical assistance on the phone.
Then I started to realize.
All projects are a disorganized mess, not only the legacy ones - actually the "green" products are quite worse.
Dependency injection hell: it seems like half of the code has been written by a DI fanatic and the other half by an assembly nostalgic who doesn't really like this new hippy thing called "functions".
Architecture is so messed up there are methods several THOUSANDS of lines long, and for the love of god most people on the team don't really even know WHAT those methods are for, but they're so intertwined with the rest of the codebase no one ever dares to touch them.
No automated test whatsoever, and because of the aforementioned DI hell, it's freaking hard to configure a testing environment (I've been trying for two days during my days off, with almost no success).
Of course documentation is completely absent, specifications are spread around hundreds of mails and opaquely named files thrown around personal shared folders, remote archives, etc.
So I rolled my sleeves up and started crunching as the rest of the team. I tried to follow the boy-scout rule, when the time and scope allowed. But god, it's hard. I'm tired as fuck, I miss working on my projects, or at least something that's not a complete madness. And it's unbearable to manually validate everything (hundreds of edge cases) by hand.
And the rest of the team acts like it's all normal. They look so at ease in this mess. It's like seeing someone quietly sitting inside a house on fire doing their stuff like nothing special is going on.
Please tell me it's not this way everywhere. I want out of this. I also feel like I'm "spoiled", and I should just do like the others and accept the depressing reality of working with all of this. But inside me I don't want to. I developed a taste for clean, easy maintainable code and I don't want to give it up.3 -
I'm currently filled with equal parts of "curiosity" and "dread"..
About to go into a meeting arranged by Marketing to discuss the revamp of an old webapp. The terms "fresh new look" and "current day best practices" have been thrown around...
It's a Java 7 webapp deployed to Tomcat 7, with hard coded filesystem paths in JSP files.
Hmm.. maybe a little more "dread" than "curiosity", actually. 🤔5 -
Learning Java in online course...
Have to do an assignment..
Thinking hard and stressing my mind to find the solution for past two days. Today, don't know how it happened. I just coded and got solution...
The moment my code passed the tests, All of my pain vanished.
I'm happy that I chose programming field 😇... Still lot to learn !!!!1 -
There's a right way, and a wrong way...
Correct:
if (version <= OLD_VERSION) {
... do_something_old ...
}
else { ... something new ... }
The wrong way:
if (version = NEW_VERSION) {
... do something new ...
} else { ... do something old ... }
What my standup report is today:
I'm modifying thousands of lines of SQL code because the script was hard-coded to only work on SQL Server 2008 R2, and we're using SQL 2017 in our test environment. All of those lines now fail because we don't match your "new version" number.4 -
few years ago... Setting up Ellucian's mobile product only to find out they left out where to put the config file (it's not in the typical App_Data directory or root of WAR file) it's in a hard coded spot on the C drive (C:\ellucianmobile\...groovy)
Below is the change request their support team put in to update the documentation...
Their documentation seems to be a bit spotty at times, almost as if they want you to have to pay their support / consultants to setup the products you bought from them -
Spent all not fixing someone's errors because they used XML and hard coded values, couldn't even work in the application I was going to work on1
-
Joined a new team at work hoping to learn something new. Was told by the team lead that they will be starting development on a new project that I was interested in.
Guess what it was all a fucking lie. I'm assigned a task to create documentation for some legacy java shitcode without any fucking comments.
Fine I get it, they say it's required going down the road of the new project as it will work alongside the old application. But the code is so fucking bad. For starters
-The db host and credentials are hard-coded in a million places
-it stores user credentials in plain text
-its creating files in the fucking filesystem to store things instead of storing it in the db
-each functions ranges from 100 to 8000 lines of code
Who even codes like this 🤯
And I can't fix these issues. All I need to do is document every function and class and package. Fine. Fuck this shit -
Got asked to rewrite a breadcrumb output for a client's site.
After a few minutes of "no fucking way..", notices that the client has hard-coded the breadcrumbs manually for every page, product, category..
Aka <a>Products</a> - <a>Backpacks</a> - ...
Really? Every. Single. Page. -
Idea - possibly a bad one - visual studio extension that hits a database to display possible values to supply as a method argument. With caching of course..
I'm thinking along the lines of permissions in a database that at some point have to be hard coded against code to enforce them. Stuff like that.
Possible or beyond stupid?7 -
For those who coded js for years. How hard to pickup python backend? I refer js/ts node because I don't have to do context switching7
-
Hi,
What tools do you use (or suggest use) to identify hard-coded credentials in a code or repo?
Thank you!4 -
Does anyone have any advice for making api integration tests data independent? We have a few hundred tests firing against our seed data and they all check for hard coded values. But the problem is that this means adjusting seed data is really really slow as you have to fix integration tests too, which can be thousands of lines of values needing to be corrected.
-
My coding style is mostly influenced by good old personal preference, but also because of a certain internship where there was a lot of gain to be had by making everything as reusable and testable as possible.
I guess you could say my motto is usability, readability and flexibility:
I like tidy, reusable code with an emphasis on keeping code readable. I've always liked modular things I guess...
And I despise two things: curly brackets on the next line and spaces for indentation... But way worse is having no brackets at all (looking at you Python): it's clearer to have lower-level code inside some sort of "container" markers i.e. brackets (also gives more IDE functionality like color-coding hierarchically).
Indentation should always be tabs so anyone can have their own width of indentation set through their IDE, making it way more accessible to fellow colleagues!
And I also like having parameterized code over hard-coded functions: way more flexible.