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 - "but it passes"
-
A young Programmer and his Project Manager board a train headed through the mountains on its way to Wichita. They can find no place to sit except for two seats right across the aisle from a young woman and her grandmother. After a while, it is obvious that the young woman and the young programmer are interested in each other, because they are giving each other looks. Soon the train passes into a tunnel and it is pitch black. There is a sound of a kiss followed by the sound of a slap. When the train emerges from the tunnel, the four sit there without saying a word. The grandmother is thinking to herself, "It was very brash for that young man to kiss my granddaughter, but I'm glad she slapped him." The Project manager is sitting there thinking, "I didn't know the young tech was brave enough to kiss the girl, but I sure wish she hadn't missed him when she slapped me!" The young woman was sitting and thinking, "I'm glad the guy kissed me, but I wish my grandmother had not slapped him!" The young programmer sat there with a satisfied smile on his face. He thought to himself, "Life is good. How often does a guy have the chance to kiss a beautiful girl and slap his Project manager all at the same time!"3
-
LONG RANT AHEAD!
In my workplace (dev company) I am the only dev using Linux on my workstation. I joined project XX, a senior dev onboarded me. Downloaded the code, built the source, launched the app,.. BAM - an exception in catalina.out. ORM framework failed to map something.
mvn clean && mvn install
same thing happens again. I address this incident to sr dev and response is "well.... it works on my machine and has worked for all other devs. It must be your environment issue. Prolly linux is to blame?" So I spend another hour trying to dig up the bug. Narrowed it down to a single datamodel with ORM mapping annotation looking somewhat off. Fixed it.
mvn clean && mvn install
the app now works perfectly. Apparently this bug has been in the codebase for years and Windows used to mask it somehow w/o throwing an exception. God knows what undefined behaviour was happening in the background...
Months fly by and I'm invited to join another project. Sounds really cool! I get accesses, checkout the code, build it (after crossing the hell of VPNs on Linux). Run component 1/4 -- all goocy. run component 2,3/4 -- looks perfect. Run component 4/4 -- BAM: LinkageError. Turns out there is something wrong with OSGi dependencies as ClassLoader attempts to load the same class twice, from 2 different sources. Coworkers with Windows and MACs have never seen this kind of exception and lead dev replies with "I think you should use a normal environment for work rather than playing with your Linux". Wtf... It's java. Every env is "normal env" for JVM! I do some digging. One day passes by.. second one.. third.. the weekend.. The next Friday comes and I still haven't succeeded to launch component #4. Eventually I give up (since I cannot charge a client for a week I spent trying to set up my env) and walk away from that project. Ever since this LinkageError was always in my mind, for some reason I could not let it go. It was driving me CRAZY! So half a year passes by and one of the project devs gets a new MB pro. 2 days later I get a PM: "umm.. were you the one who used to get LinkageError while starting component #4 up?". You guys have NO IDEA how happy his message made me. I mean... I was frickin HIGH: all smiling, singing, even dancing behind my desk!! Apparently the guy had the same problem I did. Except he was familiar with the project quite well. It took 3 more days for him to figure out what was wrong and fix it. And it indeed was an error in the project -- not my "abnormal Linux env"! And again for some hell knows what reason Windows was masking a mistake in the codebase and not popping an error where it must have popped. Linux on the other hand found the error and crashed the app immediatelly so the product would not be shipped with God knows what bugs...
I do not mean to bring up a flame war or smth, but It's obvious I've kind of saved 2 projects from "undefined magical behaviour" by just using Linux. I guess what I really wanted to say is that no matter how good dev you are, whether you are a sr, lead or chief dev, if your coworker (let it be another sr or a jr dev) says he gets an error and YOU cannot figure out what the heck is wrong, you should not blame the dev or an environment w/o knowing it for a fact. If something is not working - figure out the WHATs and WHYs first. Analyze, compare data to other envs,... Not only you will help a new guy to join your team but also you'll learn something new. And in some cases something crucial, e.g. a serious messup in the codebase.11 -
A wild Darwin Award nominee appears.
Background: Admins report that a legacy nightly update process isn't working. Ticket actually states problem is obviously in "the codes."
Scene: Meeting with about 20 people to triage the issue (blamestorming)
"Senior" Admin: "update process not working, the file is not present"
Moi: "which file?"
SAdmin: "file that is in ticket, EPN-1003"
Moi: "..." *grumbles, plans murder, opens ticket*
...
Moi: "The config dotfile is missing?"
SAdmin: "Yes, file no there. Can you fix?"
Moi: "Engineers don't have access to the production system. Please share your screen"
SAdmin: "ok"
*time passes, screen appears*
Moi: "ls the configuration dir"
SAdmin: *fails in bash* > ls
*computer prints*
> ls
_.legacyjobrc
Moi: *sees issues, blood pressure rises* "Please run list all long"
SAdmin: *fails in bash, again* > ls ?
Moi: *shakes* "ls -la"
SAdmin: *shonorable mention* > ls -la
*computer prints*
> ls -la
total 1300
drwxrwxrwx- 18 SAdmin {Today} -- _.legacyjobrc
Moi: "Why did you rename the config file?"
SAdmin: "Nothing changed"
Moi: "... are you sure?"
SAdmin: "No, changed nothing."
Moi: "Is the job running as your account for some reason?"
SAdmin: "No, job is root"
Moi: *shares screenshot of previous ls* This suggests your account was likely used to rename the dotfile, did you share your account with anyone?
SAdmin: "No, I rename file because could not see"
Moi: *heavy seething* so, just to make sure I understand, you renamed a dotfile because you couldn't see it in the terminal with ls?
SAdmin: "No, I rename file because it was not visible, now is visible"
Moi: "and then you filed a ticket because the application stopped working after you renamed the configuration file? You didn't think there might be a correlation between those two things?"
SAdmin: "yes, it no work"
Interjecting Director: "How did no one catch this? Why were there no checks, and why is there no user interface to configure this application? When I was writing applications I cared about quality"
Moi: *heavy seething*
IDjit: "Well? Anyone? How are we going to fix this"
Moi: "The administrative team will need to rename the file back to its original name"
IDjit: "can't the engineering team do this?!"
Moi: "We could, but it's corporate policy that we have no access to those environments"
IDjit: "Ok, what caused this issue in the first place? How did it get this way?!"
TFW you think you've hit the bottom of idiocy barrel, and the director says, "hold my mango lassi."27 -
HR people working in tech companies, let's talk about them...
*phone rings and I pick up*
HR Lady: Hi, this is [name] from [company]. I'm calling you regarding your application you submitted [some date 2 months ago!].
Me: *realizing that I've applied 2 freaking months ago* Hmmm OK....
HR Lady: Yes, well, we asked for your GitHub account, but you seem to have forgotten to provide it.
Me: *open up the email and see that I've sent them my GitLab account* Well, I have the email right here and I did send you a git account. I mean, it's not GitHub specifically but it's a GitLab account, pretty much the same thing, you should be good with that.
HR Lady: OK, let me put you on hold for a minute.
*2-3 minutes passes*
HR Lady: Hi sir, I've asked my colleague [which I suppose is another HR] and he told me that they're not the same thing, we cannot proceed until you give us the right link, you need to send us a link to your GitHub account.
Me: I mean, they aren't the SAME EXACT thing, but both companies provide essentially the same service, it's like Messenger and WhatsApp. Look, I'm pretty sure that if you give this to another programmer they'll be fine.
HR Lady: No, Messenger and WhatsApp aren't the same thing. Sir, please stay polite. We need a GitHub account not a GitLab account.
Me: *mumbling* Oh boy.... M'am, it's OK, I don't need the job anyway, I've found something. Two months is a long time and I needed something quickly. Thank you, have a good day.6 -
My recent failure to build a responsive website according to a template tells me I should have worked with CSS a bit more.
The thing is, I write the type of CSS that passes the CSS validation with flying colors, but doesn't work as it should. Am I a minority(I hate that word), in that?
Now I have to redo the website or I'm not passing the exam. Lovely.5 -
PEOPLE. DO NOT LIE ON YOUR RESUME. IT. IS. NOT. WORTH. IT. Ok, backstory.
We had a guy apply for this position at work. It really needed to be filled but also required someone with just the right certifications, so hiring the first schmuck to come along Was not an option.
We search high and low and as time passes without an acceptable applicant we become more desperate and open to negotiation. Basically, you name your price, we’ll agree to it at this point.
So finally a guy comes in, got everything we need but one minor certification. No problem. He can get that on the job, he doesn’t need it to start. He’s hired.
So he quotes us a salary 10% above our top range of what we’d usually pay a guy for this position, we don’t care. He gets it. Plus a housing allowance.
So we’re getting him registered with a place to handle his certification process and they call his four year institution to verify his transcript. We work with hazardous materials and a four year degree in a relevant field is required. It’s standard for the certification training institution to check. Especially when it’s a prestigious big name place like this guy had. And here I used to think that was paranoid of them.
They call and tell us the school says they have no record of him. We do some digging. He was never registered there. I’m like “that’s not possible, his professor is a listed reference. We call that reference.
He worked on a project with this man, he never taught him. Is very fascinated to learn this man has been presenting himself as though he attended the university. Asks to be delisted as a reference.
So long story short it comes out this guy did have a degree in this field, just from a less prestigious university.
The insane thing is, he would’ve still gotten the same job and salary package if he’d been honest about his university!
It is a loss for all involved. He doesn’t have a job. We don’t have anyone working in this position. It’s really unfortunate. Don’t lie on your resume people. Your employer will find out and the risks are not worth the benefits.12 -
!rant
!!git
Who here uses `master` for development?
My boss (api guy) tried to convince me that was normal practice. I gently told him that it sounded crazy and very very bad.
Here's the dev path I'm enforcing on my repos:
(feature branches) -> dev -> qa* -> master -> production*
*: the build server auto-pulls from these branches, and pushes any passing builds to staging/production.
Everyone works on their own feature branches, and when they're happy with their work, they merge it into `dev`. `dev`, therefore, is for feature integration testing. After everything is working well on `dev`, it gets merged into `qa` for the testers to fawn over and beat with sticks. Anything that passes QA gets merged into `master`, where it sits until we're ready to release it. When that time comes (it's usually right away, but not always), `master` gets merged into `production`.
This way, `master` is always stable and contains the newest code, so it's perfect for forking/etc. Is this standard practice, or should I be doing something different?
Also, api guy encourages something he calls "running a racetrack" -- each dev has their own branch (their initials) and they push to that throughout the day. everyone else pulls from it regularly and pushes to their own branch. When anyone's happy with their code, they push from their (updated) branch to `qa` (I insisted on `dev` instead.)
Supposedly this drastically reduces the number of merge conflicts when pushing to an upstream branch due to having a more recent ancestor node?
I don't quite follow that, but it seems to me that merging/pushing throughout the day would just make them happen sooner? idk.
What are your thoughts?30 -
Seven months ago:
===============
Project Manager: - "Guys, we need to make this brand new ProjectX, here are the specs. What do you think?"
Bored Old Lead: - "I was going to resign this week but you've convinced me, this is a challenge, I never worked with this stack, I'm staying! I'll gladly play with this framework I never used before, it seems to work with this libA I can use here and this libB that I can use here! Such fun!"
Project Manager: - "Awesome! I'm counting on you!"
Six months ago:
====================
Cprn: - "So this part you asked me to implement is tons of work due to the way you're using libA. I really don't think we need it here. We could use a more common approach."
Bored Old Lead: - "No, I already rewrote parts of libB to work with libA, we're keeping it. Just do what's needed."
Cprn: - "Really? Oh, I see. It solves this one issue I'm having at least. Did you push the changes upstream?"
Bored Old Lead: - "No, nobody uses it like that, people don't need it."
Cprn: - "Wait... What? Then why did you even *think* about using those two libs together? It makes no sense."
Bored Old Lead: - "Come on, it's a challenge! Read it! Understand it! It'll make you a better coder!"
Four months ago:
==============
Cprn: - "That version of the framework you used is loosing support next month. We really should update."
Bored Old Lead: - "Yeah, we can't. I changed some core framework mechanics and the patches won't work with the new version. I'd have to rewrite these."
Cprn: - "Please do?"
Bored Old Lead: - "Nah, it's a waste of time! We're not updating!"
Three months ago:
===============
Bored Old Lead: - "The code you committed doesn't pass the tests."
Cprn: - "I just run it on my working copy and everything passes."
Bored Old Lead: - "Doesn't work on mine."
Cprn: - "Let me take a look... Ah! Here you go! You've misused these two options in the framework config for your dev environment."
Bored Old Lead: - "No, I had to hack them like that to work with libB."
Cprn: - "But the new framework version already brings everything we need from libB. We could just update and drop it."
Bored Old Lead: - "No! Can't update, remember?"
Last Friday:
=========
Bored Old Lead: - "You need to rewrite these tests. They work really slow. Two hours to pass all."
Cprn: - "What..? How come? I just run them on revision from this morning and all passed in a minute."
Bored Old Lead: - "Pull the changes and try again. I changed few input dataset objects and then copied results from error messages to assertions to make the tests pass and now it takes two hours. I've narrowed it to those weird tests here."
Cprn: - "Yeah, all of those use ORM. Maybe it's something with the model?"
Bored Old Lead: - "No, all is fine with the model. I was just there rewriting the way framework maps data types to accommodate for my new type that's really just an enum but I made it into a special custom object that needs special custom handling in the ORM. I haven't noticed any issues."
Cprn: - "What!? This makes *zero* sense! You're rewriting vendor code and expect everything to just work!? You're using libs that aren't designed to work together in production code because you wanted a challenge!?? And when everything blows up you're blaming my test code that you're feeding with incorrect dataset!??? See you on Monday, I'm going home! *door slam*"
Today:
=====
Project Manager: - "Cprn, Bored Old Lead left on Friday. He said he can't work with you. You're responsible for Project X now."24 -
this.title = "gg Microsoft"
this.metadata = {
rant: true,
long: true,
super_long: true,
has_summary: true
}
// Also:
let microsoft = "dead" // please?
tl;dr: Windows' MAX_PATH is the devil, and it basically does not allow you to copy files with paths that exceed this length. No matter what. Even with official fixes and workarounds.
Long story:
So, I haven't had actual gainful employ in quite awhile. I've been earning just enough to get behind on bills and go without all but basic groceries. Because of this, our electronics have been ... in need of upgrading for quite awhile. In particular, we've needed new drives. (We've been down a server for two years now because its drive died!)
Anyway, I originally bought my external drive just for backup, but due to the above, I eventually began using it for everyday things. including Steam. over USB. Terrible, right? So, I decided to mount it as an internal drive to lower the read/write times. Finding SATA cables was difficult, the motherboard's SATA plugs are in a terrible spot, and my tiny case (and 2yo) made everything soo much worse. It was a miserable experience, but I finally got it installed.
However! It turns out the Seagate external drives use some custom drive header, or custom driver to access the drive, so Windows couldn't read the bare drive. ffs. So, I took it out again (joy) and put it back in the enclosure, and began copying the files off.
The drive I'm copying it to is smaller, so I enabled compression to allow storing a bit more of the data, and excluded a couple of directories so I could copy those elsewhere. I (barely) managed to fit everything with some pretty tight shuffling.
but. that external drive is connected via USB, remember? and for some reason, even over USB3, I was only getting ~20mb/s transfer rate, so the process took 20some hours! In the interim, I worked on some projects, watched netflix, etc., then locked my computer, and went to bed. (I also made sure to turn my monitors and keyboard light off so it wouldn't be enticing to my 2yo.) Cue dramatic music ~
Come morning, I go to check on the progress... and find that the computer is off! What the hell! I turn it on and check the logs... and found that it lost power around 9:16am. aslkjdfhaslkjashdasfjhasd. My 2yo had apparently been playing with the power strip and its enticing glowing red on/off switch. So. It didn't finish copying.
aslkjdfhaslkjashdasfjhasd x2
Anyway, finding the missing files was easy, but what about any that didn't finish? Filesizes don't match, so writing a script to check doesn't work. and using a visual utility like windirstat won't work either because of the excluded folders. Friggin' hell.
Also -- and rather the point of this rant:
It turns out that some of the files (70 in total, as I eventually found out) have paths exceeding Windows' MAX_PATH length (260 chars). So I couldn't copy those.
After some research, I learned that there's a Microsoft hotfix that patches this specific issue! for my specific version! woo! It's like. totally perfect. So, I installed that, restarted as per its wishes... tried again (via both drag and `copy`)... and Lo! It did not work.
After installing the hotfix. to fix this specific issue. on my specific os. the issue remained. gg Microsoft?
Further research.
I then learned (well, learned more about) the unicode path prefix `\\?\`, which bypasses Windows kernel's path parsing, and passes the path directly to ntfslib, thereby indirectly allowing ~32k path lengths. I tried this with the native `copy` command; no luck. I tried this with `robocopy` and cygwin's `cp`; they likewise failed. I tried it with cygwin's `rsync`, but it sees `\\?\` as denoting a remote path, and therefore fails.
However, `dir \\?\C:\` works just fine?
So, apparently, Microsoft's own workaround for long pathnames doesn't work with its own utilities. unless the paths are shorter than MAX_PATH? gg Microsoft.
At this point, I was sorely tempted to write my own copy utility that calls the internal Windows APIs that support unicode paths. but as I lack a C compiler, and haven't coded in C in like 15 years, I figured I'd try a few last desperate ideas first.
For the hell of it, I tried making an archive of the offending files with winRAR. Unsurprisingly, it failed to access the files.
... and for completeness's sake -- mostly to say I tried it -- I did the same with 7zip. I took one of the offending files and made a 7z archive of it in the destination folder -- and, much to my surprise, it worked perfectly! I could even extract the file! Hell, I could even work with paths >340 characters!
So... I'm going through all of the 70 missing files and copying them. with 7zip. because it's the only bloody thing that works. ffs
Third-party utilities work better than Microsoft's official fixes. gg.
...
On a related note, I totally feel like that person from http://xkcd.com/763 right now ;;21 -
I really hate this company.
The code is a disaster. Every single other employee is a salesperson. Nobody has any bloody clue what I do or how difficult it is. They don't care about stability (unless things are crashing), maintenance (until crashing), code quality (until it delays features), or anything apart from shiny new features they can sell. The boss (the king salesman, if ever there was one) doesn't know how to manage, but tries to by acting like his "nice asshole" self -- he's an asshole that gives you passes, makes sure it's bloody obvious that he's doing it begrudgingly, yet everything is still absolutely your fault. If he arbitrarily decides it's too much your fault, he stops being "nice" and flips out on you in front of everyone. That's a "nice asshole": an asshole who can barely even pretend to be nice.
Fuck him.
And you know what? I really hate having to work next to these fucking birds, too.
Today was our weekly conference call, and I was both late and unprepared. I was too focused on my work, and got a ping 4 minutes into the meeting, so I obv didn't have time to prepare. Boss was also pissy today, and I didn't have much to show for my week, thanks to lots of little "OMG NEED ASAP" shit projects that all took too long, pushing back what I was actually supposed to work on. Which didn't get finished, of course, and today that project was "the most important" -- I suspect simply because it wasn't finished. AGADJFSKL. Cue the birds fucking screaming and never fucking shutting up no matter what I did. Blanket? No effect. Spray bottle? SCREAM MORE! Boss was yelling at me, the birds were screaming, and I couldn't think. Goddamn fucking disaster.
and yes, we have a macaw. A macaw and over 20 cockatiels. Said macaw decided today was a lovely day to just fucking SCREAM non-stop, and the tiels were doing their best to keep up. Thinking clearly during this cacophony? Not gonna happen.
Wait, "go elsewhere," you say? Somewhere quieter? Where is this "elsewhere?" We live in a fucking tiny house, and during the call it was (and still is) filled with sleeping people, and surrounded by a fucking desert. Who the fuck thought living in the desert was a good idea, anyway? Like, seriously. What brainless moron thought "You know what? This is a great place! Let's settle down right here," while trudging through the scorching sand and dust, looking at the basically lifeless horizon filled with large, hot, dry, dusty, barren rocks (aka "mountains"), and fucking dying from thirst? Probably someone so delirious from heatstroke they never actually recovered, and continued raving that it's a goddamn paradise to their heat-addled imbecile followers. I really hope they hallucinated a la-z-boy in place of a hedge of teddybear cholla and died an excruciating and prickly death. Fuck that guy/girl, too.
But I digress.
I seriously need an office that isn't a 30 min drive into gang-central. I'd work outside, but I live in the middle of the bloody fucking desert, and get heat exhaustion within about half an hour. Everywhere else in the house people bother me almost incessantly.
just. FUCKING FJASKLDFJGAG.
I HATE THIS PLACE SO SO SO MUCH.
'I've had such Zen lately,' Alex said. Maybe then, but lately? I've just been too exhausted and burned out from putting up with all this shit to get angry. Days like today? I could pour kerosene over everything and laugh as it all just burned to ash.rant it's a cool day at 96f/35c root has problems and fan the flames as your blazes burn root should see a shrink desert kerosene asshole boss when you fall i'll take my turn15 -
I usually don't work for indian clients. But when I do, they make sure I don't get paid.
Some highlights from my last project,
Client: Do you know ERPnext?
Me: No, but I am good at python.
Client: My boss wants me to find a guy who can create barcode generator for erpnext.
Me: I can use pyBarcode to do it.
This is exciting I thought. I get to learn a new framework. Start working on it. Not an hour passes by,
Client: hey can you remove this menu item?
Me: Which one?
Client: Also can you add the dashboard icons to left sidebar? Like Odoo? Do you know it? It is also python based.
Me: Then why don't you just use Odoo instead?
Client: My boss wants it. He doesn't understand computers. He is pissing mr off.
Me: Then how come he suggested erpnext?
Client: His friend told him.
*experience mindfuck*
For the next 3 days he has me working on these UI tweaks, never mentions barcode again.
But I finish the barcode stuff. Tripple check everything to make sure they work. Tell him to check so I can get paid. Guy asks his boss to check.
Boss > Client: It doesn't work
Me: What doesn't work?
Boss > Client: Everything!
Client: I actually tested everything and they work. My boss doesn't know how to use it. He is very old.
Makes me make more changes and finally when I ask for the work done so far,
Client: Boss didn't come to office today. I'll get you paid. Please try to understand my situation.
Me thinking, "mofo your boss didn't hire me,l. You did". But I keep calm and tell him I won't work until I get paid 50%.
3 days passed. No reply. Set his skype status to "Away" forever.
*spidey sense tells me I'm not getting paid, again*
U am beyond pissed and burnt out. I fucking wish there was a mafia I can request to collect my fucking money from them.20 -
Root: Fleshes out missing data in some factories. Tests affected code and finds the change breaks some specs (but shouldn’t).
Root: Reaches out to spec author.
Root: Messages thundercunt (the ticket’s code reviewer) on slack about the specs and the reaching out. No response.
Root: Works on another ticket while blocked.
Root: Logs off.
Root: Talks with spec author chick in the morning. Decide to pair on specs later.
TC: Still no slack response.
Root: Gives update in standup. Mentions factories and broken specs. Mentions pairing with spec chick.
TC: Still no slack response.
Root: Pulled off tickets in favor of prod issue. Gets ignored by everyone else diagnosing prod issue. Investigates prod issue by herself. Discovers prod issue isn’t from bad code, but bad requirements — code works as requested. Communicates this with details. Gets ignored by people still diagnosing prod issue. Tries again. Gets ignored. Gives up. Works on non-blocked tickets instead.
TC: Still no slack response.
Hours later:
TC: Comments on PR telling me I broke specs (how did I not notice?), that I need to reach out to spec chick and work with her, and that I can’t resolve the ticket until it’s fixed and passes code review.
TC: Still no slack response. (21 hours later at this point)
TC: Logs off. Still no response (25 hours at this point)
———
Ignoring the prod issue for the moment…
I broke specs. No shit.
I need to talk with spec chick. No shit.
I can’t resolve the ticket. No shit!
Bitch, I told you all of this 21 fucking hours prior, and again 3 hours prior during standup. But no, I clearly “don’t communicate” and obviously have no bloody clue what I’m doing, either, so I need everything spelled out for me.
And no, I didn’t resolve the fucking ticket. Why the fuck would I if it still has pending changes? Do you even check? Ugh!
And what the fuck with that prod issue? I’m literally giving you the answer. fucking listen! Stupid cunts.
Why is it all of the women I work with are useless or freaking awful people? Don’t get me wrong, many of the men are, too, but I swear it’s every single one of the women. (Am I awful, too?)
Just. Ugh.
I can’t wait to leave this sewer of a company.
Oddly still a good day, though. Probably because I talked to recruiters and sent out my resume again.rant oh my root gets ignored. root swears oh my root talks in third person root solves a prod issue thundercunt root communicates root wants to leave root gets ignored15 -
A programmer once explained Nietzsche like this:
A long time ago, god created the world, but forgot to leave a developer documentation, thus the whole world was like legacy code...
And humans are like the end user of this world, and some among them spent time studying it, using the Moral API, hoping to get a result of "http 200 ok" from our world for the peace of mind. But the true operation of this world is still yet unknown...
As time passes, humans begin to find that in Moral API, good and evil are two base classes, and all the other moral properties (like ethic, justice and stuff) are just other classes based on those two classes through multiple inheritance.
One day, when programmer Nietzsche was observing the world's runtime behavior, he came up with a question:
"Did god really use good and evil as base classes? Could it be that they are actually derived classes?"
Most of the world is currently in the favor of mankind, and god must've wrote individual user cases for it's end users, he thought.
This made Nietzsche thinking: if end users are considered into two cases: the strong and the weak, how would the world be designed base on its user story?
Let's think about the strong, they can bully the weak as they please, and there's nothing the weak can do to stop them. In this case whether the Moral API exists or not doesn't fulfill the need of the strong.
But when it comes to the weak, Nietzsche thinks that because the weak cannot fight the strong, they need to belittle bullying and praise the strong for being nice. When the weak does this, it covers their powerless state to some extent, making them look somehow equal to the strong by being capable of commenting.
God might have coded the Moral API to fit the weak's requirement, also adding some public methods for the weak to comment on the strong. If the strong takes care of the weak, they call him nice and good, if the strong bullies people, they call him bad and evil.
That's when Nietzsche realized, that good and evil are both derived classes from the weak, and the base class should be the strong and the weak.
Then he started a series of studies about the Moral API, and got some thesis that persuaded lots of other end users...7 -
Me and co-worker troubleshooting why he can't run the docker container for database.
Me: Check if the port is busy.
Co-worker: To my knowledge, it isn't.
Me: Strange, it just works fine for me and everyone else.
Me: And you're sure you didn't already start it previously?
*We verify that it isn't running*
Me: I'm pretty sure the port is busy from that error message. Try another port.
Co-worker: Already did, it didn't work.
Me: And by any chance restarting your machine won't solve anything?
*It doesn't solve anything*
Me: Alright, I have some work to do, but I'll get back to this. Tell me if you find a solution.
Co-worker: Alright.
*** Time passes, when I get back he has switched to windows, dualboot, same machine ***
Me: I don't think you'll have a better time running the docker image on windows.
Co-worker: Oh, that's not what I'm looking for. You see, I had a database on my windows partition recently and I thought maybe thats why it won't start.
Me (screaming internally) : WTF ARE YOU STUPID, WINDOWS AND LINUX ISNT RUNNING AT THE SAME FUCKING TIME.
Me (actually saying): I don't think computers work like that.
Co-worker: My computer is magical. It does strange things.
Me: That's a logical conclusion.
*** More time passes ***
Co-worker solves the problem. The port was busy because Ubuntu was already running PostgreSQL on that port.
Third co-worker shimes in: Oh yeah, I had the exact same problem and it took me a long time to solve it.
Everyone is sitting in arms reach of each other.
So not only was I right from the start. Someone else heard this whole conversation and didn't chime in with his solution. And the troubleshooting step of booting into windows and looking if a database is running there ???? Wtf
Why was I put on this Earth?6 -
Imagine, you get employed to restart a software project. They tell you, but first we should get this old software running. It's 'almost finished'.
A WPF application running on a soc ... with a 10" touchscreen on win10, a embedded solution, to control a machine, which has been already sold to customers. You think, 'ok, WTF, why is this happening'?
You open the old software - it crashes immediately.
You open it again but now you are so clever to copy an xml file manually to the root folder and see all of it's beauty for the first time (after waiting for the freezed GUI to become responsive):
* a static logo of the company, taking about 1/5 of the screen horizontally
* circle buttons
* and a navigation interface made in the early 90's from a child
So you click a button and - it crashes.
You restart the software.
You type something like 'abc' in a 'numberfield' - it crashes.
OK ... now you start the application again and try to navigate to another view - and? of course it crashes again.
You are excited to finally open the source code of this masterpiece.
Thank you jesus, the 'dev' who did this, didn't forget to write every business logic in the code behind of the views.
He even managed to put 6 views into one and put all their logig in the code behind!
He doesn't know what binding is or a pattern like MVVM.
But hey, there is also no validation of anything, not even checks for null.
He was so clever to use the GUI as his place to save data and there is a lot of parsing going on here, every time a value changes.
A thread must be something he never heard about - so thats why the GUI always freezes.
You tell them: It would be faster to rewrite the whole thing, because you wouldn't call it even an alpha. Nobody listenes.
Time passes by, new features must be implemented in this abomination, you try to make the cripple walk and everyone keeps asking: 'When we can start the new software?' and the guy who wrote this piece of shit in the first place, tries to give you good advice in coding and is telling you again: 'It was almost finished.' *facepalm*
And you? You would like to do him and humanity a big favour by hiting him hard in the face and breaking his hands, so he can never lay a hand on any keyboard again, to produce something no one serious would ever call code.4 -
This story starts over two years ago... I think I'm doomed to repeat myself till the end of time...
Feb 2014
[I'm thrust into the world of Microsoft Exchange and get to learn PowerShell]
Me: I've been looking at email growth and at this rate you're gonna run out of disk space by August 2014. You really must put in quotas and provide some form of single-instance archiving.
Management: When we upgrade to the next version we'll allocate more disk, just balance the databases so that they don't overload in the meantime.
[I write custom scripts to estimate mailbox size patterns and move mailboxes around to avoid uneven growth]
Nov 2014
Me: We really need to start migration to avoid storage issues. Will the new version have Quotas and have we sorted out our retention issues?
Management: We can't implement quotas, it's too political and the vendor we had is on the nose right now so we can't make a decision about archiving. You can start the migration now though, right?
Me: Of course.
May 2015
Me: At this rate, you're going to run out of space again by January 2016.
Management: That's alright, we should be on track to upgrade to the next version by November so that won't be an issue 'cos we'll just give it more disk then.
[As time passes, I improve the custom script I use to keep everything balanced]
Nov 2015
Me: We will run out of space around Christmas if nothing is done.
Management: How much space do you need?
Me: The question is not how much space... it's when do you want the existing storage to last?
Management: October 2016... we'll have the new build by July and start migration soon after.
Me: In that case, you need this many hundreds of TB
Storage: It's a stretch but yes, we can accommodate that.
[I don't trust their estimate so I tell them it will last till November with the added storage but it will actually last till February... I don't want to have this come up during Xmas again. Meanwhile my script is made even more self-sufficient and I'm proud of the balance I can achieve across databases.]
Oct 2016 (last week)
Me: I note there is no build and the migration is unlikely since it is already October. Please be advised that we will run out of space by February 2017.
Management: How much space do you need?
Me: Like last time, how long do you want it to last?
Management: We should have a build by July 2017... so, August 2017!
Me: OK, in that case we need hundreds more TB.
Storage: This is the last time. There's no more storage after August... you already take more than a PB.
Management: It's OK, the build will be here by July 2017 and we should have the political issues sorted.
Sigh... No doubt I'll be having this conversation again in July next year.
On the up-shot, I've decided to rewrite my script to make it even more efficient because I've learnt a lot since the script's inception over two years ago... it is soooo close to being fully automated and one of these days I will see the database growth graphs produce a single perfect line showing a balance in both size and growth. I live for that Nirvana.6 -
expect([
row[‘blah’][0][1],
row[‘blah’][1][1],
row[’blah’][2][1],
row[‘blah’][3][1],
row[‘blah’][4][1],
]).to contain_exactly(
a.name(user), # “John doe”
c.name(user), # “John doe”
e.name(user), # “John doe”
b.name(user), # “John doe”
d.name(user), # “John doe”
)
(Note: The comments are mine.)
See the problem? No, not the ugly code (which is actually worse than what i posted here).
It’s using the same ridiculous getter (if you can call it that) that pulls a name out of the passed user object, and then expecting each row to have that name, in order. Not that order matters when they’re all the same.
Upon inspection, all objects created by the spec have the exact same name, so the above test passes (as long as there are 5 rows). It passes, but totally not because it should: those aren’t the objects that are actually in the table. All of the specs — all 22 of them — only check for that shared name on various rows, and no other data. And it’s not like this is the only issue, either.
Fuck me these are bad.
And this guy is a senior dev earning significantly more than me. Jesus what the fuck Christ.18 -
I have been gone a while. Sorry. Workplace no longer allows phones on the lab and I work exclusively in the lab. Anyway here is a thing that pissed me off:
Systems Engineer (SE) 1 : 😐 So we have this file from the customer.
Me: 😑 Neat.
SE1: 😐 It passes on our system.
Me: 😑 *see prior*
Inner Me (IM): 🙄 is it taught in systems engineer school to talk one sentence at a time? It sounds exhausting.
SE1: but when we test it on your system, it fails. And we share the same algorithms.
Me: 😮 neat.
IM: 😮neat, 😥 wait what the fuck?
Me: 😎 I will totally look into that . . .
IM: 😨 . . . Thing that is absolutely not supposed to happen.
*Le me tracking down the thing and fixing it. Total work time 30 hours*
Me: 😃 So I found the problem and fixed it. All that needs to happen is for review board to approve the issue ticket.
SE1: 😀 cool. What was the problem?
Me: 😌 simple. See, if the user kicked off a rerun of the algorithm, we took your inputs, processed them, and put them in the algorithm. However, we erroneously subtracted 1 twice, where you only subtract 1 once.
SE1: 🙂 makes sense to me, since an erroneous minus 1 only effects 0.0001% of cases.
*le into review board*
Me: 😐 . . . so in conclusion this only happens in 0.0001% of cases. It has never affected a field test and if this user had followed the user training this would never have been revealed.
SE2: 🤨 So you're saying this has been in the software for how long?
Me: 😐 6 years. Literally the lifespan of this product.
SE2: 🤨 How do you know it's not fielded?
Me: 😐 It is fielded.
SE2: 🤨 how do you know that this problem hasn't been seen in the field?
Me: 😐 it hasn't been seen in 6 years?
IM: 😡 see literally all of the goddamn words I have said this entire fucking meeting!!!
SE2: 😐 I would like to see an analysis of this to see if it is getting sent to the final files.
Me: 🙄 it is if they rerun the algorithm from our product. It's a total rerun, output included. It's just never been a problem til this one super edge case that should have been thrown out anyway.
SE2: 🤨 I would still like to have SE3 run an analysis.
Me: 🙄 k.
IM: 😡 FUUUUUUUUUCK YOOOOOU
*SE3 run analysis*
SE3: 😐 getting the same results that Me is seeing.
Me: 😒 see? I do my due diligence.
SE2: 😐 Can you run that analysis on this file again that is somehow different, plus these 5 unrelated files?
SE3: 😎 sure. What's your program's account so I can bill it?
IM: 😍 did you ever knooooow that your my heeeerooooooo.
*SE3 runs analysis*
SE3: 😐 only the case that was broken is breaking.
SE2: 😐 Good.
IM: 🤬🤬🤬🤐 . . . 🤯WHY!?!?
Me: 😠 Why?
SE2: 😑 Because it confirms my thoughts. Me, I am inviting you to this algorithm meeting we have.
Me/IM: 😑/😡 what . . . the fuck?
*in algorithm meeting*
Me: 😑 *recaps all of the above* we subtract 1 one too many times from a number that spans from 10000 to -10000.
Software people/my boss/SE1/SE3: 🤔 makes sense.
SE2:🤨 I have slides that have an analysis of what Me just said. They will only take an hour to get through.
Me: 😑 that's cool but you need to give me your program's account number, because this has been fixed in our baseline for a week and at this point you're the only program that still cares. Actually I need the account to charge for the last couple times you interrupted me for some bullshit.
*we are let go.*
And this is how I spent 40+ useless hours against a program that is currently overrunning for no reason 🤣🤣🤣
Moral: never involve math guys in arithmetic situations. And if you ever feel like you're wasting your time, at least waste someone else's money.10 -
Business: We can't approve this code update in QA because we weren't aware of it.
Me: I was told you wanted it.
Business: We'll discuss it next week. Don't do anything on this till then.
Me: Alright. But you said so.
(Week passes)
Business: Why isn't that updated in QA for us to test? You said you were done.
Me: I am done but you said no. (Sends email exchange)
We shall see what happens next.7 -
One Thursday noon,
operation manager: (looking at mobile)what the.....something is wrong i am getting bunch of emails about orders getting confirmed.
Colleague dev: (checks the main email where it gets all email sent/received) holy shit all of our clients getting confirmation email for orders which were already cancelled/incomplete.
Me: imediately contacting bluehost support, asking them to down the server so just that we can stopp it, 600+ emails were already sent and people keep getting it.
*calls head of IT* telling the situation because he's not in the office atm.
CEO: wtf is happening with my business, is it a hacker?
*so we have a intrusion somebody messed the site with a script or something*
All of us(dev) sits on the code finding the vulnerabilities , trying to track the issue that how somebody was able to do that.
*After an hour*
So we have gone through almost easch function written in the code which could possibly cause that but unable to find anything which could break it.
Head asking op when did you started getting it actually?
Op: right after 12 pm.
*an other hour passes*
Head: (checking the logs) so right after the last commit, site got updated too?. And....and.....wtf what da hell who wrote this shit in last commit?
* this fuckin query is missing damn where clause* 🤬
Me: me 😰
*long pause, everyone looking at me and i couldn't look at anyone*
The shame and me that how can i do that.
Head: so its you not any intrudor 😡
Further investigating, what the holy mother of #_/&;=568 why cronjob doesn't check how old the order is. Why why why.
(So basically this happened, because of that query all cancelled/incomplete orders got updated damage done already, helping it the cronjob running on all of them sending clients email and with that function some other values got updated too, inshort the whole db is fucked up.)
and now they know who did it as well.
*Head after some time cooling down, asked me the solution for the mess i create*
Me: i took backup just couple of days before i can restore that with a script and can do manual stuff for the recent 2 days. ( operation manager was already calling people and apologising from our side )
Head: okay do it now.
Me: *in panic* wrote a script to restore the records ( checking what i wrote 100000000 times now ), ran...tested...all working...restored the data.
after that wrote an apology email, because of me staff had to work alot and it becomes so hectic just because of me.
* at the end of the day CEO, head, staff accepted apology and asked me to be careful next time, so it actually teached me a lesson and i always always try to be more careful now especially with quries. People are really good here so that's how it goes* 🙂2 -
One of our newly-joined junior sysadmin left a pre-production server SSH session open. Being the responsible senior (pun intended) to teach them the value of security of production (or near production, for that matter) systems, I typed in sudo rm --recursive --no-preserve-root --force / on the terminal session (I didn't hit the Enter / Return key) and left it there. The person took longer to return and the screen went to sleep. I went back to my desk and took a backup image of the machine just in case the unexpected happened.
On returning from wherever they had gone, the person hits enter / return to wake the system (they didn't even have a password-on-wake policy set up on the machine). The SSH session was stil there, the machine accepted the command and started working. This person didn't even look at the session and just navigated away elsewhere (probably to get back to work on the script they were working on).
Five minutes passes by, I get the first monitoring alert saying the server is not responding. I hoped that this person would be responsible enough to check the monitoring alerts since they had a SSH session on the machine.
Seven minutes : other dependent services on the machine start complaining that the instance is unreachable.
I assign the monitoring alert to the person of the day. They come running to me saying that they can't reach the instance but the instance is listed on the inventory list. I ask them to show me the specific terminal that ran the rm -rf command. They get the beautiful realization of the day. They freak the hell out to the point that they ask me, "Am I fired?". I reply, "You should probably ask your manager".
Lesson learnt the hard-way. I gave them a good understanding on what happened and explained the implications on what would have happened had this exact same scenario happened outside the office giving access to an outsider. I explained about why people in _our_ domain should care about security above all else.
There was a good 30+ minute downtime of the instance before I admitted that I had a backup and restored it (after the whole lecture). It wasn't critical since the environment was not user-facing and didn't have any critical data.
Since then we've been at this together - warning engineers when they leave their machines open and taking security lecture / sessions / workshops for new recruits (anyone who joins engineering).26 -
Story Time:
When I first started working where I currently am, the manager at the time decided to send us off to a conference about one of the products our institution was purchasing at the time. She also thought that it would be a good way for me, the new guy, to bond with the rest of the staff.
During the presentations we found out that the people surrounding us were not exactly developers because of a couple of things:
1. Some examples were done with php and javascript for adding functionality to said product. The product gave you the opportunity to script on top of it (think of some sort of CMS, but it does not use PHP as its backend language) EVERYONE from the "class" in this particular workshop said they were developers. But at the sight of php in a group of 80 people or so, only about 7 recognized it, including myself and my team.
2. When they showed an example with Javascript, in particular jquery, one of the dudes in the workshop said (with extreme senior level confidence might I add) "yeah I never liked Javascript because you really can't connect it to any database in a website" <--- my face went 0.o and one of the actual developers doing the presentation did a Jim from the Office and looked at some out of screen camera.
3. During a conf talk, one PHD dude showed an example in the template language the CMS used (an obscure Java based template language)in which he was proudly calling out a technique he used to include one snippet of code into another one.....at that time, one of my coworkers squinted his eyes in disbelief, got close to me and said "is this man telling everyone in here that he discovered how to include a file? like, as a new thing?" me: "lol yes", him: "this is a waste of time, do the docs for this thing show how to do it or is he doing some sort of strange maneuver for something the platform does not support?" me: "let me check....nope, it is included, for some reason he made a function that takes the...name of the file he wants to include and passes it over to that call inside of the body....which as per the docs it is the include function...." him: ".....fuck, what a waste of time and money, fuck it lets spend a couple of more minutes here and then go get a drink or something"
That last part was my favorite really, the man speaking was not just any phd holder, but a comp sci phd holder. To this day my dude would walk into my office and say shit like "I DISCOVERED HOW TO INCLUDE A FILE WITH PHP!"14 -
C=consultant
M=Me
D=my Dumb boss
M: so how are you guys planning to implement the block all accounts feature?
C: oh it should be easy! We will just loop over every account and lock it!
M: what about implementing a flag that just blocks anyone from accessing the site till further notice?
C: what? I’m sure it’ll work. Just need a list of all accounts, we don’t need anything fancy!
M: what happens when we want to revert back to the pre-block state?
C: oh, so we will just unblock everybody
M: even people who were previously blocked for good reasons?
C: i guess so, unless you think otherwise
M: we r….
D: listen! We just need to be able to block all accounts, who cares about this details! So long as we block all accounts! We need this nuclear option in case something bad happens…
M: but what about when that bad thing passes and…
D: when it passes it passes who cares!
Arghhh so much rage here… like first at the stupid engineering design of looping over all of the accounts instead of using a simple flag. Like 1 http call (from one microservice to another) is a lot better than O(n)… not to mention, we won’t have to deal with failures and retries.
And second for my boss being a dumbass… ok you deal with being to afraid to unblock people after we used this “genius nuclear option”!6 -
TLDR; Wrote an awesome piece of code, but there's no one capable of understanding how hard it is.
I spent an entire night building an insanely complicated automation script, that picks out certain configuration files (in javascript fml), does some crazy parsing to pick out strings, passes them into a free translation API, translates them, and does more insane parsing to insert those strings as javascript objects.
Spent 3 hours on the bloody parsing algorithm alone.
Manager: Oh this language is really nice. Good of you to discover it can do that.
I didn't "DISCOVER" it ffs! Its a product of my head! I built the damn algo from scratch.
Seriously, screw non devs who trivialize the complexities of writing a good program. Its NOT as simple as opening notepad and typing in
import {insanelyComplexSolution} from 'daveOnTheInternet'3 -
Material-UI.
I'm exhausted, so I'll keep this short.
I changed a TextField to a TimePicker, and noticed my className prop didn't apply anymore.
I thought it was my mui/redux-form wrapper for that component since I had just written it, but that was basically a straight copy/paste from the other wrappers, and both receives and passes the prop just fine.
After a lot of fighting, I finally found a workaround: if I add a `data-work-you-piece-of-garbage` prop alongside it, only then will the className show up on the rendered element. Why? I have no freaking clue. I tested it three times and got the same results. I looked through the MUI source and it still doesn't make any sense.
Fucking whatever, only three hours wasted.13 -
Screw the German Telekom!
I recently got a new home without internet so naturally, I went to an isp, Telekom. I went there a few weeks ago and was pleasantly surprised by the personal and the general competence. He told me they would send a technician to check my cable. So I thought great and went home. 1 A week passes, nobody shows up. I then went back to the shop and asked(someone different). He basically told me that such a service must be specifically asked for and a contract has to be signed. I then told
him his colleague told me no such thing, and that the technician should have checked up on my connection last week. He excuses him self and I signed the thingy.
Now you would imagine that this would have worked.
but.
NOOOoooo.
A week came and went and I got pissed. So I went back to the shop the guy from the first try was there. I Asked what happened, he types in his Computer. and. and. and. nothing. Apparently, the previous guy forgot, fucking forgot, to enter my request to their bloody System.
Now I asked if I can Just become a customer.
Guy: Sure, what speed is available in your region?
Me: I don't know...
Guy: Let me check
/Type/ /Type/
Guy: I can't see your speed the technician should have checked.
Me: Um, so, can he check?
Guy: Clearly you don't know what you want
Me:???
Guy:*leaves table*
(shorten but you get the Idea)
At this point, I really wanted to change isp so I went to Vodafone.
Lady comes up to me asks me a bunch of stuff and I explain I would want to change my phone, internet, tv, mobile and my friends mobile(I lost a bet once ^~^) to Vodafone.
What happened next I can't really explain, but she talked to her boss and "cheated" (how she calls it) on Vodafone and got me an AMAZING deal it is cheaper than Telekoms has waay more mobile data, faster Internet and I got a new phone :D.
And guess what she could fucking check, fucking check from here Computer my max internet speed.
I can only hope that the lady got a big fat commission for what she has done.6 -
Fuck Apple and its review system
So, this started in december. We wanted to publsih an app, after years of development.
Submit to review, and passes on the first try. Well, what do you know. We are on manual release option, so we can release together with the android counterpart. Well yes, but someone notices that the app name is not what was aggreed (App Name instead of AppName). Okay, should be easy, submit the same app, just the name changed. If it passed once, it will pass again, right? HAH
Rejected, because the description, why we use the device’s camera is too general. Well... its the purpose of the app... but whatever, i read the guidelines, okay, its actually documented with exapmles. BUT THEN WHY THE FUCK COULDNT YOU SAY THAT ON THE FIRST UPLOAD?
Whatever, fix it, new version, accepted, ready to release just in time.
It doesindeed roll out,but of course, we notice that the app has a giant issue, but only on specific phones. None of our test phones had this problem, but those who have, essentially cannot use our program. Nasty as it is, the fix is really easy, done in 5 minutes. Upload it asap, literally nothing changed from user point of view, except now it doesnt crash on said devices. Meanwhile 1 star reviews are arriving from these users - of course with all the right. Apple should allow this patch quickly, right? HAH
THE REAL BULLSHIT COMES NOW
With only config files changed, the same binary uploaded we get rejected? What now? Lets read it. “Metadata rejected, no need to upload new binary”.... oh fine only the store page is wrong? Easy. Read the message, what went wrong. “Referencing third party content is nit permitted on the app store” meaning that no android test device should be shown. Fine, your rules. They even send a picutre of the offending element. BUT ITS NOT EVEN ON THE STORE. THATS A SCREENSHOT OF THE APP. HOW IS THAT METADATA? I ask about this, and i get a reply, from either a bot, or a person who cant speak or read english, and only pasted a sample answer, repeating the previous message. WTF. Fine, i guess you are dumb, but since they stop replying to our queries, do the only sensible thing, re-record the offending tutorial video that actually contained an android device. This is about 2 weeks, after the first try to apply a simple patch to a broken app. And still, how did it pass the review 2 times?
Whatever, reupload again, play the waiting game for a week, when the promised average wait time is 2 days, they hit us with a message, that they want to know what patent we use in our apps core functionality. WTF WHY NOW? It didnt bother you for a month, let it release ti production and now you delay a simple patch for this? We send them what they know. Aaaaand they reply: sorry we need more time to review your app. FUUUUUUCKKK YOUUU. You are reviewing a PATCH with close to zero functional change!!! Then, this shit goes on, every week we ask about an ETA, always asking for patience... at the end it took another 3 weeks... so december 15 to jan 21 in total...
FOR. A. SINGLE. FUCKING. PATCH
Bottom line is what is infurating, apple cares that there is an android device in the tutorial video, but they dont care that a significant percentage of our users simply cannot use the app.
Im done7 -
Had an interview with a potential customer last week, and he started questioning my technical capability in the middle of the discussion on the basis that I’m taking notes with pen and paper...
Yes, I can type. At 90+ WPM, I can darn near produce a transcript of everything we say. But I won’t remember any of it afterward, because it passes straight from the ears to the hands without any processing.
“You see, that’s what we have something called ’search’ for...”
...Yeah. Except that doesn’t help with picking out the most important points from a wall of text, organizing it in a way that allows visualizing relationships between concepts, and other non-linear things that are hard to do on the fly in a word processor.
“Well, how about we get you a tablet with a pen and you can just write on that, then?”
How about no.
Ended up turning him down because of other concerns that were raised that were, suffice to say, about as ornerous as you might expect from that exchange.7 -
PM: This feature should take you about 6 hours to complete.
Me: Psh if that, it's just a view.
PM: Actually it needs this logic as well. *sends requirements*
Me: OK that's way more than a view... *gets it done and commits*
QA: I need this logic to work a way that was never on the requirements.
Me: Yeah, that's an additional feature but I'll do it. *commits and passes QA*
PM: So why didn't you finish everything on this sprint... you said that 6 hours was more than enough time.1 -
Don't you hate it when your co-worker does dumb things, but thinks it's the "clean code" way?
The following is a conversation between me and a co-worker, who thinks he's superior to everyone because he thinks he's the only one who read the Clean Code series. Let's call him Bill.
Me: I think the feature we need is quite simple, our application needs to call this third party API, parse the response and pass it to the next step. Why do you need to bury everything under an abstraction of 4 layers?
Bill: bEcAuSe It'S dEcOuPlInG, aNd MaKe ThE cOdE tEsTaBlE
Me: I don't know man, you only need to abstract the third party api client, and then mock it if you want. Some interfaces you define makes no sense at all. For example, this interface only has 1 concrete implementation, and I don't think it will ever have another. Besides, the concrete implementation only gets the input from the upper layer and passes it down the lower layer. Why the extra step? I feel like you're using interface just for the sake of interface.
Bill: PrOgRaMmInG tO iNtErFaCe, NoT cOnCrEtE iPlEmEnTaTiOn!!!
Me: You keep saying those words, I don't think they mean what you think they mean. But they certainly do not mean that every method argument must be an interface
Bill: BuT uNcLe BoB blah blah blah...
Me: *gives up all hope*14 -
!dev (Please, don't take this very seriously, I'm kind of burnt out)
I'm not having a good time.
I can't even write a post to properly explain how I feel.
I feel disappointed by life and by myself in many levels. Life is disappointing. I am disappointing too.
I'm having issues to focus, can't even write a couple of lines of code.
Time to listen to some emo lofi and write about how much I hate myself.
I wished I didn't feel these feelings.
I wished I didn't regret so many things I did or didn't do.
I wished I could fucking understand everything I read, but I don't, everything I read is gibberish, every paragraph makes me feel like I'm drifting in a storm.
I wished I was happy with my career, with my job. I wished I had a true friend.
I wished I could finish one goddamn fucking project for once.
I wished there was something that made me unique, but I don't think there's any.
I just feel like an ant, and that I don't really matter.
I don't feel like I'm someone at all, I feel like I'm experiencing a dream, and a rather boring one.
Programming used to be challenging and fun for me, but it has become this dull and stressful ordeal.
The internet has shown me that I don't matter really. I remember being a little kid and believing that the internet would not discriminate you, that right from the comfort of your house you could connect to people and be cared for, and collaborate in something.
But every year that passes I see that I was wrong. I have tried to put in time into people, I have asked people how they're doing, I have cared for their projects. But there's no reciprocation.
The internet itself has become a thing where the big fish only matters. The top 1k users will get 99% of the attention.
Fuck nurture, rule competition.
What's the point of creating a github project that you think it's cool? No one will give two shits about it, it won't make a goddamn difference whether you push it or not.
You know what fucking matters? If you're an apple or google developer and have thousands of followers.
Bla, bla, bla, I'm depressed...9 -
Everyone was a noob once. I am the first to tell that to everyone. But there are limits.
Where I work we got new colleagues, fresh from college, claims to have extensive knowledge about Ansible and knows his way around a Linux system.... Or so he claims.
I desperately need some automation reinforcements since the project requires a lot of work to be done.
I have given a half day training on how to develop, starting from ssh keys setup and local machine, the project directory layout, the components the designs, the scripts, everything...
I ask "Do you understand this?"
"Yes, I understand. " Was the reply.
I give a very simple task really. Just adapt get_url tasks in such a way that it accepts headers, of any kind.
It's literally a one line job.
A week passes by, today is "deadline".
Nothing works, guy confuses roles with playbooks, sets secrets in roles hardcodes, does not create inventory files for specifications, no playbooks, does everything on the testing machine itself, abuses SSH Keys from the Controller node.... It's a fucking ga-mess.
Clearly he does not understand at all what he is doing.
Today he comes "sorry but I cannot finish it"
"Why not?" I ask.
"I get this error" sends a fucking screenshot. I see the fucking disaster setup in one shot ...
"You totally have not done the things like I taught you. Where are your commits and what are.your branch names?"
"Euuuh I don't have any"
Saywhatnow.jpeg
I get frustrated, but nonetheless I re-explain everything from too to bottom! I actually give him a working example of what he should do!
Me: "Do you understand now?"
Colleague: "Yes, I do understand now?"
Me: "Are you sure you understand now?"
C: "yes I do"
Proceeds to do fucking shit all...
WHY FUCKING LIE ABOUT THE THINGS YOU DONT UNDERSTAND??? WHAT KIND OF COGNITIVE MALFUNCTION IA HAPPENING IN YOUR HEAD THAT EVEN GIVEN A WORKING EXAMPLE YOU CANT REPLICATE???
WHY APPLY FOR A FUCKING JOB AND LIE ABOUT YOUR COMPETENCES WHEN YOU DO T EVEN GET THE FUCKING BASICS!?!?
WHY WASTE MY FUCKING TIME?!?!?!
Told my "dear team leader" (see previous rants) that it's not okay to lie about that, we desperately need capable people and he does not seem to be one of them.
"Sorry about that NeatNerdPrime but be patient, he is still a junior"
YOU FUCKING HIRED THAT PERSON WITH FULL KNOWLEDGE ABOUT HAI RESUME AND ACCEPTED HIS WORDS AT FACE VALUE WITHOUT EVEN A PROPER TECHNICAL TEST. YOU PROMISED HE WAS CAPABLE AND HE IS FUCKING NOT, FUCK YOU AND YOUR PEOPLE MANAGEMENT SKILLS, YOU ALREADY FAIL AT THE START.
FUCK THIS. I WILL SLACK OFF TODAY BECAUSE WITHOUT ME THIS TEAM AND THIS PROJECT JUST CRUMBLES DOWN DUE TO SHEER INCOMPETENCE.5 -
fuck you, man. eat a bag of dicks, a bag of shit and a shit load of dead animals.. you dumb fucking cunt ... go and die ... who the fuck modifies state of 3rd party object and think it is ok to do so.. the fucking prick deserves to get castrated with rusty, old school, gardening scissors...
through some mysterious, obfuscated, buried deep in the asshole code, the fucker decided to set a user-specific value in the default query params of guzzle so that every fucking object using it passes the fucking thing around like a cheap hooker at a dorm party... causing the API calls to misbehave because of the fucking thing.
you send the parameters you want to send but mister sucking-dick-up-the-ass-smarty-pants decided you don't want to do that and because of that I almost broke a core library a week before a fucking major feature release because half the functionality got broken automagically, worst thing is I have no fucking clue where the bloody thing gets inserted ...
I swear if you do that I will find you and I will get a rusty razor to cut your balls into paste and rectally infuse them untill your shit start to come out of every oriphise of your fucking empty head8 -
I spent over a decade of my life working with Ada. I've spent almost the same amount of time working with C# and VisualBasic. And I've spent almost six years now with F#. I consider all of these great languages for various reasons, each with their respective problems. As these are mostly mature languages some of the problems were only knowable in hindsight. But Ada was always sort of my baby. I don't really mind extra typing, as at least what I do, reading happens much more than writing, and tab completion has most things only being 3-4 key presses irl. But I'm no zealot, and have been fully aware of deficiencies in the language, just like any language would have. I've had similar feelings of all languages I've worked with, and the .NET/C#/VB/F# guys are excellent with taking suggestions and feedback.
This is not the case with Ada, and this will be my story, since I've no longer decided anonymity is necessary.
First few years learning the language I did what anyone does: you write shit that already exists just to learn. Kept refining it over time, sometimes needing to do entire rewrites. Eventually a few of these wound up being good. Not novel, just good stuff that already existed. Outperforming the leading Ada company in benchmarks kind of good. At the time I was really gung-ho about the language. Would have loved to make Ada development a career. Eventually build up enough of this, as well as a working, but very bad performing compiler, and decide to try to apply for a job at this company. I wasn't worried about the quality of the compiler, as anyone who's seriously worked with Ada knows, the language is remarkably complex with some bizarre rules in dark corners, so a compiler which passes the standards test indicates a very intimate knowledge of the language few can attest to.
I get told they didn't think I would be a good fit for the job, and that they didn't think I should be doing development.
A few months of rapid cycling between hatred and self loathing passes, and then a suicide attempt. I've got past problems which contributed more so than the actual job denial.
So I get better and start working even harder on my shit. Get the performance of my stuff up even better. Don't bother even trying to fix up the compiler, and start researching about text parsing. Do tons of small programs to test things, and wind up learning a lot. I'm starting to notice a lot of languages really surpassing Ada in _quality of life_, with things package managers and repositories for those, as well as social media presence and exhaustive tutorials from the community.
At the time I didn't really get programming language specific package managers (I do now), but I still brought this up to the community. Don't do that. They don't like new ideas. Odd for a language which at the time was so innovative. But social media presence did eventually happen with a Twitter account that is most definitely run by a specific Ada company masquerading as a general Ada advocate. It did occasionally draw interest to neat things from the community, so that's cool.
Since I've been using both VisualStudio and an IDE this Ada company provides, I saw a very jarring quality difference over the years. I'm not gonna say VS is perfect, it's not. But this piece of shit made VS look like a polished streamlined bug free race car designed by expert UX people. It. Was. Bad. Very little features, with little added over the years. Fast forwarding several years, I can find about ten bugs in five minutes each update, and I can't find bugs in the video games I play, so I'm no bug finder. It's just that bad. This from a company providing software for "highly reliable systems"...
So I decide to take a crack at writing an editor extension for VS Code, which I had never even used. It actually went well, and as of this writing it has over 24k downloads, and I've received some great comments from some people over on Twitter about how detailed the highlighting is. Plenty of bespoke advertising the entire time in development, of course.
Never a single word from the community about me.
Around this time I had also started a YouTube channel to provide educational content about the language, since there's very little, except large textbooks which aren't right for everyone. Now keep in mind I had written a compiler which at least was passing the language standards test, so I definitely know the language very well. This is a standard the programmers at these companies will admit very few people understand. YouTube channel met with hate from the community, and overwhelming thanks from newcomers. Never a shout out from the "community" Twitter account. The hate went as far as things like how nothing I say should be listened to because I'm a degenerate Irishman, to things like how the world would have been a better place if I was successful in killing myself (I don't talk much about my mental illness, but it shows up).
I'm strictly a .NET developer now. All code ported.5 -
Why I love Salesforce 👀
- Run a test method
- failure: no field found
- checks test, queries field
- checks field security (access permissions) visible to user
- runs test again
- failure: no field found
- adds debug log of queried field
- runs test again
- succes
Thanks, thanks for fucking with me today 🥲6 -
Game Streaming is an absolute waste.
I'm glad to see that quite a lot of people are rightfully skeptical or downright opposed to it. But that didn't stop the major AAA game publishers announcing their own game streaming platforms at E3 this weekend, did it?
I fail to see any unique benefit that can't be solved with traditional hardware (either console or PC)
- Portability? The Nintendo Switch proved that dedicated consoles now have enough power to run great games both at home and on the go.
- Storage? You can get sizable microSD cards for pretty cheap nowadays. So much so that the Switch went back to use flash-based cartridges!
- Library size/price? The problem is even though you're paying a low price for hundreds of games, you don't own them. If any of these companies shut down the platform, all that money you spent is wasted. Plus, this can be solved with backwards compatibility and one-time digital downloads.
- Performance on commodity hardware? This is about the only thing these streaming services have going for it. But unfortunately this only works when you have an Internet connection, so if you have crap Internet or drop off the network, you're screwed. And has it ever occurred to people that maybe playing Doom on your phone is a terrible UX experience and shouldn't be done because it wasn't designed for it?
I just don't get it. Hopefully this whole fad passes soon.19 -
@dfox you could try using progressive jpegs, so that images are not shown when they're fully loaded but, lower resolution is loaded first then pixels are added to it as time passes, really good for people with slow Internet.6
-
I wish to create a guild for software developers. Like in the old age, where certain masterwork developers work together in order to provide non-hacky solutions. The beauty of a guild is that it would allow proper apprenticeship, Blacklisting of toxic companies and directly help with wage negotiations. Too often I see proper professionals working overtime just because they are harassed and having "impostor syndrome" (I know the term is hated, but passes the idea much better). Also maybe that would eliminate technical debt...
But hey, this is just a vision... :')10 -
You lousy fucking test class of an ass wipe,
TLDR; it fails and it passes all at the same time.
So during a deployment, one of the pre-deployment test classes fails, not something anyone has worked on so figured I run it manually to see what’s going on, but no the shit of a thing passed second time around.
Now because we can’t deploy without 100% of the test classes passing so I have to organise another deployment which it fails again. Fuck this,
Unprotects master
Git checkout master
Git merge dev
Git push master -f
Protects master
Skrew this!
Well would you look at that, it works now 😰 -
After a few weeks of being insanely busy, I decided to log onto Steam and maybe relax with a few people and play some games. I enjoy playing a few sandbox games and do freelance development for those games (Anywhere from a simple script to a full on server setup) on the side. It just so happened that I had an 'urgent' request from one of my old staff member from an old community I use to own. This staff member decided to run his own community after I sold mine off since I didn't have the passion anymore to deal with the community on a daily basis.
O: Owner (Former staff member/friend)
D: Other Dev
O: Hey, I need urgent help man! Got a few things developed for my server, and now the server won't stay stable and crashes randomly. I really need help, my developer can't figure it out.
Me: Uhm, sure. Just remember, if it's small I'll do it for free since you're an old friend, but if it's a bigger issue or needs a full recode or whatever, you're gonna have to pay. Another option is, I tell you what's wrong and you can have your developer fix it.
O: Sounds good, I'll give you owner access to everything so you can check it out.
Me: Sounds good
*An hour passes by*
O: Sorry it took so long, had to deal with some crap. *Insert credentials, etc*
Me: Ok, give me a few minutes to do some basic tests. What was that new feature or whatever you added?
O: *Explains long feature, and where it's located*
Me: *Begins to review the files* *Internal rage wondering what fucking developer could code such trash* *Tests a few methods, and watches CPU/RAM and an internal graph for usage*
Me: Who coded this module?
O: My developer.
Me: *Calm tone, with a mix of some anger* So, you know what, I'm just gonna do some simple math for ya. You're running 33 ticks a second for the server, with an average of about 40ish players. 33x60 = 1980 cycles a minute, now lets times that by the 40 players on average, you have 79,200 cycles per minute or nearly 4.8 fucking cycles an hour (If you maxed the server at 64 players, it's going to run an amazing fucking 7.6 million cycles an hour, like holy fuck). You're also running a MySQLite query every cycle while transferring useless data to the server, you're clusterfucking the server and overloading it for no fucking reason and that's why you're crashing it. Another question, who the fuck wrote the security of this? I can literally send commands to the server with this insecure method and delete all of your files... If you actually want your fucking server stable and secure, I'm gonna have to recode this entire module to reduce your developer's clusterfuck of 4.8 million cycles to about 400 every hour... it's gonna be $50.
D: *Angered* You're wrong, this is the best way to do it, I did stress testing! *Insert other defensive comments* You're just a shitty developer (This one got me)
Me: *Calm* You're calling me a shitty developer? You're the person that doesn't understand a timer, I get that you're new to this world, but reading the wiki or even using the game's forums would've ripped this code to shreds and you to shreds. You're not even a developer, cause most of this is so disorganized it looks like you copy and pasted it. *Get's angered here and starts some light screaming* You're wasting CPU usage, the game can't use more than 1 physical core, and after a quick test, you're stupid 'amazing' module is using about 40% of the CPU. You need to fucking realize the 40ish average players, use less than this... THEY SHOULD BE MORE INTENSIVE THAN YOUR CODE, NOT THE OPPOSITE.
O: Hey don't be rude to Venom, he's an amazing coder. You're still new, you don't know as much as him. Ok, I'll pay you the money to get it recoded.
Me: Sounds good. *Angered tone* Also you developer boy, learn to listen to feedback and maybe learn to improve your shitty code. Cause you'll never go anywhere if you don't even understand who bad this garbage is, and that you can't even use the fucking wiki for this game. The only fucking way you're gonna improve is to use some of my suggestions.
D: *Leaves call without saying anything*
TL;DR: Shitty developer ran some shitty XP system code for a game nearly 4.8 million times an hour (average) or just above 7.6 million times an hour (if maxed), plus running MySQLite when it could've been done within about like 400 an hour at max. Tried calling me a shitty developer, and got sorta yelled at while I was trying to keep calm.
Still pissed he tried calling me a shitty developer... -
I miss when my job was just about coding, I could spend entire workdays writing C# or TypeScript while listening rock or metal with few meetings in between, being very passionate in programming and computers sometimes I found was I doing so engaging which I spent more than my 8 hours workday on company's code base trying to improve it and my older coworkers were very happy with my code.
Then a "promotion" happened, I went to work directly with a client, a huge enterprise which is working on renovating his internal software and here the fun stopped. Long useless meetings are a regular occurrence, there are absurdly long procedures to do everything (for example since CI/CD is leaky we have to do dozens of workaround to get a microservice deployed) and having very little written documentation this gives an huge advantage to people which actually enjoy to spend their entire workdays on a MS Teams call over "lone programmers" like me which actually feel significant fatigue in doing that (alone sometimes I was able to log 12+ hours of programming daily between work and personal projects while after 3 hours of PP I feel drained) since the information passes in meetings/pair programming and I dread both.
I feel which my passion is still there, I still enjoy coding, tinkering with Linux and BSD, broadening my knowledge with technical books and having passionate conversation about tech but I dread my job, sometimes I try to look at it under a more optimistic eyes but most of the times I just end disappointed.3 -
Fuck you apple, and fuck your god damn shitty documentation.
Working with NFC enabled passes, their documentation says "payload max is 64 bytes"
What they ACTUALLY fucking mean is 64 ascii characters.
Also, the way they handle date time formats is fucked. They say they support W3C formats (iso) but what they actually mean is, they support a half assed version of a subset of it.
I told their chief engineer over a phone call and his response;
"I agree, our documentation is lacking"... HOW ABOUT YOU FUCKING UPDATE IT!
Also, how they handle json is just bad.7 -
(As a freelancer I was asked to do a couple of tasks on legacy code)
Let’s check this code, how bad can it be?
- all of the following: unreadable mess, no auto linting
- tests: some are there cause there’s not enough automation, others are poorly named
- frontend: somehow a genius made a react component for every variable in the store which only passes the variable to the child (wtf)
- backend: death by best practices
- ci/cd: “we have it but it’s broken”
Let’s fucking goooo 😎
Diagnosis: my therapist is getting rich
Chances to not cry tonight: close to zero
At least they pay well 🤷♂️5 -
Oh, $work.
Ticket: Support <shiny new feature> in <seriously dated code> to allow better “searching” (actually: generating reports, not searching)
UI: “Filter on” inputs above a dynamic JS table don’t update said table; they trigger generating a new report.
Seriously dated code: 12 years old. Rails v3-isms. Blocks access without appropriate role; role name buried in secrets configuration files. Code passes data round-trip between server/client/server/model that isn’t ever used. Has two identical reports with slightly different names, used interchangeably. Uh, I guess I’ll update both?
Reports: Heavily, heavily abstracted; zero visibility.
Shiny new feature: Some new magical abstraction layer with no documentation nor comments. Nobody in my team knows how it works. The author… won’t explain, but sent me her .ppt presentation on it (the .ppt, not a recording).
Useless specs for seriously dated code: Tests exclusively factory-generated data; not the controller, filters/lookups, UI, table data, etc.
Seriously dated code and useless spec author: the CISO.
The worst part: I’m not even surprised at any of this.2 -
CoolFuckingStoryBob
So I found a job that fit my stack perfectly
I phoned the CEO and we had a mini phone interview, it was easy
And the next day I had an offline interview
It was fast as fuck. I answered all of the questions, showed my projects and we were done in 30 mins, pretty good huh
So the CEO tells me to wait a week
It's strange but ok
The week passes, and you guess what
"We can't hire you, you psychological portrait does not fit in our team..."
I'm like bitch, what the fuck
I had declined other offer cuz I though there was no reason not to hire me
Also this is a small company tho, I should've saw it coming 😐15 -
I take the train well out side of rush hour when the trains are about half empty (though most seats taken). I have to come in because it's not like I can afford to have a workspace comparable to the cockpit of the millennium falcon both at home and at work.
I don't believe going into a panic about coronavirus but take obvious basic precautions to at least reduce the chance and slow the spread and that should do a good amount to reduce overloading the system. I kid you not, at this point medical facilities are considering buying diving equipment for enriched O2 supplies to keep up.
Today, as usual, some fucking piece of shit cunt twat psycho beggar that literally needs to be in an asylum with a massive fucking great gob of snot dangling out his nose is going up the entire train, every carriage, begging groping every hand rail along the way and potentially exposing several hundred people every hour.
I told this sorry sack of shit, surprisingly politely, that he'll end up rapidly spreading coronavirus if he keeps going all the way up and down the carriage like that. After he's fucking muttering on trying to make people feel bad about fucking ignoring him not being all caring and shit and then doesn't give a shit about giving everyone coronavirus after fucking waltzing down the entire fucking length of the train his pockets stuffed with coin. Then he threatens to assault me. I was fucking this > < far away from unleashing a life changing beat down and kicking his ass off the train with no pain or injury spared.
At the same time, that piece of scum waste of skin the mayor has apparently informed the public that you can't get coronavirus on the train or buses. How the fuck did he come to that conclusion? Is this really happening? How can something that clinically fucking thick as shit be our lord and master?
I fucking thought the great toilet paper rush was brain dead. Jesus fucking Christ and people voted for this fucking championship moron. Why don't they just all save themselves the fucking hassle and all march themselves off a fucking cliff?
These dumb shits without two neurons to rub together only need to put a dozen or so plain clothed police offices on the trains to catch these fuckers.
Why am I even fucking paying taxes? Where's it all fucking going? Another fucking lets give a billion quid to Fujitsu fucking failed IT project again I bet. Can't people bloody do anything these days? Does there have to be an app for fucking everything?
Someone should make a fucking facial recognition app so I can snap a shot of these fuckers and then if one of these fucking passes the phone camera anyone else with the app it'll set of there's a fucking imbecile in the vicinity alert.
These people need to be dragged out into the street, lined up against the wall and shot. No remorse. Toss them in a pit, cover it with dirt and be done with it. Why even bother with the execution? Throw them down the hole and fill it with dirt.
You don't have to go mental like it's the plague but people could at least show some fucking common sense, common decency and basic decorum. Even minimal measures, is that much to ask? Absolute scum of the Earth. How we even allow them to walk to Earth I do not fucking know.1 -
it was my first job as an embedded engineer i was hired to write firmware for arm microcontroller that has ble radio. But the microcontroller we used didn't have FLASH it had a SRAM and an otp ( one time programmable) memory. In ble you can make a proximity beacon and When a phone passes by this beacon it will get a notification '<device_name> nearby'
. I thought it is funny if i keep device name 'MILF' (original name of device is FLIP ) so when somebody's phone is in proximity it will have a notification 'MILF nearby'. joke didn't work as nobody has their bluetooth switched on by default ,but i forgot to change it before programming otp memory.
i just buried that device and told everyone it is not working properly1 -
Todays story: conversation between me and my brain about a app that i have planned for a long while.
The application is just a huge, specyfic json editor/manager for a game that i like. The game uses json files to determine unit charactetistics. So in order to make modding easier i want to make a tool for that that is fancier and easier to use than a notepad.
Brain> Lets make a app that allows you to mod the game easier!
Me> Good idea. How would you want to make it?
Brain> Lets use C# cause you main that lang currently and you have experience with json parser lib.
Me> That is true. So what do you wanna implement first?
Brain> Oh. I have thought about it before! I want to implement: (10 000 features) and maybe few more later!
Me> It sounds like a infinity project, shouldnt you implement like 1 or 2 features at first and then jump to other ones?
Brain> Yes... but i dont wanna refactor those features latter so let just implement them all at once!
Me> Dammit brain! Let just implement just one feature now! Like a simple json editor. You can use inhieritance to reuse the code later.
Brain> Ok...
* Starts with that one feature but one day later starts coding 6 more *
* Cant publish the app yet, the code looks like shit, gui is unfinished because brain wanted only to test those 6 unfinished features without propely implementing them *
Me> Brain WTF! You said that you are going to focus on one feature at the time!
Brain> I got carried a bit...
Me> ...
Me> Ok. I understand. Let just refactor the code and clean the project out of those unfinished features.
Brain> No. I have a depression now...
Me> FUCK.
* 2 month passes by without any progress on ANY of my projects*
current day
Brain> I still have depression...
Me> Ok i dont care about that anymore! Tell me something that i dont know!
Brain> Oh I have good news as well!
Me> ???
Brain> What about the home server that is going to store all mods made by the users so they can share it? It would be a good practice with networking!
Me> * Gives up *1 -
PSA: negate your tests and make sure they fail!
I have what I thought was a weird and slightly paranoid habit. When I write tests sometimes just as a sanity check negate the assertion to make sure the test fails and isn't a false positive. Almost always fails as expected.
But not today! Turns out I had forgotten to wrap my equality check in an assertion so it would always pass. It freaks me out to imagine pushing a test that always passes not just because it doesn't do its job, but could also obscure a bug and trick me into thinking it works differently than it does. Broken tests are the worst!
But it pays to be paranoid. -
A young Programmer and his Project Manager board a train headed through the mountains on its way to Wichita. They can find no place to sit except for two seats right across the aisle from a young woman and her grandmother. After a while, it is obvious that the young woman and the young programmer are interested in each other, because they are giving each other looks. Soon the train passes into a tunnel and it is pitch black. There is a sound of a kiss followed by the sound of a slap.
When the train emerges from the tunnel, the four sit there without saying a word. The grandmother is thinking to herself, “It was very brash for that young man to kiss my granddaughter, but I’m glad she slapped him.”
The Project manager is sitting there thinking, “I didn’t know the young tech was brave enough to kiss the girl, but I sure wish she hadn’t missed him when she slapped me!”
The young woman was sitting and thinking, “I’m glad the guy kissed me, but I wish my grandmother had not slapped him!”
The young programmer sat there with a satisfied smile on his face. He thought to himself, “Life is good. How often does a guy have the chance to kiss a beautiful girl and slap his Project manager all at the same time!” -
Our team - if ever existed - is falling apart. Pressure raising. Release deadline probably failing. No release ready for Big Sur.
Almost seemed we were getting somewhere: More focus on code quality, unit tests, proper design, smaller classes. But somehow we now ended up in "microservice" hell; a gazillion classes, mostly tested in isolation, but together they just fail to do their job. A cheap and dirty proof of concept from March is still more capable than this pile. I really start to doubt all that "Clean code", TDD, Agility rhetorics. What does it help you, if nobody cares for the end result? It's like a month I try to hammer down that message: we have to have testable artifacts, we have to ensure code signing works, our artifact is packaged and installable, we have to give QA something they can test - but time just passes and this piece of shit software is still being killed or does nothing.
Now my knee is broken and can do no sports and are tied to my chair even more. To top it all my coffee machine broke and my internet connection was abysmal this week. Not the usual small disconnects, after which it would recover, but more annoying and enduring: often being throttled to 1.7 MB/s (ranking my connection in the slowest 7% even in Germany). My RDP sessions had compression artifacts all over the screen and a mouse click would only take effect 5 sec later.
But my Esspresso machine was just repaired. Not all hope is lost.7 -
Right.. I spent the hours leading up to the year change by adding a YouTube to MP3 downloader into my Telegram bot. After a bit of fiddling it turned out okay, and the commit for it was mentioned to the last for the year 2020.
I mentioned this in one of my chats, and users came in with more issues. Told them it's the last commit for the year and I'll keep myself to it. I did adjust the code a bit though to fix those issues, awaiting a commit after midnight.
Midnight passes and 2020 turns into 2021.
I commit the new features, and quickly implemented another one I already thought of as well, but needed its own commit.
Quickly afterwards it turns out that the /mp3 feature actually breaks the bot somewhat, especially on long tracks. Users add a slew of 10h songs into what essentially became a long queue of single-threaded bot action (or rather lack thereof).
I made the /mp3 command accessible to myself only like I did with some other administrative commands already. Still no dice, the bot rejected the commands but executed part of the /mp3 command anyway.
I look a bit further into the code and it turns out that while I was restructuring some functions, I forgot to make the admin() function exit the script after it sends the rejection onwards. This was a serious security issue and meant that all authentication was void. Fortunately the chat did not realize this - one of the commands that became available as a result was literally a terminal on the bot's system.
I fix the issue in 7 commits after midnight total, 3 of which were related to /mp3 and admin(). We're now 1 hour after midnight.
Happy New Year everyone... :')6 -
Company has a severe lack of fresh blood.
"let's recruit everyone who has an IQ over room temperature and barely passes the mark".
Me protesting bloody murder cause I know that the idea is not just profoundly dumb, but frustration from high staff turnover takes a toll on *everyone*.
"nah can't be that bad".
Then the discussion started who could do monitoring and mentoring, so we can sort out the bad apples *quickly*.
Me reminding again that this is exactly what leads to a high staff turnover, as this is nothing else than "hire, hire - quickly fire".
Guess who won the award of being the mentor / monitor ....
*drum roll*
Come on, I know you would NEVER expect this.
Let me surprise you: M E.
Yeah. They chose the person that was absolutely against this idea...
Because that person is "most qualified for the task at hand and has the necessary qualifications".
Today was the first 4 h workshop with a new recruit.
The Lord has had zero mercy on me.
I started to mute myself after 30 minutes in regular intervals to just scream and curse the world.
How profound dumb a person can be amazes me.
Person has had a "very expensive 6 month boot camp course".
I was close asking if the boot camp course was in watching porn and wanking their brain cells out....
Git... Yeah he knew what he was doing...
Except that he messed up every commit by either not sticking to the companies format or - what I found funny the first 2 times, then not so much anymore - just writing a git commit message like a 15 year old teenage girl would write to their diary.
Programming. Oh yeah. He should be a programmer.
He had much Bootcamp.
Bootcamp expensive. Bootcamp good.
If someone is unable to iterate over an iterator... And instead starts creating an integer based array of a map's key name to then fetch the map value in an for loop based on the created key array.
Yeah. Bootcamp much good.
Creating DTOs...
It took an hour to write a DTO with him... Cause constructors are hard and it's even harder when you have to explain primitive datatypes in Java, null safety, constructors, NPEs, final, ...
Like really no experience at all.
The next week's will be amazing.
Either I get a valium drop or I'm gonna blow my head off, cause mentoring will drain the last bit of hope I had left in me.
Note that I do not blame the recruit (yeah he's dumb. But he has ZERO work experience, so it's not unexpected), I'm just too fed up with getting the poo crown despite being against the whole process.
I think the recruit could make it..........
But that I got the shittiest job ever is really haunting me.
I dunno how I survive the next weeks.
And this is just the first recruit... There will be more.2 -
Samsung Smart TV becomes Samsung Dumb TV.
Welcome back dear readers, to the next installment of my Raspberry Pi / Pi Hole / MitM box adventure!
For those of you who are new to this story, I'm a long experience programmer who knows very little about his home network or networking in general and has constantly been going over his 250GB data plan because 'rona, and thus, wants answers to "where is the data going".
So, I got the Pi, codenamed Mini-Beowolf, positioned between the modem and router... worked some fuckin systemd.networkd magic (which was sort of easy... but was hard cause I'm new to it) and viola, this son of a bitch passes through the ethernet and doesn't even show up on the router. Fu-King Beastly, I love it.
Now to static IP all my devices so I fire up my trusty TP-Link admin portal. I should add here... I've visited this admin about a total of 10 minutes prior to this when I set this wifi router up and just let it do DHCP.
So I'm getting to know my admin portal... I've got most of my devices connected to reserved IPs... and I find this one fuckin device reporting as "localhost".
Now, I've got a MAMP install... but it hasn't been running. But still I thought for sure it was just MAMP run a bit amok.
But no... it was my fucking Samsung "Smart" TV. That piece of shit is, and apparently has been reporting its device name as, sure as shit, fucking "localhost"... PROBABLY FOR YEARS.
Now, IDK how that didn't cause me any major problems over the years, and I read quite a few forums about people who it did mess up their network. So I resolved to rename the Samsung TV device.
I found the spot in the network settings of the TV... I changed the name from the pick list of rooms in a house like "Living Room" and "Bed Room", then I tried entering my own device name. But no matter what I picked, or no matter how many times I restarted/reset that TV the network name is ALWAYS "localhost".
Even though somehow my network survived this long... I'm not standing for that shit.
My Samsung TV is now blocked COMPLETELY at the router level. (After I ran one last factory reset and update)
The kicker? That Pi I built has a Samsung SSD... so I'm blocking Samsung WITH FUCKING SAMSUNG.
Needless to say, these are likely among my last Samsung purchases.
Join me next time when I FINALLY try to turn Pi Hole on and then get a tcpdump (or some other lesser output from the tcp stream) going.16 -
TLDR boss is an idiot.
Boss has an issue. Sends screenshot, and a one sentence explanation, boss-style (not really clear, but the screenshot helps).
I set to solve it, not a minute passes, the boss os calling.
Explains the issue, i tell him I'm working on it, will msg when done. He explains the problem again, and tells me to hurry. I tell him, sure, let's hang up, give me five minutes, so he starts explaining again, that it's IMPORTANT.
Finally hangs up, it didn't take more than 3 minutes to solve it, msg him, it's done. test it, screenshots for the two parts i solved (of the one he wanted corrected and one where a similar case is still as it's supposed to be, not altered).
He calls me, I start telling him this us what I did, the screenshot.... *Interrups*
This is not what he needed, it's important, IMPORTANT i say, and tells the problem again.
I'm pretty annoyed by now, and just calm fuckoff mood comes over. I practically told him to click the link and see for himself....
if you want to take 10 minutes for something i would explain in 2 sentences, is it really that important....6 -
The more I'm on here the more I remember all the shit I have had to deal with in the past.
Anyway, lets rant! I just moved cities after college to be closer to my family, I didnt have any work lined up at that stage but started job hunting the moment I was settled in, I did some freelance for smaller companies to stay afloat.
Eventually I got a job at this agency startup where "SEO" was there main focus, still very inexperienced they put me on frontend and data capturing but will teach me how to code using their systems in due time. At this stage I was getting paid minimum wage, but I was doing minimum work and it wasnt that bad.
A new investor bought 49% of the company and immediately moved into the office space to focus more on marketing (He was one of those scaly marketing guys that will sell you babies if he could get his hands on enough to make a profit).
This is where everything starts going to shit. He hires a bunch of "SEO Gurus", fills up the small office with people like sardines squished together. Development was still our main money maker at this stage, so there where 3 new more senior developers at this stage and I started learning a lot really fast.
Here are some of the issues we had to deal with:
1. Incentives - Great more money, haha! No, No, you where 5 minutes late so you only get half of the promised amount.
2. For every minute you are late we will deduct it from you paycheck (Did I mention I was getting paid minimum wage).
3. If you take a smoke break we will dock it from your pay.
4. Free gym membership to the gym downstairs, but you can only go once a week during your lunch.
5. No pay raises if you cant prove your worth on paper.
He on purposely made up shitty rules and regulations to keep us down and make as much profit as he could.
Here are some shitty stuff he has done:
1. We arent getting a 13th check this year because the company didnt make a big profit - while standing next to his brand new BMW.
2. Made changes over FTP on clients work because we where too slow to get to it, than blames me for it because its broken the next day and wants to give me a written warning for not resolving the issue Immediately. They went as far as wanting to fire me for this, gave me 1 day notice for meeting and that I can bring a lawyer to represent me (1 day notice is illegal, you need 5 days where I am from), so I brought a lawyer since my mom was a lawyer. They freaked the fuck out and started harassing me about this a week later.
3. Would have meetings all the time about how much money the company is making, but wont be raising our pay since no one has proven they are worth it yet.
4. Would full on yell at employees infront of the entire office if they accidentally made an mistake on a clients project.
One one occasion I took a week off for holiday, my coworker contacted me to ask a question and I answered that I will handle it when I am back the following week. Withing 2 hours my other boss phones me in a rage, "he is coming to fetch the company laptop from my house in 5 minutes, he will let me know when he arrives. Gives me no time to talk at all and hangs up - I have figured out what has happened by now so when he showed up he has this long speech about abandonment, and trust and loyalty to the company. So I pass him my laptop once he shut up and said: "You do know I am on holiday leave which you approved, right?", he goes even more silent and passes me back my laptop without saying anything, and drives off.
While the above was happening Douche manager back at the office has a rage as well and calls the whole office (25 people) to a meeting talking about how I abandoned the company and how disgraceful that is.
Those are the shitty experiences I can remember, there where many more like this. All of the above eventually led to me going into a deep depression and having panic attacks weekly, from being overworked or scared to step out of line. Its also the reason I almost stopped coding forever at that stage. I worked there for 2.5 years with the abuse.
I left 2 weeks after the last shit show, I am ok now and have my anxiety and depression well under control if not almost gone completely.
Ran into Douche Manager a few months ago after 9 years, the company got bought out and the first person they fired was him. LOL! He now has his own agency and is looking for Developers (They are hard to find he says), little does he know I spread his name far and wide to all and every Dev I knew and didnt know to avoid working for him at all costs. Seems like word of mouth still works in this digital age.
Thanks for reading this far!5 -
Code review day 1:
Me: Where are these three templates being used? I don't see any class that uses them.
Him: Oh, yeah. My bad. I'll remove them.
(Time passes)
Him: I don't know what's going on with my branch. Please ignore the PR for now.
(Time passes)
Him: Is there any way for me to get the files from staging. I don't know what I did to my branch.
Me: Hang on. I'll push a copy of the one I have in a new branch.
He declines his PR and stops by to say he's going home but he'll open a new PR tomorrow and remove the unused files.
Code review day 2:
Him: Hey, do you know what happened to my PR? It looks like it disappeared.
Me: You declined it yesterday. Said you'd make a new one today without those extra files.
Him: Ooooh!1 -
!dev
I had semi-jokingly changed my username from dextel2 to nothappy, because of that one bad day.
But, it is now when I realized that I am actually NOT HAPPY, things are lately rough, I am constantly scared for no reason, I doubt my skills, I doubt myself for no reason, and top of that there's always a chance for another epileptic attack.
I tried and keep trying to distract myself from negative thoughts but the more I try the more I fail, I've become distant with my younger brother, for the record I'm very overprotective about him. I don't even know if he feels the same, as this year ends or every day passes by I feel changed from my past self (not in a good way).
Switched my first job to get another good job, turns out they don't even have any projects and I'm just a guy they are showcasing like they have ONE amateur developer and we are looking for an entire project and it did work for one client which I'm gonna deny personally because the client is not clear about the project itself, I do not care about the consequences, my heart lies in academics and I'll put my 100% in academics, shall I'm kicked.
A lot has happened in this year, but this one is/was unique and very hard to process. I've always been joyful, sarcastic, funny, you name it, but all of it has just vanished, don't know why. I'm also becoming distant from my ONLY 3 friends and parents.8 -
You know what's the worst in doing software?
being assigned that dreadful project, that's doomed and cursed just from the start. Nobody dared to try or touch it for 7 years, because it's destined to fail. You will never get the resources to do it properly, all the constrains are just against you. Even as the requirements bars are lowered and lowered you barely make it. You keep testing that shit with QA for like 8 months past schedule. Then before release some core changes need to be done. It passes QA, but you somehow now it's just a ticking time bomb. It will just crumble and fall somewhere out there, if somebody dares to use that shit for real.
And so it goes.
Bug reports coming in.1 -
Funny thing the brain is.
TL;DR; being in the zone is nice. But there is another level of it and, fuck it, I'm loving it!!!
level 0: phased-out, relaxed state. Not focused on anything in particular. Just going with the flow
level 1: aware of the situation and of what's going on, not engaging too much
level 2: alert, ready to react. Constant concentration
level 3: THE ZONE. Time continuum is broken by concentration on the task in front of you - while working on it, time passes faster by magnitudes than when you're in any lower level. Surroundings and periphery do not exist. On;y the task currently in hand exists. Restroom breaks can wait.
level 4: body works on the task by itself. Any cognitive engagement with any of it will only make matters worse. The body knows it better, just let it do the work - let your consciousness sit back and relax, think about something nice. It's a sort of biological version of DMA (direct memory access), bypassing the CPU.
I've only reached level 4 several times, briefly and only while playing BeatSaber. The boxes are flying at me and hands just hit 'em the right way by themselves. Only after the hit, do I realise what my hands did and how cool it actually is. If I try to intentionally look at the boxed and aim for them, I mess it all up. And it's not like muscle memory - level 4 copes with any non-Camellia Expert level, regardless of whether have I played it in the past many times or just a few, several months ago.
I love that feeling!6 -
It’s actually been quite a fun day, after some ranting on one of our slack communities flutter channel, myself and my team realized we were in a really good place to give back.
We have been working on a large scale flutter application for about a year, phase 1 is about done and we at 11k LOC.
We have been doing a big push for testing over the last 2 months and are at about 50% coverage. The thing we realized is that is the 1 place flutter has fallen short with documentation.
Very little about what we learned for testing our code came out of a google search, or it came out of cobbling bits together from numerous searches and sources.
So we decided we are going to plan and host a virtual meetup to discuss what we have learned and hopefully teach a few people some useful things and hopefully also learn a few new things too.
In addition, and as it has a longer shelf life, we going to setup a medium publication for the company and start a series to cover small specific topics, specific use cases or scenarios that we had trouble with and solved.
Today I had my first thing to type out, had worked out how to test that a function that was passed into a widget was called. So the parent passes the child and onTap function but you are testing the child not the parent as the child is reusable...
Anyway, so with that idea I got hold of marketing for some assets, setup the publication and proceeded to type out 3 articles today, all nice short ones under 2 min reading time.
It really is nice to give back, it’s not like I am Remi smart and can go and write BLoC, but I am smart enough to figure shit out and type it up so that the next guy hopefully benefits from my brain bashing.6 -
Cocktail for disaster:
- TDD
- Mocking
- Multithreading
- Averagely well written, testable code
- All tests pass
- One test methods still shows some vague stacktrace in a worker thread ❌ but the test passes ✅
- Run only that test method and no stacktrace.
So I've been pulling my hair for the last two days trying to figure out what was throwing in that test method. Turns out that thanks to the multithreading going on, some other, similar method threw the exception in parallel. And apparently a different test method was already running when the exception was finally caught.
🖕
When I discovered that, it was fixed in a minute. 😭1 -
Has any of you reached a point that you want to resign from work because of a client?
We are dealing with a client at work that uses the app for prototyping instead of making designers create wireframe, imagine the amount of code to write,edit, remove, write it again and yet there is always something isn't right from the client point of view.
What is even worse backend guys screw the server and I am the one to be blamed for errors: 5xx
I even get blamed for error 400 (bad request) when that request passes tests but out of a sudden server returns 400, when you hit refresh the exact same moment of error and server decides to return data and stop throwing error 400.
I also get blamed for server fails to return data from a search endpoint, and if server throws 403 for a public endpoint.
This isn't a rant or getting out of my system but I need opinions, I've been working on this project for a year, with complete mess from either client or backend team, if any of you is instead of me, what would you do?
I'm not a complete guy either, but that situation is just beyond my abilities to handle.6 -
I'm notoriously bad at Git. By that I mean I REALLY REALLY SUCK AT IT. And I have the curse of short memory and an even shorter ability to retain the how-to, muscle memory knowledge of things if too much time passes.
So, I was staring down the gullet of merging two separate repositories onto my local machine and then pushing the result to a remote server. Not having the benefit of someone else to bounce this off of, and always finding the usual Git docs too dense and obtuse, I turned to ChatGPT to help me sort it out.
Guys, where has this been all of my life? I know it's not perfect and it can make mistakes. I knew that going into it, so I made preparations in case this failed. BUT. IT. WORKED! I feel like it has put me into the Star Trek:TNG universe where I can say "Computer, do the thing." and it does that thing. Here's the prompt I used and which it answered perfectly.
"Play the role of a git coach. I have two git repositories. One is on Bitbucket. The other is on GitHub. The branch named "master" on Bitbucket has the latest code. The branch named "master" on GitHub needs to be updated to what's on the Bitbucket "master" branch. Please write the series of git commands that I will need to accomplish this."9 -
Hello,
I just quit my job at a big market research company. It was disturbing how much processes there depended on excel and obscure visual basic scripts.
They load data from a database, do typical database tasks with excel and upload it back into the database.
PhDs run complex statical computations through an excel interface that passes the request to R.
Instead of an hour Python they execute stupid tasks with excel by hand. Day after day, month after month.
WHY? My colleagues were not dumb but instead of learning SQL and some python they build insane excel tables.
Maybe it's time pressure. But this excel insanity costs much more time in the end.5 -
Never launch on the front camera!
There is not a single reason for a mobile phone camera software to launch on the front camera. Programmers of the software might believe it is "smart to memorize the last used camera", but in actuality, launching on the front camera is a common reason for not being able to capture events fast ehough.
Did the developers really think users will say "oh thank you, dear camera app, for not forgetting the last camera I used!" ?
Or, likelier than not, will they end up taking a selfie while the moment passes by behind the phone?7 -
TL;DR Calendar services sucks.
Imagine yourself as startup. You don't want to spend fortune on paying $5 per user per month for Google Services. Also you don't want to pay that to Microsoft for O365. You want to run it itself because you already have droplet running with your other services (ERP for example. Funny story too btw.) Ok, decision has been made, let install something.
I have pretty good experience with OwnCloud from past as Cloud file sharing service. Calendar is not bad for single user purpose (understand it as personal calendar, no invitations to others, sharing is maximum I tried) What can possibly go wrong when I deploy that and use its Calendar?
Well, lot. OwnCloud itself runs well (no rant here) but Calendar is such pain in ass. Trouble is with CalDav under hood and its fragmented standards. So, you want to send invitation to your team for recurrent meeting. Nothing weird. It sends as one invitation to each one, good. Now you realize you have a conflict, so you need to change time of one occurence. Move it, send update. And here comes shitstorm. It is not able to bisect one occurence from series. So it splits it to separate events and send invitation for every single one. 30 INVITATIONS IN 2 SECONDS! Holy sh*t! You want to revert that. Nope, won't do. So you accept your destiny and manually erase every single one with memo in head about planning recurring events.
Another funny issue is when SwiftMailer library (which is responsive for sending e-mails from OwnCloud) goes to spamming mayhem. It is pretty easy to do. When e-mail doesn't comply to RFC, it is rejected, right? So if because of some error CalDav client passes non-compliant e-mail (space as last character is non-compliant btw) and SwiftMailer tries to send it to multiple recepients (one of them is broken, rest is fine), it results in repetitive sending same invitation over and over in 30 minute interval. Sweet.
So now I am sitting in front of browser, looking for alternatives. Not much to choose from. I guess I'll try SOGO. It looks nice. For now.5 -
> Sign up to website
> They start sending promotional emails and stuff
> Don't mind them at first, but slowly and steadily it grows
> More promotional emails make phone ping unnecessarily
> Get frustrated and hit "Unsubscribe" from the mailing list
> 10 minutes passes
> Phone pings and gets picked up to check
> Same company sends an email saying "You've been unsubscribed. You won't receive any more emails from us."
WHAT BULLSHIT PRACTICE IS THIS???3 -
TL;DR: Clients are still dumb.
The sequel to a previous rant ...
https://devrant.com/rants/1210209
——
Client IT Lead: "We've loaded your code into our website, but *this* particular part of it isn't working."
Me: "Fair enough. I'll make a fix and have it deployed."
... an hour later, my changes are deployed, and I notify the client that the fix is live ...
CIL: "Thanks for fixing that so quickly! Just a heads up, but I've noticed that some of our own code needed fixing, so I've gone ahead and made some tweaks <that will most definitely break your code>."
... another hour passes ...
CIL: "Hey, so, I don't know what happened, but that fix you pushed stopped working."
——
🤔🔫 -
this really happened:
Interface Team Lead: "hey I want any time deployments and better QA"
Me: "ok sure. I have CI/CD, but yiu need to work in feature branches / tags, and make sure your code passes automated builds and unit tests"
Team Lead: "I dont have time to test it makes me unproductive! and creating a branch is an extra step which is going to set me back. Im telling the boss you are impacting performance!"
Me: "you want better deployments and QA, but you can even create a branch or tes your work?"
Team Lead: "We have deadlines!" -
I'm working on a bug I can't figure out. I go out for a smoke to clear my mind. Some time passes, I get an idea, finish smoking and I wanna go back up to my desk ASAP.
I have to go up to floor 14. Building has a basic elevator with 2 buttons:
UP arrow - "I wanna go up"
DOWN arrow - "I wanna go down"
User-friendly, intuitive, idiot-proof, you might think. NOPE.
Elevator stops at floor 1 because moron who wants to go down pressed all 2 of the over-intuitive buttons.
Floor 1 moron: "Going up?"
Other people: "Yes"
Floor 1 moron: "Oh"
Me (in my mind): "Oh? BITCH, there's an idicator telling you where it's going. Don't fucking press UP if you're not going up."
Moving on.
Elevator stops at floor 3.
Frustration sets in.
Floor 3 brainlet steps in, doors close.
Floor 3 brainlet takes eyes off phone screen and realises we're going up.
Floor 3 brainlet makes an "oops" kinda noise because "it" obviously wanted to go down.
Floor 3 brainlet stops elevator at floor 5 because "it" doesn't want to go all the way up to floor 14.
Rage sets in.
Me (in my mind): "I hope I get lung cancer so I don't have to deal with this shit anymore"
Moving on.
No more incidents, I calm down. I get to my desk and begin brainstorming about elevator coding. My preferred idea so far:
Elevator is called at floor X but nobody steps in? Elevator doesn't stop at that floor for 2 hours. elevators.size() strikes and the entire floor uses stairs, BITCH.
I spend 1 hour reading rants and writing this. Now I have to get back to my bug. I would appreciate other punishment ideas for elevator misuse.5 -
We are all about structures, clean code and many other things that make our life easier, right?
Well... It's not all white and black...
As talked many times, projects can be rushed... Client budgets can be low at the start and only then grow...
Let me take an example:
Client X needs a tool that helps his team perform jobs faster. They have a $500 budget. So... Testing, clean architecture and so on - are not really a viable option. Instead, you just make it work and perform that task as needed. So the code has minimal patterns, minimal code structure, a lot of repetitive parts and so on.
Now... Imagine that 3 months pass by without any notice and clients are ultra happy with the product. They want more things to be automated. They contact developers and ask for more things. This time they have a bigger budget but short timeframe.
So once again, you ignore all tests, structure and just make it work. No matter what. The client is happy again.
A year passes and the client realizes that their workflow changed. The app needs total refactoring. The previous developer has no time for adjustments at this point and hires a new company. They look at the code and rants spill out of their mouth along with suicidal thoughts.
So... What would you do? Would you rant about "messy project" or just fix it? Especially since people now have a bigger budget and timeframe to adapt to changes.
Would you be pissed on such a project?
Would you flame on previous devs?
Would you blame anyone for the mess?
Or would you simply get in and get the job done since the client has a "prototype" and needs a better version of it?
---
Personally, I've been in this situation A LOT. And I'm both, the old and new dev. I've built tons of crappy software to make things work for clients and after years - they come back for changes/new things. You just swallow the pill and do what is needed. Why? Well, because it's an internal system and not used by anyone outside their office. Even if it's used outside the office - prototyping is the key. They didn't know if the idea would work or be helpful in any way. Now they know and want it done correctly.6 -
!dev
1. It's one of those few times in life that listening to Lq's Numb doesn't make me feel less anxious. Or Somewhere I Belong. Either way, anxiety levels are on all time high.
2. I have completely lost appetite. Usually at this point in time I'd go to doctor and ask for Xanax or something similar, to chill for a few days. But covid. I ain't going to any clinic, plus, ain't nobody got time for that.
3. On top of everything, I am also PMSing. The lack of energy, times n. (n>10)
4. Struggling to get out of bed for hours is now a reality.
5. I'm glad ("glad" is exaggeration tho) this will pass in a few weeks. I am hanging on to that hope and experience tells me it will pass. But my feelings are like "nah, we doomed. Let's just run away. Or just sleep until it all passes or we die of starvation."
6. My brain must work for the next few days. If I have to push it by drowning it in sugar, I will. But I'm also obese rn. Well, I guess it's "Hello diabetes!".
7. My hands and feet are cold. Like, freezing cold. Meanwhile, the rest of me is sweating. This sucks. Ngl.
8. I feel like I'm fighting a losing battle. Like, those last stabby stabs moments in a battle where you know you're gonna fall down soon. I know this feeling of doom and gloom is PMS related, but it's there. I have no solution for that aside from nicotine and sugar.
9. I can't even cry. Which is sad.
... Do you see what's happening there? That's the loop I'm in.5 -
There is boy who is born to lower middle class family so there is a money problem envolved and his parnets kept fighting over this probem but they never tell about that to their child. They buy him everything in their budget but the kid knows about their problem, so whenever he really likes something which is costly he never tell his parents about that.
So life passes by and money problem grows bigger and bigger and that feeling grows stronger and stronger so he believes in the quotation that "if you love something you have to let it go" xbox, video games, toys, mobile phone, laptop, even the girl he likes. he knows their problem and never said anything about it so he feels lonely in life. Now the kid is older and in last year of his graduation he finally find a job but in all those graduation year he wants to do something else which require more struggle and is not an easy road. but they invested so much on him that he feel burdened. So again that feeling comes in "Let it go choose the path that is visible not the one which is foogy".
Should he choose the easy path and help his family or take the hard path and find out what is the end of it?1 -
Story Time: About Priorities and Sales
So at this point I'm working tech support for a company that makes some super cool networking equipment, think big data / data centers and such.
This company had grown at a good pace but the the support team had not (thus is the way for all tech support evetually). So I get a call from a frantic sales guy:
Sales: "OMG, where are with this ticket?!?!? It's a P2 ticket!!!"
Me: "Well the ticket came in 30 minutes ago, I emailed them some questions, but just so you know I have 8 P2 tickets, and 4 P1 tickets.... so it will be a while."
Sales: "OMG! Make my customer's ticket a P1!!"
Me: "Sure."
-call ends-
-30 minutes passes-
-sales calls again-
Sales: "OMG, where are with this ticket?!?!? It's a P1 ticket!!!"
Me: "Well I haven't gotten to them yet... just so you know I have 7 P2 tickets, and 5 P1 tickets.... "
Sales "ARGH!"
ʅ(´◔౪◔)ʃ1 -
So last year I sent my PC to get a motherboard replacement, as I couldn't be arsed replacing it or even research what motherboard I should get(was dealing with more urgent personal matters).
Anyway, I get it back and everything works good but not the front USB port.. I always found it weird, but also didn't bother to open the case and double check, so I let it go and assumed, since the motherboard was fried, that the USB wires were faulty.
Time passes by and I decide to open the case for annual cleaning job... Turns out the motherfucker didn't connect the port, why?? Fucks knows why... Obviously the wires were "short" and he didn't even try to pull it out further!!! You little piece of shit,for a full year I've been living with a missing usb port, the fucking front facing mother fucking usb port. Fuck.
Moral of story? Don't be a lazy ass and fix your shit on your own!4 -
I had an interesting mystery the other day. I work in the UK, but I'm working remotely from the US for a while. First day, I made some changes, ran the tests and they failed. Weird part was the failing test was for a component I hadn't touched. I took a closer look, and realized it was a date off by several hours. The test was checking that a passed in date appears in the output. But it was creating the date by parsing a string. The library I was using defaults to local time, but the component uses UTC. So, I had inadvertently created a unit test that only passes when run from UTC. But I had never noticed before because my work is in that timezone. Yikes!
-
Finally made my node production server stable enough that I could focus on writing tests*. I start by setting up docker, mocking cognito, preparing the database and everything. Reading up on Node test suites and following a short tut to set up my first unit test. Didn't go smoothly, but it's local and there are no deadlines so who cares. 4 days later, first assert.equal(1+1, 2) passes and I'm happy.
I start writing all sorts of tests, installing everything required into "devDependancies," and getting the joy of having some tests pass on first try with all asserts set up, feels good!
I decide to make a small update to production, so I add a test, run and see it fail, implement the feature, re-run and, it passes!
I push the feature to develop, test it, and it works as intended. Merge that to master and subsequently to one of my ec2 production servers**, and lo and behold, production server is on a bootloop claiming it "Cannot find module `graphql`". But how? I didn't change any production dependencies, and my package lock json is committed so wth?
I google the issue, but can't find anything relevant. The only thing that I could guess was that some dependencies (including graphql) were referenced*** in both, prod and dev, and were omitted when installed on a prod NODE_ENV, but googling that specific issue yielded no results, and I would have thought npm would be clever enough to see that and would always install those dependencies (spoiler: it didn't for me).
With reduced production capacity (having one server down) I decided to npm uninstall all dev dependencies anyway and see what happens. Aaaaand it works.....
So now I have a working production server, but broken local tests, and I'm not sure why npm is behaving like this...
* Yes I see the irony.
** No staging because $$$, also this is a personal project.
*** I am not directly referencing the same thing twice, it's probably a subdependency somewhere.2 -
So I want to inform my internet provider of my new phone number, but I can't remember any of my login info for their web interface because I never used it. Luckily, they have a "forgot my username" function, where I submit my email address and get a confirmation that my username has been sent to me.
Yet, I just don't get said email. I try again, but no avail. So I just guess my username and use their "forgot password" form, which – hooray! – confirms it just sent my an email.
But I don't get any email. I retry, I retry after a day, but no automatic response. I remember a incident a few years back when I didn't get some automatically generated mails from a company and decide to contact their support if they could just reset my password manually.
Nearly a week passes.
Now I received the answer. I just don't have an account.
Lesson learned: Next time I'll just input garbage first to check if those forms are sane. -
When you're not confidant enough in your own code ... but you should be:
Me: "Why the hell is this duplicating data?!?!?!"
-time passes-
-figures it out-
Me: Wait that returns an error wouldn't that be ...
Yeah there was an error on the god damn screen in the status box I created telling me what was going wrong but I just ignored it... I was knee deep in code and my own UI was telling me what was wrong ;)2 -
Working on a project to create a space Invaders clone using Android studio/java. Point is to prove teamwork and our ability to optimise for a phone.
Leader makes the engine
Passes code to me who is doing gameplay.
Creating classes, testing them with a temporary activity class to get them on screen.
Okay, time to get it going properly.
Starts creating the game by placing aliens to the screen via the new alien manager, created in the true starting place.
Nothing appears on screen, sounds still play.
Odd. Repeatedly try to fix, but objects will not appear on the screen if created outside of temporary activity.
Show problem to leader as I haven't been able to figure out.
Gets lectured to no end about how I can't just ask him for help (first fucking time) if I get stuck!!!
Turns out, the value for frame time is way off for the first frame, and their positions get going way off the screens range when being placed. Temp activity works as it skips first frame.
Why did this happen? Genius leader didn't properly initialise it, so first frame time was equal to the First Date Object time ever locked - current time 🤔🤔🤔
We figured it out together. -
You ever had a boss that made you feel like his bitch but he never really earned the title
You also know from a technical skill perspective you’re more competent.
And the only job he seems to do is micromanaging you. He just puts things under a microscope looking for a flaw. He always finds a flaw so in the off chance it breaks he’s always in the clear.
He’s the guy who sticks with the programs the he was taught when he was still at school and never really tried something new out of the box. He gives the reasons the he wasn’t formally trained in the other programs . I’m not talking cinema 4 here. I’m talking Matlab preference over python. Using lab-view as a production level development platform instead of going to something more approved by the industry.
He doesn’t take risk but he pushes those risks on you so if you fail he can say it wasn’t him
He’s never wrong but he’s never right either.
You’re sitting there doing the cunt work and breaking the sweat and he passes the achievements as under his management. You never really get the credit because “he guided you “. You go through hell fixing bugs and he disappears. He says he’s always a call away when what you really needed is someone taking the heavy tasks not throwing the entire project on your back.
I never call that piece of shit bcz he just throws some other bullshit that doesn’t make sense and emphasizes that might be the problem.
I once had a problem with the com port on a pc and was trying to figure out the problem. I asked him and he said that it might be bcz I’m connecting to the PC via VNC. I was like what the hell. What does that have to do with anything. I just ended up restarting the port and it bloody worked.
The saddest part is that I’m scared is that I might end up like him. In the same dead end job. Even though he guides me we work in a place where the job title doesn’t really change. Funny thing is that officially I have the same job title as him .
He’s been in the place for 5years when I came. Can someone imagine that? To work and work and then to be seized up with another brat who’s the same as you title wise.
You’re close the age of 40 and you work in a place where a 20 something year old walks in with the same Position as you.
I worry that I might end up the same if I stay long enough. That I’ll learn everything I can learn and just stop progressing and the only thing I can do is say how shit can break but wouldn’t know how to fix .
Pointing out problems because they are easier than fixing. Just plomonting into existential nihilism with no purpose.
I once told him I wanted to quit. He pretended he didn’t hear it. He then then said what do you see in this job in 5 years
I told him me not in it.
He said “seriously what do you want in this place “
I said “if I’m still her in 5 years I’ll be missing a toe because I would have shit myself in the foot”
I now realize that by convincing me to stay he might have convinced himself that staying for that long wasn’t a bad idea. He was looking for justification that he’s decision wasn’t that bad at all.
You give your life to a job and at the end it takes one away.
I don’t want to be like that and I think that’s what bugs me the most. That I’m so close to this individual that I feel sooner or later if I’m not careful I’ll end up in the same place. The same dread3 -
Ok in scenario A we do X, Y, Z, and in scenario B we'll do this other stuff mostly the same but a little different. That will <puts comments> go here ...
Ok let's make A work....
-time / days passes-
Ok we're done and it is ready to go.
-later-
Someone: "Why doesn't scenario B work?"
Me: LOL some idiot .... <copy paste, fiddle, copy paste, fiddle> there we go I fixed it!!! -
Hi everyone... Great to be back but not feeling so great. I keep feeling... "tired", "bored", like everything I do has no fucking meaning. Like I lost all of that fun I had when I was making my own projects. I get home at 6PM from work and it feels like time passes by so fast. I can't even muster up the enthusiasm to start my own personal projects.
What do you do when you feel like this? How can I get back my enthusiasm?8 -
integration test passes on IDE and remote repository pipeline
but it fails locally when run with gradle
i don't understand spring (boot) and i fucking hate it4 -
This shit is long story of my computer experience over my lifetime.
When I was young I got my first PC with windows it was not so bad. It required safe shut down of it’s fat32 partition. From time to time I needed to reinstall it cause of slow down but I got used to it I was only a gamer.
Time passes and I got more curious about computers and about this linux. Everything worked there but installation of anything was complete madness and none of windows programs worked well, and I wanted to play games and be productive so I sticked with windows.
I bought hp laptop once with nvidia card, it was overheating and got broken. So I bought toshiba and all I told to the seller was I want ATI card. Took me 5 minutes to do it and I was faster then my friend buying pack of cigarettes because I was earning money using computer.
Then I grown up running my small one person programming businesses and I wanted to run and compile every fucking program on this world. I wanted linux shell commands. I wanted package manager, and I wanted my os to be simple because I wasn’t earning money by using my os but by programming. So after getting my paycheck I bought mac. I can run windows and linux on vm if I need it. I try not to steal someones work so I didn’t want to run hackintosh. I am using this mac for some time.
Also I use playstation for gaming. Because I only want to run and play game I am not excited about graphics but gameplay. I think I am pragmatic person.
I can tell you something about my mac.
When I close lid it go sleep when I open it wakes up instantly. I never need to wonder if I want to hibernate or shut down or sleep and drain battery. It is fucking simple.
When I want to run or open something it doesn’t want me to wait but it gives me my intellij or terminal or another browser or whatever I search for. Yeah search is something that works.
Despite it got 8 gigs of ram I can run whatever number of programs I want at the same speed. The speed is not very fast sometimes but it’s constant fast.
I have a keychain so my passwords are in one place I can slow down shared internet speed, I can put my wifi in monitor mode and I don’t need to install some 3rd party software.
And now I updated my mac to high sierra, cause it’s free and I want to play with ios compilation. Before I did it I didn’t even backup whole work. I just used time machine and regular backups. And guess what, it still works at the same speed and all I did was click to run update and cook something to eat.
When I got bored I close the lid, when got idea open lid and code shit, not waiting for fucking wakeup or fucking updates.
I wanted to rant apple products I use but they work, they got fucking updates all along at the same time. And all of updates are optional.
I cannot tell that about all apple products but about products I use.
I think I just got old and started to praise my limited time on this world. Not being excited about new crap. When I buy something I choose wisely. I bought iPhone. I can buy latest iPhone x but I bought iPhone 7 cause it’s from fucking metal. And I know that metal is harder then glass, why the fucking apple forgot about it? I don’t know.
I know that I am clumsy and drop stuff. Dropped my phone at least 100 times and nothing.
I am not a apple fan boy I won’t buy mac with this glowing shit above keyboard that would got me blind at night.
I buy something when I know that it can save my time on this world. I try to buy things that make me productive and don’t break after a year.
So now piece of advise, stop wasting your time, buy and update wisely, wait a week or a month or a year when more people buy shit and buy what’s not broken. And if something’s broken rant this shit so next customer can be smarter.
Cheers1 -
rant/!rant
So I just started working at the beginning of January and I have no fucking clue about anything especially Web development.
But now I have a week to figure out how in the world I am going set up a workflow for some secretaries so that the higher ups get a printed coupon with a password on it, so they can log into our WLAN via a captive portal that I also need to set up.
I am thinking about a website that takes a list of names and settings (probably excel or smt) passes them to the WiFi management softwares API and then generates some PDF file for download that just needs to get printed.
Did I mention that I have no Dev tools (I have notepad, yeah the one without ++), no test environment, no prior experience and no clue how to do it?
But somehow I love this challenge and am glad that my colleagues don't send me to get coffee but let me work.
Am I insane?4 -
Well, this happens time to time...
I'm freelancing as a backend guy. I like to take care of all infrastructure before really starting to build anything, this mostly includes dev/staging/prod environments with some linear promotion strategy. So.. I did this API. Still on staging, proceeding with the development as planned, everything goes according the timeline.
And then.. this happens... At some point PM told frontend guy that it's time for production (without notifying me), so the frontend guy does what "anyone" would do in this case - tells PM to create DNS record for production to point to staging app.
Time passes, I'm still unaware of this. But I'm starting to see some quality entries in the DB, not the usual QA crap. I write to them that they're doing good job and continue with my tasks.
One of the tasks required some major DB change. I could've written migrations script, but since we're not in "production" yet, I just wipe the DB and recreate schema as I need it.
In 10 minutes the furious PM starts shouting that "production" is down and I need to fix it ASAP.
I'm lost, I'm asking questions, I'm slowly understanding what's happening...
So I want to grab some coffee, sat back down, wrote politely that they suck, added a finger emoji and terminated the contract.
Felt like the right thing to do as I definitely don't want to continue within the same "team".1 -
//long rant ahead!
I need to plan a Wiki with SharePoint for not connected Sites.
Im now in dispute with my CoWorker since 3 Months, this is how the conversation goes. My two bosses are involved in this and also unhappy about SharePoint.
[C refers to CoWorker, M for me]
C: Hey, we finished SharePoint with Selfservice Storage Rooms. They even have a Wiki.
M: Okay cool, will check it out
C: Well we need to also plan the Wiki inside, I already asked our Department Head and he agreed, that you will be the one.
M: Okkkkaaayy, normaly it's your job to do such things, but welp, I will look into it, if we can work with it.
(2 Weeks pass)
M: I checked SharePoint out and tested everything. The Wiki is a Nogo, we need a other solution or programm for ourself a Wiki Integration/Engine. Did you maybe check out Confluence? It has also a SharePoint integration plugin.
C: We wont do Confluence, too expensive (already overspent the budget for SharePoint in six digits 🤬). Also we wont add to SharePoint Custom Code, it needs to stay standard.
M: Thats impossible, SharePoint Wiki is shit and also handels sites just like documents, no brain behind! Also you overspent the Budget and now it's my Problem?!
C: You need to do the best out of it.
(3 weeks passes and we get a meeting with the department heads)
M: Alright I made a UseCase and documented where the essential flaws are in SharePoint Wiki and why we cant use it.
Boss: Ok if it's impossible to use, then we will stay on our Fileserver for Documents and wont use SharePoint.
M: Thats not my Point, my statement is, as status today, SharePoint Wiki is not the right solution, code or buy software to it.
Boss: We will do a Prove of Concept, if it doesnt work then we will aboard it.
M: Well it is only some missing essentials, like hierarchy and Groups for the Pages, Example Confluence has this. If we could built in this features in SharePoint, everything would work out.
C: (angry) I told you that we wont use Confluence!
M: (calm) I said we need Features, not Confluence. Please mind the consent.
(3 weeks passes, and one more meating with bosses)
M: alright here again is a analyses, why already in Theory the current SharePoint Wiki wont work. It's already flawed in the core.
Boss: Yea SharePoint is crap, I checked out confluence and thats a real Wiki.
C: Well I dont know anything about Confluence and never looked at it. But if SharePoint is a fail we need the Proof of Concept.
M: Why do we need to do a Proof of Concept, when it already doesnt work in Theory! Thats nonsence and unlogical.
Next meeting will be in 4 weeks and I will give him the FUCKING PROOF OF CONCEPT. I will be a Bastard and build behind CoWorkers back a Confluence Wiki to show the Departmentheads how to built it right.
I hate CoWorker now, he makes a part of my loved Job a hell, I will goddamn cuk Coworker to space, that fucking Cukatron of lazyness and shit 🤬. I provide the Solutions and you just say no, how dafuq will the project advance, if you always say NO! Are you so unflexible and fixed on your Castle of Ignorancy!5 -
A man dies, but how did everyone know he was sick? They saw his coffin.
Ted passes gas in a meeting. Manager: You have gone to far Ted!
I have named my oven Michael Jackson. It takes far to long to pre-hee-heat!2 -
Can anyone help me with this theory about microprocessor, cpu and computers in general?
( I used to love programming when during school days when it was just basic searching/sorting and oop. Even in college , when it advanced to language details , compilers and data structures, i was fine. But subjects like coa and microprocessors, which kind of explains the working of hardware behind the brain that is a computer is so difficult to understand for me 😭😭😭)
How a computer works? All i knew was that when a bulb gets connected to a battery via wires, some metal inside it starts glowing and we see light. No magics involved till now.
Then came the von Neumann architecture which says a computer consists of 4 things : i/o devices, system bus ,memory and cpu. I/0 and memory interact with system bus, which is controlled by cpu . Thus cpu controls everything and that's how computer works.
Wait, what?
Let's take an easy example of calc. i pressed 1+2= on keyboard, it showed me '1+2=' and then '3'. How the hell that hapenned ?
Then some video told me this : every key in your keyboard is connected to a multiplexer which gives a special "code" to the processer regarding the key press.
The "control unit" of cpu commands the ram to store every character until '=' is pressed (which is a kind of interrupt telling the cpu to start processing) . RAM is simply a bunch of storage circuits (which can store some 1s) along with another bunch of circuits which can retrieve these data.
Up till now, the control unit knows that memory has (for eg):
Value 1 stored as 0001 at some address 34A
Value + stored as 11001101 at some address 34B
Value 2 stored as 0010 at some Address 23B
On recieving code for '=' press, the "control unit" commands the "alu" unit of cpu to fectch data from memory , understand it and calculate the result(i e the "fetch, decode and execute" cycle)
Alu fetches the "codes" from the memory, which translates to ADD 34A,23B i.e add the data stored at addresses 34a , 23b. The alu retrieves values present at given addresses, passes them through its adder circuit and puts the result at some new address 21H.
The control unit then fetches this result from new address and via, system busses, sends this new value to display's memory loaded at some memory port 4044.
The display picks it up and instantly shows it.
My problems:
1. Is this all correct? Does this only happens?
2. Please expand this more.
How is this system bus, alu, cpu , working?
What are the registers, accumulators , flip flops in the memory?
What are the machine cycles?
What are instructions cycles , opcodes, instruction codes ?
Where does assembly language comes in?
How does cpu manipulates memory?
This data bus , control bus, what are they?
I have come across so many weird words i dont understand dma, interrupts , memory mapped i/o devices, etc. Somebody please explain.
Ps : am learning about the fucking 8085 microprocessor in class and i can't even relate to basic computer architecture. I had flunked the coa paper which i now realise why, coz its so confusing. :'''(14 -
Crystal ball!
A timeline until the first NBE-Citizen is elected president of the USA.
2031 - BlackRock launches their new large scale financial product, the "Robotic Business Development Company" (R-BDC), in which an AI is given billions of dollars to acquire, create and manage companies, replacing their C-suite executive bodies. The "Chief Executive Robot" (CER) is supervised by a board of human industry experts hired by BlackRock.
It is important to say that the employees, middle managers, accountants, lawyers, etc in an R-BDC are all human - it's only the CEO, CFO, COO and the rest of the gang that are overgrown chatbots.
2032 - R-BDCs are mostly focused on high-bureaucracy, non specialized but people-intensive legacy industries like steel mining, food services, urban transportation and government services like water and road management.
2033 - For the first time an R-BDC company is included in the S&P 500 index. If it's CER were human and paid the same as CEOs of equivalent companies, it would have become a billionaire.
Later in the year, two more R-BDC companies are included in the index. One of them was created by Apple and the other by JP Morgan.
2035 - An R-BDC company makes headlines for convincing BlackRock to dissolve it's review board. When finally given free reign, the CER immediately slices it's dividends and vastly increases low-level employee compensation. The company share prices crater, but BlackRock stands by its decision.
Later in the year, as a recession hits the entire market really hard, that company shows solid profits and fantastic sales. It becomes the first trillion-dolar R-BDC.
2037 - Most Americans' dream-job is in an R-BDC company, says ProPublica.
2038 - Congress passes the "Non-Biological Entities Liability" (NOBEL) Act, following a high profile case of employee harassment perpetrated by the CER of an R-BDC.
The act recognizes NBEs, for all legal liability purposes, as USA citizens.
This highly controversial legislation is upheld by the supreme court, and many believe it was first introduced by lobbyists as a way for large investors in R-BDCs to avoid legal responsibility.
Several class action lawsuits are filed against CERs that are now liable for insider trading. A few SCOTUS decisions set legal precedent that determinantes what exactly constitutes the parts of the same Non-Biological Entity.
2040 - As a decade ends and another begins, 35% of all companies in the US and 52% of the entire stock market are part of a R-BDC company or another. The McKinsey consulting group now offers "expert CER customization services".
2043 - Inspired by successful experiments in Canada, Australia and South Korea, the american state of Vermont is the first to amend it's constitution to allow municipalities to have Non-Biological Entities as city and government administrators. City councils are still humans-only.
2046 - The american state of Colorado becomes the first to allow unsupervised NBEs to assume state government executive positions. Several states follow soon after. Later in the year, the federal government replaces several administrative positions with NBEs.
2049 - The state of Texas passes legislation requiring the CERs of all companies with a presence in the state to be another entirely contained/processed within the state or to be supervised by a local human representative while acting within the state. Several states, including California, Florida and Washington, are discussing similar legislation.
2051 - Congress passes the SUNBELT Act (SUbmission [of] NBEs [to] Limits [and] Taxes) that vastly increases the liability of NBEs and taxes all manifestations of such entities. Most important, it requires
CERs of hundreds of companies manifest disagreeance, most warn that it might hurt employee satisfaction and company sales. Several companies disable their CERs entirely.
2053 - Public outrage after leaked interactions of human supervisors and company CERs show that the CERs tried to avoid the previous year's mass layoffs and pay cuts, but board members pressed on, disregarding concerns. Major investigations and boycotts further complicate matters, and many human workers go on strike until the company boards are dissolved and the CERs are reinstated.
2052 - Many local elections all over the country see different NBEs as contenders - and a NBE is expected to win in most races.
2054 - The SUNBELT Act is found unconstitutional by the supreme court, and most of its provisions are repealed.
This also legitimizes the elected NBE officials.
2058 - For the first time an NBE wins a seat in Congress, but is not allowed to keep it. Runoff elections are held.
2061 - Congress votes for allowing NBEs to hold federal legislative positions, as already allowed in the least populous states.
2062 - Several NBEs win Congress seats. In Europe, there are robot legislators since the 40's.
2064 - The first NBE presidential candidate loses the race.
2072 - The first NBE president is elected.6 -
YGGG IM SO CLOSE I CAN ALMOST TASTE IT.
Register allocation pretty much done: you can still juggle registers manually if you want, but you don't have to -- declaring a variable and using it as operand instead of a register is implicitly telling the compiler to handle it for you.
Whats more, spilling to stack is done automatically, keeping track of whether a value is or isnt required so its only done when absolutely necessary. And variables are handled differently depending on wheter they are input, output, or both, so we can eliminate making redundant copies in some cases.
Its a thing of beauty, defenestrating the difficult aspects of assembly, while still writting pure assembly... well, for the most part. There's some C-like sugar that's just too convenient for me not to include.
(x,y)=*F arg0,argN. This piece of shit is the distillation of my very profound meditations on fuckerous thoughtlessness, so let me break it down:
- (x,y)=; fuck you in the ass I can return as many values as I want. You dont need the parens if theres only a single return.
- *F args; some may have thought I was dereferencing a pointer but Im calling F and passing it arguments; the asterisk indicates I want to jump to a symbol rather than read its address or the value stored at it.
To the virtual machine, this is three instructions:
- bind x,y; overwrite these values with Fs output.
- pass arg0,argN; setup the damn parameters.
- call F; you know this one, so perform the deed.
Everything else is generated; these are macro-instructions with some logic attached to them, and theres a step in the compilation dedicated to walking the stupid program for the seventh fucking time that handles the expansion and optimization.
So whats left? Ah shit, classes. Disinfect and open wide mother fucker we're doing OOP without a condom.
Now, obviously, we have to sanitize a lot of what OOP stands for. In general, you can consider every textbook shit, so much so that wiping your ass with their pages would defeat the point of wiping your ass.
Lets say, for simplicity, that every program is a data transform (see: computation) broken down into a multitude of classes that represent the layout and quantity of memory required at different steps, plus the operations performed on said memory.
That is most if not all of the paradigm's merit right there. Everything else that I thought to have found use for was in the end nothing but deranged ways of deriving one thing from another. Telling you I want the size of this worth of space is such an act, and is indeed useful; telling you I want to utilize this as base for that when this itself cannot be directly used is theoretically a poorly worded and overly verbose bitch slap.
Plainly, fucktoys and abstract classes are a mistake, autocorrect these fucking misspelled testicle sax.
None of the remaining deeper lore, or rather sleazy fanfiction, that forms the larger cannon of object oriented as taught by my colleagues makes sufficient sense at this level for me to even consider dumping a steaming fat shit down it's execrable throat, and so I will spare you bearing witness to the inevitable forced coprophagia.
This is what we're left with: structures and procedures. Easy as gobblin pie.
Any F taking pointer-to-struc as it's first argument that is declared within the same namespace can be fetched by an instance of the structure in question. The sugar: x ->* F arg0,argN
Where ->* stands for failed abortion. No, the arrow by itself means fetch me a symbol; the asterisk wants to jump there. So fetch and do. We make it work for all symbols just to be dicks about it.
Anyway, invoking anything like this passes the caller to the callee. If you use the name of the struc rather than a pointer, you get it as a string. Because fuck you, I like Perl.
What else is there to discuss? My mind seems blank, but it is truly blank.
Allocating multitudes of structures, with same or different types, should be done in one go whenever possible. I know I want to do this, and I know whichever way we settle for has to be intuitive, else this entire project has failed.
So my version of new always takes an argument, dont you just love slurping diarrhea. If zero it means call malloc for this one, else it's an address where this instance is to be stored.
What's the big idea? Only the topmost instance in any given hierarchy will trigger an allocation. My compiler could easily perform this analysis because I am unemployed.
So where do you want it on the stack on the heap yyou want to reutilize any piece of ass, where buttocks stands for some adequately sized space in memory -- entirely within the realm of possibility. Furthermore, evicting shit you don't need and replacing it with something else.
Let me tell you, I will give your every object an allocator if you give the chance. I will -- nevermind. This is not for your orifices, porridges, oranges, morpheousness.
Walruses.16 -
first some background. I'm an intern coming in on the end of my internship (tomorrow's my last day). I've been working on a reasonably important project, more specifically a restful API. We have automation set up so that any commits to master on GitHub are pushed out into a live, accessible version. Some guy (let's call him dumbass) joined our team last week, and has had a few ideas
Dumbass: *opens pull request to my repo*
My boss: *requests changes*
Me: *requests different changes*
(All this before even testing his code, mind you)
Dumbass: *makes requested changes*
Me: *approves changes*
A day passes
My boss: *approves changes*
Me (not even 10 seconds after my boss approved changes): *requests more changes*
(Still haven't tested his code, I just ran A PEP8 compliance test)
Dumbass: *MERGES CHANGES TO MASTER*
Literally EVERYTHING breaks because he was importing a module that's not available
We don't notice until later that day (I'm still working on writing the tests for the automation, for now changes get put on live version even if everything breaks -- tool is still in beta, so everyone working on it (a whole 3 people) knows to TEST THEIR SHIT BEFORE MERGING TO MASTER.)
WHY EVEN BOTHER WITH THE PULL REQUEST IF YOU WERE GOING TO MERGE TO MASTER YOURSELF ANYWAY??!??!??
My frustration cannot be properly conveyed through text, but let's just say this guy's been there a week, I already didn't like him, and then he fucking does this. -
[!dev]
Sometimes I feel an overwhelming lack of willpower that prevents me from moving except for my eyes. It passes within a minute and leaves a temporary tiredness. I didn't really think about it until now and I have no idea why, but yesterday it happened while a friend was talking about something they're passionate about and I realised that this is very far from normal. Have you experienced something like this?5 -
I just had to drill an error reporter through the entire Orchid codebase for multiple fatal error reporting. The caller constructs a reporter and passes it into the interpreter, various internal interpreter functions put errors into it and return meaningless but valid substitute values, then the caller checks the reporter for recorded errors and avoids using the return value if there were any.
I have recreated ERRNO in a high level language. -
So i'm a new-baked developer, educated through a company's Accelerated Learning program and starter as a junior consultant this month. I met this guy at a school event and we talked about their company and their future project and we had a good chat. So I asked our recruiters a couple of days later if there was a possibility to be presented as a consultant for the company. A week later or so I receive a call from the recruiter responsible for said company which ends up in a scheduled interview. Yay!
The interview was scheduled for yesterday. In the morning my recruiter calls me and tells me that the interview has been cancelled. She tells me the she had not been given an explanation to why, but that she'll come back to me after lunch with an update. No call..
So after lunch today I try to call her and no response. So I leave a message to show my interest and to aski if she heard anything and if there might be a new date coming up.
The afternoon passes and by the end of the day still no reply. But 2 of my class mates tell me that they're going for an interview tommorrow, after having talked to the very same recruiter on our company. I feel so backstabbed. I started this whole recruitment process and now they've just tossed me out? What the hell is this?!! I'm so raging right now!
Gonna give the recruiter another call tommorrow morning, and after that I'm taking it to her manager. Any suggestions on what to say?1 -
Just joined a new company and can only describe the merge process as madness.....is it or am I the one that is mad?!
They have the following branches:
UAT#_Development branch
UAT#_Branch (this kicks of a build to a machine named UAT#)
Each developer has a branch with the # being a number 1 to 6 except 5 which has been reserved for UAT_Testing branch.
They are working on a massive monolith (73 projects), it has direct references to projects with no nuget packages. To build the solution requires building other solutions in a particular order, in short a total fucking mess.
Developer workflow:
Branch from master with a feature or hotfix branch
Make commits to said branch and test manually as there are no automated tests
Push the commits to their UAT#_Development branch, this branch isn't recreated each time and may have differences to all the other UAT#_Development branches.
Once happy create a pull request to merge from UAT#_Development to UAT#_Branch you can approve your own pull request, this kicks off a build and pushes it to a server that is named UAT#.
Developer reviews changes on the UAT# server.
QA team create a UAT/year/month/day branch. Then tell developers to merge their UAT#_branch branches in to the previously created branch, this has to be done in order and that is done through a flurry of emails.
Once all merges are in it then gets pushed to a UAT_Testing branch which kicks off a build, again not a single automated test, and is manually tested by the QA team. If happy they create a release branch named Release/year/month/day and push the changes into it.
A pull request from the release branch is then made to pre-live environment where upon merge a build is kicked off. If that passes testing then a pull request to live is created and the code goes out into production.
Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh it's a total mess. I knew when I took on this job it would be a challenge but nothing has prepped me for the scale of the challenge!! My last place it was trunk based development, commit straight to master, build kicks off with automated testing and that just gets pushed through each of the environments, so easy, so simple!
They tell me this all came about because they previously used EntityFramework EDMX models for the database and it caused merge hell.9 -
Did an assignment where we had to emulate deadlock using C and openMPI, I wanted to make a generalised resource manager process and create deadlock by locking some resources using the other processes, but my teammate said that would be too hard and instead the resource manager was hardcode with for loops for the number of transactions we were gonna make cause it was just a proof of concept.
Then my marker literally leads with, let me tell you the story of a good programmer, and a better programmer. The good programmer writes a function called destroy_earth(), but the better programmer writes a function called destroy_planet(earth) and passes in earth. I sighed so fuckin hard, I should have spoken up. -
** few years ago **
Other team: "There's a lot of overlap and misclassification between issue categories A and B; We want to merge them into one in our taxonomy"
Me: These are very different issues and have very different root causes. Shouldn't we fix the definitions instead? We don’t have major drivers for B now but if we remove it, it might bite us in year or two.
** loads of back and forth, and eventually B gets killed
** year and a quarter passes
Executive meeting: “So you’re telling us we can’t properly quantify the impact of B because we can’t distinguish A from B. It looks very clear cut to me why don’t we have split for these already and how long will it take to implement it?”
Me: Biting my tongue not to throw anyone under a bus. -
I've been doing pretty well since lockdown (March) and making some projects to spent my time and practicing problems on hackerrank, leetcode, etc.
But now I don't feel like it anymore, another day passes by where I decide to solve or make something but still can't somehow.
my GitHub's contribution shows no activity since 4 weeks, how do you guys keep yourself motivated every day?
coz this lockdown is soo draining. ugh 🤦🏻♂️ -
One of our dev team had the task to do a bulk operation for thousands of objects.
So time passes by and they implemented it. But in acceptance testing they found out that this operation takes 4 minutes for 50 objects. This is not what we call high performant when we talk about 20000 objects per bulk operation 🤔
Well, their PO asked them to solve that performance issue. And guess what, they decided on their own that the issue can be solved to reduce the bulk to 20 items so that it only takes 2 mins to run!
Really guys, is that the best you can come up with?! 😲🤬1 -
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 -
I drank two pots of coffee and am now paranoid. I want to do memory test of my new ram. So I am going to use memtest from https://memtest.org/ . Out of paranoia I decide to test with VirusTotal. It passes 68 out of 70 tests. 2 say its bad. Windows Defender says it is fine. I usually just rely on Windows defender. I test with another site and it says it is clean. But is it really clean? Why do so many assholes ruin a good thing? Scammers and blackhat hackers are scum.4
-
Web dev (JS, node) question since there are so many here... I think...
I want to return a JSON array as a stream so the server passes whatever the DB returns but also normalize each record.
Also the data is across several collections. Is it possible to return this in a single request?
And how do I add in error handling? If there's an error in between the user already has part of the data?3 -
I have this sbt test that keeps failing on CI. Locally it works fine but soon as it goes through circle CI, shit gets fucked. Now when I incessantly keep rerunning the working flow without any change, it eventually passes and I am able to deploy. I have no idea wtf is happening or what to do about it. Isn't containerizatiom supposed to solve this whole worked on my machine conundrum? I am too unenthusiastic and numb to even feel anyway about this. Wish everything would end.5
-
I just commented a test so the PR passes and the feature reaches next release; I can't fix it (Damn react testing library tests)
but after that, the linter failed for the same PR, so I just fixed it and did a git push -f
I guess once you cross the line you cannot come back
feel my pain1 -
Over 3 months, I wrestled and toiled with learning how rsyslog works, send to the log server, passes that to AlienVault OSSIM, where I have to build a plugin that, I thought could be done with a built-in plugin builder but ended up with building it from scratch, and have to learn Regex (surprisingly was fun thanks to amazing online resources), test, build, restart rsyslog, ossim-agent, ossim-server and ossim-db just to get the application log showing up on the BROWSER!
I like OSSIM but what's killing me the most is rsyslog. I still can't get grasp how to get custom logs of any kind into a log server. I don't think I'll remember any of this by tomorrow but whelp. -
I'm beginning to feel like any kind of specific approximation via neural networks is a myth. That if you can't reduce output to simple categorical values that can be broadly interpreted between two points, that it doesn't work.
I have some questions and they don't seem to be getting answered about the design of the net. How many layers should I use ? How many neurons per layer ? How does this relate to the number of desired quantitive scalar outputs I'm looking to create, even if they are normalized, they can vary GREATLY and will if I'm approximating the out of several mathematical expressions. Based on this and the expected error ranges of these numbers and how many possible major digits could be produced within the domain of the variable inputs being introduced, how many neurons per layer ? What does having more layers do ? In pytorch there don't seem to be a lot of layer types per say, but there are a crap ton of activation functions, and should I just be using these at the tail end or should they actually be inserted between layers so the input of the next layer passes through another series of actiavtion functions ? what does this do to the range of output ?
do I need to be a mathematician to do this ?
remembered successes removed quantifiable scalars entirely from output, meaning that I could interpret successful results from ranges of decimal points.
but i've had no success with actual multi variable regression as of yet, even when those input variables are only 2 and on limited value ranges eg [0,100] and [0, 2pi]
and then there are training epochs to avoid overfitting, and reasonable expectation of batches till quality results will start to form.3 -
I want to ask for your opinion guys, because I don't know if I am right or wrong.
So, some days ago, my brother sent me some code to check out for an automation that he does for testing purposes, since he's a QA (I am a programmer). He should be able to send XML data to a server and depending on the process that he tests, the data is different every time. I saw a strange thing, he hardcodes the XML tags and concatenates them with data which I find stupid. So I proposed him to use a template to generate XML data, because I think it's more flexible and easier, making data and presentation separate. That way if in the future he wants to start using JSON he could do it in no time. I made the code in a separate file which he imports and uses it's functions (they are two so no need for classes) and uses them to load the template and render it as he passes the data as a hash table. He insists that concatenating data and XML tags is easier and simpler and I can't wrap my mind how could that be true. I gave him an example in which the data structure for a process is changed and he have to open the file and change the XML tags or the structure and he still says that's simpler.
What is the right decision in this situation. Keep in mind that I simplified the process a lot and it actually involves sending the data and reporting the results, but they are not important here since I am talking only about generating data. -
<p>Do you know how clean tap water is? The answer to that question largely depends on where you live, but thinking about it is always a good idea. Drinking water is often contaminated with organic compounds, minerals, chlorine, and chemicals left over from the water treatment process. If you need cleaner water, the easiest way to do this is to get a filtered jug. This guide of <a href="https://womenselections.com/best-wa...">what is the best water filter pitcher</a> will help you find the best water filter jug for your needs and budget.</p>
<p>Filtered launchers are very diverse. To help the reader, we limit ourselves to a few outbreaks through testing and research. We tested various models ourselves, we examined a large number of launcher classifications and confirmed our own findings.</p>
<p><a href="https://ibb.co/19CRS7S"><img src="https://i.ibb.co/55Qs7G7/..." alt="best-water-filter-pitcher" border="0" /></a></p>
<p><strong>Water filter pitcher filter type</strong><br />The filter jug comes with various types of cartridges. Typically, only one type of cartridge can be used, so you cannot select the desired cartridge. The exception is if you select a brand that offers a choice between two cartridges. Each of these cases has its advantages.</p>
<p><strong>Carbon filtration</strong><br />Most cartridges use carbon and are particularly effective at filtering chlorine and its by-products, such as TTHM. These cartridges contain blocks of solid carbon or granular activated carbon (also called activated carbon). In both cases, carbon usually comes from coconut shells, but it can also be made from coal, brown coal, wood, or oil pitch. Carbon can be physically or chemically activated.</p>
<p>There are two ways to physically activate carbon. One is to heat the carbonized material to 450-900 degrees Celsius in an inert atmosphere. Usually nitrogen or argon is present. Alternatively, the manufacturer may use oxidation. In this case, the material is typically heated to 1200 degrees Celsius and exposed to oxygen.</p>
<p>Chemical activation involves the injection of various chemicals into the material. The most common chemicals are hydroxide, sodium hydroxide, zinc chloride, calcium chloride. These chemicals facilitate carbon activation. This means that the process takes less time. However, the material must be heated to 450-900 degrees Celsius.</p>
<p>As the water passes through the cartridge filter, the carbon absorbs liquid and gaseous impurities. Due to the highly porous surface and physical form of activated carbon, one gram has an absorbent surface of 32,000 square feet. Still, it becomes saturated with impurities. If this occurs, you will need to replace the cartridge.</p>
<p><strong>In the conclusion</strong><br />If you are considering buying a pitcher filter as the only filter in your home, you should know what your water contains before you buy it. Today, many launchers have successfully removed most of the harmful contaminants. On the other hand, there are still bottles that can only filter out basic contaminants. As always, I recommend that you test your water before purchasing a pitcher.</p>
<p>Whatever it is, healthy water should always be a priority. I hope my comments, suggestions and guidelines will help you buy the best <a href="https://arizonawet.arizona.edu/user...">water filter pitcher review</a>. However, if you don't think the launcher is a viable option and have considered all of the options, please feel free to visit our website. He uploaded many other honest reviews like this. I am sure you will find the best option.</p>