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 - "first lines"
-
This code review gave me eye cancer.
So, first of all, let me apologize to anyone impacted by eye cancer, if that really is a thing... because that sounds absolutely horrible. But, believe me, this code was absolutely horrible, too.
I was asked to code review another team's script. I don't like reviewing code from other teams, as I'm pretty "intense" and a nit-picker -- my own team knows and expects this, but I tend to really piss off other people who don't expect my level of input on "what I really think" about their code...
So, I get this script to review. It's over 200 lines of bash (so right away, it's fair game for a boilerplate "this should be re-written in python" or similar reply)... but I dive in to see what they sent.
My eyes.
My eyes.
MY EYES.
So, I certainly cannot violate IP rules and post any of the actual code here (be thankful - be very thankful), but let me just say, I think it may be the worst code I've ever seen. And I've been coding and code-reviewing for upwards of 30 years now. And I've seen a LOT of bad code...
I imagine the author of this script was a rebellious teenager who found the google shell scripting style guide and screamed "YOU'RE NOT MY REAL DAD!" at it and then set out to flagrantly violate every single rule and suggestion in the most dramatic ways possible.
Then they found every other style guide they could, and violated all THOSE rules, too. Just because they were there.
Within the same script... within the SAME CODE BLOCK... 2-space indentation... 4-space indentation... 8-space indentation... TAB indentation... and (just to be complete) NO indentation (entire blocks of code within another function of conditional block, all left-justified, no indentation at all).
lowercase variable/function names, UPPERCASE names, underscore_separated_names, CamelCase names, and every permutation of those as well.
Comments? Not a single one to be found, aside from a 4-line stanza at the top, containing a brief description of that the script did and (to their shame), the name of the author. There were, however, ENTIRE BLOCKS of code commented out.
[ In the examples below, I've replaced indentation spacing with '-', as I couldn't get devrant to format the indentation in a way to suitably share my pain otherwise... ]
Within just a few lines of one another, functions defined as...
function somefunction {
----stuff
}
Another_Function() {
------------stuff
}
There were conditionals blocks in various forms, indentation be damned...
if [ ... ]; then
--stuff
fi
if [ ... ]
--then
----some_stuff
fi
if [ ... ]
then
----something
something_else
--another_thing
fi
And brilliantly un-reachable code blocks, like:
if [ -z "$SOME_VAR" ]; then
--SOME_VAR="blah"
fi
if [ -z "$SOME_VAR" ]
----then
----SOME_VAR="foo"
fi
if [ -z "$SOME_VAR" ]
--then
--echo "SOME_VAR must be set"
fi
Do you remember the classic "demo" programs people used to distribute (like back in the 90s) -- where the program had no real purpose other than to demonstrate various graphics, just for the sake of demonstrating graphics techniques? Or some of those really bad photo slideshows, were the person making the slideshow used EVERY transition possible (slide, wipe, cross-fade, shapes, spins, on and on)? All just for the sake of "showing off" what they could do with the software? I honestly felt like I was looking at some kind of perverse shell-script demo, where the author was trying to use every possible style or obscure syntax possible, just to do it.
But this was PRODUCTION CODE.
There was absolutely no consistency, even within 1-2 adjacent lines. There is no way to maintain this. It's nearly impossible even understand what it's trying to do. It was just pure insanity. Lines and lines of insanity.
I picture the author of this code as some sort of hybrid hipster-artist-goth-mental-patient, chain-smoking clove cigarettes in their office, flinging their own poo at their monitor, frothing at the mouth and screaming "I CODE MY TRUTH! THIS CODE IS MY ART! IT WILL NOT CONFORM TO YOUR WORLDLY STANDARDS!"
I gave up after the first 100 lines.
Gave up.
I washed my eyes out with bleach.
Then I contacted my HR hotline to see if our medical insurance covers eye cancer.32 -
Hi, I am a Javascript apprentice. Can you help me with my project?
- Sure! What do you need?
Oh, it’s very simple, I just want to make a static webpage that shows a clock with the real time.
- Wait, why static? Why not dynamic?
I don’t know, I guess it’ll be easier.
- Well, maybe, but that’s boring, and if that’s boring you are not going to put in time, and if you’re not going to put in time, it’s going to be harder; so it’s better to start with something harder in order to make it easier.
You know that doesn’t make sense right?
- When you learn Javascript you’ll get it.
Okay, so I want to parse this date first to make the clock be universal for all the regions.
- You’re not going to do that by yourself right? You know what they say, don’t repeat yourself!
But it’s just two lines.
- Don’t reinvent the wheel!
Literally, Javascript has a built in library for t...
- One component per file!
I’m lost.
- It happens, and you’ll get lost managing your files as well. You should use Webpack or Browserify for managing your modules.
Doesn’t Javascript include that already?
- Yes, but some people still have previous versions of ECMAScript, so it wouldn’t be compatible.
What’s ECMAScript?
- Javascript
Why is it called ECMAScript then?
- It’s called both ways. Anyways, after you install Webpack to manage your modules, you still need a module and dependency manager, such as bower, or node package manager or yarn.
What does that have to do with my page?
- So you can install AngularJS.
What’s AngularJS?
- A Javascript framework that allows you to do complex stuff easily, such as two way data binding!
Oh, that’s great, so if I modify one sentence on a part of the page, it will automatically refresh the other part of the page which is related to the first one and viceversa?
- Exactly! Except two way data binding is not recommended, since you don’t want child components to edit the parent components of your app.
Then why make two way data binding in the first place?
- It’s backed up by Google. You just don’t get it do you?
I have installed AngularJS now, but it seems I have to redefine something called a... directive?
- AngularJS is old now, you should start using Angular, aka Angular 2.
But it’s the same name... wtf! Only 3 minutes have passed since we started talking, how are they in Angular 2 already?
- You mean 3.
2.
- 3.
4?
- 5.
6?
- Exactly.
Okay, I now know Angular 6.0, and use a component based architecture using only a one way data binding, I have read and started using the Design Patterns already described to solve my problem without reinventing the wheel using libraries such as lodash and D3 for a world map visualization of my clock as well as moment to parse the dates correctly. I also used ECMAScript 6 with Babel to secure backwards compatibility.
- That’s good.
Really?
- Yes, except you didn’t concatenate your html into templates that can be under a super Javascript file which can, then, be concatenated along all your Javascript files and finally be minimized in order to reduce latency. And automate all that process using Gulp while testing every single unit of your code using Jasmine or protractor or just the Angular built in unit tester.
I did.
- But did you use TypeScript?36 -
I hate those fucking sites which make you login first and then redirect to their home page.
FOR FUCK'S SAKE, ITS 2017. CANT YOU BASTARDS WRITE A FEW LINES OF CODE SO THAT I AM AUTOMATICALLY REDIRECTED TO WHERE I WAS AND I NEED NOT BACKSPACE EVERY TIME I LOGIN?9 -
Mathematician girl invites me to code some lines.
I arrive at her flat and she was alone so some part of me thought ehem. Anyway i took a look at the program first.
Me: so... it's a date?
Her: no im using cosmic radiation.
Me: huh?
Her: yeah accessing a value from a sensor gives a..
(Apparently she thought i was asking about the Random Function she was using, which usually uses the date)24 -
Just watched Bourne. One of the first lines are: "Corrupt their database by using SQL". It's like saying: "Corrupt their text document with words". I love when they are "technical" in movies.11
-
My first job: The Mystery of The Powered-Down Server
I paid my way through college by working every-other-semester in the Cooperative-Education Program my school provided. My first job was with a small company (now defunct) which made some of the very first optical-storage robotic storage systems. I honestly forgot what I was "officially" hired for at first, but I quickly moved up into the kernel device-driver team and was quite happy there.
It was primarily a Solaris shop, with a smattering of IBM AIX RS/6000. It was one of these ill-fated RS/6000 machines which (by no fault of its own) plays a major role in this story.
One day, I came to work to find my team-leader in quite a tizzy -- cursing and ranting about our VAR selling us bad equipment; about how IBM just doesn't make good hardware like they did in the good old days; about how back when _he_ was in charge of buying equipment this wouldn't happen, and on and on and on.
Our primary AIX dev server was powered off when he arrived. He booted it up, checked logs and was running self-diagnostics, but absolutely nothing so far indicated why the machine had shut down. We blew a couple of hours trying to figure out what happened, to no avail. Eventually, with other deadlines looming, we just chalked it up be something we'll look into more later.
Several days went by, with the usual day-to-day comings and goings; no surprises.
Then, next week, it happened again.
My team-leader was LIVID. The same server was hard-down again when he came in; no explanation. He opened a ticket with IBM and put in a call to our VAR rep, demanding answers -- how could they sell us bad equipment -- why isn't there any indication of what's failing -- someone must come out here and fix this NOW, and on and on and on.
(As a quick aside, in case it's not clearly coming through between-the-lines, our team leader was always a little bit "over to top" for me. He was the kind of person who "got things done," and as long as you stayed on his good side, you could just watch the fireworks most days - but it became pretty exhausting sometimes).
Back our story -
An IBM CE comes out and does a full on-site hardware diagnostic -- tears the whole server down, runs through everything one part a time. Absolutely. Nothing. Wrong.
I recall, at some point of all this, making the comment "It's almost like someone just pulls the plug on it -- like the power just, poof, goes away."
My team-leader demands the CE replace the power supply, even though it appeared to be operating normally. He does, at our cost, of course.
Another weeks goes by and all is forgotten in the swamp of work we have to do.
Until one day, the next week... Yes, you guessed it... It happens again. The server is down. Heads are exploding (will at least one head we all know by now). With all the screaming going on, the entire office staff should have comped some Advil.
My team-leader demands the facilities team do a full diagnostic on the UPS system and assure we aren't getting drop-outs on the power system. They do the diagnostic. They also review the logs for the power/load distribution to the entire lab and office spaces. Nothing is amiss.
This would also be a good time draw the picture of where this server is -- this particular server is not in the actual server room, it's out in the office area. That's on purpose, since it is connected to a demo robotics cabinet we use for testing and POC work. And customer demos. This will date me, but these were the days when robotic storage was new and VERY exciting to watch...
So, this is basically a couple of big boxes out on the office floor, with power cables running into a special power-drop near the middle of the room. That information might seem superfluous now, but will come into play shortly in our story.
So, we still have no answer to what's causing the server problems, but we all have work to do, so we keep plugging away, hoping for the best.
The team leader is insisting the VAR swap in a new server.
One night, we (the device-driver team) are working late, burning the midnight oil, right there in the office, and we bear witness to something I will never forget.
The cleaning staff came in.
Anxious for a brief distraction from our marathon of debugging, we stopped to watch them set up and start cleaning the office for a bit.
Then, friends, I Am Not Making This Up(tm)... I watched one of the cleaning staff walk right over to that beautiful RS/6000 dev server, dwarfed in shadow beside that huge robotic disc enclosure... and yank the server power cable right out of the dedicated power drop. And plug in their vacuum cleaner. And vacuum the floor.
We each looked at one-another, slowly, in bewilderment... and then went home, after a brief discussion on the way out the door.
You see, our team-leader wasn't with us that night; so before we left, we all agreed to come in late the next day. Very late indeed.9 -
Just sharing my experience of my spontaneous interview with Facebook. I'm not good at writing these but here you go :)
- I was working as an Android dev and didn't have much knowledge in algorithms nor competitive programming, never ever interviewed with big companies.
- a random day on LinkedIn, a recruiter from Facebook contacted me
- I ignored it for few week because I thought it's so out of my league, then somehow, out of blue, I had a thought of giving it a try, so I did
- passed first round
- start studying algorithms a little for phone interview in 3 weeks
- recklessly took the phone interview
- passed
- start studying intensively (while working fulltime) for the on-site interview in 2 months
- almost got the job, they gave me one more chance by a followed up interview
- messed up the last chance real bad
- failed!!!
- Initially I just wanted to give it a try, but the fact that I failed at very very last chance, frankly, bothers me a bit. Maybe I will interview with FB or big companies if I have chance later, but I know for sure that the studying had made me a much better dev. All the code I write now is much more efficient (I think), I can and not anymore afraid of reading complicated code.
- Overall, it does takes a lot of time (~4 months studying while working fulltime), but also benefits myself a lot though I didn't get the job, so basically, good experience, but better if I got the job 😁
Oops, wanted to write a few lines and it's a long post already.. I should stop here :D9 -
Every day.
I am a PHP developer.
Yeah, "another PHP is awful" rant... no, not really.
It's just unsuitable for some ambitious projects, just like Ruby and Python are.
First of all, DO NOT EVER use Laravel for large enterprise applications. The same goes for RoR, Django, and other ActiveRecord MVCs.
They are all neat frameworks for writing a todo app, as a better-than-wordpress flexible blogging solution, even as a custom webshop.
Beyond 50k daily users, Active Record becomes hell due to it's lazy fat querying habits. At more than a million users... *depressed sigh*.
PHP is also completely unsuitable for projects beyond 5M lines of code in my opinion. At more than 25M lines... *another depressed sigh*.
You can let your devs read Clean Code and books about architecture patterns, you can teach them about SOLID & DRY, you can write thousands of tests... it doesn't matter.
PHP is scaffolding, it's made of bamboo and rope. It's not brick or concrete. You can build quickly, but it only scales up to a certain point before it breaks in multiple places.
Eventually you run into patterns where even 100% test coverage still doesn't guarantee shit, because the real-life edge cases are just too complex and numerous.
When you're working on a multi-party invoicing system with adapters for various tax codes, or an availability/planning system working across timezones, or systems which implement geographical routefinding coupled to traffic, event & weather prediction...
PHP, Python, Ruby, etc are just missing types.
Every day I run into bugs which could have been prevented if you could use ADTs in a generic way in PHP. PHP7 has pretty good typehints, and they prevent a lot of messy behavior, but they aren't composable. There is no way to tell PHP "this method accepts a Collection of Users", or "this methods returns maybe either an Apple or a Pear, and I want to force the caller to handle both Apple/Pear and null".
Well, you could do that, but it requires a lot of custom classes and trickery, and you have to rewrite the same logic if you want to typehint a "Collection of Departments" instead of "Collection of Users" -- i.e., it's not composable.
Probably the biggest issue is that languages with a (mostly) structural type system (Haskell, Rust, even C#/JVM languages to some degree, etc) are much slower to develop in for the "startup" era of a project, so you grab a weak, quick prototyping language to get started.
Then, when you reach a more grown up phase, you wish you had a better type system at your disposal...28 -
First day at new web dev job:
Me: what IDE do you guys use?
Coworker: Notepad/notepad++
M: Okay... Any version control?
C: Oh we don't need it. We just update the server pages.
*Boss walks in*
Boss: Heres the project for you to do just need you to rebrand this web app we made for client A for client B just need to change some scripts. Should only take afew hours.
I take a look. No comments. Not formatted. Missing braces and brackets. Semicolons at odd places and missing at others. 7802 lines of code...16 -
Participated in an IEEE Hackathon where we built a line following robot. We were the slowest, but we had the most accuracy.
The image is our first attempt at getting it to work, consequently, we were the first team to actually get a prototype finished and working. Other people were trying to cram as many sensors as possible. We stuck with one, and 47 lines of code to make it work. Everyone else had more than 2 sensors and I can only imagine how much code they had.19 -
I have to let it out. It's been brewing for years now.
Why does MySQL still exist?
Really, WHY?!
It was lousy as hell 8 years ago, and since then it hasn't changed one bit. Why do people use it?
First off, it doesn't conform to standards, allowing you to aggregate without explicitly grouping, in which case you get god knows what type of shit in there, and then everybody asks why the numbers are so weird.
Second... it's $(CURRENT_YEAR) for fucks sake! This is the time of large data sets and complex requirements from those data sets. Just an hour through SO will show you dozens of poor people trying to do with MySQL what MySQL just can't do because it's stupid.
Recursion? 4 lines in any other large RDBMS, and tough luck in MySQL. So what next? Are you supposed to use Lemograph alongside MySQL just because you don't know that PostgreSQL is free and super fast?
Window functions to mix rows and do neat stuff? Naaah, who the hell needs that, right? Who needs to find the products ordered by the customer with the biggest order anyway? Oh you need that actually? Well you should write 3-4 queries, nest them in an incredibly fucked up way, summon a demon and feed it the first menstrual blood of your virgin daughter.
There used to be some excuses in the past "but but but, shared hosting only has MySQL". Which was wrong by the way. This was true only for big hosting names, and for people who didn't bother searching for alternatives. And now it's even better, since VPS and PaaS solutions are now available at prices lower than shared hosting, which give you better speed, performance and stability than shared hosting ever did.
"But but but Wordpress uses MySQL" - well then kill it! There are other platforms out there, that aren't just outrageously horrible on the inside and outside. Wordpress is crap, and work on it pays crap. Learn Laravel, Symfony, Zend, or even Drupal. You'll be able to create much more value than those shitty Wordpress sites that nobody ever visits or pay money on.
"But but but my client wants some static pages presented beside their online shop" - so why use Wordpress then? Static pages are static pages. Whip up a basic MVC set-up in literally any framework out there, avoid MySQL, include a basic ACL package for that framework, create a controller where you add a CKEditor to edit page content, and stick a nice template from themeforest for that page and be done with that shit! Save the mock-up for later use if you do that stuff often. Or if you're lazy to even do that, then take up Drupal.
But sure, this is going a bit over the scope. I actually don't care where you insert content for your few pages. It can be a JSON file for all I care. But if I catch you doing an e-commerce solution, or anything else than just text storage, on MySQL, I'll literally start re-assessing your ability to think rationally.11 -
Boss: please refactor this js 2k lines spaghetti code class and use it in our reactive functional app
Me: it will take like 1 week to refactor and plug this
Boss: but it's almost the time I needed to write it!
YOU DON'T SAY? MAYBE FIRST LEARN HOW TO WRITE DECENT CODE. ffs.2 -
Ladies and gentlemen, prepare yourselves for a rant with a capital R, this is gonna be a long one.
Our story begins well over a year ago while I was still in university and things such as "professionalism" and "doing your job" are suggestions and not something you do to not get fired. We had multiple courses with large group projects that semester and the amount of reliable people I knew that weren't behind a year and in different courses was getting dangerously low. There were three of us who are friends (the other two henceforth known as Ms Reliable and the Enabler) and these projects were for five people minimum. The Enabler knew a couple of people who we could include, so we trusted her and we let them onto the multiple projects we had.
Oh boy, what a mistake that was. They were friends, a guy and a girl. The girl was a good dev, not someone I'd want to interact with out of work but she was fine, and a literal angel compared to the guy. Holy shit this guy. This guy, henceforth referred to as Mr DDTW, is a motherfucking embarrassment to devs everywhere. Lazy. Arrogant. Standards so low they're six feet under. Just to show you the sheer depth of this man's lack of fucks given, he would later reveal that he picked his thesis topic "because it's easy and I don't want to work too hard". I haven't even gotten into the meat of the rant yet and this dude is already raising my blood pressure.
I'll be focusing on one project in particular, a flying vehicle simulator, as this was the one that I was the most involved in and also the one where shit hit the fan hardest. It was a relatively simple-in-concept development project, but the workload was far too much for one person, meaning that we had to apply some rudimentary project management and coordination skills that we had learned to keep the project on track. I quickly became the de-facto PM as I had the best grasp on the project and was doing a lot of the heavy lifting.
The first incident happened while developing a navigation feature. Another teammate had done the basics, all he had to do was use the already-defined interfaces to check where the best place to land would be, taking into account if we had enough power to do so. Mr DDTW's code:
-Wasn't actually an algorithm, just 90 lines of if statements sandwiched between the other teammate's code.
-The if statements were so long that I had to horizontal scroll to see the end, approx 200 characters long per line.
-Could've probably been 20 normal-length lines MAX if he knew what a fucking for loop was.
-Checked about a third of the tiles that it should have because, once again, it's a series of concatenated if statements instead of an actual goddamn algorithm.
-IT DIDN'T FUCKING WORK!
My response was along the lines of "what the fuck is this?". This dipshit is in his final year and I've seen people write better code in their second semester. The rest of the team, his friend included, agreed that this was bad code and that it should be redone properly. The plan was for Mr DDTW to move his code into a new function and then fix it in another branch. Then we could merge it back when it was done. Well, he kept on saying it was done but:
-It still wasn't an algorithm.
-It was still 90 lines.
-They were still 200 characters wide.
-It still only checked a third of the tiles.
-IT STILL DIDN'T FUCKING WORK!
He also had one more task, an infinite loop detection system. He watched while Ms Reliable did the fucking work.
We hit our first of two deadlines successfully. We still didn't have a decent landing function but everything else was nice and polished, and we got graded incredibly well. The other projects had been going alright although the same issue of him not doing shit applied. Ms Reliable and I, seeing the shitstorm that would come if this dude didn't get his act together, lodged a complaint with the professor as a precautionary measure. Little did I know how much that advanced warning would save my ass later on.
Second sprint begins and I'm voted in as the actual PM this time. We have four main tasks, so we assign one person to each and me as a generalist who would take care of the minor tasks as well as help out whoever needed it. This ended up being a lot of reworking and re-abstracting, a lot of helping and, for reasons that nobody ever could have predicted, one of the main tasks.
These main tasks were new features that would need to be integrated, most of which had at least some mutual dependencies. Part of this project involved running our code, which would connect to the professor's test server and solve a server-side navigation problem. The more of these we solved, the better the grade, so understandably we needed an MVP to see if our shit worked on the basic problems and then fix whatever was causing the more advanced ones to fail. We decided to set an internal deadline for this MVP. Guess who didn't reach it?
Hitting the character limit, expect part 2 SOON7 -
Less recruiter and more recruiting company.
Specifially: Robert Half.
t;ldr version:
Robert Half is scammy as hell, and they 'fired' me for quitting when my girlfriend got raped. Really.
------
Robert Half took half of my paychecks for the entire duration of my contracts with them. I didn't know right away because, as a policy, they hide how much the hiring company is paying for you, and they also forbid the company from telling you. (The company pays RHI, RHI pays you). Makes sense why they hide it because it certainly pissed me off.
Long story short, I worked for a php dev shop through them (after telling them to lower their fees or i'd walk), worked there for awhile (while remote moonlighting because why not!), and quit. I quit because my girlfriend at the time had just gotten raped, and with the emotionall fallout from that, there was no way I could focus on two jobs and be there for her. My boss understood and let me leave, though it put him in a bind.
The next day, I got a call from the regional manager of Robert Half. He was a total tool. He demanded to know if I quit, didn't care why I quit, proceeded to "educate" me in the finer points of why that was unprofessional and why i'm unemployable, accused me of lying about idr what, and finally switched into legalese to say "I regret to inform you that you can no longer consider Robert Half as a means of employment." (or something along those lines) and hung up on me. Asshole. I hope various large someones rape him so he has an inkling what it's like to be objectified and thrown away like trash.
Guy was an asshole; probably still is.
RHI was awful and scammy; probably still is, too.
Wasn't really a fan of the job either.
So at the end of it, I wasn't out anything but some patience and serenity (a lot of serenity). I kept the first (remote) job, was there for my girlfriend, and helped her through everything.
But yeah, Robert Half?
They can fucking go to hell.17 -
*creates a freelancer account on some website.
*builds portfolio and gets things running.
*meets his first client.
Client: Hello. so your profile says you are an experienced full stack developer. You are just the kind of person i've been looking for.
Me: Yep.
Client: Okay I have a project for you. I am looking at developing a simple website that has a few functions and the budget is 100$.
Me: Okay smooth. Hit me with the descriptions.
Client: it's going to be a dating website. Once a user signs up; the website would automatically take control of the user's media devices in his/her home; automatically playing something romantic. You get me?
Me: Em... Idk about that it seems a bit...
Client: it can be done! Develop the algorithm.
Me: Em... Ok.
Client: Well, next the website uses some complex sorting algorithm and sorts existing members based on their past real life relationships. It puts the best people above the messy ones.
Me: o.0
*client goes on with his bullshit in like another 10 lines of messages.
Me: -_-
Client: so what do you think? How soon can you begin and how soon can we be done?
Me: Do you also want a "butt scratcher" feature? Like a hand pops out of the monitor and asks to scratch the user's anus?
*client leaves the chat.
Me: Oh. I guess he a thing against family guy.12 -
THIS is why unit testing is important, I often see newbs scour at the idea of debugging or testing:
My high school cs project, i made a 2d game in c++. A generic top down tank game. Being my FIRST project and knowing nothing about debugging or testing and just straight up kept at it for 3 months. Used everything c++ and OOP had to offer, thinking "It works now, sure will work later"
Fast forward evaluation day i had over 5k lines of code here, and not a day of testing; ALL the bugs thought to themselves- "YOU KNOW WHAT LETS GUT THIS KID "
Now I did see some minor infractions several times but nothing too serious to make me refactor my code. But here goes
I started my game on a different system, with a low end processor about 1/4 the power of mine( fair assumption). The game crashed in loading screen. Okay lets do that again. Finally starts and tanks are going off screen, dead tanks are not being de-spawned and ended up crashing game again. Wow okay again! Backround image didn't load, can only see black background. Again! Crashed when i used a special ability. Went on for some time and i gave up.
Prof saw the pain, he'd probably seen dis shit a million times, saw all the hard work and i got a good grade anyways. But god that was embarrassing, entire class saw that and I cringe at the thought of it.
I never looked at testing the same way again.6 -
You guys ever spent a longer period of time on finding a bug and once you found it, first go grab a coffee/snack to allow that bug some final moments?
Like some sick kind of power play along the lines of “I will fix you at a time and location of my choosing”6 -
Real and true story of me.
Friend : what was his first pickup lines that melt you ?
Me : nah, he was straight to the point
F : come on, you both always look romantic all the time. there must be something in the beginning. tell me more !
Friend : fine, he said "I Like you, can i i SSH you ?" so i replied "I'm not that complicated, sudo hug me"
F: i regret being your friend.15 -
!dev
Last week I watched a DIY video where at the end the guy dumped detergent water on the grass. I kindly commented it's a €150 fine. Their response was on the lines of "Oh yeah, Mr Proper? And what would you say if I told you I spray my whole garden with soap to get rid of weeds, huh?".
Well, you dumb fuck, I don't care what you do, I wasn't attacking you, I was being *nice* and warned you about the fucking fine that you're going to fucking pay because your channel name is your first and last name and your video shows the street and the house number but whatever.
Today I couldn't log into my YouTube account. Why was that, you might ask? Well, because the dumb fuck paid the fucking fine and assumed I was the one that ratted, so he made a video about it and his dumb fuck audience falsely reported all of my videos for child abuse and promoting terrorism.
I only upload unboxing videos that debunk scummy "deals". 🤦♂️11 -
!rant
Guys! I did it! Its possible!
My task was to extension a code in php. I wrote 100 lines of code and then it workes on first try without any errors!
This is a milestone!
Bill Gates is nothing against me!15 -
Being one of the top devs (and a good student admired by most lecturers) at college, my most humbling experience was when I joined my first job. I thought I knew SQL, I thought I knew C#. I realized in the first week, the thing I didn't know was "I don't know jack".
Thanks to a couple of great mentors (it took a few of them to bring me up to speed :P), I learned that the more I learn something, the more I will realize how much more there is to learn. I used tools to create storyboard animations in WPF, and my mentor would write it all in XAML! I'd write messy SQL and the other mentor just reduces it to a couple of elegant lines. They were like tech gods to my college self, all while being humble and friendly.
They also imbibed in me a sense of responsibility to carry on the culture of mentoring my juniors, which taught me much more than just the technical side of our profession.3 -
I JUST FINISHED MY FIRST NEURAL NETWORK!!!
But first of all, as I know you guys, it's spaghetti code and even I as a newb see places where I used too few-dimensional array or passed useless parameters or simply wrote too many redundant lines of code. I know it. I will make it MUCH better next time. Period.
But OMFG this made me scream from happiness today!! Just these few seemingly random numbers... I'm really done.. That's why I jumped into coding year or two ago..
And for some background, I didn't study any IT school, I'm just highschooler (general grammar school) who traded gaming for learning. Also my maths teacher teached NNs on university and is very keen to teach me, so that's that.
Now I wanna make the best out of it and I'm looking forward to write some well documented and flexible library, parallelized and everything (I'm gonna learn a lot in the process of doing this) better then FANN.
Maybe I'm gonna fail(99% probability but hey, I'm programmer beginner, I still think I can code everything I want). But if there is just one moment like when I saw this screen today, I'mma trade my life for it.
Sorry for taking your time guys, I was just genuinely stunned... A lot24 -
Well fuck me. Just went to my first meetUp with a group of Haskell programmers.
I think they broke Enigma in 3 lines of code.
Serious shit.
Hats off to those guys!7 -
SUPERVISOR: You wrote this 140 lines method, it's too long. You should split it up, it's not readable
IHateForALiving: Bruh be serious, this is a single switch-case; I can't split it.
SUPERVISOR: Fine, I'll do it.
HIS CODE: He split the 140 lines method into 2 methods: the first is 4 lines long; it's a try-catch surrounding a call to the other method, 136 lines long.9 -
#2 Worst thing I've seen a co-worker do?
Back before we utilized stored procedures (and had an official/credentialed DBA), we used embedded/in-line SQL to fetch data from the database.
var sql = @"Select
FieldsToSelect
From
dbo.Whatever
Where
Id = @ID"
In attempts to fix database performance issues, a developer, T, started putting all the SQL on one line of code (some sql was formatted on 10+ lines to make it readable and easily copy+paste-able with SSMS)
var sql = "Select ... From...Where...etc";
His justification was putting all the SQL on one line make the code run faster.
T: "Fewer lines of code runs faster, everyone knows that."
Mgmt bought it.
This process took him a few months to complete.
When none of the effort proved to increase performance, T blamed the in-house developed ORM we were using (I wrote it, it was a simple wrapper around ADO.Net with extension methods for creating/setting parameters)
T: "Adding extra layers causes performance problems, everyone knows that."
Mgmt bought it again.
Removing the ORM, again took several months to complete.
By this time, we hired a real DBA and his focus was removing all the in-line SQL to use stored procedures, creating optimization plans, etc (stuff a real DBA does).
In the planning meetings (I was not apart of), T was selected to lead because of his coding optimization skills.
DBA: "I've been reviewing the execution plans, are all the SQL code on one line? What a mess. That has to be worst thing I ever saw."
T: "Yes, the previous developer, PaperTrail, is incompetent. If the code was written correctly the first time using stored procedures, or even formatted so people could read it, we wouldn't have all these performance problems."
DBA didn't know me (yet) and I didn't know about T's shenanigans (aka = lies) until nearly all the database perf issues were resolved and T received a recognition award for all his hard work (which also equaled a nice raise).7 -
I interviewed a guy with quite a few years of experience, university studies from a first world country, very long CV with stuff that he did, most of it relevant to the job, and 5-6 certifications, 2 of which relevant to the job, which would qualify him as an expert (as he himself declared in the CV), of a higher qualification than mine, but less experience.
Welp, if we're gonna hire someone with a higher salary, from whom I am to learn, I better come up with an interesting, but simple to understand problem, relevant to the position, that I would solve in 30 minutes, and give him 2h (surprise factor, unpreparedness, nervousness should be considered).
40 minutes in and I understand that there is lots of doing, lots of code, but the guy has no idea what he's doing.
I simplify the problem, remove the complicated bit. Turning it into a "business case description" of an entry level problem.
...
Same shit. In 20 minutes, zero progress. At this point the solution should be exactly 4 short lines of code. He gives me 50 that produce a completely wrong result, and he has no idea why.
I simplify further. I explicitly express the problem as the entry-level problem that it is - to count the number of interactions on the website in a specific day. That's it.
10 minutes more pass. I don't know why I'm wasting my time. Maybe I just want to be polite. Maybe I want to eliminate all doubt that it's not something else.
Nope.
He couldn't even react to my explanation of why he got the wrong result, and that all he had to do is move some stuff around.
Certifications, experts, universities.
What the fuck people? Can't we be simpler, and instead be knowledgeable? The time it took him to write that list of certifications, he could've learned how to solve this problem from any introductory course.9 -
I just can't understand what will lead an so called Software Company, that provides for my local government by the way, to use an cloud sever (AWS ec2 instance) like it were an bare metal machine.
They have it working, non-stop, for over 4 years or so. Just one instance. Running MySQL, PostgreSQL, Apache, PHP and an f* Tomcat server with no less than 10 HUGE apps deployed. I just can't believe this instance is still up.
By the way, they don't do backups, most of the data is on the ephemeral storage, they use just one private key for every dev, no CI, no testing. Deployment are nightmares using scp to upload the .war...
But still, they are running several several apps for things like registering citizen complaints that comes in by hot lines. The system is incredibly slow as they use just hibernate without query optimizations to lookup and search things (n+1 query problems).
They didn't even bother to get a proper domain. They use an IP address and expose the port for tomcat directly. No reverse proxy here! (No ssl too)
I've been out of this company for two years now, it was my first work as a developer, but they needed help for an app that I worked on during my time there. I was really surprised to see that everything still the same. Even the old private key that they emailed me (?!?!?!?!) back then still worked. All the passwords still the same too.
I have some good rants from the time I was there, and about the general level of the developers in my region. But I'll leave them for later!
Is it just me or this whole shit is crazy af?3 -
Hashedram's compilations #1
List of most annoying website designs.
1) Pages with AUTO PLAYING VIDEOS.
Yes I'm looking at you Netflix. Along with every news website known to man. I'm looking to read a fucking article, so why would you even waste your money and bandwidth trying to shove a video of some shit I don't care about in my face, and make it follow me as I scroll down like a fucking insecure puppy. Also, fuck you Instagram.
2) Pages that redirect once immediately after you visit them, thereby fucking with the browser history and the BACK BUTTON just leads back to the same fucking site.
I mean, just why. Did you think I would just go "Hey the back button doesn't work so let's stay on the site and read their awesome content"?
3) Sites showing things in a SLIDESHOW, when it actually should be in a list.
Slideshows are for progressive stories or for showing lists where you don't care about what's in them. Top 10 foods that reduce weight. Slideshow 1/15. Fuck you.
4) LOOKS LIKE YOU'RE USING AN AD BLOCKER
Yes. Yes I am. No I will not turn it off for you, you narcissistic snowflake fuck. And don't even try to guilt shame me into turning it off, because I know you're just going to bombard me with videos of sexy singles in the area if I do.
5) Pages where I see the first 3 lines of an article and have to SUBSCRIBE to see more.
Yes. Brilliant fucking idea. A user wants to see what your site has to offer, so within the first three seconds, don't show him exactly that.
6) Looking up an article and having to read through the entire motivational life story of the author.
I just want to know how to boil eggs, not read about your journey across Africa learning how to make difference recepies using boiled rhino dung.
7) CLICK BAIT.
Title: School boy designs blockchain machine learning game engine
Actual Content: Tic tac toe program made using linked lists6 -
For a week+ I've been listening to a senior dev ("Bob") continually make fun of another not-quite-a-senior dev ("Tom") over a performance bug in his code. "If he did it right the first time...", "Tom refuses to write tests...that's his problem", "I would have wrote the code correctly ..." all kinds of passive-aggressive put downs. Bob then brags how without him helping Tom, the application would have been a failure (really building himself up).
Bob is out of town and Tom asked me a question about logging performance data in his code. I look and see Bob has done nothing..nothing at all to help Tom. Tom wrote his own JSON and XML parser (data is coming from two different sources) and all kinds of IO stream plumbing code.
I use Visual Studio's feature create classes from JSON/XML, used the XML Serialzier and Newtonsoft.Json to handling the conversion plumbing.
With several hundred of lines gone (down to one line each for the XML/JSON-> object), I wrote unit tests around the business transaction, integration test for the service and database access. Maybe couple of hours worth of work.
I'm 100% sure Bob knew Tom was going in a bad direction (maybe even pushing him that direction), just to swoop in and "save the day" in front of Tom's manager at some future point in time.
This morning's standup ..
Boss: "You're helping Tom since Bob is on vacation? What are you helping with?"
Me: "I refactored the JSON and XML data access, wrote initial unit and integration tests. Tom will have to verify, but I believe any performance problem will now be isolated to the database integration. The problem Bob was talking about on Monday is gone. I thought spending time helping Tom was better than making fun of him."
<couple seconds of silence>
Boss:"Yea...want to let you know, I really, really appreciate that."
Bob, put people first, everyone wins.11 -
2 years into polytechnic I got my 1st big project as a subcontractor doing Symbian. No need to tell the company I presume.
Anyways, I was brought into the project just couple weeks before holiday season started. My Symbian programming experience was just the basics from school. 1st day I was crapping my pants out of anxiety. I pretty much didn't understand anything what my project manager or teammates were telling, so I just wrote EVERYTHING down on paper and recorded all the meetings to my laptop.
My job was to implement a very big end to end SDK feature. Basically from API through Symbian OS through HAL to other OS and into its subsystem. Nice job for a beginner :/
As the holidays were starting we had just drafted out the specification (I don't know how, because I didn't understand much of what was going on) and I got a clear mission from team lead. Make a working prototype of the feature during the time everybody else was on vacation.
"No problemos, I can do it" I BS'd myself and the team lead.
First 2 weeks I just read documentation, my notes and internal coding tutorials over and over again. I produced maybe couple of lines of usable code. I stayed at the office as late as I dared without seeming to obvious that I had no clue what I was doing. After the two weeks of staying late and seeing nightmares every night I had a sudden heureka moment. Code that I was reading started to make sense. Okay, still 2 weeks more until my teammates come back.
Next 2 weeks were furious coding and I got better every day. I even had time to refactor some of my earlier code so that quality was consistent.
Soooo, holidays are over and my team leader and collagues are very interested with my progress. "You did very well. Much better than expected. Prototype is working with main use case implemeted. You must have quite high competence to do this so well..."
"Well...I did have to refactor some stuff, so not 10/10"
I didn't say a word of my super late nights, anxiety and total n00biness.
Pretty much finished "like a boss". After that I was on the managers wanted list and they called me to ask if I had the time work on their projects.
Fake it, crap your pants, eat your crap and turn into diamonds and then you make it.
PS. After Symbian normal C++ and almost any other language has been a breeze to learn.2 -
Background: I'm not drunk yet, BUT I'M WORKING ON IT.
okay.
I just finished a second sprint on my React app. The first was to build a merchant onboarding flow. The second was to do substantial cleanup as I learned more about react/redux, and to create a "supply order" flow -- basically purchasing marketing materials and services. I finished that in a week, and I'm pretty proud. api-guy wanted it done in a day. i laughed. he probably could have, but it would have been a copy of the code in a new repo with some lines changed.
ANYWAY. it's all done and It's super pretty and works amazingly well. It has both the onboarding flow and the ordering flow, with a nice pop-out sidebar for navigation, namespaced actions, etc. Everything is pretty clean. I even added a cart to the ordering (despite everyone telling me not to) because wtf, what if someone wants to order TWO items? dumbasses. So I made that. it's sexy.
Anyway, it's all done and shiny and fancy and wonderful and I'd *love* to share screenshots if only it didn't give away where I worked. :<
... but the point of the rant!
After the first sprint, I made a copy of the repo so I could rework it and add more functionality without touching the original. (Hey! That's what a branch is for, right? Why didn't I branch it up?
well, read on)
I knew we were going to have multiple separate flows for this app: onboard, ordering, merchant tools, admin tools, support, etc. So, I wrote its server portion (the webpack builder + http server) so it would serve the same app at whatever url the user hit, and set a cookie containing that host+url. This allows the app to serve different content (basically showing/hiding content) based on the URL and future login roles. If someone hits /order, it would hide everything but the order flow. If they're a merchant, it would show all the merchant views plus ordering, etc.
tl;dr This way I can use the same codebase for multiple sites, drastically simplifying development, branding, and what have you. This new app could obv also be a drop-in replacement for the original onboarding project because of the above.
HOWEVER. this apparently isn't good enough for api-guy. He's terrified that adding/updating future components will affect all the existing content somehow.
so.
now we have three repos for basically the same codebase. 1) onboard aka "surfboard", 2) ordering, 3) merchant tools, aka "ferrari" (the "future" app).
Except.
1) "surfboard" is a very old version of the code. 3) "ferrari" is also old, since 2) "ordering" has newer content in it now.
... and somehow this is better?
fuck if i can figure out how.
His reasoning is "well, you won't be touching surfboard or ordering for 6 months, so now you don't have to worry about it." Sure, except, you know, it'll be a pain in the ass in 6 months now when I have a crapton of code and branding to redo. ffs.
Oh. We also have three Heroku pipelines for these three repos. for the same codebase.
and now you know why i'm drinking.undefined idiocy fucking hell fuck this noise api guy i'm just gonna replace everything later this codebase is as dry as the friggin ocean7 -
I once reviewed a Pull Request made by a fairly junior developer. They had joined recently, and this was one of the first times they had to touch a bigger part of the code.
Due to a mix of inexperience, new (to them) coding standards and lack of git knowledge, they ended up with a mess of a PR, with a few thousand lines changed, and no way to split it off.
I ended up spending the best part of a day reviewing the whole thing and requesting changes.
Even with the long list of improvements, however, I wasn't sure they would get the magnitude of their fuckup.
So I decided to use a real-world, palpable way to show them what they had done: I went and printed the github diff for that PR. It rendered the glorious amount of 73 pages.
I'll never forget their face, and those of their teammates, when I barged into the room with a thick wad of paper and deposited them on their desk.
At least it worked. I never saw another big, ill-thought pull request from them again.3 -
<This is my first rant, though I've been spectating in readonly mode (ie, without an account) for a while now./>
*Programs all day Saturday adding innumerable lines of code to a new project*
*Builds and runs project*
*Everything not only compiles, but the app works flawlessly*
*Faints*5 -
I HOPED I WOULDN'T BE BALD AS MY DAD BUT AT THIS RATE I WILL BE HAIRLESS FROM TEARING IT OUT ON MY BLOODY OWN
I got hired for cleaning up a 2 year project of rushed spaghetti code , where they previously only had 1 programmer aND HE WROTE 37 THOUSAND LINES OF CODE!
OH WE NEED A NEW FEATURE?! LEMME JUST RESEARCH THIS COMMENT-LESS CRAP FOR MULTIPLE MILLENIA BEFORE I CAN GRASP WHAT THE FLYING FRICKIN FRIDGE CODE DOES
To top it off, I've about ONE MONTH LEFT BEFORE BETA RELEASE TO FIX THE CODE!
I'm super grateful for this job as it's my first programming job BUT I'M GONNA SET THE REPOSITORY ON FIRE SOON AAAAHHHHHH
HOW CAN YOU, THE PREVIOUS PROGRAMMER, WORK IN THIS ENVIRONMENT WHERE MOSTLY ALL FILES ARE +2000 ROWS OF UNDOCUMENTED CODE
OH AND JUST GOT A MESSAGE FROM THE PREVIOUS PROGRAMMER:
"You can just remove the unused code and refractor it some, izi"
IZI MY SHITTY POOP CAR
AAAAAAAAAAAAAAAHHHHH!!!
Now with that out of the way, how would you recommend handling a stressful release deadline?6 -
So, I applied for a job lately and the first interview via Zoom went pretty good. Then I got an invitation for a second interview at the company.
I got there, was guided into a conference room and the two head of departments along with an HR woman joined. After a bit if chit-chat HR rep said I should tell them in the next couple of days if I'm still interested. HR left, the other two gave me a tour of the complex, lasting about an hour.
then we got back to the conference room, waited for HR rep and when she arrived she told me something along the lines of "Yeah, we got an impression of you now and you don't need to contact us anymore if your are interested...."
me to myself: "wait what? that sucks...."
HR: "We are impressed enough of you that we want to hire you immediately. Here is the contract!"
me (completely speechless): "oh... OH... THANKS, but... OHHHH" (having a stupid perplexed grin on my face)
I mean... I got the job and pay is good, but PLEASE don't trick me like that!!! I nearly got a heart attack!!!7 -
I remember my first "Software Engineering 2" class at University. The teacher, a pompous son of a bitch that later on gave proof of his vast ignorance, greeted us with
"so ... You call yourselves programmers, right? What's the biggest program you have ever wrote? Something along the 100, maybe 200 lines of code? ..... If you've never written at least a MILLION lines of code software, you're not a software developer"
Even at that time, with my lack of experience in software development, I had that feeling in my guts telling me "writing myself a 1M lines of code software .... Brrrr that's something I hope I'll neve have to do in my life"
Turned of he was one of those dinosaurs stuck with the love for gargantuan monoliths of software like they used to do.
Just to dive you the whole picture, the course had ZERO software development and focused only on how to manage wonderful waterfall projects, how to write all types of software documentations and the final project was ... Writing a ton of documentation so boring and useless that even he didn't care to read through.
we still laugh at the episode when another group asked us to borrow one of our documents and after one day they asked "hemm ... Have you really sent this to the teacher?" "yes, why not?" ".... at page 23 someone left a comment saying 'what the fuck is this shit?'"5 -
On my first day at work realising that I would be working on a code base with 1.5 million+ lines of code and the only documentation is half a paragraph some guy wrote the day before he left 😑3
-
So my first job is also my current one. I am a computer science student and for my course we had to do a project for an actual client. The client was a consultancy company and after working my ass off, their software development partner decided to hire me and a classmate.
The company is pretty small (we are now with the 6 of us) and the general attitude is very nice. I've only been working there for a few weeks and I feel very welcome. The work isn't too hard (mainly web development with geographic features/data).
In rough lines the stack always consists of a Java Rest API and an Angular frontend that retrieved the data from the API.
So far I have learned a ton and I am really happy that I have this opportunity. Lunch is provided and we always eat together, we crack jokes, have fun, play games in the break. Coffee machine next to my desk. I'd love to work here all my life :d
Since I'm still in school I can't go to the office every day. Instead I am at the office every Monday and on other days I try to work from school or home.2 -
I finally ended my first side project ever. I challenged myself to write a Tetris game in vanilla JS (with the less possible lines of code), some algorithm was tougher than I expected (2d array hell) but I made it ! 500 lines of JS code, I feel I could refactor some stuffs now...4
-
WordPress related, get ready for some disgust.
So today early in the morning my boss forwarded me an email from a client, it was about a bug, and asked me if I can have a look at it and fix it.
"Yaay, WordPress!" I thought and opened the page containing the mentioned bug. She wrote that in the italian version of the page, users can select dates in the calendar, which should be disabled, like in the german version.
So yeah, I opened the code. Everything in the function looked perfect. Really. And the Data was also correctly set in the backend of WP.
The function was only 3 lines of code:
- Get the german post ID of the current post (german or italian) by its ID (using a Polylang function)
- Get an Advanced Custom Fields field by name and from a post with the ID from before
- json_encode its content and echo it to a JS var for initialization and later use in some AngularJS.
No fucking missing semicolon, it was fucking perfect like a sunset with your soulmate.
So I tried to find the bug with my personal way of debugging:
"Shitstream Debugging"
When a creek suddenly is full of water mixed with shit, walk upstream through the turds until you reach clear water. This is where the bug is.
=> So I first looked at the HTML source: Turds.
=> Then the ACF field content: Still turds.
=> Then the ID of the german post: Shit stain and turds (var_dump: null)
=> Please god at least $post->ID? Nope, fart smell and turds.
=> Nothing more to check: Clear fucking water and the flowery smell of 99 devVirgins
So it replaced $post->IT with get_the_ID() and it worked like a charm.
Afterwards I feel stupid, but $post->IT worked all the times before...
Conclusion:
FUCK YOU WORDPRESS YOU UGLY PIECE OF HUMAN-CENTIPEDE-PROCESSED-DOGFART.
Thanks for your patience.
Only one beer was sucked dry during the writing of this fucking rant.2 -
Having to review an offshore C++ codebase made in Romania that the company I worked for they bought to control a wifi module on a complex RF mobile tech device that I can't legally give more details on.
If I could legally post this masterpiece, or should I say masterpiece-of-shit, all of you C++ dev would instantly get AIDS and all the existing types of cancer upon browsing it for 2 minutes.
It's laughably bad and unmaintainable. One of my colleague called it "the perfect example of human obfuscation" and it fits perfectly.
Think of a 100k LoC main function with nested loops and ifs with random sleep values, 1000 values of hardcoded 32 bits arrays declared globally in the first 10k lines for unknown reasons. Comments in Romanian mixed with english. Somehow, this shit works by some miracle.
The worst intern you can think of, while being piss drunk, could do better and it's no joke.5 -
> be me a 23 y.o intern
> two years on self learned MEAN stack
> first day of intern<
> boss: we need you to become an iOS intern
> me: *whut*
> me: *thinking swift syntax is similar to JavaScript*
> me: OK, in swift ?
> boss: No, in Obj-C
> me: *fuck*
> spend 2 days to familiarize with Obj-C
> boss: Here's a bug, solve it.
> me: OK
> me: *checking their code for the first time*
> me: *fuck, fucking huge*
> me: *open up bug related ViewConttoller*
> me: *fuck, 6k lines of code*
> me: *fucking MVC*
> spend 2 hours to fix the bug <
> boss: you did great ! awesome
> me: *heh*
> boss: *announce to everyone* from now on INTERN will take over the project.
> me: *whut*
> boss: here's our roadmap plz implement features
> after 3 months <
> me fixing bug <
> me do feature development <
> me write shitty code <
.
.
.
repeat, life as an intern6 -
I’m on this ticket, right? It’s adding some functionality to some payment file parser. The code is atrocious, but it’s getting replaced with a microservice definitely-not-soon-enough, so i don’t need to rewrite it or anything, but looking at this monstrosity of mental diarrhea … fucking UGH. The code stink is noxious.
The damn thing reads each line of a csv file, keeping track of some metadata (blah blah) and the line number (which somehow has TWO off-by-one errors, so it starts on fucking 2 — and yes, the goddamn column headers on line #0 is recorded as line #2), does the same setup shit on every goddamned iteration, then calls a *second* parser on that line. That second parser in turn stores its line state, the line number, the batch number (…which is actually a huge object…), and a whole host of other large objects on itself, and uses exception throwing to communicate, catches and re-raises those exceptions as needed (instead of using, you know, if blocks to skip like 5 lines), and then writes the results of parsing that one single line to the database, and returns. The original calling parser then reads the data BACK OUT OF THE DATABASE, branches on that, and does more shit before reading the next line out of the file and calling that line-parser again.
JESUS CHRIST WHAT THE FUCK
And that’s not including the lesser crimes like duplicated code, misleading var names, and shit like defining class instance constants but … first checking to see if they’re defined yet? They obviously aren’t because they aren’t anywhere else in the fucking file!
Whoever wrote this pile of fetid muck must have been retroactively aborted for their previous crimes against intelligence, somehow survived the attempt, and is now worse off and re-offending.
Just.
Asdkfljasdklfhgasdfdah27 -
Yahoo, Kotlin is the first class language for android. So no more fucking Java codes. No more 100 lines for basic configurations. No more null pointer exceptions.
Only beautiful code and fun.14 -
I was asked to map a mathematical problem to an algorithm for first round of interview. I did it in 5 lines with O(n) and it worked. was told that was not the correct answer sent me an answer with O(n^2) and about 40 lines. in anger, I sent a five page mathematical proof along with analysis why mine was better. surprisingly, they took me in for second round. tanked it because I continually stuttered and froze. I was able to answer it once I got home. decided against sending it.1
-
It was our first computer. probably it was 2008. I was super stupid back then. One day I saw a text file in our desktop, which says, "Hey $username, how are you? Message me here I-forgot-his-email@yahoo.com"
No matter how much we delete the text file, it kept on recreating and keep on adding same texts with multiple lines. I was really annoyed!
Yahoo messenger was popular back then. So I messaged the person using Yahoo messenger and he replied. Our conversation went this way:
Me: (after explaining a bit about the text file) what is this?
Him: it is a virus
Me: how do I delete this?
Him: if I teach you how to delete it, the whole purpose of creating it would be in vain
Me: okay, how do I create something like this?
Him: just Google
That day I was swearing at him from the bottom of my heart, not through messenger, but from my mind, because he didn't teach me how he made that virus.
I was like, "I will show you ***** that even I can make a virus better than that". So, I started googling & started learning how to make these scripts. The more I learned, the more it blew my mind. I was creating simple stuffs like, opening/closing CD rom every 5 seconds. It was so fun back then. Cause, my friends had no clue why their CD roms kept opening every 5 seconds.
After a few days, I started to thank the virus creator from the bottom of my heart. Cause, if he taught me how to create THAT virus that day, I probably would've just learned THAT one thing and stopped. But because he didn't teach me that, to learn one thing, I got to learn more than that one thing, which I'm really thankful for.
And then the journey started. Learned Batch, VBscript, C, C++, Java and so on. And still learning new things everyday...4 -
Ok, so when I inherit a Wordpress site I've really stopped expecting anything sane. Examples: evidence that the Wordpress "developer" (that term is used in the loosest sense possible) has thought about his/her code or even evidence that they're not complete idiots who wish to make my life hell going forwards.
Have a look at the screen shot below - this is from the theme footer, so loaded on every page. The screenshot only shows a small part of the file. IT LITERALLY HAS 3696 lines.
Firstly, lets excuse the frankly eye watering if statement to check for the post ID. That made me face palm myself immediately.
The insanity comes for the thousands of lines of JQuery code, duplicated to hell and back that changes the color of various dividers - that are scattered throughout the site.
To make things thousands of times worse, they are ALL HANDED CODED.
Even if JavaScript was the only way I could format these particular elements I certainly wouldn't duplicate the same code for every element. After copy and pasting that JQuery a couple of times and normal developer would think one word, pretty quickly - repetition.
When a good developer notes repetition ways to abstract crap away is the first thought that comes to mind.
Hell, when I was first learning to code god knows how long ago I always used functions to avoid repetition.
In this case, with a few seconds though this "developer" could have created a single JQuery handler and use data attributes within the HTML. Hell, as bad as that is, it's better than the monstrosity I'm looking at now.
I'm aware Wordpress is associated with bad developers due to it's low barrier to entry, but this site is something else.
The scary thing is that I know the agency that produced this. They are very large, use Wordpress exclusively and have some stupidly huge clients that would be know nationally.
Wordpress truly does attract some of the most awful "developers" and deserves it's reputation.
If you're a good developer and use Wordpress I feel sorry for you, as you're in small numbers from my experience.
Rant over, have vented a bit and feel better. Thanks Devrant.6 -
Last week, the team lead told me that he can't merge because my code has code smells and going forward, can't have that. We use Sonar and well the way to "fix it" according to him is to mark the line using //NOSONAR.
Most of the issues are minor like Unused imports and for me incomplete TODOs.
And before the "verbal" rule was only need to fix Major + issues. And well the reason I use TODOs is to mark code that probably needs changing in the future. I know there's going to be some feature that these lines have to be changed. But the requirements are fully defined yet from business.
But I sort of blew up on him. YOU WANT TO ENFORCE ZERO CODE SMELLS NOW?!?!?! AND THESE MINOR ISSUES? MARK THEM WITH NOSONAR?
HERE'S WHAT I THINK FOR THE LAST X YEARS... THE CODE DESIGN IS SHIT, MINOR CODE SMELLS AND MANUALLY MARKING THE ONES U NEED TO KEEP... ARE THE LEAST OF OUR PROBLEMS...
THE OTHER PROBLEMS I'VE MENTIONED BEFORE EVER. MOS YEAR BUT YOU DIMWITS NEVER LISTEN.
YOU THINK MY TODOS ARE BAD... 90% OF THE CODE AND FEATURES (THE ONES NOT DONE BY ME) LOOK AND SMELL LIKE MONKEY SHIT. UNDOCUMENTED, MESSY, FULL OF BUGS.
AND GUESS WHAT? NEW FEATURE, SOME DEV FORGETS TO CHANGE SOME COMPONENT THAT DEPENDS ON IT. WOULDN'T IT BE GREATE IF THERE WERE BOOKMARKS... O WAIT...
i just was catching up on comics again and saw this one... with triggered my memory and this rant... My first thought was to forward it to him...11 -
As a consultant, you get tasked with a variety of stuff. Last few weeks been struggling to maintain an old C++ application that was written by a complete tool of an a$$hole with zero knowledge on how to write maintainable and production quality code. It would hardly run without a crash. First it was a challenge I had to accept, but as I stabilized the code and just fell over even more traps, I had to admit defeat and review my approach.
Rewrite is something I would choose last, but this one ticked all the marks worthy of a rewrite. So, the customer is a very friendly researcher and gladly spent 15 hours with me explaining all the math and concepts - just a delight for a programmer to have such a customer. Two days in, with a DDD approach - a functional, more precise, faster and stable application.
Sometimes there is no rant to share, it's rare to have that perfect communication with a customer that is so dedicated that he spends so much time teaching you his speciality and actually understand your approach. DDD was really a lifesaver here, by using it's key concepts and ubiquitous language. The program is essentially 8000 lines of math, but wrapping it up with value objects and strong domain models made me understand his domain and him mine. It also allowed me to parallelize the computations, giving me a huge performance boost. Textbook approach, there will not be many like this!4 -
Working with a delivery ordering API. Response:
Shipping label type: PDF
Label: base64encoded string
I was like, that's easy, literally two lines of code. Proceeds to convert and save the file. Then on open, bam! Format ubreadable. What the actual fuck?! Found an online converter, and tried to convert it to pdf, to see if I was missing something, but the results was the same.
Then checked the decoded string. First 3 characters: GIF
Well fuck you too! This carrier uses GIF's for it's shipping labels for 2years at least, how hard is it to change that in your fucking api response, you pice of shitbag.2 -
So I have that custom-made wifi router I've built. And it uses a USB wifi adapter with AC (wifi5) capability - the fastest one I could find in AliExpress.
I set it up a while ago - the internet access works fine, although speeds are somewhat sluggish. But hey, what to expect from a cheapo on Ali! Not to mention it's USB, not a PCIe...
A few days ago I ran a few speedtest.net tests with my actual AC router and the one I've built. Results were so different I wanted to cry :( some pathetic 23Mbps with my custom router :(
This evening I had some time on my hands and finally decided to have an umpteenth look.
nmcli d wifi
this is what caught my eye first. The RATE column listed my custom router as 54Mbps, whereas the actual router had 195Mbps.
I have reviewed the hostapd configuration sooo many times - this time nothing caught my eye as well.
Googling did not give anything obvious as well.
What do we do next? Yes, that's right - enable debug and read the logs.
> VHT (IEEE 802.11ac) with WPA/WPA2 requires CCMP/GCMP to be enabled, disabling VHT capabilities
This is one of the lines at the top of the log. Waaaaiiitttt.. VHT is something I definitely want with ac -- why does it disable that??? Sounds like a configuration fuckup rather than the HW limitation! And config fuckups CAN be fixed!
Turns out, an innocently looking
`wpa_pairwise=TKIP`
change into
`wpa_pairwise=TKIP CCMP`
made a world of a difference!
:wq
!hostapd
connect to the hostapd hotspot and run that iperf3 test again, and... Oh my. Oh boi! My pants fell off -- the speed increased >3x times!
A quick speedtest.net test deems my custom router's download speeds hardly any worse than the speeds obtained using my LInksys!!
The moral of the story: no matter how innocent some configurations look, they might make a huge difference. And RTFL [read the fucking logs]
In the pic -- left - my actual router, right - my custom-built router with a USB wifi adapter. Not too shabby!7 -
While working on my one of the first project in java i ended up using deprecated Calendar API for the date. Since deadline was near i thought it would be a good idea to use the JCalendar API for as date picker (which is a third party API).BAD IDEA. It was the night before the submission round about 11pm when i realized that there is no way to convert JCal object into Calendar and it turned out it is not working as expected you have to subtract a particular number from the year to get date right.
To convert JCal into Calendar i used the toString function to get the date in string sliced it using substring into year,month,day then had to assign date to Calendar object via constructor.
Had to write 70 lines of code just to convert JCal into Calendar...
And then there were other complications related to this problem. Had tu pull an all nighter just to solve date related problems
LESSONS LEARNED :
NEVER USE A DEPRECATED API
NEVER USE THIRD PARTY APIs WITHOUT RESEARCH7 -
First proper software dev job, very naive, tasked to write a 'soft switch' for a well known companies set of production lines, depending on what product was being produced at a particular time. Wrote it weeks before the deadline, forgot about it, night before I had a quick review and realised I had missed half the spec aaaand it was going live the following day. Shitting myself I pulled an all nighter, drove to the office at 5am, managed to get it done with minutes to spare for 9am. To my knowledge it's still being used today. I left shortly after that.
-
[long]
When searching for internship via school I found this small startup with this cute project of building a teaching tool for programming. There were back then 2 programmers: the founder and the co-founder.
Then like 1 week before the internship started, the co-founder had a burnout and had to get off the project, while the company was so low on budget the founder, aka my new b0ss, had to work separate jobs to keep the company alive. (quite metal tbh)
It's funny because I'm a junior developer, 100%. I've been coding as a hobby for around 8 years now but I've never worked in a big company before. (No exception to this workplace either)
First project I get: rewrite the compiler. The Python compiler.
"But wait, why not just embed a real compiler from the first case?"
-nanananana it's never simple, as you probably know from your own projects.
The new compiler, as compared to existing embedded compiler solutions out there, needed these prime features:
- Walk through the code (debugger style), but programmatically.
- Show custom exceptions (ex: "A colon is needed at the end of an if-statement" instead of "Syntax error line 3")
- Have a "Did-you-mean this variable?" error for usage of unassigned variables.
- Be able to be embedded in Unity's WebGL build target
All for the use case of being a friendly compiler.
The last dash in the list is actually the biggest bottleneck which excluded all existing open-source projects (i could find). Compliant with WebAssembly I can't use threads among other things, IL2CPP has lots of restrictions, Unity has some as well...
Oh and it should of course be built using test-driven development.
"Good luck!" - said the founder, first day of work as she then traveled to USA for **3 weeks**, leaving me solo with the to-be-made codebase and humongous list of requirements.
---
I just finished the 6th week of internship, boss has been at "HQ" for 3 weeks now, and I just hit the biggest milestone yet for this project.
Yes I've been succeeding! This project has gone so well, and I'm surprising myself how much code I've been pumping out during these weeks.
I'm up now at almost 40'000 lines of source and 30'000 lines of code. ‼
( Biggest project I've ever worked on previously was at 8'000 lines of code )
The milestone (that I finished today) was for loops! As been trying to showcase in the GIF.
---
It's such a giant project and I can honestly say I've done some good work here. Self-five. Over-performing is a thing.
The things that makes me shiver though is that most that use this application will never know the intricates of it's insides, and the brain work put into it.
The project is probably over-engineered. A lot. Having a home-made compiler gives us a lot of flexibility for our product as we're trying to make more of a "pedagogic IDE". But no matter that I reinvented the wheel for the 105Gth time, it's still the most fun I've had with a project to date.
---
Also btw if anyone wants to see source code, please give me good reasons as I'm actively trying to convince my boss to make the compiler open-source.
Cheers!4 -
My internship is coming to an end and I think my boss is testing my limits.
So, in the beginning of this week, he assigned me a non reproducible bug that has been causing trouble to the whole team for months.
Long story short, when we edit or create a planned order from the backend, once in fifteen, a product is added to the list and "steals" the quantity from another product.
Everyone in the company has experienced this bug several times but we never got to reproduce it consistently.
After spending the whole week analyzing the 9 lines of JS code handling this feature, reading tons of docs and several libraries source code. I finally found a fix by "bruteforce testing" with selenium and exporting screenshots, error logs and snapshots of the html source.
This has been intense but was worth the effort, first, I fix a really annoying bug and second, I learned a lot of things and improved my understanding of Javascript.6 -
I've been lurking on devrant a while now, I figure it's time to add my first rant.
Little background and setting a frame of reference for the rant: I'm currently a software engineer in the bioinformatics field. I have a computer science background whereas a vast majority of those around me, especially other devs, are people with little to no formal computer background - mostly biology in some form or another. Now, this said, a lot of the other devs are excellent developers, but some are as bad as you could imagine.
I started at a new company in April. About a month after joining a dev who worked there left, and I inherited the pipeline he maintained. Primarily 3 perl scripts (yes, perl, welcome to bioinformatics, especially when it comes to legacy code like is seen in this pipeline) that mostly copied and generated some files and reports in different places. No biggie, until I really dove in.
This dev, which I barely feel he deserves to be called, is a biology major turned computer developer. He was hired at this company and learned to program on the job. That being said, I give him a bit of a pass as I'm sure he did not have had an adequate support structure to teach him any better, but still, some of this is BS.
One final note: not all of the code, especially a lot of the stupid logic, in this pipeline was developed by this other dev. A lot of it he adopted himself. However, he did nothing about it either, so I put fault on him.
Now, let's start.
1. perl - yay bioinformatics
2. Redundant code. Like, you literally copied 200+ lines of code into a function to change 3 lines in that code for a different condition, and added if(condition) {function();} else {existing code;}?? Seriously??
3. Whitesmiths indentation style.. why? Just, why? Fuck off with that. Where did you learn that and why do you insist on using it??
4. Mixing of whitesmiths and more common K&R indentation.
5. Fucked indentation. Code either not indented and even some code indented THE WRONG WAY
6. 10+ indentation levels. This, not "terrible" normally, but imagine this with the last 3 points. Cannot follow the code at freaking all.
7. Stupid logic. Like, for example, check if a string has a comma in it. If it does, split the string on the comma and push everything to an array. If not, just push the string to the array.... You, you know you can just split the string on the comma and push it, right?? If there is no comma it will be an array containing the original string.. Why the fuck did you think you needed to add a condition for that??
8. Functions that are called to set values in global variables, arrays, and hashes.. function has like 5 lines in it and is called in 2 locations. Just keep that code in place!
9. 50+ global variables/hashes/arrays in one of the scripts with no clear way to tell how/when values are set nor what they are used for.
10. Non-descriptive names for everything
11. Next to no comments in the code. What comments there are are barely useful.
12. No documentation
There's more, but this is all I can think to identify right now. All together these issues have made this pipeline the pinnacle of all the garbage that I've had to work on.
Attaching some screenshots of just a tiny fraction of the code to show some of the crap I'm talking about.6 -
Last year, we had to do a big university project in randomly selected groups (5-6 students in every group).Three of the five guys were completely useless, I mean, both the other competent guy and me wrote around 20,000 lines of code each, the other ones wrote around 500 lines of code (combined).
After our first few meetings we quickly knew that we have to give them a small task which was so trivial that not even they can fuck it up. But we were wrong. Oh boy, so wrong.
They simply had to code the excel export of the data, which means they had to use two functions from a library and pass the correct data. But their solution was so bad, I lost faith in humanity and was fascinated by it at the same time.
For example, there was this simple class "Room", which had a few properties like size or number of seats and a few getter/setter etc. That was a core class and written by the other qualified guy. So how did the others fuck up the excel export? They somehow rewrote that class in German (although the other code was completely in English), implemented a function for each property that would write its value to a hardcoded cell in a hardcoded excel file.
And this was just the tip of the iceberg. Needlessly to say that I had to rewrite the whole export in the night before we had to present the project.5 -
When I was a kid I programmed a musical tune in QBasic (1994). It was magic. That "beep blips woin blop tuuuuu blups" coming out of the 386 builtin speaker just sounded like: "World, you are the next".
-
HI there
First post always feels like the first lines of code or first commit ever ! It's exciting yeah ?
Like Hello World app
Wish me luck6 -
It was my first time in Berlin. I came as a tourist but started looking for a workplace, with hopes of getting a blue card and continuing work.
I searched online, going through some hiring platforms, and sent out a few messages around. I felt a special connection (I thought I was exactly who they needed), and wrote them a carefully crafted letter of intention alongside my lavish CV.
They got back to me, and I was given this task, to do while at home. I completed it, had a phone interview, and was invited on-site for a face to face interview. Everybody felt warm, I felt a connection. We already talked salary expectations, and all was going great.
They told me they'd get back to me for the next stage. ...
and they actually DID. Yes, they did!
They invited me for a second interview, but this time to prepare a technical topic to present. So I did. I picked one of the 3 topics they offered, which was about performance optimization. I had recently read materials about that, so I felt really empowered.
So far nobody told me what I was supposed to be doing at the new job, I only knew the technologies required, and what the company did for money.
I prepared a thorough presentation, with practical demos of why some things are bad for performance. While I was showing it, many people in the room were learning about this for the first time, which means I did good. The team lead had some extra questions that I wasn't able to answer in full (needed some research), but otherwise it was great.
The CTO then asked me out to lunch, to talk over some more stuff, and we had a general discussion about what drives us, our life story, etc. He said that he'd really like me to be part of the team, and that he's looking forward to working with me.
So I've been at it for almost a month. I've met everyone, got acquainted with the team, knew the biography of some of them, proven my worth, etc. I was ensured with body language, and verbal language that everything was going great. As careful as I was with this kind of stuff, I was positive that I'd get the job. I even started planning my trips, to get the documents ready.
And then I got a message stating the usual stuff "Thank you bla bla bla we don't think we'll need your services". I was shocked, but in good faith I wanted to reply something along the lines "I'm sorry it didn't work out, all the best in finding what you're looking for", but I found out that I was blocked from contacting them.
That's right. Rejected + blocked. After a month of fucking foreplay. I get rejection, even though it hurts. But being blocked?! That's just insane!8 -
Continue of https://devrant.com/rants/2165509/...
So, its been a week since that incident and things were uneventful.
Yesterday, the "Boss" came looking for me...I was working on some legacy code they have.
He asked, "what are you doing ?"
Me, "I am working on the extraction part for module x"
He, "Show me your code!"
Me(😓), shows him.
Then he begins..."Have you even seen production grade code ? What is this naming sense ? (I was using upper and lower camel case for methods and variables)
I said, "sir, this is a naming convention used everywhere"
He, " Why are there so many useless lines in here?"
Me, "Sir, I have been testing with different lines and commenting them out, and mostly they are documentation"
He, "We have separate docs for all, no need to waste your time writing useless things into the code"
Me, 😨, "but how can anyone use my code if I don't comment or document it ?"
He, "We don;t work like that...(basically screaming)..."If you work here you follow the rules. I don't want to hear any excuses, work like you are asked to"
Me, 😡🤯, Okay...nice.
Got up and left.
Mailed him my resignation letter, CCed it to upper management, and right now preparing for an interview on next monday.
When a tech-lead says you should not comment your codes and do not document, you know where your team and the organisation is heading.
Sometimes I wonder how this person made himself a tech-lead and how did this company survived for 7 years!!
I don't know what his problem was with me, I met him for the first time in that office only(not sure if he saw the previous post, I don't care anymore).
Well, whatever, right now I am happy that I left that firm. I wish he get what he deserves.12 -
Introduced a ‘new’ logging framework for our web site. Web team is testing the integration and I get an email saying the logging wasn’t working. Instead of sending me how she is searching the logs, she sends me a screen shot of the code (which is ass-backwards of how I documented the logging library, but that’s another rant). OK, she wrote 5 lines of code that should be one line, but OK, the error still should have logged fine. I search the logs, and sure enough, there they are. Errors logged just as they should.
So I email back (with screenshot of the search query and results) asking how she searched for the errors.
Hour later she responds ..”I don’t know.”
That’s it.
WTF do you mean “I don’t know”?…WTF…you are a –bleep-ing developer too! This is not the first –bleep-ing splunk query you’ve written!
OK..I’m calm..feeling better. Wouldn’t be so bad if she emailed just me with the question (I’m not a splunk query expert either, we can figure it out together), but she was sure to cc 3 of the PMs involved in the integration, my boss, and other team members to make it sound like the problem was my code.3 -
I've noticed something odd lately.. every time I mention mains electricity in certain EE forums, people tend to go "you are a madman for wanting to use that 🤨".
To which I think in my head, sure it's a dangerous thing, after all the angry pixies that dance back and forth are kind of angry (120V) or actually insane (230V) depending on where you live.. but to mindlessly tell people to not use it at all, as an electronics engineer.. what's up with that?
I mean, it's a matter of respecting its power, right. So whenever I work with it, thick gloves, keeping my exposed lines as tiny as possible, keeping them around for as short as possible, properly insulating anything permanent, and even asking my landlord to install a defibrillator for when things still go horribly wrong (to which she agreed because it'd be useful to the other residents as well, yay 😁) are kinda mandatory.
And that's for the same reason essentially that precautions are taken when climbing a mountain by having climbing shoes, connecting yourself to pikes jammed into the mountain over a strong metal wire in case things go wrong, etc etc. And for the same reason that you don't climb a ladder in high heels and so on. Obvious, right.
Point is, inexperienced people indeed shouldn't be working with mains AC at all and that's the reason that I've avoided it in the first year or 2 of learning about electronics. But mindlessly telling people in EE forums that they're a redneck for working with the imminently lethal AC.. what's up with that?
Maybe I should just go find another electronics forum like the EEVblog forums over some random (kinda dead) electronics chat on Telegram though ¯\_(ツ)_/¯12 -
iPhones are ridiculously picky when it comes to finding a mate- um charger. And knowing why doesn't really make it any easier to understand why. If anything it baffles me more.
So, let's start with appliances that are not phones. Think Bluetooth headsets, keyboards, earbuds, whatever. Those are simple devices. They see 5V on the VCC line and 0V on ground, and they will charge at whatever current they are meant to. Usually it will not exceed 200mA, and the USB 2.0 spec allows for up to 500mA from any USB outlet. So that's perfectly reasonable to be done without any fuss whatsoever.
Phones on the other hand are smarter.. some might say too smart for their own good. In this case I will only cover Android phones, because while they are smarter than they perhaps should be, they are still reasonable.
So if you connect an Android phone to the same 5V VCC and 0V ground, while leaving the data lines floating, the phone will charge at 500mA. This is exactly to be within USB 2.0 spec, as mentioned earlier. Without the data lines, the phone has no way to tell whether it *can* pull more, without *actually* trying to pull more (potentially frying a charger that's not rated for it). Now in an Android phone you can tell it to pull more, in a fairly straightforward way. You just short the data lines together, and the phone will recognize this as a simple charger that it can pull 1A from. Note that shorting data lines is not a bad thing, we do it all the time. It is just another term for making a connection between 2 points. Android does this right. Also note that shorted data lines cannot be used to send data. They are inherently pulled to the same voltage level, probably 0V but not sure.
And then the iPhones come in, Thinking Different. The iPhones require you to pull the data lines to some very specific voltage levels. And of course it's terribly documented because iSheep just trying to use their Apple original white nugget charger overseas and shit like that. I do not know which voltage levels they are (please let me know!), but it is certainly not a regular short. Now you connect the iPhone to, say, a laptop or something to charge. An Android phone would just charge while keeping data transmission disabled (because they can be left floating or shorted). This is for security reasons mostly, preventing e.g. a malicious computer from messing with it. An iPhone needs to be unlocked to just charge the damn thing. I'm fairly sure that that's because the data lines need to be pulled up, which could in theory enable a malicious computer to still get some information in or out of it. USB data transmission works at at least 200mV difference between the data lines. It could be more than that. So you need to unlock it.
Apple, how about you just short your goddamn data lines too like everyone else? And while you're at it, get rid of this Lightning connector. I get it, micro USB was too hard for your users. I guess they are blind pigs after all. But USB-C solved all of that and more. The only difference I can think of is that the Lightning connector can be a single board with pads on either side on the connector, while in USB-C that could be at the socket end (socket being less common to be replaced). And at the end of the day, that really doesn't matter with all the other things that will break first.
Think Different. Think Retarded. Such tiny batteries and you can't even fucking charge them properly.6 -
Im getting a bit tired of programming.
I have been struggling for years regarding programming. I did have some moments of perceived success, but most of the time it has been depressing.
I’m not sure if I dislike programming. But there are some aspects of it that make me feel not as passionate about it.
First of, programs are invisible. No one sees your program or you (assuming we’re talking about a non artistic dev job).
People can’t see lines of code executing, but even if they did it would be gibberish to them.
Users can only become aware of bad software and that kind of breaks my heart a bit.
You could write fast, stable, secure, easy to read, easy to update software. People won’t notice. Hell, even your boss/coworkers might not notice.
In fact, sometimes you try to do the good thing, you try to become a better dev, you try to write tests first, you try to i18n, and what do you get? “Uhh, that’s taking too much time and I don’t see the benefit”.
I know some people will say that people noticing bad service happens on every job.
But programming is the ultimate isolation job. No client has ever told me “hey that code you wrote was pretty good”. They can’t even read code.
I don’t know the users, the users don’t know me, and the users can only judge my program by the result, they can only judge the visual interface.
Let’s say you write a cool project at github. The code is great. Guess what, every language’s ecosystem out there is saturated. Everything is already written. GitHub is saturated. Your best project ends up being a just for yourself enjoyment.
I’m not saying you shouldn’t enjoy code for yourself. That’s how I bet most prolific coders start. I’ve been doing that for many years now. But at some point you want to be part of something with humans.
Imagine I’m stranded on an island with nothing no humans, just food, water and a computer. Would I write code just for myself, just for fun? I think I would off myself 3 months in.
Maybe I should do develop a more social talent...14 -
I remember a bad freelance experience.
It was a sophisticated mobile applications (many UI, many customization, many APIs to integrate with). since the client have many future freelance projects, I give him 3 weeks as estimation time, and one day per week I work on its place to evaluate the progress and sync our work.
I worked hard, the quality was excellent.. but he kept ask for "small" changes and "small" features.. at first it was OK, and I was planning to give him a good example to profit from his future projects.. but he toke advantage for that and the same app extended from 3 weeks to 2 months and more.. he barely added a little to the initial price..
So what I did? I uploaded the code to a private repository in Bitbucket, added him to the team.. I wrote few lines how to sign and publish the app.. aand disappeared.
his luck, I disappeared from the country, I immigrated to another country for best job opportunity.1 -
Devs : Lets pick library X, it is well know piece of open source technology, actively maintained by community for over 10 years.
Architect : NAH, it is an overkill to use it in our project , lets build our own solution.
*2 Months later*
The code base is hundreds of thousands lines of code, we basically started to look at library X on GitHub to copy features or get inspiration from that code. In that time we delivered 0 business value, it is horrible to use it and we constantly adding something or bugfixing because no one thought about something in first place.1 -
Hi every developer! My name is Allen. English is not my native language so forgive me if I say something that does not make any sense. Let me tell you my story how I become a programmer. (I am still learning) My first computer was a DELL OptiPlex GX 720 desktop. My father bought it for our self-employee job. Before he allow me to use the computer, I used to sit next to him and watching what he do, what he click and what he gets. When he allow me to use the computer, I was slow at typing. One or 2 WPM (word per minute) my father taught me how to use the computer. Very slowly, my typing speed improves. I understand how to use the computer. but one day, I do what make me regret. I was playing with some executables, when I double clicking it, it does not work I used to associate files with apps. I associate music files with every player I want. So, I did what I used to, I associate exe files with windows media center! The computer started to open hundreds of windows media center (WMC for short) whenever an app is clicked, it opens windows media center. Today, I realized that windows were trying to open every app and every process that regularly run. However, since I associate it with WMC, instead of the app itself, it opens WMC some days after the mistake, I wonder how apps work and how I can create my own. My father told me before that a program is simply a binary file that the computer can read. However, it was too advanced to me at the time.I begin my search with google. Everytime I search, it says "learn to code" or something like that. I see some C++ code but, it was disgusting. when I read just a few lines of a hello world code in java. it was too complex
What I seen
#$$#% $%&$%&*#!@
~
(&*%&$ (_(*^% #&&* (^^$(&^$%^( %^*$())
~
^$70^(`*#%`*#&%^)*!" Hello world "#@
~
~
The actual code:
class helloworld
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
I look for an easy way but my attempts fail. then. I push
I to learn how to code.I try learning java. but it still
Very complex. i tried LibertyBASIC. from LibertyBASIC to
Java. after learning LibertyBASIC, it was easy!
LibertyBASIC -> Java -> Ruby -> NOW, C# and XAML
Today, I am learning C# and XAML.
My first OS : Windows 7
My first Computer : DELL OptiPlex GX 720
My first successful click : The Start menu
My first used App : Microsoft Encarta 2009
My first created App : Hi-Lo(number-guessing game. written in LibertyBASIC)
Thankyou for reading this Long story.
8 -
So , at my first day as an intern in the company that would probably be employing me, i heard some great lines that made me gain so much hope in humanity -.-
From HR :
- "your timings will be 10 to 7 , 6 days a week."(even though it takes 4 hours to commute to and fro from that place). "We have a 9 hour a day schedule, and anything between 5-9 hours is considered a half day"
- "we have a 1 paid holiday per month scheme. And that starts after first 3 months, and yes TitanLannister, that also applies to interns. You may take a leave but that won't be considered for payment"(even though the said intern's internship is of 3 months and he already notified that he would be needing a 10 day leave for his exams and a few other college related work leaves )
-"here is an official laptop you could work upon(has average specs but inferior to my laptop). Note that its already loaded with slack, and a browser history tracking software, so you might wanna log out of that if you want to use it for personal use. Also if you want to use your personal laptop, then these tools would still be added into your laptop"
-" all the things mentioned above are connected to this fingerprint card that will automatically upload those details on an hr software and enable history tracker "
-"take your time, but we need this task done by you in next 24 hours. There is no deadline, but we need this work done asap"
In the words on purgatony:
"This is hardly working
This is hardly living
This is my JOB"12 -
Have any of you already felt that you really like what you do (coding, of course, among other things), but you hate "the place(s)" where you work, specifically some of the people from there...?!?!?
It's 9AM, you already got your coffee, is comfortably sat, with your precious headphones, all ready for some gorgeous lines of code to gain life... but...
... your coworkers are arguing cos one prefer braces when using an single-line if statement, the other not...
... another one is discussing about how bad he's paid after discovering that a dev (at the same "level") receives more...
... the coordinator comes to convince you that the manager is not good, has not all the needed "certifications", and vice versa ...
... the designer didn't like the UX's work, and this is just an enough reason for a BIG gossip with the rest of the team (or even with people from other teams) ...
... the QA complains all the time about everything: the testing environments are a shit, the other QAs are a shit, the system is a shit, his life is a shit (even though he has not yet realized it) ...
Sometimes I miss that time when I got into the coding universe at home, giving my first steps and was creating things all the time... against the toxicity we find in a lot of enterprise "habitats"...1 -
My manager thinks I am Superman! and he is so confident that can do any shit he wants me to do.
Yesterday he asked me to merge an ancient code hotfix (literally ancient) with latest branch of changes.
1. Hotfix is really old, most of the things are hardcoded, very specific to a stone age client.
2. Code documentation does not exist.
3. Developers of that code are probably dead.
4. Many Libraries which code uses are deprecated.
5. It's a legacy code, so no one has fucking idea what a particular clumsy block of code do, or what will happen if you remove it.
'if it runs don't touch it' policy by management.
Despite all this shit I successfully merged the the hotfix, refactored outdated code so as to run the application.
Showed this to my manager in full swag!
He was surprised at first, and asked me to show the code changes.
'Code review' was done by comparing files 😅
Manager: Dude, you have changed these lines, why? Explain.😧
Me: those lines won't work with new build, with new libs.☺️
Manager: then why can't you do old build with new changes?🙄
Me: umm.. wait... what???🤔
Manager: the code was working previously, it must be working even today without these changes.😡
Me: it was not working hence I made changes and now it's working fine see! ☺️
Manager: you have removed this, this and this!!! 😡
Me: but I also added that, that and that!😔
Manager: "don't touch it' if it works!"😡
Me: ... Idk what to say!
(In the back of my mind: "Don't touch it even it doesn't works!")😌6 -
Copy paste from the internet, usually stack overflow without knowing what the fuck the lines do.
I saw this girl who was tasked with building a spring mvc application and she literally googled(yeah googled) "spring mvc web app" and copied from the first tutorial site and pasted it.
When errors showed up she copied everything from the second link and pasted it ... Wait for it... Without deleting the old copy but commenting it out so each file had 100 lines of code and 100 lines of comment9 -
There was this uni project where the teacher gave us a project to work as a team (the entire class, 17 people). We were meant to use Scrum, and deliver the first release in 1 week.
Turns out no one except me did the work, and this went on in the upcoming sprints, even with me telling the teacher what was going on.
Then, one day, a girl (let's call her Rose) did a commit to git, and I thought that something as going to change...She committed and push a new line at the end of a file.
After 2 months, the project was done. I had done 4k+ lines of Java EE + Hibernate + JSP code (which was very difficult to me) and the grading came out. I got a 7... most of the rest of the class got an 8 or 9. They did nothing.
When questioned by me, teacher said (it was a group project...)
TL;DR: I did the work of 17 people in a university project, got the worst grade of them all.12 -
Lately ive noticed that 90% of rants is "heres this thing that would come up in the first 3 lines of any documentation but instead of that, im gonna rant about it"
The other 10% is meta rants like this and the last 5% is from people who are bad at maths.8 -
Saw a rant about a teacher so I thought I'd share one of my experiences.
So I had this teacher who was supposed to teach us the basics of web development (HTML, CSS and some basic PHP).
Now this guy didn't really like me very much but that is besides the point.
One day me and a classmate were working on an assignment in class, we ran into a problem but we couldn't find the mistake in the code. So we went to ask the teacher. We explain the whole thing, the teacher stares at our code for a good couple minutes (while the problem can only be in a few lines) and then says something along the lines off: "I don't like that you put your curly brackets on the same line as the if statement, fix that first and then come back"
Needless to say, my classmate and I were standing there with our minds blown.
He knew nothing about PHP, all he did was read out power points.
On top of that, a quick LinkedIn search proved that he normally works as PM an that he has no coding experience!
WHY WAS THIS DUDE FUCKING HIRED????10 -
(New account because my main account is not anonymous)
Let's rant!
I'm 3 exams away from my CS degree, I've chosen to do some internship instead of another exam, thinking was a great idea.
Now I'm in this company, where I've never met anyone because of pandemic. A little overview:
- No git, we exchange files on whatsapp (spicy versioning)
- Ideas are foggy, so they ask for change even if I met their requirements, because from a day to another they change
- My thesis supervisor is not in the IT field, he understands nothing
The first (and only) task they gave me, was a web page to make request to their server, fetch data etc.
Two months passed trying to met their requests, there were a lot of dynamic content changin on the page, so I asked if I could use some rendering framework to make the code less shitty, no answers.
I continued doing shitty code in plain JS.
Another intern guy graduated, I've to mantain his code. This guy once asked me "Why have you created 8 js modules to accomplish the web page job?", I just answered saying that was my way of work, since we're on the same level in the company I didn't felt to explain things like usability, maintainability etc. it's like I've a bit of imposter syndrome, so I've never 100% sure that my knowledge is correct.
Now we came at the point where I've got his code to mantain, and guess what:
900 lines of JS module that does everything from rendering to fetching data..
I do my tasks on his code, then a bug arises so the "managers" ask him what's happened (why don't you ask to me that I'm mantaing is code!?!?), he fixes the bug nonetheless he finished his intership. So we had two copies of the same work, one with my job done and still with his bug, and another one without my work and without the bug.
I ask how to merge, and they send me the lines changed (the numeration was changed on my file ofc, remember: no git...)
Now we arrive today, after a month that they haven't assigned any task to me and they say:
"Ok, now let's re-do everything with this spicy fancy stunning frontend framework".
A very "indie" Framework that now I've to study to "translate" my work. A thing that could be avoided when I've asked for a framework, 2/3 MONTHS AGO.1 -
Your favourite comment?
My team was working on a legacy system, one part of it is an assistant, sadly required as global variables.
Being a non-english-first-language company, some dev years ago thought shortening said assistant to "ass" would be a wise idea - less to type, right?
When we redid the application 2016 part-by-part, our code needed to define 3-4 global variables starting with the "ass" prefix for the legacy parts to work. The colleague who was tasked with this is a fine gentleman from England.
Later as I read through the commit, I found 5 lines of code following 20 lines of comments explaining and deeply apologizing for "ass", "ass_open", etc.
The same dev also had a "HACK OF THE YEAR" comment he moved around when time constraints made a less-than-optimal fix necessary which was worse than the last "highscore".1 -
Spent the last days trying to reach paypal tech support, hung on the phone across the globe, with people at paypal CS, who weren't even familiar with their own terminology, read tons of VERY 'straightforward' documentation and it kept me up two nights straight.
ALL because I REFUSED to believe that it is like I understood it between the lines that I read.
Today I got my answer. You can create Billing Plans (rules on which you'll base your subscriptions, i.e. amount, intervals, duration..) ONLY over the rest api, and only when a customer purchases a first subscription, you're able to EDIT the plan on Paypal dashboard!
What fuckery is that!? You have a edit form, but you can not provide a create form?! TY paypal for making me build a whole billing plan manager for usually a one time transaction per website.
I AM SENDING YOU MY PHONE BILL.1 -
Going for my first code review. My colleagues and I will read through my main class, which is 832 lines long and a two-three comments.3
-
Have a couple I want to air today.
First was at my first gig as a dev, 4-5 months out of school. I was the only dev at a startup where the owner was a computer illiterate psycopath with serious temper tantrums. We're talking slamming doors, shouting at you while you are on the phone with customers, the works...
Anyways, what happened was that we needed to do an update in our database to correct some data on a few order lines regarding a specific product. Guess who forgot the fucking where-clause... Did I mention this boss was a cheap ass, dollar stupid, penny wise asshole that refused to have anything but the cheapest hosting? No backups, no test/dev/staging environment, no local copies... Yeah, live devving in prod, fucking all customers with a missing semi-colon (or where clause).
Amazingly, his sheer incompetance saved my ass, because even if I explained it, he didn't get it, and just wanted it fixed as best we could.
The second time was at a different company where we were delivering managed network services for a few municipalities. I was working netops at that time, mostly Cisco branded stuff, from Voice-over-IP and wifi to switches and some routing.
One day I was rolling out a new wireless network, and had to add the VLAN to the core switch on the correct port. VLAN's, for those who don't know, are virtual networks you can use to run several separated networks on the same cable.
To add a VLAN on a Cisco switch one uses the command:
switchport access vlan add XYZ
My mistake was omitting the 'add', which Cisco switches happily accept without warning. That command however can be quite disruptive as it replaces all of the excisting VLAN's with the new one.
Not a big deal on a distribution switch supplying an office floor or something, but on a fucking core switch in the datacenter this meant 20K user had no internet, no access to the applications in the DS, no access to Active Directory etc. Oh and my remote access to that switch also went down the drain...
Luckily a colleague of mine was on site with a console cable and access to config backups. Shit was over within 15 minutes. My boss at that time was thankfully a pragmatic guy who just responded "Well, at least you won't make that mistake again" when we debriefed him after the dust settled. -
A while back I took over responsibility for getting one of our developers up to speed, after the other guy basically gave up on him.
Management insisted that this new recruit was our guy. I was kind of going along, since I had been there during the recruits first meeting with us, and he seemed to know his stuff.
I was very wrong. He was suppose to have been working with kubernetes, but suddenly did not know what a container was. After explaining it to him, he said along the lines of “yeah, sure, I was only testing you, I know all about this”.
He did the same thing for a number of other technologies. Always said that he knew very well what it was, and that I did not need to teach him those things.
Yet, he always seemed to get stuck with basic stuff, like installing node, setting up env-vars, starting docker-containers locally and that sort of things.
I mean, it is perfectly fine to say that you don’t know. I even consider it a great answer; it shows honesty and makes me trust you more. But with this guy, it was just impossible to get him up and running, since he always “knew”, but yet always needed help.
We had to let him go. Since I had been the one who had spent most time with him, it was natural that I was to be the one to tell him. I was not looking forward to it, I’m not reallly a persons-guy. Still, I was calm and honest with him and basically told him that I had found it impossible to work with him, kind of harshly.
He then asked me if he could put me on as a reference for his future job-applications. I told him politely that I did not think that was a great idea. He asked why, I told him I would be unable to say anything that would benefit him. He then asked me to lie.
I didn’t know what to say, except for “no!”. Never saw him again after that.3 -
God damnit!
i recently inspected the c# sourcecode of a webservice, our webservice develop references to.
As i discovered a particular function in it, my face went instantly pale.
This golden-hammer function consists of ~2000 lines of code.
In the first line there is "try {".
On the last lines is "catch (Exception e) { throw new SomethingWentWrongException ("special function"); }"
At least, he "tried" xD
I don't want to develop on that planet anymore...7 -
Okay, first rant here.
Spend most of my morning searching for a js file that was supposed to build some graphs in a report page in this legacy system (still in active development) just to find it embedded inside a random .php file being included inside a wall of if-elses (that shit has around 100 lines) on the index.php (that somehow manages to route all the nonsense that's going on there).. was it really that difficult to make it a proper .js file? and actually import it on the page that is using it? c'mon...4 -
I'm 2 months into my first dev job. Today, I was working on upgrading one of our products to React 18. Had a feeling my UI changes weren't being pushed to AWS so I wanted to test that. Changed all labels from ".. filter users..." to "shmilter shusers". Committed, then nearly pushed those changes for a PR. There are multiple lines of defence and only a 5% chance that no one would spot it but as soon as I realized that there's a small possibility that our customers would suddenly see "shmilter shusers" on their instances, I had an absolute fit. Maybe it's a "you had to be there" kind of thing but I don't remember the last time I laughed this hard.5
-
I'm gonna cheat a little since i don't like alcohol 😁
School projet, designer sends me final design less than 24 hours before the deadline, i coded all night long. 17 hot chocolate bowl. I never got the luck to be in the same flow than that night. Each hot chocolate made me stronger, lines of code were running, CSS was perfectly good first try.
Once code was submitted, i slept for like 14 hours. I woke up hugging my pillow.
I'm pretty sure i was drunk with hot chocolate.1 -
@JoshBent and @nikola1402 requested a tutorial for installing i3wm in a windows subsystem for linux. Here it is. I have to say though, I'm no expert in windows nor linux, and all I'm going to put here is the result of duckduck searches, reddit and documentation. As you will see, it isn't very difficult.
First things first: Install WSL. It's easy and there's a ton of good tutorials on this. I think I used this one: https://msdn.microsoft.com/en-us/...
Once you got it installed, I guess it would be better to run "sudo apt-get update" to make sure we don't encounter many problems.
Install a windows X server: X is what handles the graphical interface in linux, and it works with the client/server paradigm. So what we'll do with this is provide the linux client we want to use (in this case i3wm) with an X server for it on windows. I guess any X server will do the work, but I highly recommend vcXsrv. You can download it here:
https://sourceforge.net/projects/...
for i3 just "sudo apt-get install i3"
Configurations to make stuff work:
open your ~/.bashrc file ("nano ~/.bashrc" vim is cool too). You'll have to add the following lines to the end of it:
"""
export DISPLAY=:0.0 #This display variable points to the windows X server for our linux clients to use it.
export XDG_RUNTIME_DIR=$HOME/xdg #This is a temporary directory X will use
export RUNLEVEL=3
sudo mkdir /var/run/dbus #part of the dbus fix
sudo dbus-daemon --config-file=/usr/share/dbus-1/system.conf #part of the dbus fix
"""
Ok so after this we'll have a functional x client/server configuration. You'll just have to install your desktop enviroment of choice. I only installed i3wm, but I've seen unity and xfce working on the WSL too. There are still some files that X will miss though.
*** Here we'll add some files X would miss and :
With "nano ~/.xinitrc" edit the xinitrc to your liking. I only added this:
"""
#!/usr/bin/env bash
exec i3
"""
Then run "sudo chmod +x ~/.xinitrc" to make it an excecutable.
Then, to make a linking file named xsession, run:
"ln -s ~/.xinitrc ~/.xsession"
Now you'll be able to run whatever you put in ~/.xinirc with:
"dbus-launch --exit-with-session ~/.xsession"
There's a ton of personalisation to be done, but that would be a whole new tutorial. I'll just share a github repo with my dotfiles so you can see them here:
https://github.com/DanielVZ96/...
SHIT I ALMOST FORGOT:
Everytime you open any graphical interface you'll need to have the x server running. With vcXsrv, you can use X launch. Choose the options with no othe programs running on the X server. I recommend using "one window without title bar".10 -
I think it's the first time I see 1 million lines changed in a single commit. Amazing.
https://github.com/DrKLO/Telegram/...4 -
when I got hired my boss wrote a cms in php that's 50,000 + lines of php code, without a single line of documentation. Yeah can you tell how my first few weeks went?1
-
I'm working with some too smart junior. He rarely listens, does his own magic.
In his last MR, he did an ugly fix, 100 lines big. I told him exactly, what to check first, but nope, he's likes being a magician.
Now, I took 5 min and fixed it with single line of code.3 -
Yeah, So the principals of hackathons is shit and am about to braek down to fucking cry.All you do is waste 48hours of your life discussing your ideas with irrelevant startup managers who will just shatter your dreams with a single sentence "this is already in market, what have you creat new?" For fuck's sake, it's my first hackathon , you guys have given me just 10 hours ,i have a team of worlds most idiot devs and i am their equally idiot if not more leader... However my idea was 1000% real and authentic and worth finding... if not, then at least give me prize for creating 9000 lines of code with 2 IOT devices and a working , documented model which no other fuckin team could do.... AND even not this, then FUCKING GIVE THE PRIZE TO SOMEONE WHO DESERVE IT, AND NOT THE TEAM FROM THE COLLEGE THAT SPONSORED IT.. fucking politics -_-2
-
Started working on a new project.
Sent out my first code review for that repo.
An intern pinged me and blamed me that I have added so many comments to get more lines of code.
I have no words to reply him.3 -
Back in college, one of my professors who was teaching Introduction to UNIX class, said :
"head -n 2 file.txt" displays the first 2 lines of file.txt.
I asked : and to show the last 2 ones ?
"Don't be a fool, +n instead of -n" he answered.
RIP UNIX ...9 -
Right so I'm new here. I don't really bitch much. Just want to see what it's like.
So I was hired supposedly for my java skills. I've been here 11 months. I've written exactly 0 lines of Java. On plus side I have gotten the opportunity to learn c# on the job but on the downside I spent my first 6 months fighting to get admin rights. I'm on my fourth company laptop (don't ask) and every time I have do the fight again. So I wound up doing a lot of not-programmer-stuff while I was waiting on admin rights. Apparently a lot of this is now permanently part of my job.
I was chatting to one of the more senior guys in another team here and he said he hated the first few years of his career, just doing "stupid front end stuff, move this box over there, make that button look pretty" meanwhile I'm sitting here wishing I could have the chance to at least be writing code4 -
'Hey I found a bug in your code, it's probably a typo, see here.'
Me: Oh right, yeah. How stupid of me. Thanks, I'll push it.
'It's okay. You can push it or I can do it too after you push the changes we just discussed. I actually simplified one of your methods.'
Me: You, what... ?
(You crammed multiple lines in a single line with your stupid as fuck, rigid constructs, removing my error handling, loosely coupled service, in the name of simplification?)
' Yeah it's just four lines in a single function now, no need to call the function again and again.'
Me: (No... Just no. This totally undos whatever little I could do to avoid supporting your idiotic object in the first place.)
Oh... okay, we'll see. I'll let you know.
What life.
Life in a company full of ignorant, inflated egos is no joke.
Details:
I created a service that reads a configuration file and returns the configuration. This person needs five entries for his app logic. He collected them in a object. Quite alright. Except that the class prototype is shitty. I, like a normal person, made my service return a value based on input. I was asked to incorporate this awful object so that I can return the five entries together, which is awful because the service is not supposed to know about how the entries are clubbed. It should most certainly not know about the data members of the object!4 -
As a final year student it makes me feel proud about things I do now, back in 2014 I was newbie to programming and after the years of study ( I skip collages in order to study by my self at home since my syllabus is too old for me to keep up with new technologies. ) I still feel like shit against brilliant programmers on the internet.
My journey untill now was frustrating and side by side it was fun too, I have spent several days to figure out very minor problems in my programme which made me forced to learn even more in order to avoid silly mistakes in future.
Those four lines of output were really true worth of that forty lines of code.
Every one of us, in their entire life at least once had thought about which programming languages to learn first and yes I was one of those guy who used to search on Google, watched YouTube videos and asked seniors for the same advice but soon I realized it's never enough to completely learn even one language. Each and every programming language is based on similar logical structure. No matter how different it's syntax is it won't make much of a difference.
I am thankful to internet and all of those guys who make video tutorials, help on q&a forum (stack overflow) , publish posts on website and all of IT community guys. I made it this far it's all thanks to you and I know it's just beginning of spectacular journey ahead.undefined thanks programmer programming quote blog blogging journey life of programmer life internet it crowd2 -
Only around 700 lines of code and I finally have my first working Vulkan drawcall! Can't wait to integrate it into my engine for all the parallel rendering goodness (not to mention better architecture and asynchronous-ness)
One thing that's a bit weird about Vulkan is the way everything is very static and tightly linked together. You basically need a different renderpass for each stage of rendering (scene-hdr-no-aa, scene-hdr-msaa4, scene-hdr-smaa1, scence-shadow, post-bloom, post-resolve, etc.), a different pipeline object for each distinct pipeline configuration (!!) and both framebuffers and pipeline objects are only valid within the single renderpass they've been created for (roughly speaking)
Oh, and each time the window is resized you have to recreate *all* of these objects from scratch because they also depend on viewport size
No wonder `pipelineCache` is the first argument of `vkCreateGraphicsPipelines` lol3 -
I work as a front end developer at a company. This site is using WordPress and I need a paid plugin, but I wanted to test the full version first without paying, so I googled it. Downloaded it and installed it right away.
NOTE I was working on the test server, where all other projects are placed in a subdirectory of public_html (public_html/websites/<other websites>), but instead on placing the website folder where are the others, I placed it in the parent directory (public_html), (where are some others folders and files). Everything goes fine, but a few days later, I wanted to modify something in functions.php of that theme and I noticed a strange code, base64 format, so I decrypted it and turns out it's a backdoor that puts code in other files of the theme, so it can add an Admin in the DB anytime, so it can remotely connect to the website. Because, as I said, the website was in the public_html directory, and the virus search for the other folders and files in the same directory and his children, it affected the rest of the websites (50+).
I reported that to my boss, but says it's fine and to give more attention next time and to install the website in the same directory as the others. Couldn't fix automatically and I had to remove manually in every website every file created and the lines that the virus added.5 -
My coworker is... something else. He's "coded in Java for six years", bear in mind and this is a bit of .py code he's written. First a doNothing() function (probably didn't hear about pass) and then there's about 400 lines of creating values. No iteration whatsoever. I have no idea how he's got the job. Not to mention that whenever he talks about anything technical it's like listening to Gertrude from Accounting talking about 'mouse not working'.11
-
When you search for this error during 3 hours
if (false);
{
printf("why u right ?");
}
And it was just the first lines comma9 -
I have to say, Kotlin is getting interesting now. At first i was like "WTF is this shit", but now im like "TF, did i just create a data class with 2 lines of code as opposed to the 14 i would have using JAVA? TF you've been Kotlin?"
-
Correct me if I'm wrong, Python is absolutely built on:
--Data encapsulation
--Dependency Hell
-- ambiguous object types
-- You BETTER hope that package has a function to turn that object into another HOPEFULLY SUPPORTED object (basically even more encapsulation)
--Oops this package doesn't support this other package, so you need to do another 20 lines of conversion
I really don't understand what makes Python so likable?? Am I just being stupid, or does exceptions like "This does not support multiclass" the worst fucking exception i've ever seen? Or "Shape (None,1) not compatible with (None,7)"? I get it that you can fix it if you've seen this issues multiple 100s of times, but for the first time, how the fuck am I supposed to debug this?13 -
Extract from a quite old recruiter email (excluding the formalities):
Position: junior dev
Workplace: office for first year, can be changed to remote after (salary will be 50% lower if you go remote though) *suspicion levels starts raising*
Payment: 1€ per line of code (empty lines/comments excluded) or page of documentation *alarms start ringing*
Additional info: on high alert for 4 weeks every 6 weeks *wtf is going on*, salary bonus is 10€ per week *I stopped reading here and moved the email directly to the spam folder*6 -
I love Unix systems because everything goes smoothly most of the time but today... Fuck me... I just wanted to see how many lines my script was with "wc - l" but I couldn't remember "m" or "w". 180 degrees separated despair and monotony, although I didn't know it yet. I did "mc - l" first and midnight logged empty ftp buffer to my file. Goodbye Thursday and Fridays work :) I should commit more often.4
-
SCStudentRant?
I have a subj called "Fundaments of Operative Systems" (or something along those lines), and I have 2 crappy teachers, one for the theory classes, the other for the exercise classes.
The exercise classes teacher is said to be the worst in uni and every time I think about that class I get a bit anxious because I can never do anything in it. Basically we don't get taught code in theory classes and he just comes and says "do this exercise" without explaining anything first. And when he does I still don't understand it.
I bet like 90% of us have no idea how to program in C and we need that for those classes. I hate C with a passion because of this.
In the theory classes, the teacher explains most of the things without powerpoints, and when we don't understand something (either ask about something he said or what's written in the board), he REFUSES to explain or say what's written, because he has "explained it before". He even chuckles as if it was really funny that we can't read his handwriting or just didn't listen because we were writting things down OH MY GOD. So most of the times when I copy things from the boards and then look at them at home I'm like "what the hell is this, this doesn't make any sense, what did he even write" (has some word that looks like what he wrote with ?? around it)
I think they wanna watch us fail. I really do.
I kinda understand the theory classes, but half the test is writing code. How am I gonna write code if I don't understand it? I have a work for that subj to deliver until monday but I can't make it work because I don't know the code I have to write. Damn it all to hell jesus christ
Additional note: they're both in their 60s and should be retiring not long from now so maybe that's why they act so carelessly.
Love the uni, not so much some of the teachers2 -
Anyone reading these emails we are sending?
I work at a small place. A few users are using an application at our place that I develop and maintain. We all work remotely.
I announce by email to these few users a new version release of said application because of low level changes in the database, send the timeline for the upgrade, I include the new executable, with an easy illustrated 2 minutes *howto* to update painlessly.
Yet, past the date of the upgrade, 100% of the application users emailed me because they were not able to use the software anymore.
----------------
Or I have this issue where we identified a vulnerability in our systems - and I send out an email asking (as soon as possible) for which client version users are using to access the database, so that I patch everything swiftly right. Else everything may crash. Like a clean summary, 2 lines. Easy. A 30 second thing.
A week pass, no answer, I send again.
Then a second week pass, one user answers, saying:
> well I am busy, I will have time to check this out in February.
----------------
Then I am asking myself:
* Why sending email at all in the first place?
* Who wrote these 'best practices textbooks about warning users on schedule/expected downtime?'
*How about I just patch and release first and then expect the emails from the users *after* because 'something is broken', right? Whatever I do, they don't read it.
Oh and before anyone suggest that I should talk to my boss about this behavior from the users, my boss is included in the aforementioned 'users'.
Catch-22 much ? Haha thanks for reading
/rant7 -
How do you debate the "it's more complex in my opinion" statement?
So, some months ago I was looking at some code which has stuff as 300 lines of code function(s) and I could feel the bad smell irl...
I analyze it a bit and there is a lot of stuff which is misplaced, repeated or unsafe.
I first re-arrange it and remove redundancy, then break it down in about five functions (plus a caller), all is now readable and assignIcon k(made-up name) only assigns an icon, it doesn't also send a rocket in space.
But then I put the code in review and the previous author of the code says that it's now unreadable, because s/he has to look as multiple functions. I counter by showing how s/he does not need to read 300 lines of code to find a bug, but approximately 60, and I point at how misleading having an `assignIcon` function which also sends rockets in space is.
The counter? "But it looks confusing to have smaller functions, revert it."
How would you debate that? I am shy and hate myself a lot, so I have issues debating good points, but I am really really sure a lot of bugs I encountered were due to stuff like this so I would like to be able to explain my point in a more efficient way, for future teams.12 -
I'm going to be that guy .... A lot of these rants are about code compiling first time .. Throwing away code you wrote because you didn't need it... Getting in the zone and writing a billion lines before you compile .... Am I the only freaking person here that does TDD ? My rant is wake up people ! People evangelize about it because it fucking works !6
-
A college prank, more than an office prank, but a few years ago I was doing a course in Multimedia, no programming aside from some actionscript, so it wasn't a very technical course as such. At the end of my first year, I used a Php script to email a guy in my class, and make it appear to come from our course head, saying something along the lines of "There's a problem with your grades, we suspect plagiarism, please email back to arrange a meeting etc..."
Unfortunately, before I had a chance to tell my friend I spoofed the email, he was already after seeing, and replying it to. Obviously chaos ensued, I got called into a review panel, accused of breaching my course heads email account and whatnot, I had to demo to them what I actually did, and then told they'd review if they would let me continue with the course.
A few days after, i got an email saying they'd overlook the incident and I continued with the course and now have a nice story about a prank that went slightly wrong but worked out fine in the end :) -
I just have to rant...
7 months ago, I was still a pretty new iOS developer, but finally coming into my own. My boss gave me my first feature ever... a fully custom backend tweaker for our development builds, complete with text fields that devs and testers alike could fill in themselves for whatever they needed to test. I worked harder on that than I’ve ever worked on anything... and I got to make all the decisions on how it looked, behaved, what exactly the user saw/read... everything.
A month ago the most senior dev on my team was asked to update the tool to prepare for a backend migration to a new server. He was then hired to work for Apple, hurried to finish this task, and left forever. (He deserves it, we probably were slowing him down realistically. But that doesn’t forgive the following...)
Unfortunately, he thought it’d be a good idea to remove my entire custom backend tool in the process. Not sure why— maybe he thought it was legacy code or something. He must not have tested either, because the entire backend selector stopped working after that. But that was no problem— I could fix the pre-filled environment buttons just by updating a few values.
It’s the fact that he removed 100+ lines of my custom code from 3 separate classes (including entirely removing one of those classes), for no known reason, and now I have to completely rebuild the feature. Since it was entirely custom, it required no change for our migration in the first place. But he rewrote how the entire view works by writing an entirely new VC, so there is no chance I can just restore my work as it was written.
And in the shared class, he erased every line with the word “custom.” So, so many lines of hard work, now irrelevant and only visible in old defunct versions. And my boss has asked me to “just make it look how it did before the migration.”
I know it’s useless to be angry at a guy who’s long gone, but damn. I am having a real hard time convincing myself to redo all this work. He removed every trace, and all I can think is WHY DID YOU DO THAT YOU FUCKING MONSTER? IT WAS MY GREATEST WORK, AND NOBODY ASKED YOU TO DESTROY IT. THIS WAS NOT EVEN RELATED TO THE TASK YOU WERE GIVEN, AND NOW A SIMPLE TICKET TO RESTRUCTURE A TOOL HAS BECOME A MANDATE TO REBUILD IT FROM SCRATCH.
Thank you for being here, devRant. I would’ve gotten myself into deep trouble long ago if I didn’t have this safe place to blow off steam 🙏4 -
First week at job as newly graduated from CompSci. And I feel like a fucking monkey trying to figure out how everything works, I have help from the main developer but it feels like I have to ask questions all the time and I can feel the judgement in his voice. Today I committed my first lines of code (phoneformatting) and he basically had to hold my hand the whole way through. I feel like shit atm, I really want to be good at this, I watch tutorials but when it comes down to it my mind just blanks out and I can't figure out how to even write a simple fucking method in php (which he did and my brain just shut down ). Please help me, how do I improve at remembering all these terminologies, I feel like if I keep it up like this they won't have me around for long.7
-
"Ralph" has been working on a process that updates a field in a SharePoint list and bellying aching for almost a month. Couldn't use the C# client, too hard...tried to use the SharePoint REST entry point, using C# too complex...Javascript also was overly complex. Tried to use PowerShell, that worked but could only run on the SharePoint Server and it didn't have access to the 3rd party system.
In our stand up this morning, again, he was belly aching he is still not done because of the complexity of SharePoint.
I thought "Good lord...what the frack is the problem? Surely other devs in the world aren't having this much of a problem."
Fire up google...search for an example...copy the MSDN C# example...run it...tada...updated the SharePoint list just fine. Maybe 15 minutes of effort (< 20 lines of mostly copy+pasted code).
Next stand up, I'm contemplating calling him out on the BS, but I suspect he had working code for a while. Wouldn't be the first time he has dragged his ass working on a project until folks get fed up waiting and he has an "intellectual breakthrough" and brags how all his effort was worth the time. Similar to the firefighter who starts fires just so he can 'be the hero'.1 -
So you heard from that awesome tool that apparantly everybody uses.
Go to the web page:
One single continuous page in 90ies style with random blahblah targetting expert users and various edge cases without context. Some lines about arcane build commands in an unfamiliar language.
Not even a single, comprehensive line, what it does, what it is good for, no minimal example or hint even how to run it.
So you write thousands of lines of dense code, but are not able to drop some first lines of plain, understandable english for people just visiting the first time? How hard could it be? Fuck you, srsly.4 -
My company outsourced project to another developer. First MR he made was 3500 lines. Looking forward to it.5
-
First Post since... Long I guess?
I got a new project!! I am currently creating a Webserver Framework in Java. I can create fully functional websites with a few lines of JSON.
(Look below)
Currently I don't have direct Javascript support, but I am working on installable modules. With those the Web-Admin can code little code fragments that can be shown (live) on the webpage.
I am so hyped because it does work <3
(Pictures of development might follow)
(Can I even call it framework? Hm dunno.. )14 -
So first of all merry delayed Xmas and of course wishing you all a happy new year.
Now...
I always loved designing and coding, yes I actually like it, I must be absolutely mental or something.. I finally after pushing myself through hours upon hours of courses, finishing most within 15% of the allotted time, and doing more then was requested, I finally found a job, related to front-end development. You might think "Gee; good for you buddy, you filthy commoner.." Well; it didn't last all too long, I basically after nailing the interview process got my first day there within a few days, now I am absolutely stoked and my nerves are shot, plus the 4 cups of coffee aren't helping. I literally was so nervous to do well on my first day, that I slept for only one hour, literally one bloody hour.
I get into the office where I am greeted by an amazing laptop, I mean high-end gaming 360 no-scope all over the place gaming. I sit down and start on getting all my tools ready to go (they let us use whatever IDE we wanted, which I thought was amazing) after getting my IDE and the plugins and all the emails/Slack etc setup, I then get told to get a Dropbox account. I assumed the Dropbox account was just there to share things quickly with the designers, we would obviously be using Git right?! Well; no not exactly, actually not at all - we all used the Dropbox account of one of the bosses, I swear everybody pushed and pulled stuff all the time, a copy of the boss's passport was in there as well, and they had projects from and up to 3 years ago, still in there... It took my Dropbox 3 bloody hours to grab as much as it could to actually allow me to get started...
I then to my absolute dismay notice that I would be working on a prefab of a prefab, basically the only thing I would be responsible for, is to adjust the animations and aligning elements.... Aligning and animations.... Fine, I guess it could be worse right? Started going along with it, using a framework that I never heard of before, till like a good 3 days before starting there called "Greensock" which is amazing I must admit, could've helped me allot on my solo-projects. Problem was; we had designers who wanted things, that just looked plain horrible, it was never 'on-point' so to say, maybe it's just me being a perfectionist but it just looked wrong.
Finally got it done after struggling with the prefabs and what not, then the day was almost over and I finally got to go home, fortunately dodging the drinking that was occurring around 4 in the afternoon in the middle of the office, it wasn't beers or anything of the sort - but hard liquor along the lines of Wodka and straight up Gin. I fortunately had a personal issue I had to attend too, so I got out of there before things got too crazy and they went out for dinner stumbling all over the place.
Well this wen't for a few more days (minus the drinking), with 8 being the exact number of days and my grievance list only kept growing. I was for one a junior-developer and thus with them knowing was supposed to get training from our lead, however; that never occurred instead said 'lead' would leave early or be completely absent on most days, leaving me to mess around with prefabs that did my head in, with no comments nor any indication what it did or should've done, I spent hours just adjusting one line of code at a time to see what would happen.
Eventually they told us to work from home only, so I did - did a project here and there and then got told they wouldn't keep me on board any longer, stating I was too inexperienced and they didn't have enough work (which was a load of bs) and that I lacked "office experience" whatever the heck that means, I was always sociable and hell I ever cracked people up, kept a neat and orderly list of things that needed doing, I even contrary to most commented on my code, so the next poor sod wouldn't be going through 'try by error' hell that I wen't through.
Either way; I currently have been feeling absolutely wrecked in terms of motivation, that job would've solved my financial situation and allowed me to finally do what I wanted to do. Instead of doing some random dead-end job each week or month, I would've had a steady income and something I could've built on.
But to add some positivism to this endless and too long of a rant... I'm currently going through a boot-camp and doing a small Linux based course on the side, this little thing isn't going to hold me back; yeah it will be tough, but then again most things don't come easy..
Thank you for reading and I hope you have allot and I mean allot more luck on your first job.5 -
Keep this in mind: I don't like WordPress and PHP at all!!!
So a couple of days ago my boss asked me if I could extend a custom made WordPress plugin made by our intern. First thought: sure why not? Boss says: it has to be done in less than 100 hours of work (an estimate done by my boss and the intern). Me: I can't tell you that before I have seen the code and what functionality has to be in the extension. Boss: Cool, look it over this weekend and tell me if you want to do it or not.
I looked it through and my answer will probably be: NO WHERE IN HELL am I gonna are this in less that 100 hours! 1. no tests has been performed so I have absolutely no clue if his code works.
2. variable names are mostly: $string_query (whatever that means?), $result, $string_temp and so on.
3. Methods and functions are more than 250 lines long, with shitty formatting, and more comments than code. WTF?
4. The estimate has been made by an intern and my boss (doesn't know much about programming). I haven't been consulted about it....
5. No version control. No branches, no commits other than initial commit. Great.
6. Most comments in the code just tells me what I can read from the code. What it returns and what it takes as params. Can I please know wtf your method call named $booking->run () does? I still haven't found this method in the code after 1 hour of intensively looking for it...
FFS man... Not gonna do this, even though I thought it would have been an interesting project initially.
Sorry for the long rant... I just wish the intern would have consulted me about all this shit, since he obviously have bad practices. *sigh*6 -
When I was first learning Java I forgot to use If statements and made about a 600 systemoutprint lines. Don't be like me5
-
* Sigh * Found this in an open source project, time to make a PR that'll never get looked at. \
(first and last lines)8 -
Company is about to get certified to ISO 9001:
Kick-off meeting with consultant announced weeks ago, mandatory for all employees.
Everyone is kind of joking about it, but also looking forward to certain workflows maybe changing to the better.
Two hours before meeting, told by CTO not to attend.
Some code I hadn't touched for half a year needs urgent patching to make the equipment pass EMC test (doing so within a few hours would help us save the lab cost for another day of testing).
When they applied RF noise to the bus lines, the CAN peripheral would glitch and need reset, this should happen covertly the first few times without raising any error to the user, so they could just finish the testing without being disturbed by the error - and the EMC lab will not test the functionality of the device after all.
The irony when you were actually supposed to learn about quality that day... -
In highschool, I was looking around for schools and universities at which I would start my student career. I went to a grad school one day, to see what it was like to be a student there. The first class I visited was programming for embedded systems. We got the assignment to write Java code to control a boom barrier. The teacher had written the template. And I kid you not, the template had a method of around 20 lines of code - without comments - with the purpose of carrying out a logical OR operation. An operation that literally can be done using an operator in Java: |
Why oh why do they let these people teach, with the result that the students will get used to these bad practises...5 -
GOD ALMIGHTY I HATE SWIFT & XCODE...
Why the fuck does it take a horrendous amount of time to muck about with layout constraints. Why the heck does xcode choose to add constraint layouts to elements that already have pissing constraints! Why does dealing with something as trivial as tables have to be so god damn fucking involved when HTML and CSS let me create and style tables in fuck all lines.
And what the hell is up with how pissing long xcode takes just to figure out that 1 extra line of code I've just added. You jump to another file and xcode finally decides to be an ide again and bitch at the fact that you've forgotten to add some parameter or that they've decided to rename paramter "x" since version fuck nows what.
Working with abstract classes is fun, lets use protocols (because interfaces are too old school) and then lets tack on something we call extensions and then lets make people piss about with convenience initializers.
And lord almighty, what the fuck is up with casting, what all this ?! BS. What's wrong with just checking if the value is null in the first place, or whats wrong with giving something an initial value, oh because having to unwrap shit is more elegant right??
And good god, I need to own a fucking cinema screen just to have the storyboard open, there's less fucking panels on the Sistine Chapel ceiling
then there is in xcode.1 -
300 global variables.. THREE HUNDRED FUCKING GLOBAL VARIABLES?
Are you for real?
Now let me check the line numbers again..
hmm.. line 97 to .. yep line 410, just a few new lines to seperate some of them or.. group? Idk, I've given up on trying to understand those.
Now you may ask "But ThatPerlDeb, where did you see this and what was the intention?"
Low and behold, take a chair and I may explain this to you.
First of all: Fuck the dev that wrote this!
Second: Fuck all the devs that kept up with this practice or whatever you want to fucking call this!
Now, the application is our POS system that our customers can use for a monthly fee (That this piece of garbage even requires payment is disgusting) but anyway..
The global variables sometimes are declared for labels, sometimes for some frames, sometimes just for random values to be there.
We're using Perl for the POS system and Perl ain't the best at OOP, so in the dev's defense I can understand why you'd use a few global variables, but not fucking 300!! FUCK OFF WITH THIS BULLSHIT!!
So now I'm going through this torture slowly but surely deleting globals and putting them into some sort of scope and always MANUALLY test if something broke. Again, this company sucks ass and there's nothing that could even be considered a "unit test" or something like that, so fuck that, too.
After two hours I've brought down the count of global variables to about 260, so there's progress being made..
But then, there comes more!
"But how???" you may ask, and you're right, I've asked that myself.
Now to resolve the global stuff in each file some of the initial globals are used, we got about 20-30 files which do different stuff, all fair and square, at least there was an attempt at seperating functions but god this mess is so fucking fucked up. So in order to "safely" delete a global variable I have to check if any of the variables are used in another file, and if so, in which scope and how they are used.
Spaghetti would be a compliment for this fucking disgusting piece of utter bullshit.
Let alone the code quality of this "code"
Indendation? Dafuq is dat?
Scope? Nah, we got everything global anyway
Function size? Well, some are 5 lines, some are 900 lines, who cares anyways, right?
I'm so fucking glad once I leave this shithole, for real.6 -
So, today I wanted to program a bit and, after reading the last chapter, I want to see what I able to do.
I run my last Linux distro, I open sublime and I start typing code. I finish, I build. 0 warning, 0 errors. Nice! I execute the code: error.
I watch and I struggle on the code for hours, I search on Google, I search on StackOverflow, but after 1 hour I notice I'm looking for a needle in a haystack. So I search instead for a way to produce a better error. I found it, I'm very happy. Let's try what the error actually is:
Error: success
Ok....
Ok...... Well, maybe.... Uhm......
Ok, I won't give up. I search for a tutorial. Found.
The code is almost the mine, it's actually a usual snippet, nothing new. I compare my code with the code in the example/tutorial.
First line, is the same.
First 10 lines, are the same.
First 30 lines, are the same.
I build and execute the example: it works.
I build and execute my code: still doesn't work.
I won't give up, I said it. I won't give up.
I wonder if there's a tool like git diff, so I can see what the differences are, maybe I've no good eyes.
I search, first Google result, "diff"
diff myCode.c example.c
"the files are not identical"
...thank you
I search for a better command
diff -y myCode.c example.c
"the files are not identical"
I search for a still better command
Found. StackOverflow stroke again.
sdiff myCode.c example.c
"the files are not identical"
.....
....
.....
I gave up.
Ps. I've 10 years of experience in programming4 -
Very eventful day, please see enclosed several smaller rants.
===================
My college's systems are shit and not only do they use HTTP for everything, even the stores and financial aid purchase system, they have homebrew JS shit for PGP site encryption (nifty...), but they exchange the PRIVATE KEYS instead of the public keys. Over HTTP. Not even HTTPS. Also if you log in more than 10 times in 24 hours it's supposed to lock you out of your account until you call... except it locks EVERYONE out. Found this out when on campus, trying to get my textbooks, when suddenly everyone had login lockouts because i'm a "paranoid bastard" and "afraid of idiot college students" for not telling a PUBLIC PC to remember the one password (enforced by password auto-sync across all their shit, not ideal, no) guarding my SUPER-SENSITIVE FINANCIAL AND ACADEMIC DATA... among the other hundreds of issues this college has. I now see why this college is the only one I can afford...
===================
Can't pass-through raw DVD drive access to VMs as VM managers crash when I try (yes, even QEMU...) so i've gotta install Windows on a shitty 80GB laptop HDD for literally one quick project. On the bright side, if my theory proves correct, you'll no longer need modchips for PS2s.
===================
Found a couple odd lines in my xscreensaver config:
GetViewPortIsFullOfLies:False
nice: 10
pointerHysteresis: 10
the first 2 I can't seem to figure out what do, and the last taught me a new word. Fun!
===================
that's it, it's over, why are you still here11 -
We code hard in these cubicles
My style’s nerd-chic, I’m a programmin’ freak
We code hard in these cubicles
Only two hours to your deadline?
Don’t sweat my technique.
Sippin’ morning coffee with that JAVA swirl.
Born to code; my first words were “Hello World”
Since 95, been JAVA codin’ stayin’ proud
Started on floppy disks, now we take it to the cloud.
On my desktop, JAVA’s what’s bobbin’ and weavin’
We got another winning app before I get to OddEven.
Blazin’ code like a forest fire, climbin’ a tree
Setting standards like I Triple E….
Boot it on up, I use the force like Luke,
Got so much love for my homeboy Duke.
GNU Public Licensed, it’s open source,
Stop by my desk when you need a crash course
Written once and my script runs anywhere,
Straight thuggin’, mean muggin’ in my Aeron chair.
All the best lines of code, you know I wrote ‘em
I’ll run you out of town on your dial-up modem.
Cause…
We code hard in these cubicles
Me and my crew code hyphy hardcore
We code hard in these cubicles
It’s been more than 10 years since I’ve seen the 404.
Inheriting a project can make me go beeee-serk
Ain’t got four hours to transfer their Framework.
The cleaners killed the lights, Man, that ain’t nice,
Gonna knock this program out, just like Kimbo Slice
I program all night, just like a champ,
Look alive under this IKEA lamp.
I code HARDER in the midnight hour,
E7 on the vending machine fuels my power.
Ps3 to Smartphones, our code use never ends,
JAVA’s there when I beat you in “Words with Friends”.
My developing skills are so fresh please discuss,
You better step your game up on that C++.
We know better than to use Dot N-E-T,
Even Dan Brown can’t code as hard as me.
You know JAVA’s gettin’ bigger, that’s a promise not a threat,
Let me code it on your brain
We code hard in these cubicles,
it’s the core component…of what we implement.
We code hard in these cubicles,
Straight to your JAVA Runtime Environment.
We code hard in these cubicles,
Keep the syntax light and the algorithm tight.
We code hard in these cubicles,
Gotta use JAVA if it’s gonna run right.
We code hard in these cubicles
JAVA keeps adapting, you know it’s built to last.
We code hard in these cubicles,
Robust and secure, so our swag’s on blast
CODE HARD10 -
"I shall sing that first line twice, and perhaps if I sing it very quickly, I shall find myself singing the third and fourth lines before I have time to think of them, and that will be a Good Song." - Winnie The Pooh2
-
Well, throughout my life I've never really thought about programming. Then one day during some downtime on a backpacking trip with a friend, while I had nothing to do my friend sat there with his computer with the screen all dark, filled with funny colourful text in lines of different length, with some lines even starting more towards the middle of the page than to the left, almost following a vertical wave pattern. He said he was writing a program to control his home remotly as well as working as a security feature that could unlock his home automatically when he got home. I was amazed by the colorful text as well as the fact that he could just create this crazy program out of nothing.
Half a year later I attended my first lecture at the computer science programme. My first program was a command line tool used for baking bread. It asked you how much flour you'd use and how many eggs, then it'd tell you wether or not you'd got the correct ratio. I was blown away by the intuitive nature of programming. I could imagine the control flow as a tree or flow chart in my head. I mean the whole program was only a couple of user inputs followed by an if-statement and a print-statement, but for me it was awe inspiring. I knew then that I'd probably chosen the right path in education. -
Fuck, I'll always be a noob. Knowing next to nothing about software development, hacking, exploits - just anything.
Felt a bit proud to had reached the level "hacker" on hack the box. Was fun solving stego, crypto and reversing challenges, diving into assembly the first time. Felt cool stepping through a disassemblied executable with radare, and understanding what a NOP slide is...
However all the illusion crumbled down, when I watched this CCC talk on OpenBSD security, where the speaker was underwhelmed with one of OpenBSD mitigations, where they tried to disallow them: "NOP slides?! Srly? No one is using that anymore. Just look at current exploits."
I felt so stupid, which I probably am. Will never catch up with those guys.
But whatever. In the end we all know nothing. We have no clue, but some are more apt in disguising it behind big speech.
(really like this German song: https://youtube.com/watch/...
Those lines always give me a chuckle:
"Man has no idea.
The house has no idea.
The tree has no idea.
The fawn has no idea.
The squid has no idea.
The tapir knows, but doesn't tell us.")3 -
Got a new job at a fairly large IT firm which deals with large scale business software for customers like the government's various agencies.
The very first job I'm assigned to: we have to strip down this software and make it more general, go ahead and delete everything related to <feature>.
I haven't had time to get to know the product and I've deleted hundreds of files and lines of code from related files...
I have a feeling this will bite me somehow5 -
The best code review experience I had is when I started with my first job I used to write 10 lines of code and used to get 20 comments on that, well i learnt a lot from him and now whenever i get review comments on my PR i actually feel good.1
-
My first dev project. That is a toughie. Years ago (1998) I did some BASIC programming in HS. Then a few years after that (somwhere between 2002 and 2006) I did a lot of video game editing with hex editors and other tools to replace dialog to translate video games from Japanese to English, but there was not much coding there.
The first one I remember in recent times that involved any kind of coding was back in 2012/2013, there was a save state editor for Final Fantasy III on android (it didn't work for the iOS saves) but the editor was in Chinese. I ended up working with someone else to change it to English, so that others could use it easier. After that, I decided to code one from scratch for a different game.
I spent weeks working on it, and finally released a save editor for Final Fantasy Dimensions (I made sure it worked for both iOS and Android save files). It was my first great achievement, however it was way to many lines of code (I didn't know about loops or arrays back then, so I had a lot of repeating code). I eventually ended up making ones for Final Fantasy IV and VI, however those were never released to the public, as I had trouble getting the CRC to calculate properly every time.
This led me down the path I am now, going for my Bachelor's in IST with a specialization in Programming. -
Not sure if it's the worst code review but it's a recent one.
We don't really do code reviews where I work unfortunately but my coworker used my framework for the first time (build some nice composer libraries for cmdline projects) and asked if I could make them do autoloading.
He never used namespaces before so I was glad to help him out.
What I saw was a dreadful mess. His project was called "scripts" so good luck picking a namespace...
Than it was all lose functions in the executable file. All those functions are however called by a class in another file (if they where not calling eachother as a cascading mess). That class was extending an abstract class from my library as instructed. However I never imagined my lib being raped like that.
The functions themselves are a horrible mess. Nothing uniform completely different style (our documentation states PSR's should be used).
Parameters counts higher than 5.
Variable names like Object and Dobject (in calling function Dobject is Object but it needs a fresh one.
If statements on parameters that need basically split it in two (should simply be to functions)
If else statement with return of same variable as a single line (sane people use ternary for that)
Note that I said functions. All of it should have been OO and methods. Would have saved at least some of the parameter hell.
I could go on and on. Do I think the programmer is bad yes (does not even grasp interfaces, dep injection, foreach loops). Is this his best work no. He said that for a one of script like this it just has to work. Not going to be used elsewhere. I disagree as it is a few thousand lines of code that others have to read too.2 -
I've seen lots of other ranters complain about huge code files... I just came across 27k Javascript extension for a software like Postman ...
First I thought cool I can work on it since it's JS, then 27k of lines later: I think I'll go sleep .-. -
installed apache, php, mysql in linux tried first file in var/www/html/test/index.php wrote following lines there "<?php echo 'hello world'; ".
Wanted to see this on browser opened chrome wrote: " localhost/test" the output it gave "<?php echo 'hello world'; "13 -
So, I departed for a month long Erasmus in Portugal and got to work for an education related business. From day 1, all my tasks consisted in transcribing data from paper to excel sheets, and then using that data for various different tasks. It became obvious that I wouldn't have had much programming to do by default, so I started creating a series of Python scripts to automate part of my work or aid me in some bothersome areas of it, and what at first seemed a grueling series of boring and repetitive work soon actually became fun. From this point on I challenged myself to make the scripts better and better under as many aspects as possible. I eventually ended up concluding all my daily tasks in a matter of 15 to 30 minutes everyday, as that's the time it took to adapt the scripts to the new document formats of the day :P Jokes aside, this truly proves a point though: small businesses like this one, that very much depend on manual labor for tasks that can easily be automated by 50 lines of code, truly would benefit from a prepared IT and development team, and it shocked me to see how little these guys know, and are even afraid at times, about innovative techniques to speed up work substantially. Truly a great and humbling experience for very young devs like me :)2
-
This is a story of how I did a hard thing in bash:
I need to extract all files with extension .nco from a disk. I don't want to use the GUI (which only works on windows). And I don't want to install any new programs. NCO files are basically like zip files.
Problem 1: The file headers (or something) is broken and 7zip (7z) can only extract it if has .zip extension
Problem 2: find command gives me relative to the disk path and starts with . (a dot)
Solution: Use sed to delete dot. Use sed to convert to full path. Save to file. Load lines from file and for each one, cp to ~/Desktop/file.zip then && 7z e ~/Desktop/file.zip -oOutputDir (Extract file to OutputDir).
Problem 3: Most filenames contain a whitespace. cp doesn't work when given the path wrapped in quotes.
Patch: Use bash parameter substitution to change whitespace to \whitespace.
(Note: I found it easier to apply sed one after another than to put it all in one command)
Why the fuck would anyone compress 345 images into their own archive used by an uncommon windows-only paid back-up tool?
Little me (12 years old) knowing nothing about compression or backup or common software decided to use the already installed shitty program.
This is a big deal for me because it's really the first time I string so many cool commands to achieve desired results in bash (been using Ubuntu for half a year now). Funny thing is the images uncompressed are 4.7GB and the raw files are about 1.4GB so I would have been better off not doing anything at all.
Full command:
find -type f -name "*.nco" |
sed 's/\(^./\)/\1/' |
sed 's/.*/\/media\/mitiko\/2011-2014_1&/' > unescaped-paths.txt
cat unescaped-paths.txt | while read line; do echo "${line// /\\ }" >> escaped-paths.txt; done
rm unescaped-paths.txt
cat escaped-paths.txt | while read line; do (echo "$line" | grep -Eq .*[^db].nco) && echo "$line" >> paths.txt; done
rm escaped-paths.txt
cat paths.txt | while read line; do cp $line ~/Desktop/file.zip && 7z e ~/Desktop/file.zip -oImages >/dev/null; done3 -
Wrote my first programs on my Commodore C64.
First program was a number guessing game where you needed to guess a number between 1 and 100. Shit had 300+ lines because I only new the if clause and the equals comparison.
I was 9.
Later a friend showed me Modula 2 and I was instantly in love with that language.
Real programming then in school (C, C++, µC assembler). -
¡rant|rant
Nice to do some refactoring of the whole data access layer of our core logistics software, let me tell an story.
The project is around 80k lines of code, with a lot of integrations with an ERP system and an sql database.
The ERP system is old, shitty api for it also, only static methods through an wrapper to an c++ library
imagine an order table.
To access an order, you would first need to open the database by calling Api.Open(...file paths) (yes, it's an fucking flat file type database)
Now the database is open, now you would open the orders table with method Api.Table(int tableId) and in return you would get an integer value, the pointer.
Now for the actual order. first you need to search for it by setting the search parameter to the column ID of the order number while checking all calls for some BS error code
Api.SetInt(int pointer, int column, int query Value)
Then call the find method.
Api.Find(int pointer)
Then to top this shitcake of an api of: if it doesn't find your shit it will use the "close enough" method of search.
And now to read a singe string 😑
First you will look in the outdated and incorrect documentation given to you from the devil himself and look for the column ID to find the length of the column.
Then you create a string variable with ALL FUCKING SPACES.
Now you call the Api.GetStr(int pointer, int column, ref string emptyString, int length)
Now you have passed your poor string to the api's demon orgy by reference.
Then some more BS error code checking.
Now you have read an string value 😀
Now keep in mind to repeat these steps for all 300+ columns in the order table.
News from the creators: SQL server? yes, sql is good so everything will be better?
Now imagine the poor developers that got tasked to convert this shitcake to use a MS SQL server, that they did.
Now I can honestly say that I found the best SQL server benchmark tool. This sucker creams out just above ~105K sql statements per second on peak and ~15K per second for 1.5 second to read an order. 1.5 second to read less than 4 fucking kilobytes!
Right at that moment I released that our software would grind to an fucking halt before even thinking about starting it. And that me & myself and I would be tasked to fix it.
4 months later and two weeks until functional beta, here I am. We created our own api with the SQL server 😀
And the outcome of all this...
Fixes bugs older than a year, Forces rewriting part of code base. Forces removal of dirty fixes. allows proper unit and integration testing and even database testing with snapshot feature.
The whole ERP system could be replaced with ~10 lines of code (provided same relational structure) on the application while adding it to our own API library.
Best part is probably the performance improvements 😀. Up to 4500 times faster and 60 times less memory usage also with only managed memory.3 -
After 3 months of working at my current and first job I inherited a spaghetti codebase with files as large as 1000 lines because my mentor left.
Everything works but dare to change a thing. No Unit tests or any sane practices. At least our CI/CD is automated. 😂
Now I am asked to bend the library backwards in order to integrate it with another product. No one helps me and I am slowly starting to feel devastated. 😩5 -
when I was 17 (13 years ago) I was doing my A-Levels in computers and we had to build a booking system using excel. that's when I discovered VBA, I learnt a lot and it made the project so much easier to do and with that I wrote my first calendar which was 365 lines of code. one line for each day of the year. it wasn't until I completed the project and going over some of the code it hit me, I turned 365 lines into 4! I was so pleased with myself. one of my best moments of programming.
-
Below is a transcript from work Slack today. Only the names and some code are changed. It ended up causing a bit of drama. DevRanters, what do you take from this?
---
Delivery Lead:
Hey Gang. What's the blocker for FEATURE-123?
Dev1:
FEATURE-122 crashed on iOS app when viewing Feature Introduction page.
Teach Lead:
I've talked about this with Dev1 on a side channel.
And diagnosed the stack trace.
It looks like there is/was some bad handling of a List in the Feature Introduction view logic.
But this is confined to changes that Dev2 is still working on.
(It's not present in master)
Dev2, what's your current position on this?
Dev2:
I have tested at my end with Dev1 but it seems to be working fine
Tech Lead:
There is a race condition related to the use of someList.first()
My guess is that theres a Flow of those lists defined, with an initial value of emptyList
And that on your machine, that Flow is updating with a new value quickly enough that it doesn't matter.
But on Dev1's, for whatever reason, it doesn't get there in time, hits the empty list and falls over.
The logic that's performing the first() needs to gracefully handle empty lists as well.
Dev2:
Where is that logic called?
Tech Lead:
Here's the stack trace Dev1 provided in our conversation earlier:
Caused by: kotlin.NoSuchElementException: List is empty.
...
at 3 iosApp 0x00000000 kfun:kotlin.NoSuchElementException#<init>(kotlin.String?){} + 00
at 4 iosApp 0x0000000 kfun:kotlin.collections#first@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0 + 000
...
at 9 iosApp 0x0000000 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 0000
This line:
kfun:kotlin.collections#first@kotlin.collections.List<0:0>()
...says that it's first() being called on an empty list.
Dev1:
FYI: Dev3/Dev4/myself are seeing the same issue with the same stack-trace above.
Tech Lead:
So Dev2, have you introduced such a call?
Because I checked master branch and there isn't one, in that version of the file.
Ok, I'll check your working branch Dev2
...
Yes you have here:
var processed1 = someList.first()
var processed2 = someList.first()
...
Lines 123, 124.
Solution looks really straightforward guys.
Dev2:
Okay, I will fix that and push the change
Tech Lead:
Check if someList is empty and allow for generating / handling null processedValues in the view.
Now; I'm going to be straight with you here.
This issue has been discussed over several hours today.
I expect that either one of you could have gone through the process I did in the last 10 minutes above, and resolved it in the same way :point_up:
Dev2:
I went on a break and it's not reproducible on my machine
Tech Lead:
I didn't reproduce it on mine either.
Dev1:
Dev2 and myself are now on sharing screen to sort this issue out. Hope to update back later.
Tech Lead:
<Screen shot of diff with changed code>
:point_up: That change should do it.
Dev2:
Already have pushed the change.
Tech Lead:
...just seen it, is good - same approach :ok_hand:
Dev1 please let us know when tested on your machine.
Dev1:
That does it. It fixes the issues. Thank you, Dev2. I will pick it off from here.
Tech Lead:
Glad to hear it guys.
Dev1:
I have to say this that it is not because we are not working on the issue - Dev2 and myself (together with Dev3/Dev4) have been on this issue all this morning. It just difficult to connect the dot when it wasn't reproducable on Dev2's machine. I brought the issue up because I wanted to switch to working on other tickets while waiting for this to resolve. Still thank you largely for Dev2's work and your keen eyes that spot and resolve the issue quickly.
Tech Lead:
Noted Dev1.
I think the take-away has to be to read the stack-trace carefully... don't worry - we've all been guilty of not reading the error in full, at some point.
The stack trace said that the 'first' element is being referenced from an empty list - that's just logically impossible, right?
Looking for that call to first, we saw it wasn't in the code before, and is after (two of them, in fact).
So then we ask ourselves, how can we deal with an empty list - and then solution almost presents itself.
It didn't really take reproduction of the error to resolve.
Maybe working with a new tech stack creates an anxiety that every issue faced will have a complex solution related to that stack; but I think you'll agree, this particular issue really just required a deep breath and your trusty 'debugging skills 101'... don't lose them! :smiling_face:4 -
Pro tip: always make sure your methods return the correct variable.
I’m currently working with deep neural networks using tensorflow. I needed to generate some test data and wrote a program to create it. I had two text files which each consisted of approximately 5000 lines of text.
I wrote a method that should sort out some words, and make my final data shorter. When I executed the program first time on our server, it spent about 25 minutes, then crashed due to MemoryError (which in Python means that the server didn’t have enough ram). That seemed quite weird since I only had about 10k lines of text, and I even sorted out a bunch of it, and the server has 128gb ram, and nothing’s using it.
Apparently I returned the wrong variable. That meant that my program tried to save 750 quadrillion lines of text rather than just a few thousand.
Always make sure to return the correct variables!1 -
C# has become shit.
I work since 2013 with C# (and the whole .NET stack) and I was so happy with it.
Compared to Java it was much lean, compared to all shitty new edge framework that looked like a unfinished midschool project, it was solid and mature.
It had his problems,. but compared to everything else that I tried, it was the quickes and most robust solution.
All went in a downhill leading to a rotten shit lake when all this javascript frenzy began to pop up and everyone wanted to get on the trendy bandwagon.
First they introduced MVC, then .NET Core, now .NET 5-6-7-8.
Now I'm literally engulfed with all these tiny bits of terror javascript provoked and they've implemented in all the parts of their framework.
Everything has to be null checked at compilation time, everything pops up errors "this might be nulll heyyyyy it's important put a ! or a ? you silly!!!" everywhere.
There are JS-ish constructs and syntax shit everywhere.
It's unbearable.
I avoid js like a plague whenever I can (and you know it's not a luxury you get often in the current state of a developer life) and they're slowly turning in some shit js hybrid deformed creature
I miss 2013-2018, when it wass all up to me to decide what to do with code and I did some big projects for big companies (200-300k lines of code without unit tests and yes for me it's a lot) without all this hassle.
I literally feel the need c# had to have some compiler rule you can quickly switch called "Senior developer mode" that doesn't trigger alarms and bells for every little stupid thing.
I'm sure you can' turn on/off these craps by some hidden settings somewhere, but heck I feel the need to be an option, so whoever keeps it on should see a big red label on top of the IDE saying "YOU HAVE RETARDED DEV MODE ON"
So they get a reminder that if they use it they are either some fresh junior dev or they are mentally challenged.20 -
Back in grammar school we started programming in TI-Basic on a TI89 Titanium as it was part of math class (calculus and geometry). I didn't really understand much because the teacher thought it was a great idea to start with recursively calculating GCD (and we were in a sort of "linguist profile", nobody had ever touched a line of code in their lives before). I still liked it though and by some coincidence I got an old Win95 compaq notebook to play with from a friend.
I started playing around with the CMD prompt and batch files and could apply some of the things I had learned on the TI, like GOTO or If statements. I still didn't know what I was doing of course, and so it happened that I used the > file pipe when trying to compare two values. Suddenly there was a file with some code fragments and I started to get what I had done. I put the file pipe into an endless GOTO loop and was amused how those few lines filled up the whole desktop with nonsense files. I went on to refine this a little so I could control it with another file that acted as a kill switch when present. Over the next weeks I played some more with it and made it write out and start another batch file that would check whether the original script was still there and recreate it if not.
That notebook was so large and heavy I could not bring it to school, so I wrote all code by hand on paper and typed it in when I got home, that way I could still code in class when I was bored and no one would notice.
So my first ever "program" that I wrote myself was some lousy malware.5 -
Alright, buckle up, fellow developer, because we're about to embark on a thrilling journey through the world of code and creativity!
Listen up, you amazing code wizard, you're not just a developer. No, you're a digital architect, a creator of worlds in the virtual realm. You have the power to turn lines of code into living, breathing entities that can change lives and reshape industries.
In a world where everyone is a consumer, you are a producer. You build the bridges that connect our digital dreams to reality. You are a pioneer, an explorer in the vast wilderness of algorithms and frameworks. Your mind is the canvas, and code is your brushstroke.
Sure, there are challenges—bugs that refuse to be squashed, deadlines that seem impossible, and technology that evolves at warp speed. But guess what? You're not just a problem solver; you're a problem annihilator. You tackle those bugs with ferocity, you meet those deadlines with gusto, and you master that evolving technology like a maestro conducting a symphony.
You live for the 'Aha!' moments—the joy of cracking a complex problem, the thrill of seeing your creation come to life, the satisfaction of making a difference. You're a digital superhero, swooping in to save the day one line of code at a time.
And when things get tough—and they will—you dig deep. You summon that relentless determination that got you into coding in the first place. You remember why you started this journey—to innovate, to leave your mark, to change the world.
So, rise and shine, you coding genius! Embrace the challenges, learn from the failures, and celebrate the victories. You are a force to be reckoned with, a beacon of inspiration in a world that needs your brilliance.
Keep coding, keep creating, and keep being the rockstar developer that you are. The world eagerly awaits the magic you're about to unleash! Go and conquer the code-scape! 🚀💻5 -
Open source is poison, hoax and source of much troubles.
Even as I love OSS, and I use it a lot, when things go south, they go south terribly.
There was "security" updates in one OSS program I have been using, that accidentally prevented use cases which specifically affected me. I raised bug report, made issue and gave small repro for it.
One of the core developers acknowledges that yes, this is problem, and could be handled with few added options, which users of similar use case could use to keep things working. He then tags issue "needs help" and disappears.
After I have waited some time, I ask help how I could fix it myself, like how to setup proper dev environment for that tool. Asked it in their forums few days later, as issue didn't get any response. Then asked help in their slack, as forums didn't get any help.
Figured out how to get dev environment up, fix done (~4 lines changed, adding simple check for option enabled or not) and figured out how to test that this works.
I create pull request to project, checking their CONTRIBUTING and following instructions there. Then I wait. I wait two weeks, and then one of the core develors goes to add label "needs response from maintainer". That is now almost two weeks ago...
So, bug that appeared in October, and issue that was created October 8th, is still not fixed, even as there is fix in PR for 28 days this far.
And what really ticks me off? People who make statements like: "it is OSS, have you thought of contributing and fixing things yourself?" when we run into problems with open source software.
Making fix yourself ain't biggest problem... but getting it actually applied seems to be biggest roadblock. This kind of experiences doesn't really encourage me to spend time fixing bugs in OSS, time is often better spend changing to different tool, or making changes in my own workflow or going around problem some kludge way.
I try to get business starting, and based on OSS tools. But my decision is staggering, as I had also made decision to contribute back to OSS... but first experiences ain't that encouraging.
Currently, OSS feels like cancer.17 -
Drupal makes me want to go back to the moment that life first crawled out of the ocean, and shoot that first land-dwelling organism in the head – just to make sure that the animal kingdom never evolves to the point where a crime as ghastly as Drupal can occur.
Drupal somehow manages to be both unforgivingly, bureaucratically rigid, and an anarchic, spaghetti-coded mess – at the same time. Other frameworks are toolboxes. Drupal is a series of windows at the IRS or MVA – and it *will* take you days to figure out which series of forms you have to submit, with which boxes checked, in order to accomplish your goal.
The documentation is complete and utter trash.
It models content in a way that makes all sorts of assumptions about your use case. And those assumptions don't have anything to do with *how websites are actually designed and built*. In 20 years of building websites, I've never *once* wanted to use anything resembling the bizarre data model that Drupal *forces* you to use. Nor have I ever thought "gee, I wish my platform forced me to stop writing code every 20 seconds, so I can use an atrociously designed point-and-click interface".
I ask the community how to accomplish [insert extremely fucking basic task here], and they say: "well, you just install these 17 modules, glue them together with a bunch of configuration that couples your database to your code, and then shrug at the hideously broken HTML/CSS that comes out, because we give exactly zero shits about UX! isn't it great how Drupal makes things so easy?" Like, no – literally *every other framework on the planet* allows you to accomplish the same thing with just a few lines of code.
Most of the community seems to have little or no experience with other frameworks – so they seem solipsistically unaware that these are even problems. If your platform has been stabbing you in the arm for as long as you've been building websites, then you're just gonna assume that being stabbed in the arm is part of developing websites, you know? They seem oblivious to the fact that things are *so much easier* when your platform just lets you build whatever abstractions you need, instead of forcing its own weird-ass, undocumented assumptions on you.
Uruururrrrrrrggghgh. I can't understand how anyone defends this piece of garbage. If you're a Drupal developer reading this – please, for the love of God, try learning another framework. Once you've spent a couple of weeks learning saner ways of doing things, you'll never look back. I cannot comprehend how Drupal is still a thing.4 -
Pentesting for undisclosed company. Let's call them X as to not get us into trouble.
We are students and are doing our first pentest at an actual company instead of assignments at school. So we're very anxious. But today was a good day.
We found some servers with open ports so we checked a few of them out. I had a set of them with a bunch of open ports like ftp and... 8080. Time to check this out.
"please install flash player"... Security risk 1 found!
System seemed to be some monitoring system. Trying to log in using admin admin... Fucking works. Group loses it cause the company was being all high and mighty about being secure af. Other shit is pretty tight though.
Able to see logs, change password, add new superuser, do some searches for USERS_LOGGEDIN_TODAY! I shit you not, the system even had SUGGESTIONS for usernames to search for. One of which had something to do with sftp and auth keys. Unfortunatly every search gave a SQL syntax error. Used sniffing tools to maybe intercept message so we could do some queries of our own but nothing. Query is probably not issued from the local machine.
Tried to decompile the flash file but no luck. Only for some weird lines and a few function names I presume. But decompressing it and opening it in a text editor allowed me to see and search text. No GET or POST found. No SQL queries or name checks or anything we could think of.
That's all I could do for today. So we'll have to think of stuff for next week. We've already planned xss so maybe we can do that on this server as well.
We also found some older network printers with open telnet. Servers with a specific SQL variant with a potential exploit to execute terminal commands and some ftp and smb servers we need to check out next week.
Hella excited about this!
If you guys have any suggestions let us know. We are utter noobs when it comes to this.6 -
Programming is a passion I’ve had since I was a kid and I saw my brother’s books on Basic and Pascal. YouTube didn’t exist back then... Stack Overflow didn’t exist and yahoo was my search engine after having to listen to the dial-up sounds. Once I found the right tools to learn on my own, after my first hello world program, I didn’t stop.
The fact that I’m still making time to write even a few lines of code every day, go through courses and dive into documentations makes me hope that one day I’ll be good enough!2 -
So in the project I’m working on we were about to do a push to live, no major functionality just minor adjustments and nice to have stuff. One of the things I did was a reminder, nothing special just sends an email out if something hasn’t been done for 3 days and then sends an email every day following. Push to live and every thing goes fine with no issues. Day 1 there are no issues. Day 2 there are no issues. Day 3 and I’m inundated with people telling me that the emails are getting sent to practically everyone, shit. What have I done? What have I missed?
So I start looking at the live database hoping for a data problem, no such luck. I look at my code looking for something blatantly obvious but nothing. I start replicating the data but I can’t reproduce this bug and it’s annoying the hell out of me. I checked one of the emails that the client sent to us more thoroughly and seen that it was sent at 07:01. This is odd as our webjob runs at 1am so I start looking at environmental factors and started looking at release management, more out of hope than expectation. I check the staging environment and see that the webjob ran at 7:00. Coincidence I thought, the webjob gets packaged on the release pipeline and everything in the database was dummy data anyway but I’d better check anyway. The database was an exact copy of the live database, turns out a “senior developer” wanted to sanity check everything by running live data through the code so he copied the database over. It was fine for the first couple of days but the data was now 3 days out of date triggering my email code and I get hit with the shit storm. I’ve never met such an incompetent developer in my fucking life, functions 700 lines long, classes that are over 20000 lines, repetition every where and the only design patterns he’s used is when he picks up a child’s colouring book. I can live with the fact that he writes code like someone on their first day of University But copying a database because he wants to “visualise” the fucking data is absolutely farcical. No wonder the project is fucked with a “developer” (in the loosest possible use of the word) is at the helm. -
Another update for whoever cares about this text editor that no one cares:
The cursor (which is now a block instead of underscore like before) is now finally functional, but is quite flawed (e.g. If you type two lines with the first line is longer than the second, there's a chance that the cursor might jump to the end of the first line). There's also some text that greets you when you first open the editor, but it will be hidden when you start typing in Insert mode.7 -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
Spend nearly a full eight-hour day working on a piece of code that, while not at all trivial, would have taken probably two hours start to finish if not for the constant stream of interruptions bombarding me...
...but then, 10 minutes before quitting time, build and run it for the first time...
...AND IT FREAKING WORKS!
I'm never more scared than when ~1000 lines of code works the very first time it's run. Makes me want to check if I've signed any documents presented as a "deal" by a guy with a fiddle in a southern state :)8 -
Looked up at the clock... 2 AM... Thought about giving up and going to sleep, but something kept me there...
Rewrote my encoder and decoder for my steganography program, which are used to insert and retrieve data respectively from images. Compiled, ran, and output was as expected!
Tried to write actual data, instead of just headers, to the image, and it broke... Of course it wouldn't work first try, it's me writing the code after all.
But then, after debugging for a while and changing a couple lines, the encoder looked like it had done its work properly. Then I decoded it, and voila, data completely recovered! It almost felt too magical to be true, usually I have to modify a lot more to get it working.
So now I'm in bed, after literally decimating the memory usage of the program, amongst other optimizations, and I know that the code works perfectly 😎 best part is I refactored each class down to 100 lines each, so now it's clean and dense 😇
Just had to share, feeling so good right now 😄2 -
I love git stash.
It's helps a lot for doing refactors to me. I guess it's not the most complex workflow, but it wasn't obvious to me when I started with git. Let me explain.
Refactors. As you start writing the first lines of a refactor, you start to notice something: you're changing too many things, your next commit is going to be huge.
That tends to be the very nature of refactors, they usually affect different parts of code.
So, there you are, with a shitload changes, and you figure "hey, I have a better idea, let me first do a smaller cohesive commit (let's call it subcommit) that changes a smaller specific thing, and then I'll continue with the upper parts of the refactor".
Good idea, but you have a shitload of changes nearly touching every file in your working copy, what do you do with these changes? You git stash them.
Let's say you stash and try to do that smaller "subcommit". What sometimes happens to me at this point is that I notice that I could do an even smaller change inside this current "subcommit". So I do the same thing, I git stash and I work on that even smaller thing.
At some point I end up `git stash pop`ing up all these levels. And it it shows that git stash is powerful for this.
* You never lose a single bit of work you did.
* Every commit is clean.
* After every commit you can run tests (automated or manual) to see shit is still working.
* If you don't like some changes that you had git stashed, you can just erase them with git reset --hard.
* If a change overlaps between a stash you're applying and the last "subcommit", then
if they differ, git shows conflicts on the files,
if they are identical, nothing happens.
with this workflow things just flow and you don't need to wipe out all your changes when doing simpler things,
and you don't need to go around creating new branches with temp commits (which results in bloated temp commits and the work of switching branches).
After you finish the refactor, you can decide to squash things with git rebase.
(Note: I don't use git stash pop, because it annoys the fuck out of me when I pop and you I get conflicts, I rather apply and drop)4 -
Sooooo... I've felt a bit lost during my years as a student and maybe this is a nice place to finally talk about it.
I've had my first programming experiences in school (back then it was delphi, a Pascal variant), then decided after graduating I want to study computer science. I've stuck with it and will finish my masters degree in a few months. (Took me a year longer than the university plans but will likely have a very good grade)
Since i have little programming experience and never coded anything useful (mostly study projects or simple programming tasks) I've always been struggling with depressions, worries of being not good enough and never finding a job etc pp, but in the last few months it got worse since I NEED to apply for jobs now as i graduate next may. I'd really like to improve and found some "learn how to code" websites but the progress seems still slow and meaningless when I compare myself to all those guys out there:
- those comparing several hardware/software pieces casually since they know all the (dis)advantages and specs off by heart
- those who have fierce discussions about languages, libraries, runtimes etc
- those who solve the problems in coding websites with 3 lines and incredibly mathematicsl proofs for why this shortcut works (fastest)
- basically the guys who discuss so many things i've never even heard of
I just feel so lost, useless and like i missed years of learning things everybody else just obviously knows now. Is there any way to catch up? I thought about trying to join a local Chaos Computer Club but they sound like they wouldn't be fond of a noob like me.6 -
Okay, it's FUCKing rant time.
FUCK single-file *cough* page.tpl.php *cough* drupal-sites
I FUCKing hate sites without any FUCKing structure, where all logic is built into the overall wrapping pageview file.
Spend more FUCKing time than healthy finding this golden nugget.
In a FUCKing 2000+ lines long file, in a FUCKing mix of inline CSS/JS, PHP/SQL and FUCKing exec(); calls.
Definetily the best FUCKing way to destroy a FUCKing lightbox, for people who are not logged in...
- Why would you even do that in the first FUCKing place ?!??! The customer didn't ask for this..
All this FUCKing mess because the previous developer decided to quit, and did not FUCKing care for the next maintainer to come.
Fellow drupal developers will know the struggle.3 -
We had this team project to do in my second year at university. In C btw. My team consisted from 3 members. We had about a month or so to finish it. So of course we started 2 weeks before the submission. Well... I started. Those two didn't give damm about it at first but after I pushed them to do something one of them tried to code this simple function. It was supposed to check if the opptions from command line could be combined. His fuction had around !!200!! lines of code 😲 but he swear it was working. I was skeptic so i tested it. waaaaaait for it... it didn't work... the very first combination I tried that should not be accepted passed his awesome test 😱 I gave him another two chances. Result was the same.
I was furious. I had my part to do with little time to test someone else's code... So I desided to code the whole project on my own. Then I told my "coworkers" that they either pay me for it or they will be without any point for this project. I earned 80 € that day 😀😎
Btw my test function for those opptions had less than 10 lines 😁 -
Yesterday was a horrible day...
First of all, as we are short of few devs, I was assigned production bugs... Few applications from mobile app were getting fucked up. All fields in db were empty, no customer name, email, mobile number, etc.
I started investigating, took dump from db, analyzed the created_at time stamps. Installed app, tried to reproduce bug, everything worked. Tried API calls from postman, again worked. There were no error emails too.
So I asked for server access logs, devops took 4 hrs just to give me the log. Went through 4 million lines and found 500 errors on mobile apis. Went to the file, no error handling in place.
So I have a bug to fix which occurs 1 in 100 case, no stack trace, no idea what is failing. Fuck my job. -
I like my log messages to indicate automatically where in the code something happened, so that I can easily identify where a message originated from while tracking down problems.
In C/C++ this is nice and easy - write a logging routine, wrap it in macros for the different log levels and have that automatically output __FILE__, __LINE__ etc.
I wanted to do something similar in NodeJS, as I'd found myself manually writing the file name in the log message and then splitting functionality out into new files and it became a mess.
The only way I found to be able to do this was to create an "Error" object and access the "stack" member of it. This is a string containing a stack backtrace, suitable for writing to console/file. I just wanted the filename/line/routine.
So I ended up splitting the string into lines, then for each of the lines, trimming the surrounding spaces (or tabs?), and parsing them to see if the stack entry is inside my logger module. The first entry outside of that module must therefore be the thing that called it, so I then parse out the routine or object and method, filename and line number.
It's a lot of clumsy work but the output is pretty neat. I just wish it were simpler!2 -
Shit swizzler in school group project doesn't delete ANY code. Just comments out everything, everywhere.
Some of the files is scrolling through 30 lines of comments, 2 actual lines of code, 20 lines of comments, 5 lines of actual code, ...
Somewhere, in between all of his shit code, I just want to add: "Fucking stop with the comments, you wheezing bag of dicktits"
Oh and this afternoon, he asked me where he could find the Bootstrap code I'd written. He couldn't find 'the file'. I had to explain to him that it's kinda everywhere, throughout the HTML.. As a novice in many many things I fully understand not knowing everything. But the little shitstick told me he 'uses bootstrap all the time' just two hours before he asked me this.
I swear everything this guy touches turns to shit. One more day of this and I'll slap the bitch out of him.
P.S. Free virtual advocado for the first person to guess what movie inspired my insults (easy, I know)6 -
How many of you can tell a rant was written by sukmikehok just by reading the first two three lines before opening the rant and finding out who actually wrote it?1
-
So I now bought an iphone 6 again for development and tried just for fun to make it a daily driver and it feels really limited, especially because apparently theres no jailbreak yet for 11.2.5. (I feel near everything could be solved as soon as cydia etc. get fully released to the alibaba jailbreak)
I didnt even remember, that it doesnt have any option to have haptic feedback when typing, such a basic feature has to be jailbroken..? I thought I remembered that it had it, last time I had one - did they remove such a basic feature?
Also the fingerprint reader is really weird compared to other phones from the same year, first getting it to actually fill all fingerprint lines without saying "try again" or it trolling you and vibrating as if it recognized your finger, but actually didnt (really frustrating when its the last 2 lines...) - is a real challenge, might be that I have some mutant fingerprints, but when I asked my s/o to try it out, it also failed most of the times, so you have to position your finger in a very specific position for it to work, even if you add the max amount of 5 fingerprints.
Most ads on iphones feel HORRIBLE, the amount of lag some can add is incredible, wait till it loaded or youre fucked and besides using some shady adblocker vpn, theres no way to block them, without again - a jailbreak.
Another feature that I used many times on my android phone, is controlling it from the desktop, connect it via usb and then just use it for demonstration purposes on a projector or to instruct how things work - theres no such function without a jailbreak, even if you use osx..
Then theres the feature, that instead of just setting your cursor to a specific location, you have to hold and it zooms in, not sure if I just got too used to the android way of doing it, but I can see myself making less mistakes of where I positioned it with the ios way.
The hardware mute switch feels like a great feature, its just sometimes weird, so if you were inside an app that was playing sound and you mute it, it still plays it until you either close and open that app or just change to another one temporarily, so its not an actual hardware switch as I usually thought, more like a request to mute the phone.
The cable that comes with it is too thin, I am afraid to even unwind it, as it would probably break, so I had to get another one.
Please don't turn this into a shitfest from any of the fanboys, I really just wanted to share my image of finally being able to try it first hand again.4 -
Android studio gradle nightmares, cli not picking active jdk, intellij maven horrorshow, vscode being the nexus of perdition itself. When I'm dead and gone, scatter my ashes over sublime text. NEVER encountered a headache, ever. The setting for autosave is one forum visit away. 1000s of utilities at my fingertips, with shortcuts, not silly plugins. Neither hangs nor fusses irrespective of how many windows, projects, tabs I've got open. Gargantuan code real estate despite having a file panel and file preview. The only guys who got monokai right. Can open random editors and fill them with notes without first saving. A more intuitive vcs gui than even github desktop. More lightweight to download than an beep.ogg. Never lags cuz it wants to be powered by a wind turbine. It's free. Literally all the sorrows that terrorise my dev in its peers, all gone
Yes, it's not "integrated" to my de, in the sense that its intellisense is a glorified autocomplete for existing tokens. I guess, tradeoffs must be made. If you know the language well enough not to grope handheld by the ide, or in dynamic typed languages where red, squiggly lines will not bring your software down to its knees, it should be head and shoulders above those conartistes
Enterprise edition una -
story of a release
v2.1.0 major changes went live : new features, bug fixes, optimisations. also included releases for 2 associated libraries
release process tasks:
- do code
- update test cases
- test sample app
- test on another sample app
- get code reviewed and approved by senior ( who takes his own sweet time to review and never approves on first try)
- get code reviewed again
- merge to develop after 20 mins( coz CICD pipeline won't finish and allow merging before that)
- merge to master after 20 mins( coz CICD again)
- realise that you forgot to update dates in markdown files as you thought the release will be on 10th sept and release is happennig on 12th sept coz of sweet senior's code fucking/reviewing time
- again raise a branch to develop
- again get it a review approval by sr (who hopefully gives a merge approval in less time now)
- again get it merged to develop after waiting for 20 mins
- again get it merged to master after waiting for 20 mins
- create a clean build aar file
- publish to sonatype staging
- publish to sonatype release
- wait for 30 mins to show while having your brain fucked with tension
- create a release doc with all the changes
- update the documentation on a wyswig based crappy docs website
- send a message to slack channels
- done
===========
why am i telling you this? coz i just found a bug in a code that i shipped in that release which still got in after all the above shitty processes. its a change of a 3 lines of code, but i will need to do all the steps again. even though i am going through the same shitty steps for another library version upgrade that depends on this library 😭😭
AND I AM THE ONE WHO CAUGHT IT. it went unnoticed because both of those shitty samples did not tested this case. now i can keep mum about it and release another buggy build that depends on it and let the chaos do its work, or i can get the blame and ship a rectification asap. i won't get any reward or good impression for the 2nd, and a time bomb like situation will get created if i go with 1st :/
FML :/6 -
So we were able to do a pre-test in programming I, and if you passed, you would get 70% of grade. Then doing the homework would net the rest 30%.
I passed the test and returned first homework, answer: "Sorry, you haven't been in classes, so you need to defend your work. It will take 10-20 minutes max"
I then informed the professor that I have done the exact same course in open university, and have proof of working as a programmer for 2 years, but it wasn't enough.
So in the fucking defending that took 50 fucking minutes, I had to answer to 15 fucking questions regarding the code.
How on earth am I supposed to remember what 2 fucking lines of code do in a program I wrote 3 weeks ago, if you don't give me the whole code?!?!
Or if Euler's fucking constant is defined in math.h, and why did I define it by myself?
And apparently scattering 50% of the code over 8 pages is sufficient for remembering what the whole programs does!??!?
Oooh and did I mention? I NEED TO GO AND FUCKING DEFEND MY NEXT HOMEWORK NEXT FUCKNG WEEK!!!
Fuck that course7 -
Part of the problem, So many dev's here know the real problem with OS's governments and 3ed party apps happly spying on you and making there EULA to so called make it right for them to do it.
I want to know why so many dev's are portending this is not happen or why they not caring, you become part of the problem if your willing to work with the problem and there rules and guide lines.
WE dictate the future of tech not one company or another the people that create the software are the ones can make a difference, the users need to be educated and the dev need to take action now.
I loved this site at first but now I hate it I really do as so many posts are just blind or follow evil companies/software so on this is not how it should be, I wont accept this bull shit anymore and I not going to say quite to show the mass I going to follow them.
Step up and do something about it or stop calling yourself's dev's your part of the problem, you have the a gift and know how to help everyone do it and prove your worth.
I am really sorry I know some here do research and try and help but I rarely seeing it at the moment, things need to change, its not going to be easy but only the dev's can change this and soon, soon all OS's/software companies will get the feeling governments are on there side and governments what this so they have a back door in to WHO you are. FK the or if you have nothing to hide, EVERYONE has something to hide, compaines have already used Facebook Data to fire people working for them as they feel they shouldn't have to have someone working for them who likes or does XYZ,
Open your eyes people, small time dev's are not really included in this but big time dev's that do know how to work around these problems should be working on this to stop these problems, hardware venders are also a big problem but that's not something we can do anything about yet.
I know this rant will go on death ears to some, others will think I am over the top nut but if you really want to make a differences let's here it, lets get this world back on track, its not going to be easy but it we can do it.28 -
My first software.. Okay. So first time I ever attempted was with my father, i was around 8 or so, i remember very little from it, but in nutshell, i somehow ended up at his job having day off school or something, no idea.
Apparently he was bored, so he decided yo show me... Basic. Yep, thats right. Frking basic. Anyway, he shown me some really basic stuff in basic, and pushed the envelope really hard, just trying to force into me more and more in these 8hrs. I started with filling screen with "o" characters. Most of times he was telling me what to write with elaborate explanation why. At the end of the day, we finished with simple maze game where player was "o" and maze walls was #. Without any goal, or anything.
Next day i was at point 0, understood nothing from it except how to handle keystrokes (and belive me, that for me was huge mindblow, and even bigger mindblow that it actually made prefect sense).
I dont remember much, but later i started with father-assisted c++ and some pascal. I immidietly loved c++ but dropped learning it for (NullPointer) reason.
Thats not really project imho, so now time for my actual first project.
It was about time when ARK survival evolved was a fresh thing, i was playing it a lot. Server admin became buddy. We all complained about max level cap, but to change it in config you needed to input whole new xp curve.
At that time i had great familiarity with google and computers, some thought i was some kind of PC god (seriously I heard someone saying so about me lol) just becouse I could ressurect most cases of broken windows. And I had next to zero programming expirience. It was about to change. I made first c++ actual program, that was making xp curve for you. It took me just bearly 2 days and was series of cin, cout, one file open, some maths in loop, and done. Maths was very bad. But i pushed it into steam forums, and one guy responded how.bad my math was, so we colabed on making 2 iteration. Took around week. Than half a year passed and we wanted go big. Go gui. I had no freaking idea how making gui looks like. Community liked my cli tool, we had quite a lot of downloads, why not go GUI. And thats when I discovered QT framework. And we had few features in mind... It took us half a year to make it. From 60 lines of code i jumped into 1k lines of code. We pushed it and immidietly started working on 4th version with much greater customizability etc.
Than i finished 18 and found a job. Job in php. I got it becouse I made this project.
Now project is abandon. This project also gave me a lesson that donations will not feed you.
Edit: and before you think about my father that he was nice person to show me code, trust me, i dont know bigger dick than him. -
Tecnically not my very first experience, but in primary school I had to solve a math problem for my homework and an error in the book made it so that you couldn't solve it by hand (I think the solution was in the order of magnitude of 10^20). My calculator wasn't of much help either so I asked my dad to help me use basic to solve the problem. The next day I came in with a 2 page print out: 6 lines of code and the rest was the solution. The teacher didn't understand what it was.
-
Do your colleagues read the emails or they ignore them like mine?
The usual answer is: sorry no time to read, place a meeting.
I do not want to schedule yet another useless meeting because you are unable to read two lines of text.
If I wanted a meeting I would have scheduled it in first place.
Why have I to lose 1 hour of my time to explain, then some cannot join and ask for a follow up meeting, where I have to explain again the same things.
Obviously during the first meeting nobody has even read the description and has idea of the topic, so "we need to check... schedule another meeting next week".
You can imagine what's gonna happen the next week...1 -
Stupid stupid university custom exam IDE... first thing select a few lines hit tab oops replaces code with tab character... compile is alt+C and run is alt+R (never seen that before) and you have to go save -> compile -> run.. instead of just hitting run and last but not least it syncs your code with the server so every save file takes 3-5s at which time the editor freezes
ALSO NO DEBUGGER OR JAVA CONSOLE...6 -
Once I maintained one of the most used and fucked up codebases on the market with almost 1M+ daily users. (cannot say more, sorry).
It's written in PHP and is absolutely terrifying,
the first time I saw some lines of code I was about to scream and cry.
- spaghetti code
- no indentation
- random SQL query unoptimized
- unused vars
- Code is split among several files with no logical reasoning
- Mixed procedural and oop programming
- Unsanitised user input (yes, you got it right)
No test environment, no backup database, every commit goes straight to production.
It's a real disaster but the company prefers to keep it as it is without refactoring or anything else.
Just to make it clear:
It's not hatred against PHP, it's against the code's current status and the older programmers which used to work on it.5 -
So, this is my first actual rant since I joined devRant and I am not saying I am perfect either. Here goes nothing...
1. I honestly hate it when people use spacebar instead of tabs
2. People who have a bad indentation or no indentation at all (even though almost all IDEs have auto-indentation). The bad thing is when a person asks me to have a look at their code I always end up wasting time fixing the indentation rather the actual problem.
I love a properly indented code and that's one of the major reason I usually recommend Python to most people.
3. Lastly, people who leave lots of unnecessary empty lines. E.g.,
public class HelloWorld{
public static void main(String[]args){
System.out.println("Hello world!");
}
}13 -
So some of @ewpratten's rants just inspired me to tell my story of a somewhat ignorant teacher.
So we had an english class, it was abou Nelson Mandela or something, but I was sitting and learning about apache2(well I first learned about ncurses in python but since there was a command for restarting the apache server it got me curious, as usual). When she said something along the lines of(translated from.my language): "Then you read the text about Nelson Mandela, but other people are programming!". I was about to say that I was actually not programming, but setting up an apache server, but that would have been a dick move since she at least didn't accuse me for hacking.3 -
I had literally JUST learned to code, after completing an online course. I had played around making some tiny C# programs was looking for my first Junior job. A recruiter got in touch and to him I sounded like I knew what I was talking about. So he contacted the employer, called me back me later on and said that the employer wanted to see some sample code of mine.
"Sure!" I said eagerly and pasted my programs into an email. My two programs were probably about 20 lines of code in total - both Console apps. One was a stopwatch which I "hadn't quite got working yet", the other a Quadratic Equation solver.
The response came back that I was "too Junior for the position".
I know we all have to start somewhere, but I painfully cringe when I think about this employer and probably alll the devs there crowding around his monitor, pissing themselves at my tiny programs.3 -
I read the other day here about people not reading the error messages shown by the IDE and thought "there can't be people this dumb..."
Well, today I was helping a friend out with his java project and he was trying to figure out an error for at least 10 min so I told him, read the error message, he goes like nah, that won't help, I kept repeating it till he did it and guess what? The explanation was there and helped him figure out the problem.
His excuse? He didn't have the patience to read the message, it was 2 lines long...
How can you be so stupid to the point where your first thought isn't checking out the damn message the IDE gives you? It's there for a fucking reason.1 -
I learned how to use the MacOS and Linux command lines first, so it's been a constant pet peeve of mine that I had to use dir for the purpose of ls on Windows. Today I tried to make ls an alias for dir, but noooooo... Windows uses the doskey command instead. I can't even make alias a macro for doskey either so I'm stuck at least with that shortcut that only Windows uses. #FuckWindows4
-
It's the first time since I finished high school (2 years ago) that I get to review my CV. I included as one of my features that I liked to write "optimized code" and just realized how wrong that is. Those where the times when I had little to no experience at all and would spend unreasonable amount of time to write programs with the fewest lines possible (I loved python because its one-line capability).
I think it's time to rewrite that CV.2 -
I remember on my first project which was Angular 1.* there was a file in the frontends repo called ShimOfShame.
The first few lines of that file was a comment apologising for its existence.
"My soul cries everytime i add a line to this file"5 -
So I joined a company as an Angular dev and the code they gave me was stupid AngularJS ported to Angular 7 mixed with thousands of lines of jQuery inside index.html,
also all the css was scattered into a few files with 8000+ lines of code and no idea about which file does what, we decided to rebuild the project in Angular,
I built a huge portion of it with PrimeNg (a UI library like Angular Material) but after building all of that they tell me to remove PrimeNg and also asked me to import all SCSS modules in angular.json like wtf,
they forced me to use bootstrap with jQuery IN AN ANGULAR PROJECT this was my first job and I think I have a pretty good understand of Pakistani IT industry after this.
I learned programming from online paid courses and tons of practice so I expected others to be on the same level but that's not the case.1 -
Why are some professors in uni so god damn incapable of teaching?
I am in the midst of one of the most important classes of my uni career, algorithms, and I've been paired with the most incompetent, uncaring piece of shit professor on gods green earth.
First off, his mic sounds like an absolute ass-blasted bic mac. Shit is awful. Sounds like a bass boosted ear-r*pe meme from youtube.
On top of this, his way of "teaching" is showing us pictures he took of his whiteboard from when classes weren't virtual. He then opens these pictures in MS paint so he can circle what hes currently looking at and draw lines and stupid shit across the screen.
WHY IS THIS ALLOWED. WHY ARE THESE INCAPABLE OLD FUCKS ALLOWED TO TEACH STILL.3 -
Reading a couple rants from students and teachers lately, brought back to my mind a memory from the first lesson in my Software Engineering course when I was in college.
Teacher entered the room like he was the king of the world, turned around facing the students and started his intro speech:
"my name is {name} bla bla bla I will teach you software engineering bla bla bla let's point out one important thing: In your life you have written how many lines of code for a software? 10? 100? If you have NEVER written at least 1,000,000 lines of code for a program, you're not a developer. Now let's start talking about waterfall, endless specification requirements and meetings..."
Me 😐
And that was the moment I left the room moonwalking1 -
Hey DevRant fam,
I hope everyone is doing very well and of course staying safe, I just would like to share an experience I've had with an interview and would like some input and of course how you may have dealt with the situation,
I recently interviewed with a company that does Analytics consulting and are looking for grads - My gut feeling went warm as I walked into the office, was asked a nice first question such as "How is your day " etc, then was asked questions along the lines of:
"You seem to have finished your degree awhile ago, how are you making your money?"
"How many interviews are you having atm? How successful in each interview are you?" etc..
As I left my body felt very negative about the whole process... also I was only asked approx. < 5 questions, it felt like i was interviewing my interviewer - didn't feel good.
how would you go about this situation? curious to hear your thoughts! I very much appreciate you guys taking the time to respond and read my post. thank you <3 - this was organised through a recruitment firm btw.8 -
So first of all I want to say I am not a Fanboy of any specific language.
But holy fucking shit is ASP.net Core shitty, not only is it practically impossible to fucking start using it considering all documentation and tutorials are for the shitty outdated ASP.net but it's also fucking redundant with the amount of bullshit you need to do to achieve a task that should be a few lines of code.
Never in my life have I hated anything as hard as I hate that complete shit. On top of all that bullshit you have Fanboys always yelling "Oh but big corporations use it" like what big corporations? Microsoft and Microshit?
Like seriously larger corporations use fucking Node.js and even just C++ more than the shitty ASP.net and ASP.net Core. Don't get me wrong .net in general is pretty good but ASP.net is just a complete fuck up and should not exist.4 -
Fuck you c++...!!!
TL;DR:
float a = 1.0/10.0;
float b = a*10.0;
a == b returns false
😐
Story:
A beginner of c++ here
Wrote about a 1000 lines code (spread across multiple files, m not dumb)
Passed 90% of cases
Took one and a half days to figure out what's wrong
Turns out c++ doesn't give accurate (as perceived by a human who thinks in decimal) results when comparing equality of 2 floats with ==
Shouldn't that be the first thing to be taught in schools?19 -
1. Learn as much as you can before starting your first serious job. Because once you are in production, you are not as much learning new concepts as you are copy pasting, fixing dead code and getting stressed by deadlines.
2. Aim as far as possible and believe in yourself. Facebook or google might comprise of a billion lines of code, but it's not like you can't understand all of it if you gave it your 100%. Be it a weird but amazing looking design or a simple looking calculator, you can figure it out if you are curious and dedicated enough.
3. Learn to google.
4. Don't let assholes berate you. And you WILL meet a lot of assholes in this field.1 -
I need your help.
I think I'm addicted to distractions and diversions. It's ruining my life and any chance to get experience.
Instead of actual developing, I constantly watch development tutorials and courses, listen to podcasts about development, read books and articles about development, post on development forums and go to development meetups.
I can't write a few lines of code without being 100% concentrated first, and afterwards I get distracted by everyday life events only to find myself at the end too tired to do anything productive and then surrender to sleep.
I'm getting depressed. How can I fight this? How can I push myself to work and be an actual developer?2 -
What's the most number of lines you have written for a project without testing and then had it run the first time? Also for context, what language did you use?
Feeling pretty good with my 200+ in C#.5 -
Allright, so now I have to extend a brand new application, released to LIVE just weeks ago by devs at out client's company. This application is advertised as very well structured, easy to work on, µservices-based masterpiece.
Well either I lack a loooot of xp to understand the "µservices", "easy to work on" and "well structured" parts in this app or I'm really underpaid to deal with all of this...
- part of business logic is implemented in controllers. Good luck reusing it w/o bringing up all the mappings...
- magic numbers every-fucking-where... I tried adding some constants to make it at least a tiny bit more configurable... I was yelled at by the lead dev of the app for this later.
- crud-only subservices (wrapped by facade-like services, but still.. CRUD (sub)services? Then what's a repository for...?). As a result devs didn't have a place where they could write business logic. So business logic is now in: controllers (also responsible for mapping), helpers (also application layer; used by controllers; using services).
- no transactions wrapping several actions, like removing item from CURRENT table first and then recreating it in HISTORY table. No rollback/recovery mechanism in service layers if things go South.
- no clean-code. One can easily find lines (streams) 400+ cols long.
- no encapsulation. Object fields are accessed directly
- Controllers, once get result from Services (i.e. Facade), must have a tree of: if (result instanceof SomeService.SomeSubservice1.Item1) {...} else if (result instanceof SomeService.SomeSubservice2.Item4) {...} etc. to build a proper DTO. IMO this is not a way to make abstraction - application should NOT know services' internals.
- µservices use different tables (hats off for this one!) but their records must have the same IDs. E.g. if I order a burger and coke - there are 2 order items in my order #442. When I make a payment I create an invoice which must have an id #442. And I'm talking about data layer, not service or application (dto)! Shouldn't µservices be loosely coupled and be able to serve independently...? What happens if I reuse InvoiceµService in some other app?
What are your thoughts?1 -
After three months of development, my first contribution to the client is going live on their servers in less than 12 hours. And let me say, I shall never again be doing that much programming in one go, because the last week and a half has been a nightmare... Where to begin...
So last Monday, my code passed to our testing servers, for QA to review and give its seal of approval. But the server was acting up and wouldn't let us do much, giving us tons of timeouts and other errors, so we reported it to the sysadmin and had to put off the testing.
Now that's all fine and dandy, but last Wednesday we had to prepare the release for 4 days of regression testing on our staging servers, which meant that by Wednesday night the code had to be greenlight by QA. Tuesday the sysadmin was unable to check the problem on our testing servers, so we had to wait to Wednesday.
Wednesday comes along, I'm patching a couple things I saw, and around lunch time we deploy to the testing servers. I launch our fancy new Postman tests which pass in local, and I get a bunch of errors. Partially my codes fault, partially the testing env manipulating server responses and systems failing.
Fifteen minutes before I leave work on the day we have to leave everything ready to pass to staging, I find another bug, which is not really something I can ignore. My typing skills go to work as I'm hammering line after line of code out, trying to get it finished so we can deploy and test when I get home. Done just in time to catch the bus home...
So I get home. Run the tests. Still a couple failures due to the bug I tried to resolve. We ask for an extension till the following morning, thus delaying our deployment to staging. Eight hours later, at 1AM, after working a full 8 hours before, I push my code and leave it ready for deployment the following morning. Finally, everything works and we can get our code up to staging. Tests had to be modified to accommodate the shitty testing environment, but I'm happy that we're finally done there.
Staging server shits itself for half a day, so we end up doing regression tests a full day late, without a change in date for our upload to production (yay...).
We get to staging, I run my tests, all green, all working, so happy. I keep on working on other stuff, and the day that we were slated to upload to production, my coworkers find that throughout the development (which included a huge migration), code was removed which should not have. Team panics. Everyone is reviewing my commits (over a hundred commits) trying to see what we're missing that is required (especially legal requirements). Upload to production is delayed one day because of this. Ended up being one class missing, and a couple lines of code, which is my bad (but seriously, not bad considering I'm a Junior who was handed this project as his first task at his first job).
I swear to God, from here on out, one feature per branch and merge request. Never again shall I let this happen. I don't even know why it was allowed to happen, it breaks our branch policies. But ohel... I will now personally oppose crap like this too...
Now if you'll excuse me... I'm going to be highly unproductive and rest, because I might start balding otherwise after these weeks... -
I've just published my first npm module/package .For so long, I was feeling bad that I've never shared any code via npm before. So, today I thought of sharing any old code that myabe some people would find useful . I did (also had to add some lines and remove alot of lines to keep it clean and simple) and for my surprise, in few hours it got 45 downloads! although it's angular (1 not 2)3
-
"Delete all code!" That should be the mantra!
Was watching some stuff from destroyallsoftware.com. Not entirely convinced. So I should cook up my own shit.
So here is how the argument goes:
There's quite some negativity in the term "legacy" software. Partly it may be the envy to software that runs on actual machines and is not that phantasm, that perfect first lines on a greenfield project until it gets messed up as it has to put up with all the real world messiness. But the negativity it deserves is actually for the code that we cannot get rid of. This ugly class or function that soaked all the complexity and functionality so it defies any positive change. And always when it appears on your screen, it irks you, enrages you, makes you punch the screen, because you can almost feel the distaste physically. - *That* is the definition of "legacy" in its true negativity. No software should be like that. On the contrary. Every line should be replaceable, dispensable, disposable. At the verge to deletable. Because you know: the best code is no code.
This is where my hatred of code could get productive: Delete all the wretched, loathsome stuff and replace it, with something that just sucks less and can be thrown away any time. Don't expect beauty or perfect design. It'll never finish.3 -
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 -
Clearing up my schedule, just got an 18 page resume for the position of mobile lead...
Thanks man I am gonna "read" the whole thing ...Fuck no I did not even read beyond first 4 lines...I got shit to do...like ranting about it...5 -
Best: realizing that development could be a career and switching to it as a major
Worst: first dev job working on a 15 year old legacy visual basic project with over 3 million lines -
Doing MCA from a distance learning university(like IGNOU) in India is a joke. In my first sem I wrote some programs in C for considerably less number of lines as I had some experience with newer techniques.
I almost failed!1 -
A group of friends and I when we were 15 competed in a UK-wide competition to build a robot with sonar and touch sensors to navigate through a field of obstacles. The winner was the fastest average. Our robot only travelled in bent lines, and turned when it detected an obstacle infront of it. We had our three tries, the first two taking perhaps 30 seconds. The third time we twisted it slightly on its start position, and without stopping it followed a curve through the whole course, in about 3 seconds. Unfortunately we weren't even mentioned in the runners up :L1
-
personal projects, of course, but let's count the only one that could actually be considered finished and released.
which was a local social network site. i was making and running it for about three years as a replacement for a site that its original admin took down without warning because he got fed up with the community. i loved the community and missed it, so that was my motivation to learn web stack (html, css, php, mysql, js).
first version was done and up in a week, single flat php file, no oop, just ifs. was about 5k lines long and was missing 90% of features, but i got it out and by word of mouth/mail is started gathering the community back.
right as i put it up, i learned about include directive, so i started re-coding it from scratch, and "this time properly", separated into one file per page.
that took about a month, got to about 10k lines of code, with about 30% of planned functionality.
i put it up, and then i learned that php can do objects, so i started another rewrite from scratch. two or three months later, about 15k lines of code, and 60% of the intended functionality.
i put it up, and learned about ajax (which was a pretty new thing since this was 2006), so i started another rewrite, this time not completely from scratch i think.
three months later, final length about 30k lines of code, and 120% of originally intended functionality (since i got some new features ideas along the way).
put it up, was very happy with it, and since i gathered quite a lot of user-generated data already through all of that time, i started seeing patterns, and started to think about some crazy stuff like auto-tagging posts based on their content (tags like positive, negative, angry, sad, family issues, health issues, etc), rewarding users based on auto-detection whether their comments stirred more (and good) discussion, or stifled it, tracking user's mental health and life situation (scale of great to horrible, something like that) based on the analysis of the texts of their posts...
... never got around to that though, missed two months hosting payments and in that time the admin of the original site put it back up, so i just told people to move back there.
awesome experience, though. worth every second.
to this day probably the project i'm most proud of (which is sad, i suppose) - the final version had its own builtin forum section with proper topics, reply threads, wysiwyg post editor, personal diaries where people could set per-post visibility (everyone, only logged in users, only my friends), mental health questionnaires that tracked user's results in time and showed them in a cool flash charts, questionnaire editor where users could make their own tests/quizzes, article section, like/dislike voting on everything, page-global ajax chat of all users that would stay open in bottom right corner, hangouts-style, private messages, even a "pointer" system where sending special commands to the chat aimed at a specific user would cause page elements to highlight on their client, meaning if someone asked "how do i do this thing on the page?", i could send that command and the button to the subpage would get highlighted, after they clicked it and the subpage loaded, the next step in the process would get highlighted, with a custom explanation text, etc...
dammit, now i got seriously nostalgic. it was an awesome piece of work, if i may say so. and i wasn't the only one thinking that, since showing the page off landed me my first two or three programming jobs, right out of highschool. 10 minutes of smalltalk, then they asked about my knowledge, i whipped up that site and gave a short walkthrough talking a bit about how the most interesting pieces were implemented, done, hired XD
those were good times, when I still felt like the programmer whiz kid =D
as i said, worth every second, every drop of sweat, every torn hair, several times over, even though "actual net financial profit" was around minus two hundred euro paid for those two or three years of hosting. -
MORE WEBDEV ADVENTURES
Took a break for a while due to personal stuff. Just got a job (have to get a stupid work permit from school first to actually be able to work tho), had some shit happen with two close friends that now hate me. Right now I'm upset about something that another really good friend did. So I've been doing some webdev to distract myself for a bit.
So I'm turning my URL bar that I had into a little command bar. It'll be what I use to configure stuff along with URLS and shit. I was building a little config menu that I really hated doing, was just becoming too much of a mess. Currently changing the look of it just a bit, then I'm gonna work on the functionality of it later.
Made my weather divs dynamically generated. Turned like 65 lines in the HTML file to ~20 lines of JavaScript that makes that ~65 lines. And it turns out that it doesn't really affect the loading time at all, which was my original worry. My next task for that is to save the weather predictions so the script doesn't have to grab a whole 14kb file every reload (I know, that part's a little bad). The entire page with the icons and all comes out to ~30kb so far. The icons make up about half of that, but they'll never all be in use because only 5 are on screen at any time and there are 7 total. Plus the fact that one may be in use multiple times (like this very moment actually).
Then I want to have an RSS reader which I've been putting off for a while now. Trying to get everything else done before I do that.
At this very moment, the page takes about 1.4 seconds to load. I'm trying to avoid putting anything I don't need in it. Like I'm using vanilla everything. No frameworks or anything. But that's just my personal preference.
I'll make sure to share it with you guys when I have everything built and functional. I've had a lot of interruptions while doing this. My personal life tends to get in the way of shit I try to do, because I let it get to me.
Anyways I'm just rambling at this point. I fucking love you guys1 -
Fuck Drupal. Fuck the work environment I have, and fuck CMS in general.
I have a task that consists into removing any @extend from the different SCSS files so the compiled file is lighter than before (so far it went from 10mb to 750kb). Everything went okay but suddenly PHP decides that the fuckton memory it has isn't enough anymore and wants more. And makes VirtualBox freeze. Which makes Windows 8.1 freeze. It's 11:10 AM when I write these lines and I haven't been able to do SHIT since 9 AM.
The lead developer just told me "you touched some PHP code you shouldn't have approached in the first place". DUDE I haven't written anything in PHP IN TWO WEEKS !
Also, why does fucking Kint exists, when Laravel has dd() and Symfony has var_dump, and they work as fine as Kint, but they don't need 580 Tb of RAM to run and load a fucking page?
Having to work with this fuckery of a CMS is something, but having to work with Windows 8.1 makes me feel like working on some cancer with a computer built before the first World War
Now I finally go back to work, that's cool, I only lost 2h30 of my fucking day doing nothing but restarting VirtualBox and my fucking computer. FUCKING YAY.1 -
Today is the first time I really wished we would use git, or some good version control. My coworker kept working on my project while I was on vacation and now something isn't working. I'm just not sure if it's not working because I was dumb enough to accidentally STRG+X (I know, I'm dumb) some of his lines or whatever, but the point is I have no way to trace back what it looked like before and now I gotta fill the blanks by deduction I guess10
-
Few of my frnds are doing a small hardware project , they need to make an android app for that, they arent much of devs and hadnt used an IDE yet.
They downloaded Android Studio and installed it. On trying to start project , an error poped up saying SDK is missing .😑.I have to set the path of sdk for them. After that they tried to start the first project. It worked and after a minute or so everything was done. I just waited for all squiggly lines and red colour in code to disappear , but they didnt. 😶
"Messages" showed lot of errors. I am also a noob so most of them were unfamiliar to me. I was a bit busy and was about to leave, so i couldn't say much to them other than to "google the errors, there will be simple solutions for all ".
My point is, if this is the kind off problem someone faces while starting out in android programming, wont they feel like quitting even before their "hello world" application is done.4 -
I feel I need to write some side project summary somewhere.
So here it is about 3 months later:
- deleted 90% of code I created during last 3 months
- rewrote backed 5 times
- 200 lines POC still waiting to put in any meaningful architecture on frontend
- frontend part after aurelia, next, gatsby, react I think it would be vue powered by nuxtjs
- forced myself to buy food for whole week and don’t go out (except go running ) before I finish at least what I wrote on whiteboard
Now some positive news:
- there is not much left to be fucked up, removed or unnecessary added
- I think I got a plan
- this is probably first side project that makes me happy for such long time
- there is some probability it would help people and this is what I want to do in my life
Most important is that I know it would take at least half a year to do basic version of it and I don’t care.
Wish me luck so I can put some sneak peak after next 3 months. -
First round of grading the newbies' C hand-ins. Some are decent, some are great, some are way beyond the scope of the curriculum (50 line solution using structs for something that can be done in 5 lines), and some are "oh god why?".
Life as a TA is hard. -
dev> So, I've made a list, you only need to check the empty fields of the informations you want to be displayed
client> okay, so I have done the first X lines, there are only Y more left, you can get them by yourself when you look at the ones I've filled out.
dev> "gets them", shows them the client and codes everything after getting approved.
- delivers -
client> oh, well, yeah that would be correct but *insertvery specific industry information that only people knows that work in a management position in this industry*
-- like, just fill out the information I am asking you for, then we would have had not a single problem -
I see a lot of people ranting about programming exams on paper. I acknowledged that not having a texteditor is not ideal. But not having a compiler is essential in testing the students programming skills in the first few courses.To many students are completely dependent on the compiler.
Syntax:
Some students writing C++ code have to try to build their program as many times they have lines because of all the syntax errors they make. Why think about all the ; if your compiler will tell you where they are missing?
Computational thinking:
As a programmer you should be able to look at (your own) code and be able to tell what the result should be. Of course this has its limits, but in the small exam questions they get in the first few courses they should be able to do that. To many first year students write a for loop without thinking about the starting value and the end condition. With the repeated process of running the program, changing the starting value or the end condition randomly they eventually get to the loop they need.
I think people underestimate the value of an exam without being able to compile or run your program. But I like to hear your reactions. -
I was just thinking about this.
How old was everyone when they first go into IT? Something along the lines of when you wrote your first program or script, or when you first started a programming course, etc. And what was the reason?
I was 22. First proper start was through an Intro to Information Technology course as part of my current degree. I was working a dead-end, depressing callcentre job. I was thinking what my life was going to be like, so I made a concious decision to start my degree and make something of myself. It's, of course, a bit more detailed but I am more interested in what others have to share.15 -
The getting started of react native sucks big time.
If you don't want to display a completely centered text then go fuck yourself or what?
I mean there isn't even a howto on platform-independently not overlapping the fucking status bar. Everyone must've faced this problem when starting, but the only answer is an 8 times upvoted answer on SO telling me to add a hardcoded padding. What.
Where did this whole thing come to..🙁
Back in the days books about c didn't even start with more than 4 lines of code on the 70th page.
And when you google things about it it feels like you doing something totally wrong but its like the first thing a normal dude would do, what if i don't want shit centered bro i feel so useless and dumb i friggin hate that shit just fucking tell me what the fucking fuck to do!😫
It bugs me so hard cus i didn't even know a View is able to stick out on top of the app it doesn't make no sense to me the whole world is breaking apart12 -
¿Does it really takes that long to merge a branch when there is a conflict?
My "PM" takes like 20 minutes to fucking merge a branch that has a few lines of conflict... and I fucking hate to wait so long to continue on a ticket where I need previous work... I'm a JR full stack developer and I'm new to devRant... It was love at first sight.1 -
5 hours for 6 lines of code. Math is awesome and stuff, but translating matlab code into python and then extending it without knowing what it does (so you have to understand it first), well, is sometimes exhausting.
But after all this time I am so happy that it works and that I fully understand all the math behind it. And now I have to compare it to the other 6 methods I created for this task.. Yay.1 -
A Yahtzee game.
In fewer lines than my first try in 2010.
Fyi... It was like only 15 thousands line with if else statements .... Nuthin much.1 -
!rant
Opend up my first website project, commits goes back to jan 24 2013 but i think i started coding this project around late 2011 (version 2).
Made with php and i found some interesting TODO's and other stuff, over 1k of handwritten css and right above 10k lines of PHP.
Index.php everywhere (no mod rewrite)
Everything in the www root.
By pixel css.
Thank god this is my own website and not for someone else, think i would be tourtured to death if someone had to maintain this heap of shit. To think of i probobly spent around 1000 hours on all iteration. -
I wrote my first lines of basic on a Robotron KC 87 as part of a coding course in school. Fuck, I'm old. 😔 https://en.m.wikipedia.org/wiki/...3
-
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 -
Amstrad CPC 128 book(GWBasic), my first lines of code about a loop game (Thousand of lines without debugger or memory save!) So it was like woot after 3 hours writing to see running the endless ship gamming trying to avoid walls. I will never forget that experience when I was 9-10 years old and get back to code at 23.
-
I am really fed up with people emailing me asking about how they can use methods of a library I wrote when the answer is literally in the f***ing JavaDoc. At first I thought it might be me not being comprehensive enough in my doc, but when I literally started sending copies of what I wrote there and got a lot of "Thanks that makes it clear"emails I became really fed up with the laziness of some people. I find it disrespectful to my weeks of work for someone who wants to use it to not read a few lines when in doubt.1
-
Today I was revisiting my first ever WPF project made, turns out that a baboon could have written better code than this.
The project literally has messages going everywhere to every viewmodel even if it's not supposed to.
I'll spare the details, but let's just say I'd rather jump in a mountain of needles than try to add a feature in this mess.
So I am now refactoring without my bosses permission since I am the only one in this company able to work with WPF and I still have enough time for a simple refactor.
Already on about 200 errors by just changing a few lines of code because everything inherits everything. -
My answer to their survey -->
What, if anything, do you most _dislike_ about Firebase In-App Messaging?
Come on, have you sit a normal dev, completely new to this push notification thing and ask him to make run a simple app like the flutter firebase_messaging plugin example? For sure you did not oh dear brain dead moron that found his college degree in a Linux magazine 'Ruby special edition'.
Every-f**kin thing about that Firebase is loose end. I read all Medium articles, your utterly soporific documentation that never ends, I am actually running the flutter plugin example firebase_messaging. Nothing works or is referenced correctly: nothing. You really go blind eyes in life... you guys; right? Oh, there is a flimsy workaround in the 100th post under the Github issue number 10 thousand... lets close the crash report. If I did not change 50 meaningless lines in gradle-what-not files to make your brick-of-puke to work, I did not changed a single one.
I dream of you, looking at all those nonsense config files, with cross side eyes and some small but constant sweat, sweat that stinks piss btw, leaving your eyes because you see the end, the absolute total fuckup coming. The day where all that thick stinky shit will become beyond salvation; blurred by infinite uncontrolled and skewed complexity; your creation, your pathetic brain exposed for us all.
For sure I am not the first one to complain... your whole thing, from the first to last quark that constitute it, is irrelevant; a never ending pile of non sense. Someone with all the world contained sabotage determination would not have done lower. Thank you for making me loose hours down deep your shit show. So appreciated.
The setup is: servers, your crap-as-a-service and some mobile devices. For Christ sake, sending 100 bytes as a little [ beep beep + 'hello kitty' ] is not fucking rocket science. Yet you fuckin push it to be a grinding task ... for eternity!!!
You know what, you should invent and require another, new, useless key-value called 'Registration API Key Plugin ID Service' that we have to generate and sync on two machines, everyday, using something obscure shit like a 'Gradle terminal'. Maybe also you could deprecate another key, rename another one to make things worst and I propose to choose a new hash function that we have to compile ourselves. A good candidate would be a C buggy source code from some random Github hacker... who has injected some platform dependent SIMD code (he works on PowerPC and have not test on x64); you know, the guy you admire because he is so much more lowlife that you and has all the Pokemon on his desk. Well that guy just finished a really really rapid hash function... over GPU in a server less fashion... we have an API for it. Every new user will gain 3ms for every new key. WOW, Imagine the gain over millions of users!!! Push that in the official pipe fucktard!.. What are you waiting for? Wait, no, change the whole service name and infrastructure. Move everything to CLSG (cloud lambda service ... by Google); that is it, brilliant!
And Oh, yeah, to secure the whole void, bury the doc for the new hash under 3000 words, lost between v2, v1 and some other deprecated doc that also have 3000 and are still first result on Google. Finally I think about it, let go the doc, fuck it... a tutorial, for 'weak ass' right.
One last thing, rewrite all your tech in the latest new in house language, split everything in 'femto services' => ( one assembly operation by OS process ) and finally cramp all those in containers... Agile, for sure it has to be Agile. Users will really appreciate the improvements of your mandatory service. -
I started because the first PC I owned ran on Windows NT and, even though I can't recall for the life of me what, something always broke but was fixable with some command lines. After finding out about Batch scripts my exploration instinct kicked in and I started to make a script for nearly anything (at one point I even had a script to start Firefox). From there on I stumbled over C++ and what can I say, I quit programmin four times before I found Python and fell in love with this beautiful, pointerless snake which led me on the way of becoming a programmer. So, long story short, a broken OS and all that free time you have during school if you always copy your Honework in breaks^^.
-
Disclaimer: the project I'm about to mention contains the first lines of Go I have ever written.
Still, I'm quite proud of how quickly I got it working considering it's also my first time working with GTK.
This project that I've been working on the past few days is finally done. But it's %50 percent spaghetti, so refactoring time. I decided to have a look at my cyclomatic complexity numbers, and my biggest function (not main()) had it at 7.
As it was quite large, I split it up into to parts: the preparation and the actual timer loop. As I appear to need to use a goroutine, by the time I'm done passing channels and all hell to handle them, my loop function now has a score of 9 for cyclomatic complexity.
So fix one bug, leaves two in its place?
But I still need to better learn Go, anyone have a good (relatively painless, informative, quick-ish) course they can recommend? I've been thinking of trying out codecademy's one...6 -
This was a few years ago in my 2nd year of college. my very first foray into web dev for a team project. long story short, I wrote over 16,000 lines of code. teammate #2 wrote barely 1,000 lines. teammate #3 wrote around 250 lines, around 200 of which I had to rewrite anyway because it was such complete trash. and yet, still, it was this class that showed me I wanted to go into web dev. LOL3
-
The data at the bottom are statistics regarding my key presses. It's literally every key pressed on this laptop since 2024-12-08. Since that date I entered a total of unique 925450 unique inputs. I did 4751951 keyboard inputs.
I know from 595 hours exactly what i've done for tasks (described by LLM based on my keylog data).
I type 107 lines per hour on average (return presses) based on 595 hours. With that logic, i did around 63925 lines.
I'm not very happy with the statistics, especially not because backspace is a hardcore first. Now, while i'm typing i'm focusing on how much I use it and it's not a lot at all.
But the thing is, if you remove abcdef, you have one a, one b, but six times back space. And these are real presses - not keyboard repeats. Also abcdef will be counted by the tag counter as a whole. Everything is a tag until it sees a new line or a white space or some punct.
Funny is that there are completely different keys on the list than I expected. You're so you used to those keys that you don't even notice using them.
I'm almost considering to add a sound under the backspace button to teach myself WHEN i use it and try to avoid it.
The key logger database is now 346Mb. Some overhead because every keypress takes around 40 chars of description (timestamp, press type, char, input device).
Creating statistics for the tags (unique words typed) takes several minutes. Already rewriting that part to C. The stats are made by python, the key logs with C.
I'm just shocked, I used 144644 times a key that I think not to use that much? :P How retoorded can you be. Imagine if i actually fixed typo's :P
But based on these keys you can see that i'm mainly working in terminal / vim. The 'i' for insert for example, typed so many times. The 'x' for save+quit. The '0' to go to beginning of line.
Did you expect that these buttons would've been the most used?
#0 BACKSPACE is pressed 144644 times (15.63% of total input)
#1 UP is pressed 92711 times (10.02% of total input)
#2 LEFT_SHIFT is pressed 73777 times (7.97% of total input)
#3 ENTER is pressed 63883 times (6.9% of total input)
#4 DOWN is pressed 56838 times (6.14% of total input)
#5 TAB is pressed 43635 times (4.72% of total input)
#6 RIGHT is pressed 37710 times (4.07% of total input)
#7 SPACE is pressed 34438 times (3.72% of total input)
#8 LEFT is pressed 26800 times (2.9% of total input)
#9 LEFT_CTRL is pressed 25402 times (2.74% of total input)
#10 LEFT_ALT is pressed 17289 times (1.87% of total input)
#11 I is pressed 12856 times (1.39% of total input)
#12 X is pressed 6106 times (0.66% of total input)
#13 A is pressed 5163 times (0.56% of total input)
#14 0 is pressed 4487 times (0.48% of total input)
#15 PAGEDOWN is pressed 4151 times (0.45% of total input)5 -
I learned my first lines of code in school. Oh the feeling of making "Hello world" appear on the screen😭😍
-
# Start a new job
## find out, on the first day, that the position you applied (data science)..simply doesn't exists
##find out that the environment is really stressfull and not pleasing as it was depicted during interviews
## quickly find an alternative to quit current job
#Start a third new job (3 months after quitting the first one)
##find out, on the first month, that the code quality is below zero.
###there are no unit tests.
### there is no possibility to create a unit test because the code doesnt folloe any pattern.
###there is no division between backend and frontend.
###there is no division between business logic and db in the backend.
###there is no division between frontend, business logic, and db
###find out that they deliberally built a framework to get frontend and backend togheter
###the project is built over maven, but there are no poms wellformed
###the project is approx 300k java lines....
##lose hope and start to find a new job....1 -
Well I started learning REACT FUCKING JS because of our team requirements. I'm a Vue developer and well it's a little more complicated for me because react is way harder.
Today I started a simple project to practice react. First thing I realized was that in react project we cannot edit Webpack config by just adding a config file in project root.
WTF !
In vue we could just add few lines of codes in vue.config.js and then we were good to go!
but in REACT FUCKING JS we must install another library named Carco, which is not COMPATIBLE with latest react version!!!!!
FFS WHAT THE FUCK IS THIS FRAMEWORK20 -
I have to confess, the first time I saw a framework like bootstrap I hated it because I didn't understood most of the HTML with a lot of tags with classes everywhere. It took me like 3 weeks to learn how to use it right and I made 3 websites from 0 in the process.
One day I read about a framework that uses Material Design rules (which I apply in my electronic projects with rgb screens). Since that moment I started to use it. I love how easy it´s to do a complex thing with a few lines.
For those who are starting with web design, give it a try to these frameworks. They will make your life easier. I was the kind of guy that writes every single line of html, css and javascript by hand.5 -
aight cool so this is fucking stupid thanks Tk
my python teacher is putting us through Tkinter right after "this is how to do basic math" in a class meant for those with no programming knowledge at all
and i remember now why i only do CLI
i've got 2 lines in a func (because "command" params in Tk are fucking retarded), the first changes the text on a button and then the second does shit with os.system ("have this button change this other button then do *something*" ok sure) and yet the button's text does not update until AFTER THE OS.SYSTEM COMMAND FINISHES. I can't even insert a moment between them for it to update in case it needs a sec as time.sleep does *FUCK ALL*
fuck tk, luckily we're gonna move on to files next
(goddamn prereqs, sticking me in this shitty class...)8 -
Last weekend I was working on a small project for a friend of mine: a dockerized webapp, plus API backend and DB. I had some problems with the installation on the vps and had to try out different images and never really did a complete setup of my usual dotfiles. Got it running on an Ubuntu distro. Everything great.
It was the first release so I still had to check that every configuration worked ok, like letsencrypt companion container, the reverse proxy and all that stuff, so I decided to clone the whole project on the server tho make the changes there and then commit them from there.
Docker compose, 10 lines of code, change the hosts and password. Boom everything working. Great... Except for the images in the webapp.
WTF? Check the repo, here they are, all ok. I try different build tactics. Nothing. Even building the app on another docker always the same. Checked browser cache, all the correct ports are open. I even though that maybe react was still using some weird websocket I didn't know, but no.
Damn, I spent 5 hours checking why the f*** the server wouldn't make it out.
Then, finally, the realization...
I didn't install the f******* git-lfs plugin and all I was working with were stupid symbolics links! Webpack never even throw an error for any of the stupid images and the browser would only show a corrupted image, when decoding the base64 string.
Literally the solution took 5 minutes.
F*** changes on production, now I do everything on a fully automated CI. -
Remembering of when I first learnt about the importance of version control.
There I was, working in Visual Studio, laptop unplugged; the laptop suddenly shuts down - battery dead. Not too worried, might just have to rewrite a few lines I had not saved. Restart the machine, open VS, the file I was working on now contains strange characters - totally damaged.
Google for help, find a question on stackoverflow with the same issue (comforting moment). The answer I get:
"First question, why wasn't your code on source control?"4 -
I have spent the last 2 days on the phone trying to get support for certain issues...
- Amazon
- Quickbooks
- CRA
It is universal that all support lines are complete garbage. Shitholes for stupid people to get paycheques.
I have noticed that this task has actually had a negative impact on the emotional state and it upsets me further that I have allowed this.
I am getting a virtual assistant to handle this because frankly, my time is too valuable to be consistently wasted by stupid people delivering no results.
"I am a software engineer and have tried all the normal debugging techniques"
"Did you try restarting it?"
"Yes, that was the first thing I did..."
"Well, would you mind doing it again"
"Yup... It did not work"
"Hmmmmm....."
5 minutes of silence...
"Have you tried the next step that you already read on our support site"
"Yes!"
"Could you try it again for me?"
"FFFFUUUUUCCCCKKKK YYYOOOOOUUUUUU!!!!"
I am literally listening to someone who is reading the god damn support page (and reading it at what seems to be a 3rd-grade level) GREAT!!!! -
TIL following two lines are NOT the same in JS with webpack, even though logically they should be - it should be just an application of an eta reduction... First line works, second one crashes, probably because mysteriously executed too soon, before obj is initialized.
export const t = (...args) => obj.t(...args);
export const t = obj.t;
Sometimes I really hate JavaScript magic.2 -
I just got cancer. "full stack" wrote this:
var steams = [] ;
for (var key in images) {
streams[streams.length] = fs.createWriteStream(images.imageName);
streams[streams.length - 1].on('close', function (filename) {.....
why, Why Why and how did you come up with something this bad?
Dude creates an empty array to populate it with write streams just so he can pop each one two lines below and attach a listener.
It's the first thing I checked in this application and I'm afraid what else I'm gonna find.2 -
Every once in a while I come across a challenge that's actually challenging. Most recently ... "Develop Regex for validating and extracting a recipe's ingredient's quantity"
Regex should properly identify the numbers in each of the following lines:
1 cup of ingredient
Diced 1/2 cup of ingredient
.5 tsp of ingredient
1 1/2 packed cup of ingredient
1.5 cup of Heavy whipping cream
My answer is the first comment in case you want to solve it yourself. I'd love to know what others come up with.5 -
Spent 4 fucking weeks trying to implement this motherfucking feature and in the end after 15 failed implementations it turns out that my first implementation was good. Turns out this other devs fucking feature had a bug (he forgot to add two lines to clear current state and to update current state again). Motherfucker.
Took me over 100 hours to debug that piece of shiet spaghetti codebase and I had to go through grief stages few times to the point where I started questioning my own damn ability
Sometimes it sucks not being able to go step by steap and think in a linear way. I guess if I followed the breadcrumbs I would have solved it sooner. But poking around things and trying out random solutions was like going through a maze blindfolded until I got it right but I guess thats how my brain works.1 -
(a bit late for wk73 but I wanted to post this anyway)
Back in my first year of university, we had to write a relatively simple (though it looked super complicated back then) C++ console application. I don't know what it's called, but it's that game where the computer generates a random 4 digit code and you have to try to guess what it is. Every time you try, it will tell you which digits are correct, which would be correct if they were in a different position and which are outright wrong.
Anyway, the program had a main menu with a help option that would output a short guide on how to play the game. Instead of hard coding it into the source code, the "guide" had go be written in a separate text file and then read and dumped to the screen when necessary.
Here came my great idea on how to read files. Instead of looping through the file until I reached the end, I counted the number of lines my text file had and wrote some gem of a piece of code like this:
for (int i = 0; i<11; i++){
line = file.readline();
cout << line << endl;
}
My teacher obviously took points off for doing such a stupid thing, and I remember complaining A LOT about it. I argued that 11 was a constant because I didn't plan on changing the text file, and that the teacher had no right to take points off for only reading 11 lines because the file only had 11 lines, so it was read in full.
Goddammit, what an innocent little brat I was. I'm glad my first programming teachers were good enough to stay firm and teach me how to do things the right way, even if it's the hard way. -
So I have a question to anyone familiar with the General Transit Feed Specification...
Why is the data provided in text files? Is there not a way to format the data to allow for random access to it?
Like I'm currently writing a transit app for a school project, and as far as I can tell, the only way to get all specific stops for a route, is to first look up all trips in a route, then look up all the stopids that are associated with a trip in stoptimes.txt (while also filtering out duplicates since the goal is to get stop ids, not specifically stop times) and then look up those stop ids in the stops.txt file.
The stoptimes file alone is over 500000 lines long, unless there is a way better way to be parsing the data that I'm not aware of? Currently I'm just loading the entire stoptimes file into a data structure in memory because the extra bit of ram used seems negligible compared to the load times I'm saving...
Would it be faster if I just parsed all the data once and threw it into a database? (And then updated the database once a month when the new data comes in?)3 -
The most excited I was about my code was when I shrunk a bunch of easy if-else statements to a couple of lines using ternary operator. It wasn't groud breaking but it was the first time I felt like a programmer writing nice code.
-
If you search for c tags, the first post is c#, even with "c".
Happens on every stackoverflow search too.
This is the only reason I don't like c. If I need help with a simple problem, 50 lines of template code is not the answer ;(4 -
Ugh, no.. You got yourself from dirty dental-dams of “Jif” believers, all the way to passed bass-ackwards. That PR is raw sewage and your demoted back to entry-level if not intern. Oh and while you’re crying with Morty’s dad; consider a career change. Most importantly, just forget WAN ever existed and go back to your parents first PAN device to play solitaire.
-
Sincerely,
All engineers, reviewers and testers who clean up your leaking dirty diarrhea lines.5 -
Being pretty much the only one who has some knowledge of how to code and get my way around tech (even if minimal, I'm too lazy for my own good) in my familiar household - and by extension, my family (Family extends FamiliarHousehold - LoL I'm sorry) - (my brother is on his first grade of a programming course in high school, I'm a 2nd grade uni student aiming to become a game dev) sometimes I wish I knew nothing of it.
Don't get me wrong, I do like working on code (if in Java. C is making me wanna tear my eyes out) but sometimes ignorant family members push me through the edge.
I worked on a business thing my family started this summer and one of the "jobs" was managing everything via a website.
Fair enough, I knew nothing of it when I started but I learn fast and just like that I knew my way around it. The problem came when I had to teach the person who started the project how it worked. This doesn't sound all that bad except he is kinda in the stone age regarding informatics.
He got a computer a few years ago and he pretty much only played poker in it, and he still had one of those old nokias you could throw to a wall and get a hole into it. The computer is like 9y and runs like crap.
To make things worse he bought a new phone, a smartphone, and pestered me to teach him. I swear trying to teach him is like repeating the same thing 1000x and pray he keeps it in his head. Spoiler: he doesn't. ( sanity--; )
So to try and easy my suffering I decided to make a manual for the website (which is outdated by now because the team behind the website did a 180 and some things looks different), but it acted as if I'd done nothing. ( sanity--; )
To top this off he keeps on saying I don't wanna help him. ( sanity--; )
This kept going for the whole damn summer, and meanwhile I had to go back to uni and in the first days I still got like 4-5 calls/day, half of those might about the smallest things because he's so panicky.
Like (both examples happened while I was still there but it kinda goes along those lines sometimes):
- (During the period they changed the website the first time since we're there; they were mostly doing changes back and forth and testing because it had a new layout for a day or 2 before going back; also the site was totally functional, except for a thing or 2)
Him: "They're changing the website, why are they doing that?"
Me: "Because it's their website and they can?"
Him: "WHY DIDN'T THEY LET US KNOW"
Me: "They don't have to, they don't work for you." ( sanity--; )
Or (during the same period; the pages have a menu on the left; one of the submenus has a counter that resets every time the session ends; during that maintenance time they must've "disabled" the function because the number kept growing even after the session ended):
Him: "WHY IS THE NUMBER GROWING?"
Me: "They're working on the code, relax, it's nothing."
Him: "But why." ( sanity--; )
The only quesion he pretty much hasn't asked me yet is why "Is the website's colour this one and not that one?".2 -
Just started doing my project for Java Class, a Polynomial Calculator App.
Get it done, get a dozen errors. Fix every bug. Find other bugs when inputting.
Brainstorm 5 minutes and realize I could change the way I write the polynomial at input.
Change 20 lines of code that do String, Split, Run through the split and check for coefficient and power, parse them to float in an array to specific positiona - to 5 simple lines.
Program works fine. No more previous errors.
Have the great idea to add the following:
-If you divide the Polynomial by 0 output "Are you retarded?"
P.s. I'm happy about my first project even if I hate Java.4 -
Back in time i was monitoring an asterisk server on a friday night. Usually it's monitoring cli is a calm terminal with infos and periodic notifications. On a random check i saw about a KM length red shit / blue shit. As it turned out my boss was using the password 2500 with the same username on a fucking SIP server and while watching football (heard from the voice logs) some romanian script kiddie's brute force script fucked it up. The journey wasn't stopped here. Next step was to them to foreach some calls with high rates to their own special phone number on about 30-50 lines. The first step was to stop the service but because it is a nice app it wont stop till you have an active call, took about 5 mins to realise it . Had to kill it a few times until it gave up. That was the moment when the 'now they are gonna fire me' feel kicked in. Do not use weakass passwords kids!
-
So im through my trial period at my new job. I’m a bit surprised by how positive everyone is about me and my work so far. Especially since i feel i haven’t really contributed that much yet. I hope they’ll stay this positive but wouldnt be surprised if it isnt that case anymore after 12 months.
I always hate how colleages talk behind each others backs. There is someone leaving, supposedly because of travel distance. And one of the first things i heard was something along the lines that they are surprised it was still his own choice to leave.1 -
<rant>
So we've been doing the final project for college which has 2 parts
1. preparation of a project
2. creating an application
The first part wasn't a problem, making UML diagrams(ERD, Class Diagram, Use case) and SCRUM related documents.
But BLOODY FUCKING HELL was the second part bad.
You get a premade preparation for the second part of the exams... it was the most disturbing thing ever! The ERD which you have to follow is entirely made out of varchars, terribly built for the system you're creating by the way.
We ended up being able to use our own preparation instead after going back and forth... but damn. A company makes these things and the government pays millions for it! What the fuck are they doing? Hiring third graders to play around with lines??
No wonder IT is looked down upon in the Netherlands.. the government is entirely at fault due to their terribly outdated exams, projects, etc.
I thought i had seen it all... but holy fucking shit
</rant> -
Maybe you people will like this story.
The past semester I studied Java in class. First time doing object oriented programming, I had an annoying teacher but got the hang of it. I still miss C from the last year.
As a final project we had to do any program and apply some stuff we saw in class (The program should have an array list, use interfaces, bla bla bla bery simple stuff). It also must have a complete documentation, a manual and a diary explaining what was developed every week. Bonus points if it was in a repository like GitLab.
I wanted to do an RPG game in a matrix, like a rougelike or an old FF game, that should be a map or two, a few monsters and items and that's it. Enough to show what can I do and to have enough excuses to apply everything that the teacher asked. I had a team with two friends who wanted to do the same.
After making accounts in three different pages that apparently would help us to be more organized (One to make charts and two task trackers) I lost all patience and made an account in GitLab, made the basic classes that we had defined in a chart, divided the tasks and put them in to do on GitLab and we started to work.
One of my companions caused a lot of problems. First, he didin't wanted to learn how to use GitLab (I simply asked them to do merge requests) and he insisted to use GitHub. Then he started to say that using the console version was even better (Pretty sure he said thet he never used Git, but maybe was gas poisoning). The GitLab repository never had a single commit to his name.
BUT WAIT IT GETS BETTER all the entire time, he was complaining about the graphical interface of the game, wanting to use some SDK for RPGs that he found. I told him that we will see that at the end, that first we should have all the mechanics done, test it in ASCII in the console and then, if we have time, we will put the visual interface, separated and optional from the main program to avoid problems.
After two weeks where he gave me very simple standard stuff late, half done and through Google Drive, I discovered he was most of the time working on... the graphical interface SDK! He took the job already done by me and the other guy and making a pretty hardcoded integration with the graphical interface and making everything that he tought it would be necesary. Soon enough the GitLab repository was totally outdated and completly useless. He had the totallity of the project in his half broken laptop, and sometimes he gave us a zip with all the code, outdated after a few minutes. Most of the stuff that I made was modified, a lot of the code was totally unknown to what it was and I had no idea even of how the folders were organised.
We had a month to finish it. I got totally disconected from the project and just hoped for the best, sometimes doing a handful of generic and adaptable lines of code for a specific thing (Funny enough, many core mechanics were nonexistent). The other guy managed to work more on the project, mostly fixing the mess that the guy did: apparently he didin't read the documentation of the SDK and just experimented and saw tutorials and tried to figure out how to do what he wanted.
Talking about documentation: we dont had yet. The code wasn't even commented propely. We did all that the last week and some stuff was finished the last night. The program apparently worked but I had no idea.
Thank God, the teacher just looked over everything and was very impressed by the working camera and the FF tiles. I don't think he saw the code or read too much of the documentation, much less when I directly wrote how I lost all access to the project.
I had a 10/10. I didin't complained. Most easy and annoying ten I ever had. I will never do a project with that guy. -
One day I decided I wanted to build robots.
And not kidding the reason I wanted to build them was because I wanted someone interesting to talk to and stil not kidding I even fantasized about a robot girlfriend... Lame I know I think I was a lonely little guy back then, though even after 7 years or so it doesn't feel as though it's that long ago. Maybe because things didn't change that much. Which is worrying but it's not the topic so I will pass on that future-past worries bullcrapper. After learning how robots worked and what made them function so things gradually led up to me being more interested in machine learning applications and software. I learned Arduino at first, I think I still have some messy circuits and old arduinos around. I only finished one robot though and it couldn't even support it's own weight. The servo motors were taking too many amps that heated up the little arduino even with a fan attached. Provably I should have made use of mechanics for robots books and calculated things first. But even though it couldn't walk properly I still felt success and I loved it like my own kid (me taking it apart was questionable but believe me). After that I focused more on writing code than using my hands to make things which was a pain in the ass if I might add.
After learning arduino and making that failed project of mine. I then picked up C++ wrote hello world program usual things a starter would do. It was the language I wrote my first game which I finished and this time it worked. But I never released it which was partly because I didn't want to spend a hundred bucks on a license for the engine and I also knew that it was a shit game. If I were to describe; lines in different colors come from the top you need to hit the lines with the same colored columns to break them. The columns changed their height and location on random. The lines sped up and gap between them decreased. Now that I think about it it wasn't half bad. But the code was written in game maker studio's version of C so I have no way to salvage it.
But I learned a lot of things from that project and that was the goal, so I would call it a win. I don't remember but after sometime I switched to python. And I'm glad I did, it's fun to code in which was the main reason I coded in the first place. Fun.
Life happens and time passes,
Now I'm waiting to enter college exams in a few months after hopefully passing them. My goal is to get into computer engineering which will be extremely challenging because it's the highest point department in the university I'm aiming at. But hey if the challenge is great the reward is greater right ? To be honest I'm still not sure about my career path. Too many choices. So I will just let my own road called <millions of similarly random events that are actually caused by deterministic reactions, to affect you and your surroundings leading up to a future which only the Laplace's demon can forsee> guide me. Wish me luck.1 -
The absolute worst experience i have ever had with a dev technology was a mixture between notepad, pgeLua and a PSP.
Back in 2010, i coded a game called "ReapeR ValleY" for PSP (homebrew). I had no idea what an ide was and i have never really coded before that.
That resulted in a 1500+ line code that in a single file written in notepad. The performance was horrible since it just ran through the same lines of code over and over again with arrays filling up and flowing over with data.
The entire game was written in pgeLua (a supposedly more game friendly version of Lua) and ran on the PSP.
The PSP needed to be overclocked in order to run the Game smoothly. I had to restart the entire PSP when the game crashed and i already installed a custom bootscreen that basically shortened the time to boot.
You can still find the game online hosted on various websites. It was my very first and unexperienced attempt at coding, but it worked.
Moral of the story: you can code with just about anything, but when you don't inform yourself about IDEs, frameworks and such, it might be painful.
... also Notepad is pure brain pain to code in. -
based on my previous rant about dataset I downloaded
https://devrant.com/rants/9870922/...
I filtered data from single language and removed duplicates.
The first problem I spotted are advertisements and kudos at movie start and at end in the subtitles.
The second is that some text files with subtitles don’t have extensions.
However I managed to extract text files with subtitles and it turned out there is only 2.8gb of data in my native language.
I postponed model training for now as it will be long, painful process and will try to get some nice results faster by leveraging different approach.
I figured out I can try to load this data to vector database and see if I can query it with text fragment. 2.8gb will easily fit into ram so queries should be fast.
Output I want is time of this text fragment, movie name and couple lines before and after.
It will be faster and simpler test to find out if dataset is ok.
Will try to make it this week as I don’t have much todo besides sending CVs and talking with people.2 -
Today I wrote my first small python application as an exercise:
Scraping all post EuroJackpot draws from a website, save them in a database, sort them, some checks and do some combinations. Everything quite clean in classes and functions.
And the "application" is just 100 lines big. I love it so far how much can be accomplished with just a few lines. -
I had a problem visualizing giant job/schedule dependencies trees a few years ago and basically wrote a program to convert the dependencies so it could be read in by a JS graph program that actually did the work. The output was a Gantt chart but really messed up, overlapping arrows, not very readable.
Today someone asked me for my app and but in a better format/visualization.
I so I was thinking how do I do this... Figure out which nodes are leaves, how to combine visually.
Programmatically you just link all the Nodes together. So I was thinking like how u need to use BFS and Mark when each more is traverse and on its first traversal, add it to a Map<Depth,List<Node>> then print each level, etc.
But not so straight forward.... But finally realized that I'm not trying to draw a Tree (or a tree where the rootams are actually in the middle and the top n bottom are leaves)... But actually a Graph.... A DAG....
SO FINALLY I googled and found GraphViz...
https://graphviz.gitlab.io/gallery/
And in the gallery I opened some pictures and printed at the bottom was like 1996...
And I'm now wondering "how the fuck did they do this?" Calculate where all the vertices should be placed so they can be linked with lines and and not look like a big mess...I guess like a yarnball3 -
Was using an open source piece of software for data storage and visualisation to work with the loggers my company makes. When importing old data for historical views, some of the csv imports would fail without any specific error messages.
It took me a couple of hours but after looking at their csv parser and making my own little one to test with, I eventually found out that it was all down to the way datatime (I think it was?) in java deals with DST, which apparently was to just fuck shit up.
Anyhow, a few simple lines added into the parser later and it all works just fine.
Was super proud of that one as it was the first time I actually looked somewhat good in front of my senior dev. -
Got a change request today. The client had written two lines.
The first line(specs): we would another installation type something like "blabla"(an existing installation type).
The second line just ask for an time estimate...
They same client have been known to use mspaint as the visual aid of how they want things to look, and it looks ugly.
My reply for the CR: The time needed to complete the task is 5 hours + whatever amount of hours I find suitable. -
I don't know if I'm terrible, or if this will sound familiar to anyone. I rushed so much of this project. That's not a good excuse for what's happening, but, speaking about it with a newly converted coder who is a good friend of mine, let him be called F:"
F: I'm so bored I'm going through my script and making a few subs for some repetitive code. I saved 90 lines today.
Me: Bored you say... debating what sort of code of mine to send you for you to ... review.
Because, the reality is, if I dont finish certain features by May, shit will hit the fan lol So I am considering asking for a boilerplate NDA and a few extra bucks from client.nickname, to bring on testers and/or UI guys and/or database guys.
But you seemed to be doing alot lately, so I was thinking, I would deal with fiverr and freelancer.com first
F: I dunno what use id be by May but I'll always look at stuff
Me: A ton. You could literally review any code in any language youre learning. Your review code be: address/models.py class Address 1. TODO for validating formatted address 2. Why is formatted address declared twice?
To which my response would be Fuck thats right and Zomg really
And if I knew about this... last week.. I'd be hours ahead of schedule and not have just forgotten why I needed to fix address
F: Lol" -
Somehow I made that work at the first attempt without checking anything before. Still can't believe it.
To be fair: I forgot typecasting once in the 19 lines before that.
Has anyone suggestions for improvement?5 -
When you don't compile small code snippet and keeps on writing lines of codes and after writing large lines of code that one moment when you start compiling your code for the first time
Brace yourself for errors 😕 -
time for crowdsourcing awful ideas because bored!
what don't I need? what does literally nobody need? what is a terrible, awful, no good idea that should never exist? let's make it!
I'll go first: a compiler that automatically resolves compilation errors by removing the offending line continuously until it successfully compiles. defaults to quiet mode which does not report which lines were removed.1 -
Code review time.
"How come this line has been removed? PEP 8 likes to have two lines between imports and the first bit of code"
What I replied: Thanks. I'll put it back.
What I wanted to reply: Go fuck yourself you anal moron, who the fuck gives a shit about bollocks like that. We got fucking proper work to do, so get the fuck over yourself, let the fucking PEP shit lie, and make some fucking USEFUL comments.5 -
I know a lot of people aren't fans of Microsoft here, but does anyone have some extended experience with using powershell?
I've been using it for creating a script that handles quite a large set of tasks for setting up and configuring some application servers and so far I have been really digging the language. Being able to invoke the script against remote hosts in parallel like ansible has been a really cool learning experience.
Admittedly it's verbose as fuck, so getting the same thing done in something like python/perl might be like half the lines of code. And I know that some of the commands illicit a "WTF?" every now and again. But I think one of the powershell tutorials I watched early on in attempting this helped make using powershell not suck ass.
Every command is basically 'verb-noun'. You don't know what the command or switches are:
> get-help "command" -showwindow
It will give you a list of options if you didn't select the exact command with get-help.
It feels* amazingly buttoned up as a scripting language and it's really cool to be able to take advantage of lower level stuff, like you can run alternative shells (we have cygwin installed on some of our servers), you can run C# code, you have access to interfacing with .NET api's. I haven't messed with anything azure yet, but being able to interface with products and services like SQL/Exchange/O365/azure/servers/desktops from the same language seems pretty cool.
Admittedly, the learning curve feels terrible though. I felt like a dunce for the first couple weeks, couldn't navigate the language at all, and was always in the docs trying to figure stuff out. I think I just needed to understand how the people developing powershell intended for it to be used. Once I was able to put two-and-two together about the verb-noun structure and how to find information/examples about the cmdlets it's been quite easy to work with it.
If anyone else has any extended experience with it, please share your thoughts/opinions. Curious to see if your experiences are/were similar to mine.
If you don't have Powershell experience, please feel free to share your opinions of Micro$haft and me for using Micro$haft products too! It's all good 😎9 -
I'm starting to gain a dislike for OOP.
I think classes make it easy for me to think of the entities of a problem and translate them into code.
But when you to attempt to test classes, that's when shit hits the fan.
In my opinion, it is pointless to test classes. If you ever seen test code for a class, you'll notice that it's usually horrible and long.
The reason for this is that usually some methods depend on other methods to be called first.
This results in the usual monolithic test that calls every goddamn method on the class.
You might say "ok, break the test into smaller parts". Ok. But the result of that attempt is even worse, because you end up with several big tests cases and a lot of duplicate code, because of the dependency of some methods on others.
The real solution to this is to make the classes be just glue: they should delegate arguments onto functions that reside on its own file, and, maybe afterwards emit events if you are using events.
But they shouldn't have too much test code classes though. The test code for classes should be running a simple example flow, but never doing any assertions other than expecting no exceptions.
For the most part, you'd be relying on the unit testing that is done for each delegated function.
If you take any single function you'll see that it's extremely easy to write tests for it. In fact, you can have the test right next to the fuction, like <module>.xyz <module>.test.xyz
So I don't think classes shouldn't be used at all, they should just be glue.
As you do normal usage of this software this way, when a bug is discovered you'll notice that the fix and testing code for this bug is very usually applied to the delegated functions instead of being a problem of classes.
I think classes by themselves sound sane in paper, but in practice they turn into a huge fucking messes that become impossible to understand or test.
How can something like traditional classes not get chaotic when a single class can have x attributes and y methods. The complexity grows exponentially. And sometimes more attributes and methods are added.
Someone might say "well, it's just the nature of problems. Problems can have a lot of variables".
Yeah, but cramming all of that complexity into a single 200 lines class is insanity.12 -
Wish me luck.
Deploying Blazor app for the first time in prod in about a month.
Did tests. Curent infrastructure can hold around 70 concurent sessions with no problems. (probably more, 70 was the limit in my browser).
I tested each sessiuon with 70.000 line table. (Yep whole 70.000 lines for each session with a virtual scroll).
Shit is fast. Too fast even. I'm waiting for other shoe to drop, but so far in simulated tests it's amazing.
Let's talk in 2 month AFTER prod deploy.4 -
Today I made a class to do one simple thing. Duplicate a database entry along with a few of its relationships. At first it didn't make sense to create one class for that but I decided to follow my SOLID gut. It ended up being almost 100 lines long with just one entry function working as a route controller. Thank God for SOLID principles...
-
Yesterday’s dev achievement. Created a docsify project so that the rest of the company can start documenting their shot.
Something I had implemented in my team a while back, first thing this morning I get a message from the CTO to add mermaid support for his architectural graphs for his latest project.
Tomorrow’s dev achievement, 0 lines of code will be written after 9am. -
So this situation happened a while ago, but I am still pretty angry about it. I am learning Haskell, and it wasn't working, so I asked someone for help. Turns out, he had only been learning how to program for a couple weeks now, and as soon as he saw it, he burst out laughing.
He was making fun of me in the sense that I had only written one line (What?!) OKAY, first off, does this kid know what Haskell can do in one line? Much more than his beloved python, in which, the most complex thing this moron has made was a for loop. And second off, this kid is just like those retarded coworkers and bosses that measure productivity by lines.
I'm not gonna hate the kid because he's learning, but I can see he superiority growing a couple weeks in
God forbid he EVER takes this as a career option, else he may be the most arrogant, annoying human being alive. -
anyone else having Adventofcode problems? day1 told me the obviously right answer was wrong. after a full day of debugging two obvious lines of code, it finally decided to accept the first answer.
and day two seems to be doing the same. guess I'll just be a day behind then?
anyone else?3 -
I swear to god dio and dart's http client is so fucking stupid. I can barely do something in 90 lines to get a web resource when I can do it in 10 with python's requests library. The support for storing cookies is nonexistent, and even with CookieJar/Dio I still need some stupid long hack like this:
https://stackoverflow.com/a/...
The worst thing is that this has happened twice now, the first time I resolved after a long fucking time trying to solve it, and now I have the same exact problem again, but I can't just simply copy my solution from last time to use in the latest problem.
Even curl is more useful than whatever the hell the http client for dart is1 -
I decided to rewrite the cross-window comms lib from the ground up. After all it isn't too big (some 500 lines for the first level, 300 for a little abstraction) and the original is more of an artwork than good code. It somehow works but there are as many explanations as to why as viewers and nobody is allowed to touch it because it would probably break.1
-
When i wrote my first data structure (linked list) in c.
When I first learnt and used the concept of subqueries.
And way before that when i made a static website teaching c and made JavaScript output the result of c code i was explaining.
Also in my first job when i was debugging a shitty 2k plus lines stored procedure for days to realize that it was giving a wrong output just because a single variable was unassigned (null) -
tell me guys what would you prefer:
function a(){
..
b(..)
..
b(..)
..
}
function b(p1,p2,p3,p4,p5,p6){.
...
}
or
function a(){
..
b(..)
..
b(..)
..
}
function b(
p1,
p2,
p3,
p4,
p5,
p6
){
...
}
if you read this rant before expanding, you got a complete context on how what function a is, its calling b 2 times and how function b looks.
if instead of the first option, i had used 2nd block, you wouldn't even know the 2nd param of b function without expanding this rant.
my point?
i prefer to keeping unnecessary info on one line. and w lot of linters disagree by splitting up the code. and most importantly , my arrogant tl disagree by saying he prefers the splitted code "for readability" and becaue "he likes code this way, old-eng1 likes this and old-eng2 likes this" .
why tf does an ide have horizontal a scrolling option available when you are too stupid to use it?
ok, i know some smartass is going to point that i too can use vertical scrolling, but hear me out: i am optimising this!
case 1 : a function with 7 params is NOT split into 7 lines. lets calculate the effort to remember it
- since all params could have similar charactersticks ( they will be of some type, might have defaults, might be a suspendable/async function etc), each param will take similar memory-efforts points. say 5sp each.
- total memory-efforts= 5sp *7 = 35 sp.
- say a human has 100 sp of fast memory storage, he can use the remaining 65 sp for loading say 5 small lines above or below.
- but since 5 lines above are already read and still visible on screen, they won't be needed to be loaded again nd again, nd we can just check the lines below.
- thus we are able to store 65+35+65 = 165 sp or about 11 lines of code in out fast memory for just a 100sp brain storage
case 2 function with 7 params IS split into 7 lines.
- in this case all lines are somewhat similar. 5sp for param lines as they are still similar which implies same 35sp for storing current function and params
- remaining 65sp can only be used to store next 5 lines of 13sp as the previous code is no longer visible.
- plus if you wanna refresh the code above, you gotta scroll, which will result in removing bottom code from screen , and now your 65sp from bottom code is overwritten by 65sp of top code.
- thus at a time, you are storing only 6 lines worth of code info. this makes you slow.
this is some imaginary math, but i believe it works10 -
The project needs to make bigger changes to a module. A guy starts doing the changes. It turns out that the task is bigger than we though originally. Team lead has a brilliant idea: you need help. So he'll assign couple of more guys to do the same change.
What's the catch? The catch is that we are now all changing the same files. The code is a mess and tweaks and hacks are needed all over the place. So basically one guy changes the files and others just watch YouTube and wait for him to commit. The it's your turn to change the files and the first guy watches PornHub.
You could all just try to edit the same files at the same time, but we all know how GIT feels about that. You change random lines, he changes random lines, someone else changes random lines, all merges go to shit, nothing works and we spend 2x more time on just trying to get it compiling again.2 -
OpenSource is fun they said. I being a bored teen thought, ah, another chance to experiment. Discover something new. Now I am into piracy, movies, music, software. If I can get it for free I ain't paying for it. So I went on to GitHub to see what exciting new Repos I could contribute to. I hate already implemented plenty of algorithms in GO for GitHub.com/TheAlgorithms so I was looking something more practical, more beneficial to society. Then I saw it, the perfect repo, not too complex and not amateur. SpotDL/spotify-downloader for downloading songs from Spotify, a grey area coz it's technically piracy. Well not from Spotify, we fetch the info from the Spotify API and search for the songs on YouTubeMusic. They were just about to release v3, a complete rewrite of the codebase stressing code readability and stuff. I spend about a day studying the codebase, trying to findout just where I could make my contribution. I can see outright that there's a huge problem with implementation.
First of all the script spawns 4 processes for downloading songs though you might be downloading only one song. Which means for everytime you run the script you have to wait for 4 other processes to be spawned before any downloading can happen. Sure this is faster when you are downloading more than like 4 songs, but it's actually slower when downloading a single song. But I ignored that coz I assumed that most users download playlists and albums. Anyway we talked with the like lead developer and he was all like, make those PRs anytime you feel like. So I made a really minor first contribution.
I introduced download from Spotify URI functionality, modified like 10 lines of code. I was half expecting that the PR would be merged within hours at most 24 hours coz of how minor of a contribution it was, 5 days in it was pending. So I tagged the lead Dev and he was all appreciative of the PR, calling it real 'clean code' and stuff. 3 more days, the PR is still not merged. I have now stacked 4 more commits to the same PR, I tag the dev and he's like he's waiting to see if my 'feature' will get atleast 10 upvotes so that it can be merged, he links an issue. I go to the issue and my feature is not there, So 11 days after I made my PR I have to write a comment explaining the 'feature' introduced in my PR and then wait for 10 upvotes.
I was like f**k this, I'll just develop on my fork if you want the features on my fork, you will make your own PR! I am so done with OpenSource, development is slow. I have no idea how you guys do it. I can't handle development where I don't have write access.6 -
Guys is that the case, that it is such a hassle to work with forms in React-Redux application?! Hell, it takes a lot of time to just create a simple form with like 3 lines of inputs.
Everytime I need to setup bunch of those Actions that will fire on a field value change, than selectors to pick from the state and send to the backend with redux-saga. OMG OMG OMG.
Redux-forms kind a struggle to setup too at first, but I guess I have to go for it anyway?1 -
I got two files one called lte and the other called fcc2. The attached image is the fcc2 file. The first file is just a list of census blocks. 15 digit number per line on the lte file.I need help changing just the lines in the fcc2 file that have the same 15 digit number at the start of the line. Just need to change 2 variables in the line. FCC2 is a TSV file. any help would be appreciated.7
-
text-size-adjust vs viewport meta tag
So, I'm designing a mobile-first website with the chrome mobile simulator. I saw that when I put some text in it, for example a <p>, it will display very very small, and will not take into consideration the font size that I gave it, unless the <p> contains several lines of text. I did some research and I figured that this behavior is due to the text inflation algorithm used by mobile browsers and it can be stopped by using text-size-adjust:none. Is that correct? Then, the viewport meta tag. I figured that the viewport meta tag is used when a website it is not designed mobile first, and will help display the content properly based on the smaller width of a mobile devide. Is that correct? In conclusion, text-size-adjust with the value of none is used when building a mobile-first website in order to stop that inflation algorithm and help display the text properly, and the viewport meta tag is used when bulding a NON mobile-first website. Is that correct? Thank you6 -
I've just received a merge request for a feature that we outsourced. How do you best deal with substandard quality?
It's a merge request for roughly 2k lines of code and I've already noted down 25 comments and I'm only at my first file :(4 -
That feeling of pure fear when the spring-boot app is launching and the INFO lines are printed a bit too quickly at your taste and you expect dozens of stacktraces printed... while it's all good. It builded on the first try, congrats!
... Wait, why did it build on the first try?1 -
YAYYY! I MADE IT!!
After several nights of playing with my new and very first custom mechanical keyboard, at last I could successfully get my long-time-dreaming keyboard!
I read the guilds, tutorials, even youtube videos to get walked through the process:
- I started with building my own layout on different websites, since they said that it would be easier to use online tools than to write codes by yourself in order to build your own keymappings, but the UI/UX of the first one I tried was so bad that it took me a great deal of time to understand how to use it and working on it is even more time consuming. Later I found another webpage which was less recommended, but could help me to do that a lot easier.
- Then, the result was compiled to a firmware file, which would be flashed into the kb's controller. Loading the file into the board was also tiring and got me exhausted totally! I tried all the "lazy" recommended ways (using Windows softwares) but received the same error all the time. When I almost lost all the hopes, I'd come to the least recommended way: typing a few command lines on Linux. And it worked! The keyboard just do what I want it to do miraculously.
What I learnt: never do complicated things on Windows, because they are suuuuuper simple on Linux!
P/S: Sorry for the bad lighting in my room and the tiny spacebar (the spacebar size is 7u which I don't have one right now). I just need a beautiful keycap set to make it perfect.5