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 - "over process?"
-
I know it wasn't ethical, but I had to do it.
Semester 4 started this week, we all got to vote which day we wanted the lecture to be held on. There were quite a few options. My preference was Monday at 7:30pm.
So I entered the poll, as I have every other semester. But I noticed something, this particular poll didn't require any form of identification. Not even a Student ID.
I dug deeper, found that it used local cookies to store weather you'd voted or not, this is obviously a security problem, so I opened up Python and wrote a simple Selenium program to automate this process.
I called it the "Vote Smasher". First it would open the webpage, then it would choose Monday 7:30pm and vote. Then it would clear it's cookies, refresh and do it over again.
I ran it fifty times.
Can you guess what the revealed vote was for UCD SP4 IT was?
I heard my lecturer mutter:
"The votes aren't usually this slanted..."
I could hardly contain my giggles.
My vote won by about fifty over the others 😂
Let me just say, it was his fault for choosing such a naive poll system in the first place 😉36 -
*came in this morning to see this conversation in slack from the remote teams*
Dev: Hey guys, I'm trying to push to the develop branch, telling me its locked. Is there a new process?
Lead dev: Yes I locked it because the repo is now dead, the last release that went out is the last for this year and ever for this app. Were merging this app with another, starting from the last release's code. We'll all have to swap over to the new repo soon.
Dev: ... eh ok I didn't put anything in the last release branch as it wasn't urgent. Normally our process is anything in /develop goes out in the new year. I've been merging to /develop for the last few weeks ... is that code now gone?
*14 question mark emoji reactions*
Lead dev: Yes
*27 angry emoji reactions*
Engineering manager: WHAT? when was this decided? When was it communicated?
Lead dev: oh I assumed my product counterpart had been spreading the messages around, have they not?
Several teams: no, nope, first i'm hearing of it.
Lead dev: Ok, i'll ask them what happened. Be aware then that most of the stuff thats going into develop now, most likely won't be allowed in until March. They want to prioritise releasing this new merged app and don't want anything to impact it.
Dev: So wait, i'm working on stuff now. What do I do? Where do I base the branch? Where do I merge?
<no response>
*My team comes into the office*
Dev: eeehhh ... what does this mean for our past 4 weeks of work? and all the stuff needed to go out in January?
Me: not.a.fucking.clue16 -
TL;DR: Don't ever interrupt me while taking a shit.
>be me taking a shit comfortably in the bathroom, not bothering anyone
>hear my cousin outside calling his gf
>nofsgiven.jpg
>suddenly stuff comes flying through the window and hear her gf laughing in his phone speaker
>stupid asshat was trying to make his gf laugh by bothering me while in the debug room
>scream from the top of my lungs for him to stop interrupting my defecation process
>stuff keeps coming from the window
>my brown creation comes back inside like a scared turtle
>pull up pantaloons
>get out of thinking room
>open up laptop, start ubuntu
>sudo apt-get install aircrack-ng
>enable monitor mode, get phone, ap mac addresses
>vim shittyvengeance.sh
>write small script that deauths his phone and then waits some seconds and then starts over again so he doesn't think it's me
>:wq and make script executable
>sleep 180; cowsay ding dong ur vengeance has arrived; sudo ./shittyvengeance.sh
>tuck into bed and close laptop before sleep time ends
>his call suddenly drops
>"Matt are you messing up with my WiFi again?"
>"Nah man. Not working for me either. Must be localcompany's problem."
>mfw he can't talk with his gf for more than 15 seconds before losing connection
>omgitworks.jpg
>figure that it was the most useful thing I had made in a pc in these two years at uni
>be proud of me for making a stupid script
>think about going back to my pearl white throne
>no longer wanting to drop my supplies
>go to sleep
>mfw forgot to wipe ass
My first story in devRant! Was lurking for quite a while and finally felt like sharing something 🙃24 -
Client: Can you provide some kind of guaranteed timeline that you're going to be able to move our website to our new servers with the optimizations implemented? I know you said it should take a week, but we have 3 weeks to get this moved over and we cannot afford to be double billed. I'm waiting to fire up the new server until you can confirm.
Me: As I said, it SHOULD take about a week, but that's factoring in ONLY the modifications being made for optimization and a QA call to review the website. This does not account for your hosting provider needing to spin up a new server.
We also never offered to move your website over to said new server. I sent detailed instructions for your provider to move a copy of the entire website over and have it configured and ready to point your domain over to, in order to save time and money since your provider won't give us the access necessary to perform a server-to-server transfer. If you are implying that I need to move the website over myself, you will be billed for that migration, however long it takes.
Client: So you're telling me that we paid $950 for 10 hours of work and that DOESN'T include making the changes live?
Me: Why would you think that the 10 hours that we're logged for the process of optimizing your website include additional time that has not been measured? When you build out a custom product for a customer, do you eat the shipping charges to deliver it? That is a rhetorical question of course, because I know you charge for shipping as well. My point is that we charge for delivery just as you do, because it requires our time and manpower.
All of this could have been avoided, but you are the one that enforced the strict requirement that we cannot take the website down for even 1 hour during off-peak times to incorporate the changes we made on our testbed, so we're having to go through this circus in order to deliver the work we performed.
I'm not going to give you a guarantee of any kind because there are too many factors that are not within our control, and we're not going to trap ourselves so you have a scapegoat to throw under the bus if your boss looks to you for accountability. I will reiterate that we estimate it would take about a week to implement, test and run through a full QA together, as we have other clients within our queue and our time must be appropriately blocked out each day. However, the longer you take to pull the trigger on this new server, the longer it will take on my end to get the work scheduled within the queue.
Client: If we get double billed, we're taking that out of what we have remaining to pay you.
Me: On the subject of paying us, you signed a contract acknowledging that you would pay us the remaining 50% after you approved the changes, which you did last week, in order for us to deliver the project. Thank you for the reminder that your remaining balance has not yet been paid. I'll have our CFO resend the invoice for you to remit payment before we proceed any further.
---
I love it when clients give me shit. I just give it right back.6 -
Around 2009 or earlier, I began the long grueling process of creating my own batch AI (yes batch as in Windows Batch , kill me for not knowing there were better languages around). Looking back at it, it is THE messiest thing I've ever created. Mostly because of how many unnecessary files were created to make the entire thing work. However, I’m still proud of it to this day because of the dedication I had put into creating the entire thing.
I would create diagrams on the mirrors in my room; of course I would be scolded for this. But I was mad with thought working through the entire thing.
I would scribble and type whenever I had the chance, trying to create the functions that would allow the thing to talk back to me. Finally, when it opened its eyes and spoke its first words I quickly started creating the functions that would allow it to learn new inputs. Over time and with some elbow grease I was able to polish it up to my liking.
The entire program branched off some of my more earlier programs in batch, they mostly ranged from the medial to the crazy; i.e. turning my computer on and off at certain times of the day, and multithreaded migration of files to new disks
It's not as sophisticated as other AI that were being built at the time, but at the age of 16 and with no experience in real programming at all, I'd say it was my first stepping stone towards more sophisticated programs, and ultimately, my decision in Computer Programming at all.22 -
Anyone looking for something interesting to do???
Step 1) understand how basic circuitry works on a bread board nothing too fancy. ( Implement NAND, AND, ADDER, SUBTRACTOR)
Step 2) learn about microprocessors and how OS works
Step 3) learn assembly
Step 4)write a basic assembler and understand how loaders and linkers works !
Step 5) write a kernel with very basic features like memory management and process management and some drivers for IO
Step 5) write an emulator for some simple systems .! ex chip-8.
Step 6) read about compiler theory and automata
Step 7) write a basic Python interpreter that compiles (not interpreter) to native assembly.
Step 8) implement TCP stack .
Step 9) learn as much as u can about complexity measurement ), data structures and algorithms using C or C++ it's very important ( familiarity with pointers and thus computer memory )
Step 10) learn any high level language of choice like Python or Ruby.
Step 11) stop debating over tabs vs spaces , emacs vs vim , angular vs vue, php vs Python , OOps vs procedular vs functional ( just know about all of them and when to use but don't fucking debate over which one is superior )..
Step 12) live happily and be healthy.30 -
Weirdest technical interview:
I was applying all over during my last semester in college (before graduating). This place was hiring a PHP developer for their “web store”. My interviewer invited me into her office, pulled out a laptop, and asked if I could walk her through some of the existing code. After I successfully did, she responded with “oh wow, we had no idea it was doing all of that!”.
The main room consisted of 6 folding tables lined with people on desk phones (probably support/sales). When I asked her where I would be working (mostly concerned about not being able to focus over the constant phone calls), she said that I would just share her desk in her office.
Then she asked if I could start the next day, without giving my internship any kind of warning that I’d be quitting so abruptly. She also asked me to start missing class, so I could spend more time at work. Saying things like “if you already have the job, why focus on school?”. When I asked who wrote that code, she told me that it was an out of state contractor that they’re trying to get rid of, because his rates were too high.
I told her that I would need a few days to think about it, which gave me time to call the other places that I had interviewed, but were still waiting to hear back. Luckily, when one of the places heard that I had been offered a job, they decided to rush their hiring process and offered me a job over the phone!
It’s been 6 years, and I am so thankful that I didn’t have to take that sketchy job.1 -
We are pioneers.
We build software, an extremely complex concept that didn't exist just 70 years ago.
We learned to harness its complexity and bend it at our will. Just stop for a minute and think about what happens when you load a URL in your web browser. The whole process.
In all human history, nobody has ever been the protagonist in something so complex as software. Yet we know that all of this wouldn't exist without a community of developers, sharing code and knowledge over the same system that they have created.
_We are dwarves perched on the shoulders of our fellows_
That's why even if nobody understands our work, I still think this is the most beautiful job in the world.12 -
Fucking 20 hour days. Third one this week.
Been at work since 6am, it is now midnight. Spent the morning fixing bush league code mistakes from "expert" onshore developers, and explaining how-to-wipe-your-ass level concepts to some rude cunt who is absolutely going to take credit for my work after I leave.
Now I'm just waiting on this slow boat scp to finish because the invalids the customer hired to manage their infra can't figure out the 3 minute exercise that is standing up a registry, so the container deployment process is fucking export multiple 500mb Redhat images as a tar and ship it across the cripplenet they call a datacenter. And of course the same badmins don't understand rsync and can't manage to get network throughput in a datacenter with a $300M annual budget over 128kbps. I guess that's fast for whatever jugaad horseshit network they're used to.
I've said it before, but it bears repeating. Fuck IBM. They're a cancer and at this point I question the moral compass of anyone who works for them.7 -
Hello Monday:
0.Arrive late due to traffic.(Apparently a car hit a cow crossing the road)
1. Try upgrading php5 to php7 and break stuff in the process and waste 2 hours fixing things.(Poor connection so ssh sessions hung occasionally)
2.PHP fixed,open Gmail and get over 100 emails from clients about the server being down(because of (0)).Ignore all.Find a snaglist of over 20 TODOs.
3.Open Android Studio, update to 2.3 and everything becomes broken.Each time i open it ,it crashes and i have to "Report to Google"
4.Spend the next 1 hour reinstalling AS.It finally works.
5.Open Project and the libraries are broken.Spend another hour upgrading build tools.
6.Leave SDK to update and decide to check my Google Cloud console.$50 bill pending.Shit.
7.Try XCode. Remember the project is still in Swift 2 and I have to upgrade it(Would take eternity).Immediately closes xcode.
8.Gives up on life and decides to log into Devrant.4 -
Aaaah...I just got back from a meeting because of a production data problem caused by an analyst who keeps making mistakes that screw up client data. I wrote a program to automate most of it and everybody initially accused me of having a buggy program, only to find out she wasn't using it, never did.
"Why aren't you using the program then?" was asked. "Oh, well, I just understand my way better," she replies, "When I make a mistake at least I understand why."
Pause....
"Then, um, if you know you're making a mistake, why don't you fix it?"
"Because my process is so manual and labor intensive sometimes it's not worth it to go back and fix it, because I'd have to do everything over again, and you guys are much better at fixing this stuff than I am."
I indicated that everyone is too busy to stop and fix her mistakes, to which she then asks:
"So if you can't fix my mistakes, what am I supposed to do?"7 -
--- GitHub 24-hour outage post mortem ---
As many of you will remember; Github fell over earlier this month and cracked its head on the counter top on the way down. For more or less a full 24 hours the repo-wrangling behemoth had inconsistent data being presented to users, slow response times and failing requests during common user actions such as reporting issues and questioning your career choice in code reviews.
It's been revealed in a post-mortem of the incident (link at the end of the article) that DB replication was the root cause of the chaos after a failing 100G network link was being replaced during routine maintenance. I don't pretend to be a rockstar-ninja-wizard DBA but after speaking with colleagues who went a shade whiter when the term "replication" was used - It's hard to predict where a design decision will bite back and leave you untanging the web of lies and misinformation reported by the databases for weeks if not months after everything's gone a tad sideways.
When the link was yanked out of the east coast DC undergoing maintenance - Github's "Orchestrator" software did exactly what it was meant to do; It hit the "ohshi" button and failed over to another DC that wasn't reporting any issues. The hitch in the master plan was that when connectivity came back up at the east coast DC, Orchestrator was unable to (un)fail-over back to the east coast DC due to each cluster containing data the other didn't have.
At this point it's reasonable to assume that pants were turning funny colours - Monitoring systems across the board started squealing, firing off messages to engineers demanding they rouse from the land of nod and snap back to reality, that was a bit more "on-fire" than usual. A quick call to Orchestrator's API returned a result set that only contained database servers from the west coast - none of the east coast servers had responded.
Come 11pm UTC (about 10 minutes after the initial pant re-colouring) engineers realised they were well and truly backed into a corner, the site was flipped into "Yellow" status and internal mechanisms for deployments were locked out. 5 minutes later an Incident Co-ordinator was dragged from their lair by the status change and almost immediately flipped the site into "Red" status, a move i can only hope was accompanied by all the lights going red and klaxons sounding.
Even more engineers were roused from their slumber to help with the recovery effort, By this point hair was turning grey in real time - The fail-over DB cluster had been processing user data for nearly 40 minutes, every second that passed made the inevitable untangling process exponentially more difficult. Not long after this Github made the call to pause webhooks and Github Pages builds in an attempt to prevent further data loss, causing disruption to those of us using Github as a way of kicking off our deployment processes (myself included, I had to SSH in and run a git pull myself like some kind of savage).
Glossing over several more "And then things were still broken" sections of the post mortem; Clever engineers with their heads screwed on the right way successfully executed what i can only imagine was a large, complex and risky plan to untangle the mess and restore functionality. Github was picked up off the kitchen floor and promptly placed in a comfy chair with a sweet tea to recover. The enormous backlog of webhooks and Pages builds was caught up with and everything was more or less back to normal.
It goes to show that even the best laid plan rarely survives first contact with the enemy, In this case a failing 100G network link somewhere inside an east coast data center.
Link to the post mortem: https://blog.github.com/2018-10-30-...6 -
My last wk93 story, the time we discovered school faculty was spying on students and we uncovered student's deepest secrets.
I call it, kiddiegate.
So if you've read my past rants you've noticed I did some pretty childish and reckless stuff with my highschool's systems when I was younger, but nothing compares to this thing.
After resetting the sysadmin account pwd on some machines it occurred to me I could write a keylogger to capture teachers Moodle accounts and so on, I decided to try it out on a regular lab computer first.
Imagine my surprise when I found a hidden keylogger already installed! I couldn't believe it but then I thought, what if other PC's have it? So I recruited my mates and teached them the process to check if a PC had been infected...ALL PCs were, over 30 computers we checked had been logging for over 3 months! That damn sysadmin! >:[
We were shocked and angry, but then I thought "hey. . . My work has been done for me, better take advantage"
So we did, we extracted each log and then removed it from the PCs along with the keyloggers. There were hundreds of records and then one day we started snooping into the fb accounts of some students (we shouldn't have) we uncovered so many nasty, shocking secrets...
One of the school's lady's man had a drunk one nighter with one of our gay friends, the most secluded and shy guy was sexting like crazy with 15 chicks at the same time, things like that...we promised to never say a word and deleted the logs.
After that we didn't do much and continued highschool as every teenage minor should, getting drunk and avoiding responsibilities, though we could never see many of our classmates the same way. The sysadmin was fired shortly after I graduated, no reason was stablished.
I want to clear out we were minors and laws in my country weren't clearly stablished at the time plus no harm was ever done. I don't condone hacking or any kind of illegal activity, just thought I'd share.6 -
Interesting thing I did yesterday:
This is a program which loops over every word in the wamerican word database and checks if the username is available on the Mojang servers, thus, this is a Minecraft OG username finder, and it works beautifully.
I'm checking 72,000 words, the only thing is I can only check one per second, so the entire process takes about 20 hours. Any usernames which are available are sent into a text file for later viewing, and it remembers which word it looked at last if you can't have your computer on for 20 hours straight.
Very happy! Found quite a few good names so far!14 -
First rant here. Long, but please bear with me:
So after slogging my ass off in various early stage startups for over 4 years and keeping up with the almost non-existent development process, I joined an organisation which has some of the brightest and smartest minds I have had the pleasure to work with.
Mind you, this company is the market leader in it's field and has a 50+ people in it's tech team and the quality of work is pretty impressive.
Now for this week's sprint, I was asked to develop a feature which already exists on the Android app and they want to introduce in the iOS app too. The backend APIs are all in place and all I need to do is build it with virtually no dependency. My PM asks me to start with the UI and ask the backend dev for the API list whenever I need them.This is where the story turns.
For my first API, I go to the backend dev and ask him to share the API documentation and he looks at me as if I have asked him to dance the fucking cha cha. With a straight face he tells me that, 'The organisation doesn't maintain any kind of documentation for it's APIs.' Now this really shocks me. Even in a 5 men tech teams I have worked on, we have always maintained a spec doc for the APIs and this is a company which is known for it's tech practices.
Being the new guy I compose myself and ask if they have anything for me here: Postman collection, a workflowy doc, a goddamn txt file; anything which might help me, and he laughs at my dilusion and says no.
Dejected, I ask for a way to get the APIs and I am told that there are only two ways: either I keep bothering the Android dev for the APIs(No, I don't have the access to the android repo and nor am I gonna get it) which he had worked on 4 months back or I install the prod app on my phone, and use Charles to get every fucking API which is really, really annoying.
I thought writing out this rant would make me feel better, turns out it just made me angrier. Why the fuck can't they document such an important thing!?13 -
Whoever is responsible for the responsible for the refund process on airbnb can eat a bunch of dicks, watch me spill all of the fluids over his keyboard and then watch me break every single one of his/her fingers.
How the fuck do you dare to keep all of my money in some kind of internal wallet while I clearly need it to get a hotel after your starrated host left me hanging, autoaccepting but then telling me via phone that he using vacation till Friday... Half a goddamned fucking hour after I tried to call him. I want to report the shit out of this asshole, but no I can't because I cancelled my stay.
For the love of God and his creation is it this hard to punish assholes for ruining my new year and making me freeze my hand and ears of?2 -
My code review nightmare part 3
Performed a review on/against a workplace 'nemesis'. I didn't follow the department standards document (cause I could care less about spacing, sorted usings, etc) and identified over 80 bugs, logic errors, n+1 patterns, memory leaks (yes, even in .net devs can cause em'), and general bad behavior (ex.'eating' exceptions that should be handled or at least logged)
Because 'Jeff' was considered a golden child (that's another long TL;DR), his boss and others took a major offense and demanded I justify my review, item by item.
About 2 hours into the meeting, our department mgr realized embarrassing Jeff any further wasn't doing anyone any good and decided to take matters into his own hands. Thinking 'well, its about time he did his job', I go back to my desk. About an hour later..
Mgr: "I need you in the conference room, RIGHT NOW!"
<oh crap>
Mgr: "I spoke to Jeff and I think I know what the problem is. Did you ever train him on any of the problems you identified in the review?"
Me: "Um, no. Why would I?"
Mgr: "Ha!..I was right. So lets agree the problems are partially your fault, OK?"
Me: "Finding the bugs in his code is somehow my fault?"
Mgr: "Yes! For example, the n+1 problem in using the WCF service, you never trained him on how to use the service. You wrote the service, correct?"
Me: "Yes, but it's not my job to teach him how to write C#. I documented the process and have examples in the document to avoid n+1. All he had to do was copy/paste."
Mgr: "But you never sat with Jeff and talked to him like a human being? You sit over there in your silo and are oblivious to the problems you cause. This ends today!"
Me: "What the...I have no idea what you are talking about. What in the world did Jeff tell you?"
Mgr: "He told me enough and I'm putting an end to it. I want a compressive training class developed on how to use your service. I'll give you a month to get your act together and properly train these developers."
3 days later, I submit the power-point presentation and accompanying docs. It was only one WCF with a handful of methods. Mgr approved the training, etc..etc. execute the 'training', and Jeff submits a code review a couple of weeks later. From over 80 issues to around 50. The poop hits the fan again.
Mgr: "What's your problem? When are you going to take your responsibility seriously?"
Me: "Its pretty clear I don't have the problem. All the review items were also verified by other devs. Its not me trying to be an asshole."
Mgr: "Enough with the excuses. If you think you can do a better job *you* make the code changes and submit them for Jeff for review. No More Excuses!"
Couple of days later, I make the changes, submit them for review, and Jeff really couldn't say too much other than "I don't see this as an improvement"
TL;DR, I had been tracking the errors generated by the site due to the bugs prior to my changes. After deployment, # of errors went from thousands per hour to maybe hundreds per day (that's another story) and the site saw significant performance increases, fewer customer complaints, etc..etc.
At a company event, the department VP hands out special recognition awards:
VP: "This award is especially well earned. Not only does this individual exemplify the company's focus on teamwork, he also went above and beyond the call of duty to serve our customers. Jeff, come on up and get this well deserved award."19 -
Part of the new hire process was all salaried employees had to work all hourly position jobs for a day (over a several week period, not all in one day) to really understand what we do.
I once hazed a new network admin who was working in the call center and I sent his station a pop-up message:
“Ha! Fire me will you!! I planted this virus and if you don’t enter the password in 60 seconds I will erase the database.” The pop-up had a counter counting down from 60.
This was over the lunch hour, so all the supervisors and managers were away and ‘Mark’ in a panic ran into our office (I was hiding under my desk)
Mark: GUYS!!...GUYS!!!....OMG!….Where the frack is everybody?!!!”
He runs out.
I peek out the door window and about a second later he’s running down the hall with one of the vice presidents. Mark shows the VP the message, VP looks over at our office, sees me…laughs and walks back to his office (not saying much to Mark).
Mark not knowing what’s going on watches the counter…3...2…1….
”Just kidding. Welcome to the company!”
Ahhh…the repeated sounds of “You son of a -bleep-!!” never sounded so sweet.1 -
!rant
"I should be in charge," said the brain , "Because I run all the body's systems, so without me nothing would happen."
"I should be in charge," said the blood , "Because I circulate oxygen all over so without me you'd waste away."
"I should be in charge," said the stomach," Because I process food and give all of you energy."
"I should be in charge," said the legs, "because I carry the body wherever it needs to go."
"I should be in charge," said the eyes, "Because I allow the body to see where it goes."
"I should be in charge," said the rectum, "Because Im responsible for waste removal."
All the other body parts laughed at the rectum And insulted him, so in a huff, he shut down tight. Within a few days, the brain had a terrible headache, the stomach was bloated, the legs got wobbly, the eyes got watery, and the blood Was toxic. They all decided that the rectum should be the boss
The Moral of the story? Even though the others do all the work.... The ass hole is usually in charge4 -
follow on from my last rant.
I've finally gotten my new Jira project. Only thing I seem to have access to change is the Kanban board columns. Still has 50+ fields when creating a ticket etc.
Asked the support team handling the request if this was a mistake. He said no, i'll need to open another ticket to have those changes requested.
Opened and got a reply. Currently there are 2 versions of Jira running. They are working on consolidating them atm and won't help me right now until this is done. I've been asked to re-open my request after the consolidation is done in March 2019.
5 ... fucking ... months, so I can have a competent ticketing process.
He pointed me to a page explaining the move and listing all the changes taking place. Well lets look at the changes they are making that are so critical:
Change 14: Rename "More info" status to "Needs more info".
... Oh pardon me. I didn't realise such critical show stoppers were being addressed. Please do continue. Don't mind me, i'll just be over here taking 4 hours to create an Epic and 6 stories. As you were9 -
TL;DR: Fuck you Apple.
10:30 PM, parent needs iPhone update to update Messenger. How hard can this be?
Need to update iPhone from 9.x to latest, which is so outdated it still required iTunes. Fk.
Boot iTunes on Windows 10 pc that is at least 10 years old.
Completely unresponsive
Crash in task manager
Launch and is completely unresponsive. (Also starts playing unrequested music.. Oh joy..)
Fuck this, go to apple.com to download iTunes exe
Gives me some Microsoft store link. Fuck that shit, just give me the executable
Google “iTunes download”. click around on shitty Apple website. Success.
Control panel. Uninstall iTunes. (Takes forever, but it works)
Restart required (of fucking course).
2 eternities later. Run iTunes exe. Restart required. Fk.
Only 1 eternity later. Run iTunes, connect iPhone.
Actually detects the device. (holy shit, a miracle)
Starts syncing an empty library to the phone. Ya, fuck that.
Google. Disable option. Connect phone. Find option to update.
Update started. Going nowhere fast. Time for a walk at 1:00 AM punching the air.
Come back. Generic error message: Update failed (-1). Phone is stuck installing update. (O shit)
1x hard reset
2x hard reset
Google. Find Apple forum with exact question. Absolutely useless replies. (I expected no less)
Google recovery mode. Get into recovery mode.
Receive message: “You can update, but if it fails, you will have to reset to factory settings”. Fuck it, here we go.
Update runs (faster this time). Fails again. Same bullshit error message. (Goddammit, fuck. This might actually be bad.)
Disconnect phone.
… It boots latest iOS version. (holy shit, there is a god)
Immediately kill iTunes. Fuck that shit.
Parents share Apple account
Sign in, 2FA required.
Fat finger the code.
Restart “welcome” process.
Will not send code. What. The. Fuck.
Requests access code on other parent’s iPhone.
No code present. What???
Try restarting welcome process again. No dice. (Of course)
Set code on other parent’s iPhone.
Get message “Code is easy to guess”. Ya. IDGAF
Use code on newly updated iPhone. Some success.
Requires reset of password.
Password cannot be the same as old password (Goddammit)
Change password.
Welcome process done.
Sign in again on same phone after welcome process done in settings. (Nice.)
Sign in again on other phone with updated password
Update Messenger.
Update hangs. Needs more space.
Delete shit.
Update frozen in App Store (Really??)
Restart iPhone.
Update Messenger.
Update complete past 2. Well that was easy.
Apple, fuck you.
Some call Android unintuitive, but I look at the settings app on iPhone and realize you aren’t any better.
This company hasn’t been innovative since 2007. Over 1000 USD for a phone? Are you fucking kidding me?
Updating an iPhone from iOS 9.x is probably uncommon anymore. But this is a fucking joke. Fix your shit.
Shit like this is why I’ll never again own an Apple product. I have HAD IT with the joke of a business.
Thanks for reading.17 -
Story time!
A little over a year ago I was in the hiring process with a new company and countered their initial offer. I was told by the CTO that it was no problem and they would get back to me soon.
A couple days go by and I'm then informed that they're hiring a new IT director and would like me to interview with him as well. It felt kinda lame since I'd already been offered the job but I rolled with it.
When I showed up to the office for an interview I tried to call and let them know I was there and couldn't get a hold of anyone. 30 minutes later I get a call from the CTO saying they couldn't find the new IT director and when they got him to answer the phone he said he had left early and would call me to do a phone interview.
Obviously the whole experience so far has been pretty lame but I stuck with it because I knew the CTO personally. I did the phone interview and quickly realized this dude was a prick, and would be a terrible boss, but I spoke with the CTO again who told me to stick with it and eventually I did get the job.
Fast forward about a month and it's clear the new director is trash. He literally bragged about firing a dude over an accidental outage (wtf!?).
He had the technical experience you'd expect of a junior help desk and his management skills were pretty clearly sub-par.
He was also, for whatever reason, completely unable to communicate with the only woman on our team. When assigning work he would always feel the need to ask if she could 'handle it' rather than just assigning it to her like it's done for everyone else. He was pretty clearly sexist.
The whole team hates this dude by this point but he's somehow managed to woo the executives into thinking he shits gold.
I was helping him set up a Python venv on his machine when I noticed another VPN client installed which certainly piqued my interest. After a bit of digging it was clear he was using company time and company equipment to continue working for his previous employer.
We turned over logs and he was fired the next day. He tried to add me on LinkedIn afterwards and I have never declined something quicker.
Moral of the story is don't be a dickhead.1 -
Team quarterly capacity planning:
- Confluence document created with a big table (+100 rows) by product / business. Each row is something that needs to be worked on for the coming quarter.
- Row 1 could be an Epic with 15 tickets attached. Row 2 could be adding a single log to our analytics. No consistency.
- For each row, we create a separate confluence document with the "technical details". 75% of the time these remain blank. 1% of the time there is something useful, the rest its a slightly longer version of the description from the bigger document.
- Each row gets a high level estimate by the leads. 50% of the time without sufficient background info to actually do get it accurate.
- These are then copied into the teams excel spreadsheet, where it will calculate if we are over/under capacity.
- We will go backwards and forwards between confluence and excel until we are "close enough" to under capacity without being too much.
- Once done, we then need to copy them into the org/division's excel spreadsheet. This document is huge, has every team on it and massive 50pt text saying "Do not put a filter on this document".
- Jira tickets + Epics will now be created for each one, with all the data be copied over by hand, bit by bit, by product. Often missing something.
- Last week, at the end of this process for Q2 (2 weeks late), 6 of the leads were asked to attend a 30 minute meeting to discuss how to group the line items together because we had too many for the bigger excel spreadsheet.
- This morning I was told business weren't happy with one of our decisions to delay one line item. Although they were all top priority (P0), one of them was actually higher than that again (P-1?) and we need to work it back in.
... so back to step 1
- Mid way through Q2, a new document will be created for Q3. Work items that didn't make the cut will be manually copied from one to the other. 50/50 whether anything that didn't get done on time in Q2 will make its way to the Q3 doc.
- "Tech excellence" / "Tech debt" items (unit/UI tests, documentation, logging, performance, stability etc) will never be copied over. Because product doesn't understand them and assumes therefore that they are unimportant.
==================
PS: I'd like to say this was a rare event for Q2, but no. Q4 and Q1 were so bad, we were made assurances from the director of engineering that he would fix this process for Q2. This is the new and improved process (I shit you not) that has resulted in nothing tangible.7 -
Around 2009 or earlier, I began the long grueling process of creating my own batch AI (yes batch as in Windows Batch , kill me for not knowing there were better languages around). Looking back at it, it is THE messiest thing I've ever created. Mostly because of how many unnecessary files were created to make the entire thing work. However, I’m still proud of it to this day because of the dedication I had put into creating the entire thing.
I would create diagrams on the mirrors in my room; of course I would be scolded for this. But I really couldn't stop thinking about my program and working through the entire thing.
I would scribble and type whenever I had the chance, trying to create the functions that would allow the thing to talk back to me. Finally, when it opened its eyes and spoke its first words I quickly started creating the functions that would allow it to learn new inputs. Over time and with some elbow grease I was able to polish it up to my liking.
The entire program branched off some of my more earlier programs in batch, they mostly ranged from the medial to the crazy; i.e. turning my computer on and off at certain times of the day, and multithreaded migration of files to new disks
It's not as sophisticated as other AI progrmas that were being made at the time, but at the age of 16 and with no experience in real programming at all, I'd say it was my first stepping stone towards more sophisticated programs, and ultimately, my decision to enter into Computer Science at all.3 -
Me a while ago talking to a recruiter over the phone. This was for a C++ dev position.
(R)ecruiter : So except for the development things, we are looking for someone who has experience configuration linux. Do you have any experience with that?
(M)e : Sure, I use Linux all the time. What do you mean.
R : Well, Just using Linux isn't enough for this position, you need to have experience in configuration Linux.
M : Well. I can't answer your question if you don't specify what you mean. Do you mean that I need to be able to install my own packages? Set up my dev environment? Bash scripting? Being able to configure my bash profile to have good aliases? Use Linux to develop software? Because I can do all of these.
M : Or do you need someone who can write Kernel modules for the OS, because I don't have any experience in that but would like to learn.
R : Oh, I don't really know what it means. But the paper says that you need to have experience configuration Linux. So what would you say your experience with that is?
Me internally : JESUS CHRIST I JUST TOLD YOU WHAT I KNOW AND WHAT I DON'T KNOW HOW ARE YOU GOING TO ASSESS ME CORRECTLY.
Me 😎 : I use Arch and you have to set it up completely from the ground by your self so I know everything there is to know.
Basically every question was like this with the recruiter. I got further in the process but quit because the workplace looked like it would drain my soul when I got interviewed by the employees of the company.
Jesus Christ though, some recruiters could be replaced by an automated phone system.17 -
I would like to invite you all to test the project that a friend and me has been working on for a few months.
We aim to offer a fair, cheap and trusty alternative to proprietary services that perform data mining and sells information about you to other companies/entities.
Our goal is that users can (if they want) remain anonymous against us - because we are not interested in knowing who you are and what you do, like or want.
We also aim to offer a unique payment system that is fair, good and guarantees your intergrity by offer the ability to pay for the previous month not for the next month, by doing that you do not have to pay for a service that you does not really like.
Please note that this is still Free Beta, and we need your valuable experience about the service and how we can improve it. We have no ETA when we will launch the full service, but with your help we can make that process faster.
With this service, we do want to offer the following for now:
Nextcloud with 50 GB storage, yes you can mount it as a drive in Linux :)
Calendar
Email Client that you can connect to your email service (
SearX Instance
Talk ( voice and video chat )
Mirror for various linux distros
We are using free software for our environment - KVM + CEPH on our own hardware in our own facility. That means that we have complete control over the hosting and combined with one of the best ISP in the world - Bahnhof - we believe that we can offer something unique and/or be a compliment to your current services if you want to have more control over your data.
Register at:
https://operationtulip.com
Feel free to user our mirror:
https://mirror.operationtulip.com
Please send your feedback to:
feedback@operationtulip.com44 -
How it is to be a dev in my country?
At bit of an odd question this week.
For me (in the USA), it's being technical support for *every* website my family uses.
Over the weekend my wife visited her aunt and I get a call.
Wife: "How do I create an ebay account?"
Me: "I don't like where this is going. We already have an account."
Wife: "Not for me, dummy, Aunt T. She found some books she wants to buy on ebay."
Me: "You go thru the process to create an account? Email, name, password, etc."
Wife: "We tried that, but it's not working."
<few seconds of silence>
Me: "Oookaaay...why isn't it working? Is there an error?"
Wife: "I don't know, we already clicked off of it. Something about the email."
<few more seconds of silence>
Me: "Can you reproduce the error and tell me?"
Wife: "Uggh..are you serious? We've done it like 10 times, its not working. Just tell me what I need to do."
Me: "If you can't tell me the error, I can't help you. I'm not there and can't see what you see."
Wife: "Stop being an asshole."
<Aunt T takes the phone>
T: "Said something about using another email address. Does that help you?"
Me: "Are you sure you don't already have a ebay account?"
T: "No, I don't think so. I hate ebay. but I really want these books. I don't want the same problems as last time."
Me: "Last time?"
T: "Yes, I bought a coffee cup on ebay from China and it never arrived."
Me: "OK, so you do have an account?"
T: "I don't know, I mean, I never got the cup."
Me: "What email address did you use? I'll send a 'remind me' email so you can reset the password and login"
<go thru the motions, she is able to login>
T: "Ahhh...I do have an account! There are the golf balls I bought for <husband> for Christmas."
<face smack>
Wife: "Why didn't you do this from the start? I thought you knew a lot about computers. We basically figured this out ourselves. Goodbye!"
<click>11 -
!rant
Observed a full deployment the other day and discovered it's extremely inefficient. I proposed an idea to fix it, and was shot down by a senior dev on the team. I was ranting about how asinine the process was and how my process could reduce the amount of time and training required to do deployments with out any additional cost or overhead. A senior dev from another department over heard me, found my workspace and told me (in a nutshell), "write up a document about why the current process is garbage and how yours is better, and how it works, I'll review it and we'll get it worded and formatted right. When we finish the document, I'll forward it to the CTO of your department with your name on it and my recommendation for review." Fuck yeah. 😈😎7 -
When your primary Android app (with over 1/2 million total downloads) gets banned...
And all the email says is read these [links to] policies!
Back story: this happened to me back in 2011, no matter what I did there was no way to get in touch with a human at Google, I sure hope this process has gotten better! Having my app suspended with no way to fix and get it back is ridiculous!! This could ruin a business.
Over two years later, on a Google+ hangout with Google Android devs out of the Google London office, I said to them how silly it is that this happened....one of them asked me for the app ID, I provided, he looked it up in a system which then had a reference code which then related to SEO violation....wow I finally found the answer, how silly that an SEO violation (too many keywords in the app description) can get your app permanently suspended. What a shame. I wouldn't wish this on any solo developer trying to self learn and make something...
Sometimes I really just have to say "Fuck you, Google" out loud a few times.9 -
I love Linux, but its community can be so full of incompetent assholes..
Just now I asked in Freenode ##linux how to get the process ID of my current running process in bash. I got my answer - it's a shell built-in called "$$".
Then people start to nitpick some more - why do you need it? How is that different from an exit? - to which my response was.. well I know the whole idea behind exit codes, and I'd use it whenever possible, in all defined behavior that allows my program to terminate itself whenever it can. This pidfile however would be used to exit itself and provide diagnostic information whenever the program enters undefined behavior - a segfault in C language. Scenarios in which I don't have full control over the script's behavior anymore, such as the system entering an unworkable state where the system stalled, still got some binaries in RAM but the rootfs got unwritable, such as now - very helpfully, thanks HP! - when my laptop likely overheated and shat itself. I issued sudo reboot into it, but even that wouldn't issue properly anymore due to the /sbin/poweroff binary becoming inaccessible too. I had to issue a hard power cycle.. one of the few times in which I'm thankful to HP for actually causing shit like this, lol.
Point is, that undefined behavior is what I'm trying to mitigate against. I certainly can't let any files other than diagnostics remain in nonvolatile storage like that, especially when their state should be predictable in order to ensure good operation (like files expressing whether the script is already running or not, i.e. lock files).
Back to that IRC chat. Aside from the answer, I got ridicule from people who probably don't even know how to properly compile a kernel. Ubuntu users, overconfident scum. Sometimes I feel like I should ask questions in channels like #archlinux only, where such incompetency is ridiculed on its own.13 -
Question!
I am 26, and recently diagnosed with autism. An incredibly late diagnosis due to my absolutely amazing ability to keep everything internal.. It has caused my countless headaches and heartaches over the years and its good to finally understand what it is thst makes me how I am...
I am also aware that IT goes hand in hand with autism due to our thought process being so 'logical' and our acceptance of failure is.... Er... Not the best. But we also have the stubborness/determination to keep going, learn what it is we did wrong and improve upon it.
So my question really is, are many of you on the spectrum also? If so, are there any coping strategies that you can share with me/everyone who reads this?
By coping I don't mean just dealing with it, but I mean in the workplace. I've never had a job formally in IT because I never did any qualifications in it. Rebuilt my first pc at age 7 and been hooked since.
I have always been a mechanic because again, logic reasons.
I'm currently in contact with an organisation here in Norway called 'Unicus' who are specialised in employing people on the spectrum, specifically in the IT sector... Have any of you heard of them? They seem promising to me
Thanks for reading guys and please feel free to delete this if this really isn't the place for it, I just feel that within this community there are more of us and I would like to open the door for communication16 -
User: Bobby, please update this quality controlled document because I screwed it up.
Me: No there is a process for a reason, multiple people need to sign off on this. Also, we talked about this exact issue a year ago that you did not fix.
User: But its a minor change, several hyperlinks in the Word document need adjusted.
Me: Ok, you do it and submit it through the process again.
User: Can you make the changes to the document? It will take me forever and I'm very busy. I know you can do it much quicker than I can.
Me: I really don't want to edit this document myself. It doesn't apply to my job at all and I cannot verify any of the changes would be correct.
User: Oh it's fine. Make the changes and I'll look over it.
...
I hate my job sometimes.9 -
Came back from vacation today to find out that some FUCKTURD PIECE OF SHIT deleted my virtual server!! Tried to find any traces on who that SHITFACED NUTSACK was without luck. This server is hosting several websites, some having files and data stretching over more than 10 years! Spent the day praying to GOD that my equally old backup scripts had run and where the FLYING FUCK those files were saved. Luckily the script had worked and I found a recent backup so now I can start the restore process on another machine. But still. WTF!!??6
-
A few months ago I was working on a (totally underpaid project) where my friend and I had to basically rewrite the entire program our client was using.
So we started planning and wrote all sorts of documentation to show the client our ideas for the new flow of the program, the new structure of the GUI and a few more details of what would the inner workings of the new app. He seemed to like all those ideas and gave us the green light to go through with the project and start coding.
We spent a couple of months coding, redoing the front end from scratch (with a different framework even, so I couldn't reuse any code from the old version) and completely redesigning the back end so it would be better, faster, more scalable etc etc etc. During this process, we obviously showed the progress of the app to our client, explaining everything we had been doing, and he seemed to like every new version we showed him.
When we were in one of the last stages in development (basically sending versions of the app to the client for evaluation), the guy suddenly changed his mind. After agreeing on everything we had been showing him over the last months, he sent an email saying:
"...the new system makes the app too complicated. I want this program to be as simple to use as possible; so we should revert the "Policy" system to essentially what it was in the last major version. The only change I want to make is [...] and everything else is essentially the same as the last Policy system."
So basically he wanted us to FUCKING UNDO EVERYTHING WE HAD DONE AND REVERT THE FUCKING PROGRAM TO THE FUCKING VERSION HE HAD BEFORE HIRING US!!!! WHAT THE FUCK????
YOU WANTED US TO CHANGE YOUR APP AND THEN YOU SUDDENLY CHANGE YOUR MIND AFTER 3 FUCKING MONTHS WHEN THE PROCESS IS DONE???
GO FIND A SWORDFISH TO FUCK YOU IN THE ASS, IM NOT WORKING FOR YOU ANYMORE
God, it feels good to let that out.4 -
About 18 months ago my non-technical Manager of Applications Development asked me to do the technical interviews for a .NET web developer position that needed to be filled. Because I don't believe in white board interviewing (that's another rant), but I do need to see if the prospective dev can actually code, for the initial interview I prepare a couple of coding problems on paper and ask that they solve them using any language or pseudo code they want. I tell them that after they're done we'll discuss their thought process. While they work the other interviewing dev and I silently do our own stuff.
About half way through the first round of technical interviews the aforementioned manager insisted we interview a dev from his previous company. This guy was top notch. Excellent. Will fit right in.
The manager's applicant comes in to interview and after some initial questions about his resume and experience I give him the first programming problem: a straightforward fizzbuzz (http://wiki.c2.com/?FizzBuzzTest). He looked as if the gamesters of Triskelion had dropped him into the arena. He demurs. Comments on the unexpectedness of the request. Explains that he has a little book he usually refers to to help him with such problems (can't make this stuff up). I again offer that he could use any language or pseudo code. We just want to see how he thinks. He decides he will do the fizzbuzz problem in SQL. My co-interviewer and I are surprised at this choice, but recover quickly and tell him to go ahead. Twenty minutes later he hands me a blank piece of paper. Of the 18 or so candidates we interview, he is the only one who cannot write a single line of code or pseudo code.
I receive an email from this applicant a couple of weeks after his interview. He has given the fizzbuzz problem some more thought. He writes that it occurs to him that the code could be placed into a function. That is the culmination of his cogitation over two weeks. We shake our heads and shortly thereafter attend the scheduled meeting to discuss the applicants.
At the meeting the manager asks about his former co-worker. I inartfully, though accurately, tell him that his candidate does not know how to code. He calls me irrational. After the requisite shocked silence of five people not knowing how to respond to this outburst we all sing Kumbaya and elect to hire someone else.
Interviews are fraught for both sides of the table. I use Fizzbuzz because if the applicant knows how to code it's an early win in the process and we all need that. And if the applicant can't solve it, cut bait and go home.
Fizzbuzz. Best. Interview. Question. Ever.6 -
Recap: https://www.devrant.io/rants/878300
I was out Thursday at the Hospital. I'm what the doctors would call "Ill as fuck"
So, Friday I’m back in the office to the usual: "How was that appointment?"
I know people mean well when they ask this. So, I do the polite thing and tell them it went as well as it could.
Realistically it does't matter how well it went... They haven't cured Crohn's because I showed up to the appointment. They know I'm fucked already.
But, push it down, add it to the future aneurism.
I had to go through the usual resignation meetings with managers:
"We"re fucked now you're going"
"yep"
"we need to get a handle on how fucked"
"already done that for you, here"s a trello board, very fucked."
"we need to put a plan together to drop all the junior devs in the shit with the work you’ve been doing"
"You need about 4 devs, please refer to the previous trello board for your plan"
Meanwhile, me and Morpheus are in constant communication because all of this is like a Shakespearean comedy.
So, I overhear a conversation between a Junior Dev and the Solution Architect.
[SA] took over the project because he knows better than two tried and tested senior devs -_- (fuckwit).
JD: "It took me one and a half days to build it out"
SA: "Yeah, it must have taken me twice as long... It must be a problem with the project, you should just be able to check it out and run it."
JD: "I know, it has to be wrong"
All of this is about Morpheus' work of art, of an Ionic 3 hybrid app.
I fumed quietly at my desk because I've been ordered by the Stazi to be hands off.
Since Morpheus and me were pulled from the project [JD] and [JD2] were dropped into it to get it over the line.
It"s unfortunate and I was clear and honest with my advice to them: I personally would not take over the project because I"d be way out of my depth... Oh, and the App works, so uh, there's no work to do.
They have been constantly at our desks. Asking fuckdiculous questions about how to perform basic tasks. So they can get Morpheus" frigging masterpiece to the user.
It"s like watching that touch up of jesus that got borked by an amateur. Shit I have google, it's like watching this happen: http://ti.me/NnNSAb
[JD] came to me Friday evening.
"I can’t get this to build to iOS or install on [Test Analyst]'s phone."
Me: "No worries brother, where are you stuck right now?"
[JD] describes the first steps with clear indication he hasn't googled his problem.
Life lesson: http://lmgtfy.com/?q=lmgtfy
Que an hour of me showing [JD] how to build an Ion3 project for iOS. Fuck it, your man's in a bind and he"s asked politely for help. I can show him quicker than he can read 3 sets of docos.
I took him through 'ionic cordova build ios', the archive and release processes in XCode 9, then the apk bundling process for droid. Finally we have an MAM so the upload process for that too.
All the while cleaning up his AppIDs, Profiles, deployment attempts.
Damn they were a mess.
I did this with a smile on my face, not because I could say "I told you so"... But. because when any developer asks you how to do something. If you know how to do it, you should always be happy to learn them some new tricks!
Dude's alright, he's been dropped in the shit. Now I know how badly so I'll help him learn things that are useful to his role, but aren't project specific.
As a plausi-senior dev (I'll tell you about that later); it's my job to make sure my team have what they need to go home smiling!
I’m not a hateful fucker, the guy asked me an honest question so I am happy to give him the honest answer.
I took him through it a few times and explained a few best practices. Most were how to do his AppID and ProvProfile set up. Good lad, took it all on board.
However! In his frustration, he pointed the finger at Morpheus' "David" (ref: Michelangelo).
He miraculously morphed into a shiny colourful parrot and fed me SA's line:
"you should just be able to build from a clean clone"
My response was calm and clear:
"You can, it took me 20 minutes on Thursday evening. I was bored and curios, so I wanted to validate Morpheus' work. Here it is on my iOS device and my Android device. It would have taken me 5 if my laptop wasn’t so horrifically out of date."
I validated Morpheus' work so I have evidence, I trust that brilliant bastard.
I just need to be able to prove it's good.
[JD] took this on board.
Maybe listening to two tried and trusted senior devs is better than listening to a headstrong Solution Architect.
When JD left for the weekend I was working a late one (https://www.devrant.io/rants/874765).
His sign off was beautiful.
"I think I can happily admit defeat on this one, it can wait until Monday."
To which I replied: "no worries brother, if you need a hand give me a shout."
Rule 1: Don't be a cunt.
Rule 2: If someone needs help and you can give it: Give it!
Rule 3: Don't interrupt James' cigarette time.
Rule 4: goto Rule 3.rant day 3 jct resigns crohns resignation solution architect wk71 invisible illness fuckwit illness junior developer4 -
Hello devRant,
This is already from a few days ago but I had to process the whole thing myself first.
It was a normal day at work nothing special. Customers came in got their repaired PC's/Laptops and brought some new work in. So I went through some and then I got to the case that is the most well unbelievable and shocking I had in the only 2 years doing this. At first it was a normal HDD bad sector thing and I started copying the old HDD to a new one.
//NOTE: the program we use shows every file it's copying and the sectors it spans //
Suddenly I saw a weird thing happening where it started copying tons of files from a folder called "mature/kids" over to the new HDD.
I noted the path and after it finished we returned the laptop to the customer and he luckily left his old HDD with us. So my boss and I we did some investigation and we'll turns out the dude has a whole library of childpornography.
tl;dr check what you copied and report such cases to the police.
Don't do such stupid shit and stay legal guys.
Which you all a great day/night/morning/evening/whatever
//EDIT: I ofc won't post pictures cause of obvious reasons3 -
The company I interned at last summer decided to adopt a JS framework a little over a year ago. The managers went with the old Angular 1.x because they didn't want a JS build process. Each page has ~100 script tags on it, and these are manually included in various files (no automated way to include dependencies). None of the CSS/JS files are minified, either.
They really should have chose Angular 2+, or an entirely different framework (React, VueJS). They're also just now upgrading the codebase from PHP 5.6 to PHP 7.2 (5.6 support ended a long time ago, and security support ends this month).
I love the company itself but these practices are poor.
I may be working there full time eventually. I hope to eventually help with the inevitable transition to a newer framework once Angular 1.x is dead since I am an avid user of newer JS technologies. Any tips on convincing manager(s) towards newer technology? (Or at least convincing them to combine+minify these files in production to reduce # of requests and bandwidth.)
Also this company's product has millions of active users.16 -
At a certain client, was asked to help them with an "intermediary" solution to stopgap a license renewal on their HR recruiting system.
This is something I was very familiar with, so no big. Did some requirements gathering, told them we could knock it out in 6 weeks.
We start the project, no problems, everything is fine until about 2.5 weeks in. At this point, someone demands that we engage with the testing team early. It grates a little as this client had the typical Indian outsourcing mega-corp pointey-clickey shit show "testing" (automation? Did you mean '10 additional testers?') you get at companies who put business people in charge of technology, but I couldn't really argue with it.
So we're progressing along and the project manager decides now is a great time to bugger the fuck off to India for 3 months, so she's totally gone. This is the point it goes off the rails. Without a PM to control the scope, the "lead tester," we'll call her Shrilldesi, proceeds to sit in a room and start trying to control the design of the system. Rather than testing anything in the specification, she just looked at the existing full HRIS recruiting system they were using and starts submitting bugs for missing features. The fuckwit serfs they'd assigned from HR to oversee this process just allowed it to happen totally losing focus on the fact this was an interim solution to hold them over for 6 months and avoid a contract renewal.
I get real passive aggressive at this point and refuse to deliver anything outside the original scope. We negotiate and end up with about 150% scope bloat and a now untenable timeline that we delivered about 2 weeks late, but in the end that absolute whore made my life a living hell for the duration of the project. She then got the recognition at the project release for her "excellent work," no mention of the people who actually did the work.
Tl;Dr people suck and if you value your sanity, you'll avoid companies that say things like, "we're not in the technology business" as an excuse to have shitty, ignorant staff.6 -
Craziest bug, not so much in the sense of what it was (although it was itself wacky too), but in what I went through to fix it.
The year was 1986. I was finishing up coding on a C64 demo that I had promised would be out on a specific weekend. I had invented a new demo effect for it, which was pretty much the thing we all tried to do back then because it would guarantee a modicum of "fame", and we were all hyper-ego driven back then :) So, I knew I wanted to have it perfect when people saw it, to maximize impressiveness!
The problem was that I had this ONE little pixel in the corner of the screen that would cycle through colors as the effect proceeded. A pixel totally apart from the effect itself. A pixel that should have been totally inactive the entire time as part of a black background.
A pixel that REALLY pissed me off because it ruined the utter perfection otherwise on display, and I just couldn't have that!
Now, back then, all demos were coded in straight Assembly. If you've ever done anything of even mild complexity in Assembly, then you know how much of a PITA it can be to find bugs sometimes.
This one was no exception.
This happened on a Friday, and like I said, I promised it for the weekend. Thus began my 53 hours of hell, which to this day is still the single longest stretch of time straight that I've stayed awake.
Yes, I spent literally over 2+ days, sitting in front of my computer, really only ever taking bio breaks and getting snacks (pretty sure I didn't even shower)... all to get one damn pixel to obey me. I would conquer that f'ing pixel even if it killed me in the process!
And, eventually, I did fix it. The problem?
An 'i' instead of an 'l'. I shit you not!
After all these years I really don't remember the details, except for the big one that sticks in my mind, that I had an 'i' character in some line of code where an 'l' should have been. I just kept missing it, over and over and over again. I mean, I kinda understand after many hours, your brain turns to mush. and you make more mistakes, so I get missing it after a while... but missing it early on when I was still fresh just blows my mind.
As I recall, I finally uploaded the demo to the distro sight at around 11:30pm, so at least I made my deadline before practically dropping dead in bed (and then having to get up for school the next morning- D'oh!). And it WAS a pretty impressive demo... though I never did get the fame I expected from it (most likely because it didn't get distributed far and wide enough).
And that's the story of what I'd say was my craziest bug ever, the one that probably came closest to killing me :)5 -
Windows 10 'App Store' Stole My Money.
So I work a 40 hour work week, sometimes more, same as anyone, on my feet, all day.
I get home, buy a little $3.99 app. Won't install. Check it again won't install. I check some guides. Follow all the standard commands, my purchase won't install. Use the tools. won't install.
Naturally I sent off what I'm good at, some hate filled invective
For fucks sake. I'm exhausted, have insomnia and want to wind down. And here microsoft is killing 32bit libraries to dispose of competing services like steam (also fuck gabe in his fat asshole) but I digress.
And they expect us to use their services? Spend our hard earned *fucking money*..and spend half an hour on their dumpster fire fucking 'walled garden' with nothing to fucking show for it?
No refund button. No chat option. Just a fucking feedback hub. Look at it some time. JUST LOOK AT IT. The motherfucking *feedback* hub *frozeup* in the process of my feedback. Microsoft is a sewer of negligent business practices and incompetence.
So I've chosen now to aim two heavy ion cannons at them and warned them too. Two twitter accounts, one with almost 10k followers and another with 15k.
Should have just offered a manual download button microsoft.
My money would have been better spent on alcohol. Cheap alcohol. It's not like it's a lot of money and I don't buy a lot online, but it's the principle. You're fucking *payment* process worked *just fucking fine*.
Anyway can anyone calculate the monetary damage a cumulative quarter million views over the course of a month will do to the reputation of the windows store in dollar amounts?
I'm betting it's going to be a lot fucking more than three fucking ninety nine.
Don't worry microsoft, I'm gonna take it out of your sweet fucking hide.22 -
A PCB I designed on the job over the last weeks shipped today! A benefit of hardware is the haptic element you have at the end of the design process - you made something touchable. (I am proud.)
Also, errors made earlier in the design process are permanent now. But other than on my software my design got reviewed, so I'm optimistic it'll not contain many if any.
I'm on vacation right now for moving stuff but I'm looking forward to do the "pick'n place" on monday. Soldering manually is quite relaxing for me, you should try it, too! ;)
In other news, I'm no longer sleeping on the floor in my home-office while the paint is drying in other rooms.
I already moved the most of my stuff - books and tech equipment are the worst - and I moved my furniture yesterday.
My new roommates are considerably quieter and my sleeping rhythm is slowly shifting back to normal.10 -
I've tried to stay out of the fray regarding replacing long-standing terminology to use "safe" inclusive wording instead because it doesn't seem like that big of a deal to me to just use the new wording. If the old wording wasn't hurting people (this is an argument that a of a lot of people use regarding this mass naming change movement) then the new wording shouldn't hurt anyone either...
that was just my 2 cents on the topic, until today!
Some dumb motherfuckers are trying to replace the word 'execute' with 'start'/'run'.
That's just some fucking ignorant plebian shit right there. The literal definition of execute is:
"The act or process to carry out fully or put completely into effect"
"to do what is provided or required by..."
"to perform what is required to give validity to..."
start and run don't grammatically encapsulate what execute does. And now I sound like a fucking grammar nazi because this shit is getting under my skin more than it should.
Execute's primary definition is grammatically correct for the context in which it is used.
Change Master/Slave for databases and I couldn't give a single solitary fuck about it. Primary/Secondary works just fine too. The grammatical context isn't blown away here.
But take away my execute and sudden I get all hot and bothered with the desire to punch a nun over how stupid this "offensive words" crusade is.
Thank you for coming to my Ted talk.15 -
Background: I work at a small startup company in Canada who makes simple FAQ Chatbots for companies who waste a lot of resources on the same Customer questions over and over.
So we were making this one bot for a provincial government who wanted a bot for students to be able to ask questions regarding the upcoming election and how to vote, etc. and get the answers they were looking for. Since it's Canada and a government bot, it had to be in both English AND French.
These bots take some time to train (we use Wit.ai mostly) in english so it was a challenge to train it in French. However I am bilingual (not very strong in French but can manage) so I did my best and the bot didn't turn out too bad. (English was great, French was, Id say, "not terrible").
HOWEVER, now that it is done (The company loved it, even with the less than perfect french version). The sales team (who know nothing of the process of making/training these bots) is now telling companies we support "SEVERAL LANGUAGES" and are currently about to sign a contract with a company overseas that wants a bot done IN JAPANESE!!.
To make matters worse.. when we (the dev team) brought up that it would be EXTREMELY difficult to do this, their answer was ... "You did it in French so you can just do the same but in Japanese"
HOW DOES THAT EVEN MAKE SENSE.
Oh well, Rosetta Stone here I come, I guess it's time to learn Japanese.11 -
sprint retros with PM are a fucking farce, it cannot possibly get any more grotesque.
they are held like this:
- in the meeting, PM asks each team member directly what they found good and bad
- only half of the team gives real negative feedback directed towards the PM or the process, because they are intimidated or just not that confrontative
- when they state a bad point, he explains them that their opinion is just wrong or they just need to learn more about the scrum process, in any case he didn't do anything wrong and he is always right
- when people stand up against this behavior, he bullshits his way out, e.g. using platitudes like "it's a learning process for the whole team", switching the topic, or solely repeating what he had just said, acting like everybody agreed on this topic, and then continue talking
- he writes down everything invisible for the team
- after the meeting he mostly remembers sending a mail to the team which "summarizes" the retro. it contains funny points like "good: living the agile approach" (something he must have obviously hallucinated during the meeting)
- for each bad point from team members, he adds a long explanation why this is wrong and he is doing everything right and it's the team's fault
- after that happens the second part of the retro, where colleagues from the team start arguing with him via mail that they don't feel understood or strongly disagree with his summary. of course he can parry all their criticism again, with his perfectly valid arguments, causing even longer debates
- repeated criticism of colleagues about poor retro quality and that we might want to use a retro tool, are also parried by him using arguments such as "obviously you still have to learn a lot about the scrum process, the agile manifesto states 'individuals and interactions over processes and tools', so using a tool won't improve our sprint retros" and "having anonymous feedback violates the principles of scrum"
- when people continue arguing with him, he writes them privately that they are not allowed to criticize or confront him.
i must say, there is one thing that i really like about PM's retro approach:
you get an excellent papertrail about our poor retro quality and how PM tries to enforce his idiocratic PM dictatorship on the team with his manipulative bullshit.
independently from each other, me and my colleague decided to send this papertrail to our boss, and he is veeeery interested.
so shit is hitting the fan, and the fan accelerates. stay tuned シ16 -
So, today for my SO's father who is already over 70 and wants to try Linux. However, he doesn't want Linux on his main PC for now, rather on the old one so that he can take his time to get familiar, which is a reasonable plan.
But holy crap, what a machine! Intel Core2 Duo 4400, 2 GB DDR2(!) RAM, 250 GB IDE(!) HDD, DVD RW drive. Graphics, sound and LAN integrated on the mobo chipset. It's half a miracle that it doesn't run on steam. The machine had been delivered with Vista and has always been painfully slow.
It doesn't even support booting from USB, but I had prepared a DVD just in case. Surprise: it booted from DVD without issues and with full HW support!
Partitioned and installed, deleted Vista in the process (felt good). I went with the full blown Mint 20 Cinnamon edition because XFCE isn't as beautiful. Also, having XFCE now and then Cinnamon looking different on the other PC would be confusing.
Installation took some time, but worked. Cinnamon's RAM usage is at 750 MB idle, and at 1.1 GB with Firefox started. Once the PC is booted, it runs pretty OK with reduced swappiness and noatime on all file systems, plus unnecessary startup applications disabled. Updates took long, but ran through successfully. Installed LibreOffice and some small games, Firefox got uBlock Origin, Youtube worked OOTB.
That PC somehow had escaped disposal several times - and now has a proper OS for the first time in its miserable existence. It runs so much better than it ever has. Just wow, a "big" Linux desktop from 2020 blows a contemporary Vista out of the water on such an old machine!16 -
So here is my week 72 as a reviewer. But first, let me ask y'all. Am I weird to think that you should finish coding the thing and testing the thing before kicking it out to review? Cuz that's how I do it. And that is the process at my work place.
So anyway, I was doing this review. And it was very wrong. Like really, really wrong. We give a thorough intro to our product (perhaps too thorough) so this guy should have known every test case he had to cover. Or at least, if he was unsure, asked. It was all documented.
Anyway, he kicks out this peer review. First thing I notice, it is not following the standard. Fair enough, we didn't give him the coding standard. BUT HE DIDN'T EVEN MAINTAIN THE FORMAT OF THE ORIGINAL FILE. HE JUST DID HIS OWN THING!!! So I email him the coding standard and make a comment in the review. He denies the finding. No reason. Just turns it down. Strike 1.
Then, I'm going through and he didn't even cover all of the core cases. I found several core cases that he missed. And every edge case. Make a not of it. He fixes only the couple of examples I gave him. Strike 2.
Guy decided to redesign a major chunk of our interfaces. Our interfaces are not just used by us (hence interfaces). We designed them the way they were for a reason. It was not a fun design process. Myself, the architect, one of our customers, and the guy that did the implementation all told him to roll back his change. Especially since it wasn't in the scope of what he was doing. He wouldn't. Strike 3.
I go to the lead and bring him in. He has a talk with him. All of the sudden he is putting out multiple builds per finding. Like most times I will put out like 2 to 4 for the whole peer review. No he kicks out minimum one per finding and chokes the review queue. Strike 4.
Strike 5: he tells me, a former DBA, that I didn't know what I was talking about when I told him to move something into a new table, even after I told him that "while in database terms it doesn't make sense, this is for product robustness".
Strike 6: he was just a condescending asshole. Bragging about how he did this job and that job over his career. His longest position held was about 18 months. Bragged about working at my company and being some hotshot at the company: only worked here for 8 months and that was 5 years ago.
You know. I have never really wanted to fight someone after about undergrad. But he came close.7 -
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9 -
Last week our department drama queen was showing off Visual Studio’s ability to create a visual code map.
He focused on one “ball of mud”, vilifying the number of references, naming, etc and bragging he’s been cleaning up the code. Typical “Oooohhh…this code is such a mess…good thing I’m fixing it all..” nonsense. Drama queen forgot I wrote that ‘ball of mud’
Me: “So, what exactly are you changing?”
DK: “Everything. It’s a mess”
Me: “OK, are any of the references changing? What exactly is the improvement?”
DK: “There are methods that accept Lists. They should take IEnumerables.”
Me: “How is that an improvement?”
<in a somewhat condescending tone>
DK: “Uh…testability. Took me almost two weeks to make all the changes. It was a lot of work, but now the code is at least readable now.”
Me: “Did you write any tests?”
DK: “Um…no…I have no idea what uses these projects.”
Me: “Yes you do, you showed me map.”
DK: “Yes, but I don’t know how they are being used. All the map shows are the dependencies.”
Me: “Do you know where the changes are being deployed?”
DK: “I suppose the support team knows. Not really our problem.”
Me: “You’re kinda right. It’s not anyone’s problem.”
DK: “Wha…huh…what do you mean?”
Me: “That code has been depreciated ever since the business process changed over 4 years ago.”
DK: “Nooo…are you sure? The references were everywhere.”
Me: “Not according to your map. Looks like just one solution. It can be deleted, let me do that real quick”
<I delete the solution+code from source control>
Me: “Man, sorry you wasted all that time.”
I could tell he was kinda’ pissed and I wasn’t really sorry. :)2 -
*tries to shrink an NTFS volume in preparation for a new BTRFS volume*
(shameless ad: check out https://github.com/maharmstone/...! BTRFS on Windows, how cool is that?)
Windows Disk Management: ah surely, I can do that for you.
*clicks "shrink"*
…
Well that disk calculation process is taking a long time...
*checks Task Manager*
*notices a pretty disk-intensive defrag process*
… Yeah.. defragging. Seems reasonable. Guess I'll just let it finish its defragmentation process. After that it should just be able to shrink the NTFS filesystem and modify the partition table without any issues. After all, I've done this manually in Linux before, and after defragging (to relocate the files on the leftmost sectors of the disk) it finished in no time.
*defrag finishes*
Alright, time to shrink!
….
Taking a shitton of time...
*checks Task Manager again*
System taking a lot of disk this time.. not even a defrag? How long can this shit take at 40MB/s simultaneous read and write?
…
*many minutes passed, finished that episode of Elfen Lied, still ongoing...*
Fucking piece of Microshit. Are you really copying over the entire 1.3TB that that disk is storing?! Inefficient piece of crap.. living up to the premise of Shitware indeed!!!15 -
People are incredibly rude and ill mannered.
New company stories.
Whenever I am in office and having a conversation with a person, someone randomly appears (like those annoying pop-ups on websites) and interrupts the conversation and starts with their own.
I don't understand why people don't wait for the conversation to be over, or ask for permission (in case it is urgent).
Such behaviour derails the entire thought process and breaks the rhythm.
It's just beyond me. How difficult it can be!!!17 -
Call me a spoiled Linux kid but FUCK WINDOWS UPDATE!!
It's not even the shitty deployment cycle that they have for their updates, the real cancer is the fucking update app.
First off, if you fucking piece of shit already have the audacity to load gigabytes of updates over my 0.8mbit/s connection in the background, without my goddamn consent, at least let me PAUSE the fucking download!!! I don't see why the fuck you have to block my connection, and therefore me, from the most basic things like visiting a fucking website for more than a FUCKING HOUR to load useless updates, YOU PIECE OF BLOODSTAINED SHIT, I GOT SHIT TO DO.
And it doesn't stop there, noooo: then you even have the bloody fucking nerve to FORCE ME TO INSTANTLY RESTART AND SIT THROUGH YOUR FUCKING 40 MINUTE UPDATE PROCESS WHILE IM TRYING TO WORK.. WITHOUT THE ABILIT TO DELAY THE UPDATE!!! What the fuuuck?!
It is seldom that I am this 👌 close to just dd'ing /dev/null to my windows partition. Fuck you!!17 -
Situation: My lead dev (read as in, my employee that has the lead developer position, not my superior) is complaining about certain decisions being made in regards to a rather large project that has been stagnated by executive political bullshit.
Me: let them fuck themselves over, it is their decision to have a voice on this and we are not the ones developing it, merely managing the resources.
Him: Well they do not know what they are asking! everyone is wanting to have an opinion! a voice!!!
Me: and by their own volition they will fuck themselves over and I have the proper documentation to show everyone that if the project is delayed, it will be by popular vote. I have already spoke to our VP to let him know that we are not taking part in their decision planning process, that we provide the necessary feedback, they get to do with it what they want regarding their decisions.
Him: they are being really stupid and inconsiderate
Me: they are indeed, but as long as I show that you, me, and the rest of the team provided input, they disregarded it and went with their decision, then then the fault is on them, not you or our team. Let them fuck themselves over, I have the documentation needed to secure our asses, I record every conversation and I have every email saved. Really, if they don't want to listen to you they will not be able to point the issues that will inevitably rise back to you or us.
Him: .... you are evil
Me: fuck with me team see what happens. Their face and reaction is what makes me get a hard on after the fact.
Ain't no one touching my team.10 -
Not actually a rant, but need some place to vent it out.
The company where I work develops embedded devices enabling the automobiles to connect to the internet and provide various end user infotainment services. My job mostly relates to how and when we update the devices.
There are about 100 different
variants of the same device, each one different from the other in a way that the process required to update for each of these device variants is significantly Different. Doing this manually would be and actually was a nightmare for almost everyone, so I set out on writing a tool that addresses this issue.
I designed my solution mostly in Python, allowing me for quick prototyping. First of all, I'd never written a single line of python code in my life. So I learn python, in matter of 2 nights. I took days off from work so I could work on this problem I had in my head. And in about 4 days, I was up with a solution that worked, reliably. I prepared a complete framework, completely extendable, in order to have room for 101th variant that might come in at any time. And then to make it easier and a no Brainer for everyone, the software is able to automatically download nightly builds and update the test devices with nothing more than a double click.
But apparently this wasn't enough. Today I found out that someone worked on a different solution in the background just a week ago, while reusing most part of my code. And now they start advertising their solution over mine, telling everyone how crappy my code is. Seriously, for fucks sake, my code has been running without issues since more than a year now. To make it worse, my manager seems to take sides with the other guy. I mean I don't even have someone to explain the situation to.
I really feel betrayed and backstabbed today. I worked my days, my nights, my vacations on this code. I put blood, sweat and tears into this. I push my self over my limits, and when that was not enough, I pushed my self even harder. But it all seems in vain today. All the hours that I spent, just to make it easier for everyone... All a complete waste. When you write code with such passion, your code is like your family... You want to protect it... But with all this office politics and shit, I seem to be losing my grip.
I've been contemplating the entire night, where I might have gone wrong, what could I've done to deserve this...but to no avail. I'm having troubles sleeping, and I'm not sure what I should do next.
Despair, sheer bloody Despair!8 -
Why is it that pretty much zero package & framework maintainers understand semantic versioning?
1. If you do a complete rewrite of your package, but the resulting API is identical, you don't need to bump to the next major version. As a user, I'm thankful for your increased performance or cleaner internal code, but it doesn't really affect my update process.
2. If your package required some-framework 6.0.0, and now ALSO supports some-framework 7.0.0 but is still compatible with 6.0.0, you don't need to bump to the next major version. As a user, I can now upgrade the framework, and know that the package will keep working, but otherwise it doesn't really affect me.
3. Following your versioning along with the framework/language version is super annoying, especially if your library really doesn't need to differentiate between framework versions because it's not actually utilizing new framework functionality.
4. On the other hand, if you stop supporting a certain language, framework or shared library version, or change the public methods, exceptions, fields, etc, you MUST bump to a new major version.
Yet everyone gets this wrong.
For example, many of Laravel's underlying subpackages (for collections, filesystem, database, config, http, mail, etc) do not change their code in a breaking way, or do not even change at all between major framework versions.
Yet they follow along with the major framework version.
Now if someone makes a library "laravel-elasticsearch" which uses the support libraries and collections from laravel, they need to update their package to move along with the versions as well, and often they choose to number their library along with the framework in turn.
This means that to update the framework, you also need to update over 9000 dependencies.
FOR NO FUCKING REASON. THE ONLY CHANGE IN THOSE FUCKING DEPENDENCIES IS TO UPDATE COMPOSER.JSON TO BE COMPATIBLE WITH THE FUCKING FRAMEWORK.
Meanwhile, Laravel itself breaks repeatedly on minor/patch version updates, because breaking changes slip through their review process.
Ugh.3 -
I hate white boarding sessions. They feel unnatural to me. I simply don't work well when put on the spot and I have 3 ogres staring at me waiting for me to fuck up in front of them. Fight or flight engages, the adrenaline rush, my mind freezes. Suddenly it's like I forget how to code at all and I'm expected to solve a problem at once, correctly the right time, or I'm out.
I can't work like that. I need time to process a problem on my own, with my coffee in my one hand and a pencil and scratch paper in the other, not with some demanding employer standing over my shoulder the whole time scrutinizing my every key stroke. I get things wrong the first time sometimes, and more often than not have to google things I can't recall spontaneously. But I always figure it out, test it, make sure it's right before putting it into use.
I've been through several "probationary" periods when first starting a job. They just tell you, they're giving you a month to see if you can handle the job. If not, sayonara. I don't see what's so hard about evaluating candidates in a real world scenario.
So many employers have totally unrealistic expectations.2 -
With every new Apple product it seems that Jony Ive's job is reading the dictionary and finding less and less understandable words to be used in the next commercial to make the production process seem more and more complex although the result is the same device over and over again.
-
So a little story about finding your way. I worked at an IoT software firm, very well established. I had a hard time with the on boarding process due to some factors, and I must have lagged behind their mental schedule for my growth. It was clear nonetheless that I was a quality coder and had made some friends there.
It wasn’t enough for the ensuing corporate bullying. It went by and I took it. I became the yes man just so I don’t frustrate anyone enough to turn away my ask for help. This made things worse and before long, I a grown man went to visit my mum and all but cry at how small I felt, after all my hard work getting to the company.
I felt sick with failure but I knew I couldn’t go back. I emailed my resignation and dropped off my company laptop.
4 months later I am working at a medical startup with my own projects, that I have 100% control over. And the quality of my work and ethic is pleasing upper management in all the right ways. I’ve never been happier, and there are barely any perks on paper. No free lunches on Thursdays or discounts at the local high street. I’m the happiest I’ve ever been in my life because I said NO to feeling or being treated any less than I worked and progressed to be.
Don’t let other people stop your potential for their own ego, or any other reason. 😊 -
I started at a company to develop an "uber" clone. Hired by the company's cto. I was happy initially as i had been unemployed for a while but that's because i didn't see the shitstorm coming. The task was build this using php, well 2 weeks later and db locking issues because mysql only allows 100 connections and the website takes over 200mb per request, i tried using the meteor framework, a lil better but the orphaned process would require me to reboot every 2 days. So enter erlang, built in 3 weeks works amazing problems none here... Well in comes the cto (which came in once a week). Apparently he had been reviewing my code and didn't understand it. He couldn't understand no for loops etc and demanded that it be made understandable to a normal dev. Did normal devs write uber no. Anyhow i spent the next 6 Weeks refactoring trying to make elixir looks like imperative programming, he finally gave up, so now I'm deep committed writing an API, finish in a week cto comes in and "why aren't you using patch" i don't need it, well another day implanting a patch api that will never be used. Ok done. Now we have a meeting with the investors who i worked in the same building with and they want a frontend built. I explained i was a backend dev and they needed a uiux expert. Next week cto comes back with this jquery fire pit and stolen bootstrap theme and take me with implementing it. This time we scrap the api change some of the backend logic and implement rest from the 90s one static page per request. After 3 months working with jquery I'm let go because of finical issues. I told them i was a backend dev but they didn't listen if the cto would've gotten a frontend expert things would be different but what to expect from a cto who's coding legacy is creating WordPress plugins.
Hopefully things will be better soon I'm tired of living on the streets.5 -
“PHP is evil” is not just a joke.
PHP is usually percieved as a language which is not so consistent and has some opinionated historical aspects but allows rapid development because it’s easy. They say PHP doesn’t focus on that “purist shit” such as concepts and “just gets things done”.
Hovewer, this is not true. PHP lures you in and lies to you promising saving time on development, but everything, and I mean EVERYTHING written in PHP is doomed to turn into a bloody mess sooner or later.
You have to be an AI to manage the growing PHP codebase and add features without breaking anything. With every feature it gets harder and harder. If you’re still a human managing a human team, you have to enforce guidelines. Automatic error preventon measures are made of code themselves so the cost of deploying them ona late stage can be ridiculous. And you never deploy them on early stage because you want to “save time”. Your people have to spend more and more time everyday checking on that guidelines. Your development process only becomes slower and slower. If you try to push things, your project will crumble to dust.
To make PHP at least decent, you have to figure out all this by yourself on an early stage. When you’re done, you spent a lot of time creating the buggy, ad-hoc, unspecified and unsupported alternative of what works out of the box in other languages. And you still code in PHP and still have all its disadvantages in your project’s DNA.
PHP is evil because it promises and never delivers. PHP is evil because it lies to you and it already fucked over so many of us.
If you want to code in PHP, do it under your pillow. Code your own silly projects.
If your project has the word “production” somewhere in its plans, PHP is not the way to go.
Amen.66 -
My company has two offices in separate cities but they treat each the devs of each location very very differently.
In one office the devs get full power to experiment with whatever tech they want, they just stomp their feet and management gives em whatever they ask for, freedom of choice regarding anything they are working on, to be allowed to do greenfield work or experimental stuff
But in my office we are forced to do ONLY. Bug fixing and refactoring shitty code from over a decade a go, our tech is ancient and we are not allowed to to
Shit , anything we ask for is denied
And improvements to our process is shut down with the reasoning that whatever we got works so why meddle ??
For us , management is solely focussed on making sure we respond to support calls , deployments , configurations and little bug fixing. Basically they only care that we manage to finish for out next delivery.
No new work whatsoever!
If there is any hint of something new to to
Implemented the golden boys from the other office just stopm their feet tillmthey get it or just go off and start working on it then seek permission afterwards, with their much larger team they obviously get further than we do by the time management hears about it so they end up taking over the work since they already have more done already
My manager decided to push us to attend a company devCon to share ideas with our devs from our other location. This rapidly turned into a sour experience
Basically we do all shitty boring work which puts money on the table which goes straight to those idiots to play with...
They have the guts to laugh when we mentioned that we never get anything interesting to work on
Never seen so many of our devs looking up job sites on the bus back...
This is gonna blow up in management's face...2 -
We had a major core router hardware failure in our LA datacenter today and every one of our services has been down since 6am, including all production servers. We have about 15,000 sites down across our entire platform. Our manager came over and told us to just go home because we need to replace the hardware and the process is expected to take all day, and we can't do any work until then because all the production servers are down. So you could say that it's been a pretty easy Friday so far! I'm headed home to play Spider-Man2
-
I spent two weeks writing a WordPress plugin to take some form data, process it through another website, and take the result to Salesforce. the client had a "Salesforce specialist" doing everything on the Salesforce side and refused to give me access to see if the data was properly pushed through.
Finally I got it in working condition when suddenly it stopped working, I hadn't changed anything since it worked so I asked if he could have possibly changed something. We argued for over 4 hours about who changed something, the whole time I was looking for the error in my code. At 6pm I finally told him I would need to take a look at it tomorrow.
Overnight he sent me an email:
"Hey, sorry about the confusion yesterday, I set Salesforce to deny duplicate email entries, looks like once I removed that everything is working."6 -
So I joined this financial institution back in Nov. Selling themselves as looking for a developer to code micro-services for a Spring based project and deploying on Cloud. I packed my stuff, drove and moved to the big city 3500 km away. New start in life I thought!
Turns out that micro-services code is an old outdated 20 year old JBoss code, that was ported over to Spring 10 years ago, then let to rot and fester into a giant undocumented Spaghetti code. Microservices? Forget about that. And whats worse? This code is responsible for processing thousands of transactions every month and is currently deployed in PROD. Now its your responsibility and now you have to get new features complied on the damn thing. Whats even worse? They made 4 replicas of that project with different functionalities and now you're responsible for all. Ma'am, this project needs serious refactoring, if not a total redesign/build. Nope! Not doing this! Now go work at it.
It took me 2-3 months just to wrap my mind around this thing and implement some form of working unit tests. I have to work on all that code base by myself and deliver all by myself! naturally, I was delayed in my delivery but I finally managed to deliver.
Time for relief I thought! I wont be looking at this for a while. So they assign me the next project: Automate environment sync between PROD and QA server that is manually done so far. Easy beans right? And surely enough, the automation process is simple and straightforward...except it isnt! Why? Because I am not allowed access to the user Ids and 3rd party software used in the sync process. Database and Data WareHouse data manipulation part is same story too. I ask for access and I get denied over and over again. I try to think of workarounds and I managed to do two using jenkins pipeline and local scripts. But those processes that need 3rd party software access? I cannot do anything! How am I supposed to automate job schedule import on autosys when I DONT HAVE ACCESS!! But noo! I must think of plan B! There is no plan B! Rather than thinking of workarounds, how about getting your access privileges right and get it right the first time!!
They pay relatively well but damn, you will lose your sanity as a programmer.
God, oh god, please bless me with a better job soon so I can escape this programming hell hole.
I will never work in finance again. I don't recommend it, unless you're on the tail end of your career and you want something stable & don't give a damn about proper software engineering principles anymore.3 -
1 year and a half ago, I quit the job where I spent almost 6 years; My first job after that was as a freelancer for certain company here in colombia, but after sometime I learned that freelancing for local companies is not well payed at all, so I decided to try to work with toptal(a pre-vetted freelancer platform)
So the process included a first interview with a HR person, it was a british lady that mopped the floor with me(she wasn't rude at all but I felt horrible) 'cuz I couldn't speak english good enough, and then I was rejected... Some time down the line I created a rant for anyone that were willing to speak sometime to practice english conversations. @jesustricks and @orhun answered and in fact I got to speak with them.
@amyshackles spoke with me too, I reached her out over linkedin 😊
Just wanted to say thank you, finally I got a job offer with a nearshore company, you helped me a lot there, speaking with you people gave confidence and more knowledge. Again thank you, love you guys.
PS: you don't have to love me back7 -
I think there is such a thing as "getting too comfortable with the people you work with".
My boss came over and wanted to show me how to do a new process. We start going through the steps and a question arises. I then IM my team lead, because he's the one who would know the answer, and all I get back from him is sarcastic comments and profanity (he doesn't know my boss is sitting at my comp with me). So I keep trying to get him to be serious, and he just keeps his mouth (well, fingers) going. (He is remote - not in our bldg). I want so badly to shut him up because what if he says something about my boss while she is sitting there? Not that he does that, but at the pace he's going, it no longer would surprise me.
There should be some sort of code to hint to your team to STFU and give a fucking answer when one is needed. Sort of like what kids do to hint that a parent is in the room, but for work?3 -
Time to time I do some Hard- and Software repairs for neighbors and get some little money for it.
My neighbor let's call this one "Bob".
Bob has a new printer and a old one which is over 15 years old.
First: Holy shit 15 years old printer works still. WTF? Is this thing Hulk or what?
He ask me why he can't print a 128 site Doc with pictures in it from the old printer. It always stop at around 50 pages.
I tell him that it has only 32 MB Ram/Flash and can't print more. Before the Doc's were much smaller and could print that, but today you got files with more than 10 MB and on a printer it need's atleast 128 MB Ram to process and print it.
Guess what? One week later he asks me the same questions.
Why don't you print it on your new shiny expensive printer and why do you need still that OFFICE WAR VETERAN OF PRINTER to print it???
Seriously just use the new and better one!! Bob please give that old one a burial. He deservs it!5 -
I don't know if this is the same thing everywhere over the world, but, in France, where I live, there's something that infuriates me on so many levels.
Dear HRs,
When you're processing through a recruitement process, you'll publish a job offer. In 95% of these offers, I notice things that follows the same pattern : "We require a highly trained developer in [insert language 1], especially with the [insert a framework from language 2] framework". This often happens when you're talking about Java in first place, but then switching to Javascript.
Please, dear HRs,
GET YOUR SH*T TOGETHER ! I don't know, ask to some of your developers to review your offer, to spot these beginner mistakes. This is an automatic turn-off for me when I notice this king of bullsh*t in job offers, and I understand that the person that wrote this offer has no fucking idea of the business his/her company is dealing with.
Later, these people are those who will interview you with generic IT questions, that they have no idea about what a correct answer might be, and they will only check if your answer matches what is written on their cheat sheet. If you're lucky enough, some people from the actual business will be with the interview crew, so you can actually expect some kind of understanding.
*angrily goes back to looking for a job*4 -
Imagine: It's the year 4249.
Corporate has finally managed to convince workers that they don't need a salary.
Workers are now paid with food, shelter and clothes. And it's only in effect if you achieve your deadlines.
Keystroke monitoring softwares are now replaced with Webcam eye tracking software.
GitHub Co-Pilot now takes over your code editor and tries to dictate you how to write better code.
Refusing to do results in a signal sent to the management about your behaviour and you lose food access for the day.
HR Recruiters now require you to give them a blood sample and part of your house as a security deposit.
They also require you to have a micro-chip placed in your brain so they can monitor their worker's thought process.
Switching a job is no longer an option. You pledge allegiance to one company your entire career.
You can never see the real world now because the government has mandated you to never take off your VR glasses.
You see the world the way the government wants you to see it.
PHP is still trash.
Life is Good.11 -
Worst thing you've seen another dev do? Here is another.
Early into our eCommerce venture, we experienced the normal growing pains.
Part of the learning process was realizing in web development, you should only access data resources on an as-needed basis.
One business object on it's creation would populate db lookups, initialize business rule engines (calling the db), etc.
Initially, this design was fine, no one noticed anything until business started to grow and started to cause problems in other systems (classic scaling problems)
VP wanted a review of the code and recommendations before throwing hardware at the problem (which they already started to do).
Over a month, I started making some aggressive changes by streamlining SQL, moving initialization, and refactoring like a mad man.
Over all page loads were not really affected, but the back-end resources were almost back to pre-eCommerce levels.
The main web developer at the time was not amused and fought my changes as much as she could.
Couple months later the CEO was speaking to everyone about his experience at a trade show when another CEO was complementing him on the changes to our web site.
The site was must faster, pages loaded without any glitches, checkout actually worked the first time, etc.
CEO wanted to thank everyone involved etc..and so on.
About a week later the VP handed out 'Thank You' certificates for the entire web team (only 4 at the time, I was on another team). I was noticeably excluded (not that I cared about a stupid piece of paper, but they also got a pizza lunch...I was much more pissed about that). My boss went to find out what was going on.
MyBoss: "Well, turned out 'Sally' did make all the web site performance improvements."
Me: "Where have you been the past 3 months? 'Sally' is the one who fought all my improvements. All my improvements are still in the production code."
MyBoss: "I'm just the messenger. What would you like me to do? I can buy you a pizza if you want. The team already reviewed the code and they are the ones who gave her the credit."
Me: "That's crap. My comments are all over that code base. I put my initials, date, what I did, why, and what was improved. I put the actual performance improvement numbers in the code!"
MyBoss: "Yea? Weird. That is what 'Tom' said why 'Sally' was put in for a promotion. For her due diligence for documenting the improvements."
Me:"What!? No. Look...lets look at the code"
Open up the file...there it was...*her* initials...the date, what changed, performance improvement numbers, etc.
WTF!
I opened version control and saw that she made one change, the day *after* the CEO thanked everyone and replaced my initials with hers.
She knew the other devs would only look at the current code to see who made the improvements (not bother to look at the code-differences)
MyBoss: "Wow...that's dirty. Best to move on and forget about it. Let them have their little party. Let us grown ups keeping doing the important things."8 -
My old job was great. I was writing automation software for one of the world's biggest storage deployments, and there was always a new challenge. But over time, I was asked to lend a hand with the tedious task of corresponding with procurement vendors and on-site technicians. At first it was one site, then it was two, and then it was an entire region of the US, spread across two time zones I'm not in.
I hated that work, and I found that I didn't have time anymore for software development, because of the time commitment the logistics work was. I was never hired to do logistics work, I was never trained, never qualified, and as I said, I hated it. I agreed to it to temporarily help out a weakness due to a shortage in staffing. But it never got taken off my plate, except for a short stint toward the end, just before I was placed on a PIP, because surprise surprise-- I'm bad at logistics.
About halfway through the PIP, I told my boss I wasn't doing it anymore. I said he could either put me back on software development or let me go, if ticket-monkeying and phone calls is the direction the wind is blowing for our team. I told him I had no intention of resigning, as you are not eligible for unemployment or severance if you resign, so their choice was to let me go. I'm told by people who are still there that everybody on the team is a ticket-jockey button-pusher now. Bleh.
My wife and I sold our old condo in Kansas City earlier in the summer, so we had about a year's worth of cushion, which was why I was willing to be let go. I was profoundly unhappy in my work, and it was bleeding through to my relationship with my wife and kids. So I took advantage of the time between jobs by spending more time with my family and just generally becoming a happier person again.
Meanwhile, I was in no desperate hurry to find a new job, so I got on linkedin, and had no more than two irons in the fire at a time. After just over two months I got an offer for a better job than before, which I accepted. There wasn't anything remarkable about that process though-- it's just something I've gone through recently.8 -
Finals over. Get to enjoy family time.
Gets email from Amazon. We wanna move on with the hiring process. Please complete these online tests. By 12/26.
Good bye family so I can cram haha4 -
About 3 years ago, my girlfriend had this laptop that she got from her University. She had to give the laptop back to get reset, but didn't want to lose all of her data on it, and a backup would be around 750GB.
So I suggested that I would backup the laptop (was thinking to just dd an image and go from there). So I plugged in my mobile USB and external hard drive, and started the imaging process. Given the amount of data and setup, the process should have taken about 5hours. So we left it there for 5h.
Please be mindful that at this stage in my life I knew very little about boot processes, oses, and hardware.
5h after. The laptop screen is black and it ain't responsive. Not sure what happened, the dd process was completed, but the laptop refused to boot into windows. Tried a number of boot tools, and spent a crazy night hacking at the machine. But the university had some of sort of fail safe to not allow anyone to boot into windows if someone opened bios without entering a password. Whatever this was, I spent over 12h trying to either open mount the windows partition with a Ubuntu usb or mount the corrupt dd image on my laptop.
Long story short, after throwing at it a number of fixes. I was able to mount the image, copy out all of her personal data, and reinstall a new version of Windows on her laptop. The university didnt understand why the laptop was already reset. She still mentions this to me anytime I want to take a "custom approach" to software lol2 -
Client: hey here are the original final 15 megapixel pictures for the website (to replace placeholders that have been replaced by other placeholders), please implement them.
Me: okay, let me just compress them a bit. *save for web and devices, upload*
Client: they are a bit pixely could you make them larger?
Me: errrr. well that will kill loadtime
*repeat this process 8 times over F-ing chat until pic is F-ing huge*
Client: okay now that the picture is nice and crisp and huge please add some blur in photoshop4 -
Not really a programming story... but a story about how programmers problem solve in real life.
Mods, sort me out if I'm out of line. Anyway, here goes.
So, my wife and I are arguing about whether or not the garage has insulated walls.
"It doesn't have insulated walls", I say, "I've been up in the rafters and their's no insulation there, so there's probably none in the walls."
"Well, why can't you just check", my better half responds, "You could just punch a hole in the wall to see."
Me, taking about 300ms to process this statement. Looks over, and punches a hole in the wall.
"See, no insulation!!!" I say triumphantly.
"What. The. Fuck. Did you just punch a hole in the wall for???"
deerinheadlights.gif
"Um, because you told me to?"
"Well I didn't mean to use your hand, I meant to get a small drill so the hole wouldn't be enormous."
"Well you didn't say "get a small drill", you said "punch"!
And as a laid down to sleep, on the couch, that night I still insist she told me to do it. And while I patched that hole, I still thought it was her fault. And to this day I still think it's her fault.
You cannot give a programmer these vague instructions and expect appropriate results.5 -
In fact I'm a sinful dev, so that I can't easily decide which one is worst. From indenting with tabs, or using nano instead of vim/emacs, to hardcoding database credentials on server, to many hacks and workarounds I use as actual "fixes" when the deadline is upon me and I've tried all I could. But it always led only to my own regret. For instance, my latest sin was that I prefered Debian over Arch and used proprietary graphic drivers to speed up my new setup. But ended up with a curse from St. Ignucius. (check my last rant)
But my worst sin probably goes to when I was "printf-debugging" some issue for a GSM controller on a raspberry pi. I forgot to remove one little print line and deployed the new "fixed" version. I didn't follow that project after that for like a month or so, when the client posted back the device and said that "it just doesn't work anymore". It seemed that raspbian didn't boot beacause the sd card was curroptted. I dd'ed through the card and I noticed that there are billions of lines of "DEBUG:: reading stream from 192.some.shitty.ip", took almost all over the 32G sdcard. Just as I suddenly remembered the cursed line I just added a month ago, I declared the sd card dead with no hesitation, dunce-commented the line (so the history would remember), implemented a time out for the thread containing it, setup a journald unit for my service and removed the redirection of process output to a log file, found a new sd card and installed everything again, and finally posted back the new "fix" to the client.
Moral: Never comfort yourself for the sins you have commited in the past kids, they certainly will come back to you. And also not to do any io especially write to a file on an SD card with ext fs, in a potentially infinite loop with no timeout.
P.S: I'd posted my last rant just before the new week rant last nigh. I really liked the St. Ignucius meme so decided to create a new one. He's very adorable :)1 -
These postings on angel.co
I swear to God it's like I've uncovered a conspiracy theory.
I had been searching for a side project now that holidays are coming and I really don't wanna get bored.
Applied to a few companies. About 5 of them "responded" with an acceptance. I write them my interview timings and all that's required.
Nothing. Nothing for like a solid week and a half.
Meanwhile I applied to more companies and still the same thing.
I decided to manually mail their companies regarding the process, so that I can, preferably, move on to other ones if they have rejected the application (which they obviously hadn't)
I get mails from almost all the companies with some or the other variant of "We were waiting for your reply to proceed"
I tell them I had replied over the conversations and they said they never got a message.
Now feeling that this might be angel.co at fault. I wrote a request to look into the issue. Meanwhile I tested the system using a friend's account as a recruiter and testing myself.
Unsurprisingly it was working flawlessly.
Narrowing it down to the companies then.
I sent a document with my findings to each of the companies and pretty much 50% of them stopped with replying.
The rest confirmed that they hadn't received any mails regarding the same and they saw no mail resembling the one I tested with my friend.
Kinda confusing but I asked them to look into it.
Meanwhile mail from Angel returns saying that their system is working perfectly fine even around my region. So idk what was the problem
I got a mail 3 weeks after the first mail to the company. They had been using a utility to auto-accept/reject profile applications. This util sent a lot of mails, even for rejections, to their mailboxes, filling them.
So they decided to remove these emails automatically by marking them spam. Apparently, the interview confirmation messages also count as these emails and were automatically archived. Thus removing my responses to those companies.
Idk if this is widespread issue because only one company has responded to me yet.
I'm still livid with this shit.5 -
It's maybe a cultural or language thing (or perhaps a generation thing!), but I've read some rants today where there has been a suggestion to shoot/kill yourself if you're guilty of some inefficient process or bad practice.
At the risk of over-reacting or coming across as humourless or stiff, it's not something I would ever say to anyone - light-hearted or otherwise.3 -
Gender Bending For Fun and Profit.
I love how in the 'make your avatar' area, if you select female, and then click facial hair, theres nothing to select from.
Like a massive fuck you to every gender bending "down with meritocracy" purple haired dicksniffer in sanfran.
Also I'm sorely disappoint for desk items, theres no
1. giant dildos
2. anime figures/weeb shit
3. mini monoliths (I asked the site devs about this, they replied "we can't do that dave.")
4. a shirtless option for my female avatar
5. edgy scrolling numbers and code, like in the matrix
6. hoodies. They're the modern leather jacket.
7. Big nasty gnarly biker beard which I'm currently in the process of growing. How am I supposed to intimidate other anonymous cowards and mock them over the size of their beard compared to my own avatar's e-beard size? It's quiet girthy and lengthy, I assure you!
This is completely unrelated, but I thought devducks were like quick one-off debug sessions that could be bought from other devrant users.
I was disappointed when I discovered it was just merch.
On the otherhand I'm glad as fuck it's not. Site would be flooded by broken-english speaking goat humping dickheads.
How am I supposed to show off my ability to code with completely unrelated avatar change ups when no one will allow me to emasculate my avatar?16 -
iOS dev here
Just wanted to share my experience on updating Xcode and why I schedule 3 hours for this process.
So, updating Xcode via the AppStore has always been flaky at best and ofcouse Xcode needs to be closed first. You hit update, the button turns gray, half an hour in you still see no progress...
That's why I often just download it from the dev center. But since Xcode Ghost the app is also wrapped in a signed container.
So,
Downloading: 10 minutes
Expaning: 60 minutes!!!
After that I move the app in place and fire it up, always have to close my music player first grrr...
After that Gate Keeper verifies the app for another 60 minutes.
Finally Xcode comes to live.
Only need to install new command line tools for another few minutes and I can continue coding.
Wait. Half my day is over!
Why Apple? Why?
#wk242 -
Sometime this year(what is left of it) or the next I will be promoted to the senior developer in charge of two schools.....
I already thought that the level of work that me and the current senior do is way too fucking much for two people. Can't really fathom all of it just being me without seeing a substantial increase in salary(there is one in place for it...but shit man I know myself and even then I am going to bitch about it repeatedly)
What sucks the most is that I can't wing it or just not give a fuck(my preferred technique) since I really like my department, my coworkers and specially my manager.
Its her fault. It really is. She is just so likeable and I really can't imagine not giving her anything other than my 100 .
And before everyone states that it should be 100 from the get go. I am not particularly fond of giving my all for a company/institution. Never.
The reason is that I have been fucked with way more times than I can count and normally feel that regardless of how much of a total badass I can be I will never see the full compensation of it. It has happened on every other job. So instead of working for the company I work for my team. If I don't like my team I don't give a fuck.
I am a good worker, was an excellent soldier and I am an even better engineer. But there is always this feeling that I am being taken advantage of that I just can't shake off everywhere that I am working at.
Even now, the reason why the lead is leaving is because of how he was fucked over during the reclassification process. It was a slap to him in the face. Now this glorious institution will lose someone that is really amazing all because they take shit for granted.
Everyone is a number, an id. As irreplaceable as we are they treated him as someone that would just take shit and be fine with it.
And trust me, where I am at, we ARE irreplaceable, this ain't cali where you flip a stone and you get 100 node/php devs. This is 0 man ground where devs are fucking wizards that no one knows exist.
Oh well.3 -
I was asked to fix a critical issue which had high visibility among the higher ups and were blocking QA from testing.
My dev lead (who was more like a dev manager) was having one of his insecure moments of “I need to get credit for helping fix this”, probably because he steals the oxygen from those who actually deserve to be alive and he knows he should be fired, slowly...over a BBQ.
For the next few days, I was bombarded with requests for status updates. Idea after idea of what I could do to fix the issue was hurled at me when all I needed was time to make the fix.
Dev Lead: “Dev X says he knows what the problem is and it’s a simple code fix and should be quick.” (Dev X is in the room as well)
Me: “Tell me, have you actually looked into the issue? Then you know that there are several race conditions causing this issue and the error only manifests itself during a Jenkins build and not locally. In order to know if you’ve fixed it, you have to run the Jenkins job each time which is a lengthy process.”
Dev X: “I don’t know how to access Jenkins.”
And so it continued. Just so you know, I’ve worked at controlling my anger over the years, usually triggered by asinine comments and decisions. I trained for many years with Buddhist monks atop remote mountain ranges, meditated for days under waterfalls, contemplated life in solitude as I crossed the desert, and spent many phone calls talking to Microsoft enterprise support while smiling.
But the next day, I lost my shit.
I had been working out quite a bit too so I could have probably flipped around ten large tables before I got tired. And I’m talking long tables you’d need two people to move.
For context, unresolved comments in our pull request process block the ability to merge. My code was ready and I had two other devs review and approve my code already, but my dev lead, who has never seen the code base, gave up trying to learn how to build the app, and hasn’t coded in years, decided to comment on my pull request that upper management has been waiting on and that he himself has been hounding me about.
Two stood out to me. I read them slowly.
“I think you should name this unit test better” (That unit test existed before my PR)
“This function was deleted and moved to this other file, just so people know”
A devil greeted me when I entered hell. He was quite understanding. It turns out he was also a dev.3 -
The company considers the project manager I work with to be the best. After working with him, I consider him to be everything that is wrong with project management.
This PM injects himself into everything and has a way of completely over-complicating the smallest of things. I will give an example:
We needed to receive around 1000 rows of data from our vendor, process each row, and host an endpoint with the data in json. This was a pretty simple task until the PM got involved and over complicated the shit out of it. He asks me what file format I need to receive the data. I say it doesnt really matter, if the vendor has the data in Excel, I can use that. After an hour long conversation about his concerns using Excel he decides CSV is better. I tell him not a problem for me, CSV works just as good. The PM then has multiple conversations with the Vendor about the specific format he wants it in. Everything seems good. The he calls me and asks how am I going to host the JSON endpoints. I tell him because its static data, I was probably going to simply convert each record into its own file and use `nginx`. He is concerned about how I would process each record into its own file. I then suggest I could use a database that stores the data and have an API endpoint that will retrieve and convert into JSON. He is concerned about the complexities of adding a database and unnecessary overhead of re-processing records every time someone hits the endpoint. No decision is made and two hours are wasted. Next day he tells me he figured out a solution, we should process each record into its own JSON file and host with `nginx`. Literally the first thing I said. I tell him great, I will do that.
Fast forward a few days and its time to receive the payload of 1000 records from the Vendor. I receive the file open it up. While they sent it in CSV format the headers and column order are different. I quietly without telling the PM, adjust my code to fit what I received, ran my unit test to make sure it processed correctly, and outputted each record into its own json file. Job is now done and the project manager gets credit for getting everything to work on the first try.
This is absolutely ridiculous, the PM has an absurd 120 hours to this task! Because of all the meetings, constant interruptions, and changing of his mind, I have 35 hours to this task. In reality the actual time I spent writing code was probably 2-3 hours and all the rest was dealing with this PM's meetings and questions and indecisiveness. From a higher level, he appears to be a great PM because of all the hours he logs but in reality he takes the easiest of tasks and turns them into a nightmare. This project could have easily been worked out between me and vendor in a 30 min conversation but this PM makes it his business to insert himself into everything. And then he has the nerve to complain that he is so overwhelmed with all the stuff going on. It drives me crazy because this inefficacy and unwanted help makes everything he touches turn into a logistical nightmare but yet he is viewed as one of the companies top Project Managers.3 -
Most painful code error you've made?
More than I probably care to count.
One in particular where I was asked to integrate our code and converted the wrong value..ex
The correct code was supposed to be ...
var serviceBusMessage = new Message() {ID = dto.InvoiceId ...}
but I wrote ..
var serviceBusMessage = new Message() {ID = dto.OrderId ...}
At the time of the message bus event, the dto.OrderId is zero (it's set after a successful credit card transaction in another process)
Because of a 'true up' job that occurs at EOD, the issue went unnoticed for weeks. One day the credit card system went down and thousands of invoices needed to be re-processed, but seemed to be 'stuck', and 'John' was tasked to investigate, found the issue, and traced back to the code changes.
John: "There is a bug in the event bus, looks like you used the wrong key and all the keys are zero."
Me: "Oh crap, I made that change weeks ago. No one noticed?"
John: "Nah, its not a big deal. The true-up job cleans up anything we missed and in the rare event the credit card system goes down, like now. No worries, I can fix the data and the code."
<about an hour later I'm called into a meeting>
Mgr1: "We're following up on the credit card outage earlier. You made the code changes that prevented the cards from reprocessing?"
Me: "Yes, it was my screw up."
Mgr1: "Why wasn't there a code review? It should have caught this mistake."
Mgr2: "All code that is deployed is reviewed. 'Tom' performed the review."
Mgr1: "Tom, why didn't you catch that mistake."
Tom: "I don't know, that code is over 5 years old written by someone else. I assumed it was correct."
Mgr1: "Aren't there unit tests? Integration tests?"
Tom: "Oh yea, and passed them all. In the scenario, the original developers probably never thought the wrong ID would be passed."
Mgr1: "What are you going to do so this never happens again?"
Tom: "Its an easy addition to the tests. Should only take 5 minutes."
Mgr1: "No, what are *you* going to do so this never happens again?"
Me: "It was my mistake, I need to do a better job in paying attention. I knew what value was supposed to passed, but I screwed up."
Mgr2: "No harm no foul. We didn't lose any money and no customer was negativity affected. Credit card system may go down once, or twice a year? Nothing to lose sleep over. Thanks guys."
A week later Mgr1 fires Tom.
I feel/felt like a total d-bag.
Talking to 'John' later about it, turns out Tom's attention to detail and 'passion' was lacking in other areas. Understandable since he has 2 kids + one with special-needs, and in the middle of a divorce, taking most/all of his vacation+sick time (which 'Mgr1' dislikes people taking more than a few days off, that's another story) and 'Mgr1' didn't like Tom's lack of work ethic (felt he needed to leave his problems at home). The outage and the 'lack of due diligence' was the last straw.1 -
My process (still going on):
*Pick a topic/language/anything.
*Read up as much as I can until my eyes start glazing over.
*Try to implement something.
*Screw up.
*Feel bad. Repeat until screw-ups reasonably reduced.
*Success???2 -
Guys what I want to know is how do you secure your code so that they pay you after you deliver the code to them?
So recently I was in this internship that I secured with an over-the-phone interview and the guy who was contacting me was the CEO of the company (I'm going to refer to him as "the fucking cunt" from now on). He asked me to do some OCR and translations and I managed to write a few scripts that automate the entire process. The fucking cunt made me login remotely to his desktop which was connected to the server (who the fuck does that) and I had to operate on the server from his system. I helped him with the installation and taught him how to use the scripts by altering the parameters and stuff, and you know what the fucking cunt did from the next day onward? Dropped contact. Like completely. I kept bombing emails upon emails and tried calling him day after day, the fucking cunt either picked up and cut the call immediately on recognising its me or didn't pick up at all. And the reason he wasn't able to pay me was, and I quote, "I am in US right now, will pay you when I get back to India." I was like "The fuck was PayPal invented for?" Being the naive fool that I was, I believed him (it was my first time) and waited patiently till the date he mentioned and then lodged a complain in the portal itself where he had posted the job initially. They raised a concern with the employer and you know what the fucking cunt replied? "He has not been able to achieve enough accuracy on the translations". Doesn't even know good translation systems don't exist till date ( BTW I used a client for the google translate API). It has been weeks now and still the bitch has not yet resolved the issue.And the worst part of it was I got a signed contract and gave him a copy of my ID for verification purposes.
I'm thinking of making a mail bomb and nagging him every single day for the rest of his life. What do you guys think?7 -
I just got the book "The C Programming Language, 2nd Edition" from Amazon.
I've had my wars with Amazon in the past for not protecting packages properly, and now it happened again. For the third time in 6 months.
The cover of the book is damaged, pages are bend a bit and it looks like someone took a key and tried to draw something on the front cover.
I contacted customer support to get a replacement, which was no problem, but still fucking annoying that I have to spend time on this shit.
Anyway, what pisses me off is the amount of work I have to do in order to send this shit back to them. Holy fuck!
First of all, I haven't met a single competent employee at a "post office" here in Denmark, as all of the offices are now a part of a either hyper markets or grocery stores. This means, that it's the stores employees handling this.
In this process from Amazon I have to actually clear it for customs with a form they need to take care of.
I have to print 4 labels, 2 which I need to sign and 2 I need to do something else with...
But I'm so freaking scared that they'll fuck this up and I'll get billed for 2 books. It wouldn't fucking surprise me, considering how fucking shit our postal service is in Denmark and how I've been screwed over by Amazon in the past4 -
Not dev related.
I am fucking tired of the house buying process in the England. Honestly it is such shambles that I don't think I have ever encountered anything like this. Nothing is ever predictable, everything and everone works at random timescale and nobody gives a fuck of you as a buyer even if you are paying crazy money. Apparently we are meant to be moving next Monday but contracts haven't been exchanged, my mortgage broker gave incorrect solicitors details to the bank so they are having to redo some paperwork, the buyer of our current place has not responded for last week to confirm the date, the seller we are buying from has been jumping up and down to exchange and here I am with no certainty.
My anxiety and frustration levels are through the roof for last 10 days. I can't wait for it all to be over. I don't think I am ever buying another house unless the process changes. Just needed to vent my frustration somewhere5 -
So lets start here, as i have been preparing myself for a while for that rant. I have been putting it off for a while, but today I had enough.
Fuck react-native and fuck facebook react-native team. Bunch of lazy incompetent twats.
The all amazing framework that suppose to be speed up your development process, since you don't have to compile your code after each change. SO FUCKING WHAT if the god damned framework is so fucking buggy and so fucking shit that you constantly have to fix build, dependancies etc issues. Every day since I work on this project that is using react-native I have to deal with some of the react fucked up behaviour. You got an issue ? don't worry google it just to find out that 100 other people had the same issue. Scroll through down the bottom of the page just to find out that facebook devs have closed the issue as resolved (without fucking fixing it) because there wasnt recent replies to the post. Are you fucking kidding me? It's ok thou, create a new issue just to get an automatic reply from the bot that locks the thread and keeps it locked till you update your React-native version to the newest one. You do that and guess fucking what? Their newest version fucks up remote debugging on iOS(fucking android been broke for over a year) so say good bye to debugging your js code. Documentation is fucking trash. You found a nice function like autoCaptialise on your text input? Great! Ah wait, its not fucking working, what is wrong? You google this just to fucking found out it, function never worked on android, so why the fuck you still have it exposed and still have it in your docs? You want to add package? So fucking ez, just type npm install <name of the package>. Ha! fuck you, you still have to go and add them fucking manually in gradle in android and in pod in xcode, because obviously react-native is a one big fucking bullshit. Oh and a scroll view is a fucking glorious highlight of that framework, try add some styling to it, you gonna have loads of fun. Fuck react-native. And fuck the fucking idiot who convinced my boss that framework is so fucking great and now I have to work on this shit. Sincerely Xamarin Developer.9 -
It is said that the number of programmers doubles every five years with fresh CS, CE, and EE grads. Assuming that's true, then at any one time over half the developer community are novices in the early stages of their career.
My entire life's been spent in software and I've been in it now for about 15 years and I've seen a lot of people make alot of things and I've seen a lot of people fail at alot of things. My observation is that the doers are the major thinkers, the people that really create the things that change this industry are both the thinker doer in one person. It's very easy to take credit for the thinking the doing is more concrete. It's very easy for somebody say "oh, I thought of this three years ago" but usually when you dig a little deeper you find that the people that really did it. Were also the people that really worked through the hard intellectual problems.
Many people falsely believe that a great idea constitutes 90% of the work. However, there is a significant amount of craftsmanship required to bridge the gap between a great idea and a great product. As you evolve that great idea it changes and grows it never comes out like it starts because you learn a lot more as you get into the subtleties of it and you also find there's tremendous amount of trade-offs that you have to make.
There are certain things you can't make electrons do, certain things you can't make plastic or glass, certain things you can't make factories or robots do. and as you get into all these things, Designing a product involves juggling 5,000 different concepts, fitting them together like puzzle pieces, and exploring new ways to combine them. Every day brings new challenges and opportunities to push the boundaries of what's possible, and it's this ongoing process that is the key to successful product development. That process is the "magic"4 -
!rant
MASSIVE UPGRADE ROUND 2:
We took it by steps, the DBA did his portion and I did mine, we had waited for the entire thing to be finalized today on Sunday since our users are probably jerking off to their waifus (as they should) and today was my part. MA BOE the DBA was with me the entire time and the whole process took us about 4 hours of both of us getting multiple heart attacks here and there and praying to the elder gods of Asgard for their devine protection as we venture into the calamity of fire and juten ass mfkers that are our fucking servers for this particular process.
Man I really hope for the pandemic to be over and take my dude out for a nice beer, some wings and some relaxation time.
Best DB/Dev team I have ever been with.7 -
My 27" 8-core imac, i7, 3.8ghz, AMD radeon pro 5500, 40 GB RAM 512 GB storage,
keeps screaming in agony.
But never stuttered.
Never lagged.
Never glitched
Never failed
Never ran out of memory
I can just hear how hard the the ventilation was going. It was getting loud.
I touched its ass from behind. It was heated up and there was lots of dust from the holes
This has been going on for several days but i ignored it knowing what kind of a beast machine i have (big mistake)
Intellj popped up notification to disable hints in order to improve cpu usage performance.
Immediately it struck me. Hold on lemme check the activity monitor stats and find out why my imac has been screaming for days
Turns out intellj is using over 1090% of my fucking CPU?????
THAT SHIT U SEE ON THE IMAGE WENT ABOVE 1100% OF CPU USAGE AND IT WAS ONLY 1 PROCESS CAUSING IT - INTELLIJ
WHAT???12 -
Why is the interviewing process becoming worse over the years?
About 2 years ago I applied for a company and got into 2 interviews: one with the hr to see if I am bsing them and one with the tech people, to be sure I am not using buzzwords without context. Pretty straightforward, could be done in a single interview IMHO, but it's making me waste max 2 weeks.
Fast forward to one year ago: 1 interview with the hr, 1 interview with the tech people, 1 interview with CEO (why? Just.. why?)
Fast forward to today: 1 interview with hr, 1 interview with tech people, 1 interview with the CEO (again... why?), 1 coding assignment which "it's only going to take a couple of hours" and punctually has either poorly documented APIs to rely on or has trick questions/points. So "it takes a couple of hours", but if you want to pass it you need to spend a day on it... (and let's add that they may be using old docker versions so if it doesn't work cause they are using docker 1.0 and it fails too bad, you lost time for nothing, we are not trying to solve it, you just don't pass!).
Not kidding the last assignment I took and dropped required: external API, testing, don't use CSS libraries and make your own CSS, you must use TS and it was supposed to take "3 hours max".
My question is: why? Why is the interviewing process slowly becoming less of a: "I understand that your code may not be perfect for us but that you are a human being able to reason and adapt your code to our standards" and more of a: "You must do everything PERFECTLY and we don't give a sh*t about your time, start giving us your free time and then we see if we want you."
I just keep giving up after I analyze the assignments, cause a part of my brain thinks that if this is the way a professional relationship starts it's too easy to foresee weekend shifts and lots of overtime cause some manager thinks that "come on, it just takes a couple of hours!"10 -
Longest I've worked without rest + why?
Over 24 hours. Why?
In our old system, the database had fields, for example, a customer like Total97, Total98, etc. to store values by year (or some date-specific value).
Every January 1, we had to add fields to accommodate the upcoming year and make the appropriate code changes to handle the new fields.
One year the UPS shipping rates changed and users didn't want to 'lose' the old rates, so they wanted new fields added (Rate98, Rate99, etc) so they could compare old vs. new. That required a complete re-write of most of the underlying applications because users wanted to see the difference on any/all applications that displayed a shipping rate. I'll throw in asking 'why?' was often answered with "because we pay you to do what we say". Luckily, we had already gotten to work on a lot of this before January 1st, so we were, for the most part, ready.
January 1st rolls around (we had to be in the office at 3:00AM), work thru changes, spend some time testing, and be done before noon. That didn't happen. The accounting system was a system that wasn't in (and had never been) in scope, and when we flipped the switch, one of the accountants comes into the office:
E: "Guys? None of our Excel spreadsheets are working. They are critical to integration with the accounting software"
Us: "What? Why would you be using Excel to integrate with the software instead of their portal?"
E: "We could never figure it out, so we had a consultant write VBA scripts to do the work."
Us: "OK, a lot of fields changed, but shouldn't be a big deal. How many spreadsheets are we talking about?"
E: "Hundreds. We have a separate spreadsheet for every integration point. The consulting company said it scalable, whatever that means."
Us: "What?! Why we just know hearing about this!?"
E: "Don't worry, the consultant said making changes would be easy, let me show you, just open the spreadsheet..click here..<click><click><click>...ignore that error, it always happens...click that <click><click><click>.."
Us: "Oh good lord, this is going to take hours"
E: "Ha! Probably. All this computer stuff is your job and I've got a family to get to. Later"
Us: "Hey 'VP of IS', can we go home and fix these spreadsheets as-needed this week?"
VP-IS: "Let me check with 'VP-FS'"
<few minutes later>
VP-IS: "No, he said Excel is critical to running their department. We stay until Excel is fixed."
Us: "No, no...its these spreadsheets. I doubt FS needs all of them tomorrow morning."
VP-IS: "That's what I said. Spreadsheets, Excel, same thing. I'll order the pizza. Who likes pepperoni!?"
At least he didn't cheap out on the pizza (only 4 of us and he ordered 6 large, extra pepperoni from one of the best pizza places in town)
One problem after another and we didn't get done until almost 6:00AM. Then...
VP-IS: "Great job guys. I've scheduled a meeting at 8:00AM to review what we did so we can document the process for next year. You've got a couple of hours. Feel free to get some breakfast and come back, or eat the left over pizza in the breakroom fridge. There is a lot left"
Us: "Um...sorry...we're going home."
VP-IS: "WHAT!!...OK...fine. I'll schedule the meeting for 12"
Us: "No...we're going home. We'll see you tomorrow." -
"Don't go too crazy with the design, this is just quick to get it out, this is a one time deal" - management
Half a year later...
"Well if you would properly design components up front, it wouldn't be so hard to extend the code" - management
Well if there were some sort of god forsaken process in place, with assigned tasks, priorities, iterations, and conventions, maybe everything wouldn't be a last second shit show and there would actually be forward progress on a project instead of throwing shit over the wall and hoping everything lands in the correct places.3 -
Solved a major scalability issue today.
I'm starting to think I might actually be as good as what I told the recruiters I was.
This hadoop-ecosystem job used to take about 2h40min and cost about USD 1.00/GB.
Now it takes 36 mins. At about 0.85/GB.
Fixed some over shuffling, restructured some bottleneck serial stages, used lots of weird words.
Folks in this company I just entered were struggling with this formerly unwieldy process for a year.
Now it's nimble enough to run every hour.
Maybe that whole "experience" thing people were always yammering about wasn't completely bullshit.4 -
I love software. Seriously, I love it. /s
Transmission is given a bad torrent (which, given that it's a torrent service, you'd expect it handles quite robustly) and completely fucks up. Like, really badly. It doesn't respond to RPC anymore, systemd has to resort to sending it a SIGKILL to get it off the process tree, and the web interface.. yeah. Nothing.
It doesn't log by default, so fine I'll add that to the systemd unit and restart it with debugging options enabled.
# systemctl daemon-reload && systemctl daemon-reexec
Turns out that /var/log/transmission.log can't be written to by my Transmission user. Well shit. Change that to /home/condor/transmission.log.
# systemctl daemon-reload && systemctl daemon-reexec
# systemctl restart transmission-daemon
*blood starts to reach its boiling point*
Still logs in the wrong fucking location. Systemd, I told you to log over there. I did everything I could to make you steaming pile of shit reload that fucking config. What's the fucking problem!?
*about 15 minutes of fighting systemd*
Finally! It spits out a log in the right location! Thank you Transmission and systemd for finally doing your fucking jobs. So a bad torrent it is, hmm...
*removes torrent from .config/transmission/torrents*
Transmission: *still fucking shits itself on that ostensibly removed torrent*
That's it. BEGONE!!!
Oh and don't get me started on the fact that apparently a service needs some 400MB of memory. Channeling your inner Chrome Transmission?10 -
Riddle:
Alice and bob want to communicate a secret message, lets say it is an integer.
We will call this msg0.
You are Chuck, an interloper trying to spy on them and decode the message.
For keys, alice chooses a random integer w, another for x, and another for y. she also calculates a fourth variable, x+y = z
Bob follows the same procedure.
Suppose the numbers are too large to bruteforce.
Their exchange looks like this.
At step 1, alice calculates the following:
msg1 = alice.z+alice.w+msg0
she sends this message over the internet to bob.
the value of msg1 is 20838
then for our second step of the process, bob calculates msg2 = bob.z+bob.w+msg1
msg2 equals 32521
he then sends msg2 to alice, and again, you intercept and observe.
at step three, alice recieves bob's message, and calculates the following: msg3 = msg2-(alice.x+alice.w+msg0)
msg3 equals 19249. Alice sends this to bob.
bob calculates msg4 = msg3-(bob.x+bob.w)
msg4 equals 11000.
he sends msg4 to alice
at this stage, alice calculates ms5.
msg5 = (msg4-(alice.y)+msg0.
alice sends this to bob.
bob recieves this final message and calculates
the sixth and final message, which is the original hidden msg0 alice wanted to send:
msg6 = msg5-bob.y
What is the secret message?
I'll give anyone who solves it without bruteforcing, a free cookie.18 -
Colleagues cannot seem to grasp that allowing a user to manually update a field via an Api, that only business process should update is a bad idea.
The entire team of around 10 'software developers' cannot grasp that just because the frontend website won't set it doesn't mean its secure. I have tried many times now...
Just an example honestly... Our project follows a concrete repository pattern using no interfaces or inheritance, returning anaemic domain models (they are just poco) that then get mapped into 'view models' (its an api). The domain models exist to map to 'view models' and have no methods on them. This is in response to my comments over the last 2 years about returning database models as domain transfer objects and blindly trusting all Posts of those models being a bad idea due to virtual fields in Ef.
Every comment on a pull request triggers hours of conversation about why we should make a change vs its already done so just leave it. Even if its a 5 minute change.
After 2 years the entire team still can't grasp restful design, or what the point is.
Just a tiny selection of constant incompetence that over the years has slowly warn me down to not really caring.
I can't really understand anymore if this is normal.3 -
My daily life with Eclipse. Story #0:
Me: browsing SVN repo with Eclipse (double fail, I know)
Eclipse: freezes
Me: waiting for ages
Me: killing eclipse
Repeated the process several times. Solution:
Me: browsing SVN repo with Eclipse (double fail, I know)
Eclipse: freezes
Me: hover over another view
Eclipse: isn't frozen anymore
Thanks for wasting my time ... -
This is the third part of my ongoing series "The Ballad of the Six Witchers and the Undocumented Java Tool".
In this part, we have the massive Battle of Sparks and Storms.
The first part is here: https://devrant.com/rants/5009817/...
The second part is here: https://devrant.com/rants/5054467/...
Over the last couple sprints and then some, The Witcher Who Writes and the Butchers of Jarfile had studied the decompiled guts of the Undocumented Java Beast and finally derived (most of) the process by which the data was transformed. They even built a model to replicate the results in small scale.
But when such process was presented to the Priests of Accounting at the Temple of Cash-Flow, chaos ensued.
This cannot be! - cried the priests - You must be wrong!
Wrong, the Witchers were not. In every single test case the Priests of Accounting threw at the Witchers, their model predicted perfectly what would be registered by the Undocumented Java Tool at the very end.
It was not the Witchers. The process was corrupted at its essence.
The Witchers reconvened at their fortress of Sprint. In the dark room of Standup, the leader of their order, wise beyond his years (and there were plenty of those), in a deep and solemn voice, there declared:
"Guys, we must not fuck this up." (actual quote)
For the leader of the witchers had just returned from a war council at the capitol of the province. There, heading a table boarding the Archpriest of Accounting, the Augur of Economics, the Marketing Spymaster and Admiral of the Fleet, was the Ciefoh Seat himself.
They had heard rumors about the Order of the Witchers' battles and operations. They wanted to know more.
It was quiet that night in the flat and cloudy plains of Cluster of Sparks and Storms. The Ciefoh Seat had ordered the thunder to stay silent, so that the forces of whole cluster would be available for the Witchers.
The cluster had solid ground for Hive and Parquet turf, and extended from the Connection River to farther than the horizon.
The Witcher Who Writes, seated high atop his war-elephant, looked at the massive battle formations behind.
The frontline were all war-elephants of Hadoop, their mahouts the Witchers themselves.
For the right flank, the Red Port of Redis had sent their best connectors - currency conversions would happen by the hundreds, instantly and always updated.
The left flank had the first and second army of Coroutine Jugglers, trained by the Witchers. Their swift catapults would be able to move data to and from the JIRA cities. No data point will be left behind.
At the center were thousands of Sparks mounting their RDD warhorses. Organized in formations designed by the Witchers and the Priestesses of Accounting, those armoured and strong units were native to this cloudy landscape. This was their home, and they were ready to defend it.
For the enemy could be seen in the horizon.
There were terabytes of data crossing the Stony Event Bridge. Hundreds of millions of datapoints, eager to flood the memory of every system and devour the processing time of every node on sight.
For the Ciefoh Seat, in his fury about the wrong calculations of the processes of the past, had ruled that the Witchers would not simply reshape the data from now on.
The Witchers were to process the entire historical ledger of transactions. And be done before the end of the month.
The metrics rumbled under the weight of terabytes of data crossing the Event Bridge. With fire in their eyes, the war-elephants in the frontline advanced.
Hundreds of data points would be impaled by their tusks and trampled by their feet, pressed into the parquet and hive grounds. But hundreds more would take their place. There were too many data points for the Hadoop war-elephants alone.
But the dawn will come.
When the night seemed darker, the Witchers heard a thunder, and the skies turned red. The Sparks were on the move.
Riding into the parquet and hive turf, impaling scores of data points with their long SIMD lances and chopping data off with their Scala swords, the Sparks burned through the enemy like fire.
The second line of the sparks would pick data off to be sent by the Coroutine Jugglers to JIRA. That would provoke even more data to cross the Event Bridge, but the third line of Sparks were ready for it - those data would be pierced by the rounds provided by the Red Port of Redis, and sent back to JIRA - for good.
They fought for six days and six nights, taking turns so that the battles would not stop. And then, silence. The day was won, all the data crushed into hive and parquet.
Short-lived was the relief. The Witchers knew that the enemy in combat is but a shadow of the troubles that approach. Politics and greed and grudge are all next in line. Are the Witchers heroes or marauders? The aftermath is to come, and I will keep you posted.4 -
At the institute I did my PhD everyone had to take some role apart from research to keep the infrastructure running. My part was admin for the Linux workstations and supporting the admin of the calculation cluster we had (about 11 machines with 8 cores each... hot shit at the time).
At some point the university had some euros of budget left that had to be spent so the institute decided to buy a shiny new NAS system for the cluster.
I wasn't really involved with the stuff, I was just the replacement admin so everything was handled by the main admin.
A few months on and the cluster starts behaving ... weird. Huge CPU loads, lots of network traffic. No one really knows what's going on. At some point I discover a process on one of the compute nodes that apparently receives commands from an IRC server in the UK... OK code red, we've been hacked.
First thing we needed to find out was how they had broken in, so we looked at the logs of the compute nodes. There was nothing obvious, but the fact that each compute node had its own public IP address and was reachable from all over the world certainly didn't help.
A few hours of poking around not really knowing what I'm looking for, I resort to a TCPDUMP to find whether there is any actor on the network that I might have overlooked. And indeed I found an IP adress that I couldn't match with any of the machines.
Long story short: It was the new NAS box. Our main admin didn't care about the new box, because it was set up by an external company. The guy from the external company didn't care, because he thought he was working on a compute cluster that is sealed off behind some uber-restrictive firewall.
So our shiny new NAS system, filled to the brink with confidential research data, (and also as it turns out a lot of login credentials) was sitting there with its quaint little default config and a DHCP-assigned public IP adress, waiting for the next best rookie hacker to try U:admin/P:admin to take it over.
Looking back this could have gotten a lot worse and we were extremely lucky that these guys either didn't know what they had there or didn't care. -
In today's episode of kidding on SystemD, we have a surprise guest star appearance - Apache Foundation HTTPD server, or as we in the Debian ecosystem call it, the Apache webserver!
So, imagine a situation like this - Its friday afternoon, you have just migrated a bunch of web domains under a new, up to date, system. Everything works just fine, until... You try to generate SSL certificates from Lets Encrypt.
Such a mundane task, done more than a thousand times already... Yet... No matter what you do, nothing works. Apache just returns a HTTP status code 403 - Forbidden.
Of course, what many folk would think of first when it came to a 403 error is - Ooooh, a permission issue somewhere in the directory structure!
So you check it... And re-check it to make sure... And even switch over to the user the webserver runs under, yet... You can access the challenge just fine, what the hell!
So you go deeper... And enable the most verbose level of logging apache is capable of - Trace8. That tells you... Not a whole lot more... Apparently, the webserver was unable to find file specified? But... Its right there, you can see it!
So you go another step deeper and start tracing the process' system calls to see exactly where it calls stat/lstat on the file, and you see that it... Calls lstat and... It... Returns -1? What the hell#2!
So, you compile a custom binary that calls lstat on the first argument given and prints out everything it returns... And... It works fine!
Until now, I chose to omit one important detail that might have given away the issue to the more knowledgeable right away. Our webservers have the URL /.well-known/acme-challenge/, used for ACME challenges, aliased somewhere else on the filesystem - To /tmp/challenges.
See the issue already?
Some *bleep* over at the Debian Package Maintainer group decided that Apache could save very sensitive data into /tmp, so, it would be for the best if they changed something that worked for decades, and enabled a SystemD service unit option "PrivateTmp" for the webserver, by default.
What it does is that, anytime a process started with this option enabled writes to /tmp/*, the call gets hijacked or something, and actually makes the write to a private /tmp/something/tmp/ directory, where something... Appeared as a completely random name, with the "apache2.service" glued at the end.
That was also the only reason why I managed fix this issue - On the umpteenth time of checking the directory structure, I noticed a "systemd-private-foobarbas-apache2.service-cookie42" directory there... That contained nothing but a "tmp" directory with 777 as its permission, owned by the process' user and group.
Overriding that unit file option finally fixed the issue completely.
I have just one question - Why? Why change something that worked for decades? I understand that, in case you save something into /tmp, it may be read by 3rd parties or programs, but I am of the opinion that, if you did that, its only and only your fault if you wrote sensitive data into the temporary directory.
And as far as I am aware, by default, Apache does not actually write anything even remotely sensitive into /tmp, so...
Why. WHY!
I wasted 4 hours of my life debugging this! Only to find out its just another SystemD-enabled "feature" now!
And as much as I love kidding on SystemD, this time, I see it more as a fault of the package maintainers, because... I found no default apache2/httpd service file in the apache repo mirror... So...8 -
I may not be a dev... (learning in my off time though, best thing ever) but I have been responsible for the computer system validation, requirements definitions and planning of a new piece of software that will have a major increase in effeciency for a division consisiting of over half our companies employees.
For months it has been a painful process. I have had night terrors, immense pressure on my head all the while thinking we are getting to that final goal (live deployment), and the light at the end of the tunnel has just seemed to be getting further and further away... Like a donkey chasing a carrot on a stick.
After all the grey hairs, stress and drinking I am finally going to deploy this thing to the live environment tomorrow. Funny thing is its the part of this process that managers are stressing about and I am here like... Oh wow my Friday just got a whole lot better2 -
Guess what guys, I'm installing Ubuntu over Arch, because I need change and I just don't give a shit about distro elitism. Like many others, I got my start on Ubuntu (was probably Hardy Heron), and then I have done some hoppin' ever since. I never wanted to go back to plain Ubuntu because you know.., but fuck that, its perfect for what I need on my shitty laptop which I do nothing more than watch shitty livestreams on.
I also need something which looks vaguely caught up to 2019 GUI standards while expending max 13 kcal in the process (already spent a fair share with KDE). The 13 is for deleting the Amazon shortcut.9 -
Many years ago, when I moved from a semi-experienced developer to an absolute beginner project manager at another company, my very first project was an absolute clusterfuck.
The customer basically wanted to scrape signups to their EventBrite events into their CRM system. The fuckery began before the project even started, when I was told my management that we HAD to use BizTalk. It didn't matter that we had zero experience with BizTalk, or that using BizTalk for this particular project was like using a stealth bomber to go down to the shops for a bottle of tequila (that's one for fans of Last Man on Earth). It's designed to be used by an experienced team of developers, not a small inexperienced 1-person dev team I had. The reason was for bullshit political reasons which I wasn't really made clear on (I suspect that our sales team sold it to them for a bazillion pounds, and they weren't using it for anything, so we had to justify us selling it to them by doing SOMETHING with it). And because this was literally my first project, I was young and not confident at all, and I wanted to be the guy who just got shit done, I didn't argue.
Inevitably, the project was a turd. It went waaay over budget and time, and didn't work very well. I remember one morning on my way to work seriously considering ploughing my car into a ditch, so that I had a good excuse not to go into work and face that bullshit project.
The good thing is that I learned a lot from that. I decided that kind of fuckery was never going to happen again.
A few months later I had an initial meeting with a potential customer (who I was told would be a great customer to have for bullshit political reasons) - I forget the details but they essentially wanted to build a platform for academic researchers to store data, process it using data processing plugins which they could buy, and commersialise it somehow. There were so many reasons why this was a terrible idea, but when they said that they were dead set on using SharePoint (SharePoint!!!) as the base of the platform, I remembered my first project and what happened.
I politely explained my technical and business concerns over the idea, and reasons why SharePoint was not a good fit (with diagrams and everything), suggested a completely different technology stack, and scheduled another meeting so they could absorb what I had said and revisit. I went to my sales and head of development and basically told them to run. Run fast, and run far, because it won't work, these guys are having some kind of fever dream, it's a clusterfuck in the making, and for some reason they won't consider not using SP.
I never heard from them again, so I assume we dropped them as a potential client. It felt amazing. I think that was the single best thing I did for that company.
Moral of the story: when technology decisions are made which you know are wrong, don't be afraid to stand up and explain why.3 -
1. It's gonna be more and more specialized - to the point where we'll equal or even outdo the medical profession. Even today, you can put 100 techs/devs into a room and not find two doing the same job - that number will rise with the advent of even more new fields, languages and frameworks.
2. As most end users enjoy ignoring all security instructions, software and hardware will be locked down. This will be the disadvantage of developers, makers and hackers equally. The importance of social engineering means the platform development will focus on protecting the users from themselves, locking out legitimate tinkerers in the process.
3. With the EU getting into the backdoor game with eTLS (only 20 years after everyone else realized it's shit), informational security will reach an all-time low as criminals exploit the vulnerabilities that the standard will certainly have.
4. While good old-fashioned police work still applies to the internet, people will accept more and more mass surveillance as the voices of reason will be silenced. Devs will probably hear more and more about implementing these or joining the resistance.
5. We'll see major leaks, both as a consequence of mass-surveillance (done incompetently and thus, insecurely) and as activist retaliation.
6. As the political correctness morons continue invading our communities and projects, productivity will drop. A small group of more assertive devs will form - not pretty or presentable, but they - we - get shit done for the rest.
7. With IT becoming more and more public, pseudo-knowledge, FUD and sales bullshit will take over and, much like we're already seeing it in the financial sector, drown out any attempt of useful education. There will be a new silver-bullet, it will be useless. Like the rest. Stick to brass (as in IDS/IPS, Firewall, AV, Education), less expensive and more effective.
8. With the internet becoming a part of the real life without most people realizing it and/or acting accordingly, security issues will have more financial damages and potentially lethal consequences. We've already seen insulin pumps being hacked remotely and pacemakers' firmware being replaced without proper authentication. This will reach other areas.
9. After marijuana is legalized, dev productivity will either plummet or skyrocket. Or be entirely unaffected. Who cares, I'll roll the next one.
10. There will be new JS frameworks. The world will turn, it will rain.1 -
How to write a proper Hello World program in Java:
public class ProperJavaProgram {
public static void main(String[] args) {
try {
// Write the hello world file
List<String> lines = Arrays.asList(
"#include <stdio.h>",
"int main() {",
"printf(\"Hello World!\\n\");",
"return 0;",
"}"
);
Path file = Paths.get("awesome-program.c");
Files.write(file, lines, Charset.forName("UTF-8"));
// Execute the file
executeCommand("cc awesome-c-program.c -o awesome-executable");
executeCommand("./awesome-executable");
} catch (IOException e) {
System.out.println("You're screwed, just use Java and get over it. " + e);
}
}
public static void executeCommand(String command) {
try {
Process p = Runtime.getRuntime().exec(command); // Run the process
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); // Get the output
String s; // Print out the output
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
} catch (IOException e) {
System.out.println("You're screwed, just use Java and get over it. " + e); // UR SCREWED
}
}
}2 -
Just got my new MacBook Pro, so I’m in the process of installing everything..
so, Xcode has been installing for over one hour... is this normal ? 🤔18 -
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 -
Mozilla will update the browser to DNS-over-HTTPS security feature to all Firefox users in the U.S. by default in the coming weeks.
According to the report of TechCrunch : Whenever you visit a website ; even if it's HTTPS enabled, the DNS query that converts the web address into an IP address that computers can read is usually unencrypted. DNS-over-HTTPS or DoH encrypts the request so that it can not be intercepted or hijacked in order to send a user to a malicious site. These unencrypted DNS queries can also be used to snoop on which websites a user visits. The feature relies on sending DNS queries to third-party providers such as Cloudflare and NextDNS which will have their DoH offering into Firefox and will process DoH queries. Mozilla also said it plans to expand to other DoH providers and regions.12 -
The interview wasn't so bad, but it was deceiving, not to the fault of the company though. During the interview process, they were asking all sorts of questions about my Angular and front-end skills. I was to take over a project that used Angular heavily, and none of their devs knew angular. At the time, this was going to be my dream job! After I got the job, and met with the contractor who was handing over the project. He told me that he spent that weekend rewriting the whole thing on rails and ember. When I brought it up with my boss, he was not happy. I would have been fine working on it, but instead I got put onto Wordpress projects with the evergreen promise that I would transition to that project or another one like it. Never happened, built up my skills contributing to Open Source, then left.1
-
Finally finished the longest ticket I've ever worked on in my life. The ticket title and description was a pretty simple and straightforward one: "Upgrade from PHP 7.4 to 8".
If it was only so simple in real life. Our application is mostly done with API Platform framework, which is based on top of Symfony framework which is based on top of PHP language.
Once I did PHP 7 => 8 upgrade I needed to upgrade API Platform 2 => 3. But of-course that couldn't have been done as before that I needed to upgrade from Symfony 5 => 6.
This all was literally an equivalent of touching into a wasp nest - it took me a bit over 5 months and 800 hours of work and there was literally not a single source file left untouched.
In the process of all of this I've ran into literally dozen undocumented feature-breaking changes, broken backwards-compatibility promises and inside out architectural changes - from both the frameworks and the language itself.
Upgrading just one major version of anything SHOULD NOT be so hard. And to top it all up just to think I will need to do this again in a year or two..
Experiences like these really set my hate for time-based model of releases and the state of today's development in general.6 -
I was in the last stage of a 12 hour interview process (over 3 days), meeting with the CEO/founder of the company. His final conclusion was (and he said this directly to me) that he felt I would do really well, and that my skill set was perfect and all the feedback from the interviewers was top notch...but he asked if I was published or had any patents. I said “no”. So, he paused and then said “well, without a full 4 year degree or either having been published or having any patents, I think we would be taking too great a risk. I mean, there’s a chance you would work out. I have taken that chance before, and he’s now our CTO. But I’m just not sure about this”.
I was not offered the position.5 -
I FUCKING HATE IT WHEN I HAVE TO BUILD SOMETHING FROM SOURCE!!!!
So I wanted to install a package with pip. Shouldn't be that difficult, right? RIGHT? Lmao
Things I encountered on this adventure in no particular order:
- multiple undocumented dependencies, only explained on stackoverflow or some github issues
- inconsistent and outdated documentation spread over multiple pages on multiple websites
- Python version can't be too old or too new
- other external software version incompatibilities
- Build process that takes several minutes just to fail, then try again and fail with exactly the same outcome after a few minutes
- fucking SVN is needed?!?!?!
- VS Code is needed for completely manual build ????
- cmd/powershell incompatibilites
- required reboots
At some point I just gave up... Now I don't even remember what I crap I installed that I don't need anymore.
Please for the love of god provide prebuild packages or at least a very SIMPLE build process -_-8 -
It's funny how you start feeling bad for the next dev taking over your project because it turned into a total spaghetti code shit show that will be impossible to maintain in the future with new features coming in.
Honestly... if a projects starts out with a certain scope which then gets extended EVERY FUCKING WEEK with requirements that can't even be met in the initial timeframe it's no wonder the code quality will decrease over time.
This just reminds me daily how important good project management (and I'm not talking about suit wearing pain-in-the-ass-managers) and the inclusion of devs in the planning process really is.
It's so fucking crazy that companies run like that with people up front that have NO FUCKING CLUE what they are doing, nor do they understand the mechanics, tech and effort that go into certain features. They're like "beep, boop, it's done by Friday you fuck!".
The funniest part of this stupid charade is that the closer we get to a new "deadline" (we will not meet the deadline anyways) the more nervous the "managers" get. WHY didn't you properly plan this shit in the first place? WHY didn't you care for the last six months where all this fucking bullshit could still have been prevented?
Meanwhile I'm just so sick and tired of this shitty project and this sucky company that I just don't have any motivation left to keep on working. It's so fucking hard and painful to work on projects that suck ass, are poorly designed. I just got to the point where coding is no fun any more. Thank god I'm out of here soon... fml5 -
Could anyone link me to a good tutorial on getting started with bitcoin..? I would look myself, but there are a lot of different ways, and I'm not sure what's a good way, and what's a bad way.. Or, if anyone would like to give me a quick rundown, that would be great, too!
I'm looking to stockpile bitcoins overtime and let them sit, like a savings account. (Currentally have a little over $13 USD to spend (Paypal))
Process must not require a phone number!
Process must support Paypal~!
Thanks in advance,
April.2 -
>Discovers a new low level profiling tool that could help us at work with stuck process debugging and gets all hyped
>Installs on test machine, tool doesn't work
>Wonders why. Oh. Needs a kernel module to work, compiled and loaded
>"Well, its my test machine... Guess that's no problem..." but... my hype died down a bit. Kernel module installation just for a new tool that aggregates all other commonly used tools? eh... Maybe it will blow me out of my shoes still
>Installs and loads the module
>Tool works. Turns out its just a htop-like tool, with shortcuts to launch specific other profiling tools like strace/ltrace/lsof/netstat/ss etc...
"Oh... That's boring. Maybe it has all those tools built in at least?"
>Tries to run ltrace - tool exits as ltrace is not installed
Lol
>Installs ltrace and launches tool again. Tries to ltrace a process and
>Nothing. Nothing happens. For seconds... Then kicks me off of SSH
WTF?
>Tries to ping machine... silence
Did... our net go down again? (Having issues due to a storm going over our area these few days)
>Pings google and... gets instant reply
More wtf
>Pings the hypervisor the machine was running on
Works like normal
Oh... Oh no. Please tell me it didn't!
>Logs into the hypervisor UI, checks machine state
Running OK
>Opens machine console aaaaand... Yep. Stacktrace as well as a lot of kernel mumbo-jumbo... It took the machine down to kernel panic.
I never went so quick from "We need this tool deployed everywhere" to "Omg I need to get rid of this crap as soon as possible" lol.
And just for those wondering, it was sysdig.1 -
Today started off great!
New 5TiB HDD... Check!
Formatted with zfs under LUKS, with a high level.of compression and dedup... Check!
Copying over roughly 4TiB of data, about 2 of which was scattered in small files... Coworker unplugged it from AC thinking it was his (they are sort of similar), when the process was almost complete.
Goddamit. zpool scrub.... 6 hours left. It's 9 pm over here, and I'm not a fan of leaving my stuff at work. Goddammit.
...I guess tomorrow is another day.8 -
I was just listening to Last Week Tonight with John Oliver on YouTube while brushing my teeth and tried to adjust the volume on my phone but instead accidentally locked it. Then the fingerprint scanner refused to open the phone again, so I turned it the right way around, accidentally removing the electric toothbrush from my mouth in the process, spraying toothpaste and saliva all over my screen like a giant fan.
When I finally unlocked my stained phone, how did YouTube react to my blood being ready to boil?
“Wish videos kept playing even when you close the app? Try YouTube Premium for 12,99€ a month.”
I wanted to drop my phone into the bog and walk away singing Fucked With an Anchor.3 -
2 hour meeting to brainstorm ideas to improve our system health monitoring (logging, alerting, monitoring, and metrics)
Never got past the alerting part. Piss poor excuses for human being managers kept 'blaming' our logging infrastructure for allowing them to log exceptions as 'Warnings', purposely by-passing the alerting system.
Then the d-head tried to 'educate' everyone the difference between error and exception …frack-wad…the difference isn't philosophical…shut up.
The B manager kept referring to our old logging system (like we stopped using it 5 years ago) and if it were written correctly, the legacy code would be easier to migrate. Fracking lying B….shut the frack up.
The fracking idiots then wanted to add direct-bypass of the alerting system (I purposely made the code to bypass alerting painful to write)
Mgr1: "The only way this will work is if you, by default, allow errors to bypass the alerting system. When all of our code is migrated, we'll change a config or something to enable alerting. That shouldn't be too hard."
Me: "Not going to happen. I made by-passing the alert system painful on purpose. If I make it easy, you'll never go back and change code."
Mgr2: "Oh, yes we will. Just mark that method as obsolete. That way, it will force us to fix the code."
Me: "The by-pass method is already obsolete and the teams are already ignoring the build warnings."
Mgr1: "No, that is not correct. We have a process to fix all build warnings related to obsolete methods."
Mgr2: "Yes. It won't be like the old system. We just never had time to go back and fix that code."
Me: "The method has been obsolete for almost a year. If your teams haven't fixed their code by now, it's not going to be fixed."
Mgr1: "You're expecting everything to be changed in one day. Our code base is way too big and there are too many changes to make. All we are asking for is a simple change that will give us the time we need to make the system better. We all want to make the system better…right?"
Me: "We made the changes to the core system over two years ago, and we had this same conversation, remember? If your team hasn't made any changes by now, they aren't going to. The only way they will change code to the new standard is if we make the old way painful. Sorry, that's the truth."
Mgr2: "Why did we make changes to the logging system? Why weren't any of us involved? If there were going to be all these changes, our team should have been part of the process."
Me: "You were and declined every meeting and every attempt to include your area. Considering the massive amount of infrastructure changes there was zero code changes required by your team. The new system simply worked. You can't take advantage of the new features which is why we're here today. I'm here to offer my help in any way I can with the transition."
Mgr1: "The new logging doesn't support logging of the different web page areas. Until you can make that change, we can't begin changing our code."
Me: "Logging properties is just a name+value pair dictionary. All you need to do is standardize on a name and how you add it to the collection."
Mgr2: "So, it's not a standard field? How difficult would it be to change the core assembly? This has to be standard across all our areas and shouldn't be up to the developers to type in anything they want."
- Frack wads smile and nod to each other like fracking chickens in a feeding frenzy
Me: "It can, but what will you call this property? What controls its value?"
- The look I got from both the d-bags I could tell a blood vessel popped.
Mgr1: "Oh…um….I don't know…Area? Yea … Area."
Mgr2: "Um…that's not specific enough. How about Page?"
Mgr1: "Well, pages can cross different areas, and areas cross different pages…what do you think?"
Me: "Don't know, don't care. It's up to you. I just need a name."
Mgr2: "Modules! Our MVC framework is broken up in Modules."
DevMgr: "We already have a field for Module. It's how we're segmenting the different business processes"
Mgr1: "Doesn't matter, we'll come up with a name later. Until then, we won't make any changes until there is a name."
DevMgr: "So what did we accomplish?"
Me: "That we need to review the web's logging and alerting process and make sure we're capturing errors being hidden as warnings."
Mgr1: "Nooo….we didn't accomplish anything. This meeting had no agenda and no purpose. We should have been included in the logging process changes from day one."
Mgr2: "I agree, I'm not sure why we're here"
Me: "This was a brainstorming meeting as listed in the agenda. We've accomplished 2 of the 4 items. I think we've established your commitment to making the system better. Thank you all for coming."
- Mgr1 and 2 left without looking at me or saying a word.1 -
Am I the only developer in existence who's ever dealt with Git on Windows? What a colossal train wreck.
1. Authentication. Since there is no ssh key/git url support on Windows, you have to retype your git credentials Every Stinking Time you push. I thought Git Credential Manager was supposed to save your credentials? And this was impossible over SSH (see below). The previous developer had used an http git URL with his username and password baked in for authentication. I thought that was a horrific idea so I eventually figured out how to use a Bitbucket App password.
2. Permissions errors
In order to commit and push updates, I have to run Git for Windows as Administrator.
3. No SSH for easy git access
Here's where I confess that this is a Windows Server machine running as some form of production. Please don't slaughter me! I am not the server admin.
So, I convinced the server guy to find and install some sort of ssh service for Windows just for the off times we have to make a hot fix in production. (Don't ask, but more common than it should be.)
Sadly, this ssh access is totally useless as the git colors are all messed up, the line wrap length and window size are just weird (seems about 60 characters wide by 25 lines tall) and worse of all I can't commit/push in git via ssh because Permissions. Extremely aggravating.
4. Git on Windows hangs open and locks the index file
Finally, we manage to have Git for Windows hang quite frequently and lock the git index file, meaning that we can't do anything in git (commit, push, pull) without manually quitting these processes from task manager, then browsing to the directory and deleting the .git/index.lock file.
Putting this all together, here's the process for a pull on this production server:
Launch a VNC session to the server. Close multiple popups from different services. Ask Windows to please not "restart to install updates". Launch git for Windows. Run a git pull. If the commits to be pulled involve deleting files, the pull will fail with a permissions error. Realize you forgot to launch as Administrator. Depending on how many files were deleted in the last update, you may need to quit the application and force close the process rather than answer "n" for every "would you like to try again?" file. Relaunch Git as Administrator. Run Git pull. Finally everything works.
At this point, I'd be grateful for any tips, appreciate any sympathy, and understand any hatred. Windows Server is bad. Git on Windows is bad.10 -
Wouldn't say our teamwork failed we just sucked that day.
I had a ticket to fix a SQL sp and then correct some data afterwards. As this was the typical "urgent fix need now" we went through a different process for fixing it.
Me: Just sent you some scripts can you check them over before we apply it to uat?
Boss: let's go through it together.
5 mins later
Boss: looks fine I'll apply the scripts.
2 minutes later
Me: did you apply the scripts to uat?
Boss: No I applied them to live.
Me: oh ... oh no.
At this point I realized I was missing a critical where clause so yup my update was applied against all of the data.
Boss: oh
Yup he just spotted my error.
Helpdesk phones start ringing
Boss: you pick it up it's your code
Me: hey you applied its your problem now.
One db restore and several incident meetings later we fixed it. Twas a fun day.1 -
Apparently my learning style is more rote memorization than learn-by-doing and I've been trying to learn by doing for years as a hobbyist.
It took a fucking *national quarantine* to get me to try something different and I'm blown away.
What would have taken me many months to learn I've all but grasped in detail in a matter of 20 hours of study over the course of a week.
Fuck you javascript. I WIN THIS ROUND. No more looking at the documentation for stupid shit like how to write a regex, or why everything is wrapped in fucking parenthesis (IIFE), or why
I keep getting a uncaught reference exception.
The important thing to realize about learning is NEVER be obstinate about it. Try many things, and don't get stuck in one way of learning unless you know thats what works for you.
This is why having study partners and mentors are important.
I think experience/practice and rote learning work in tandem. Rote learning lets you skip the much longer step of grasping the fundamentals, bootstrapping the process of learning the abstractions that are composed of those fundamentals.
I'm still adding cards to my anki flash card deck, but if anyone wants it I'm willing to share. It's mostly just 1. practice questions, 2. detail questions (what are the types? What does this regex do?, etc), 3. implication questions (heres this bit of code. It's XYZ, why did it fail? Correct it.), combining core details to memorize, and the application of the facts learned.
It helped me to learn and I'm apparently retarded, so if you're new to programming and want to learn JS, it can probably help you too. Unless you're more of a tard than me lol.1 -
A continuation of the worst idiot that I worked for, in possibly the worst project of the world. ( The guy who said youtube watching doesn't cost data, downloading the videos offline does)
Guy sends me a template for a patent application.. I ask him why, and he's all secretive until he takes me into a meeting with the patent officers of the organization to reveal his grand plans.
Here goes his idea. He wanted to file a patent for a sonar made for large vehicles in India. His idea was that people in India are used to overtake busses while they turn and they are overrun by the large vehicles. True to some extent but a completely overkill solution for a minor issue that could be solved by educating the masses. I try to explain this to him, and he's pissed off. Starts throwing random, made up stats at me saying 2000 people die everyday on every street. I'm like WHAT??? I look at the patent officer, and he gives me that "don't look at me dude, I'm just here for any questions about the patent process" look. He's busy doodling in his notebook while I try everything possible to invalidate the stupid idea my client has barfed all over the meeting room and the attendants. I even bring out the technical challenges leaving aside the practicality of the nonsense. I asked him how to distinguish between a pedestrian, a parked vehicle, a dog, a cow.. To which he responds with an on the spot thoughtless answer. Heat signatures!! In 5 minutes we went from sonar to heat maps in a tropical country such as India.. He now wants a hybrid solution.
He was about to start yelling when I caved in on the condition that I want nothing to do with the idea after I finish the patent application.. Made up some document and sent it to the asshole, only to never hear about it again.. Thank god for that.. R&D my ass..7 -
Best: Realising I can code and I actually do have the drive to pursue this career but need to make some changes to get there.
Worst: Also realising I'm very logic oriented and process driven and work in a company that would rather piss on exposed power mains over training their staff. -
my brain feels like an AI. It just slices things it sees and layers them over and over again. It doesn’t even change things, leaving them pristine and intact, it doesn’t filter stuff out. I cite memes exactly, word by word, with the exact intonation, because I literally just lip syncing to that meme playing in my head as if I was watching a youtube video. Some days I’m not even conscious of my surroundings, I don’t realize where I am, what I do, I’m just caught in that process I can barely put in words. People ask me to do something for them, I do it, and they’re like “no! it’s not what I asked for, well, it is, but not in this sense!” If they asked me if I could make their company the most profitable one in their niche, my brain will probably decide to instead sink and destroy other companies there. All that unspoken, “common sense” knowledge, I don’t understand. I feel detached, as if everyone else was “in” on something, some common notion, meanwhile I’m alone with my perfect things. I feel like a perfect Haskell codebase trying to interact with biker bar gloryhole dirty equivalent of an API. I want things to be exact, I want things to be precise, I want words you say to have specific meaning that I can understand, and I’ll ask you even though it takes overcoming my anxiety and guilt for asking “stupid” questions. If you throw in some clue, my brain will generate a Vsauce video worth of elaboration on that, and I’ll just tell it to you. Sometimes I feel like I just don’t fit, I can’t have fun at party with other people, if there are more than five of them, I’ll probably cry for no apparent reason. My consciousness operates smoothly, and then it don’t, it overheats, crashes and burns, then comes the numbness and derealisation.
I’m not okay. Now more than ever, I sometimes want to just end it.5 -
A newly joined developer (who was supposed to be very senior) comes and asks me how to write a test cos for some reason the person didn't know how to mock.
In Java,
(same for any other implementation which has an interface)
Writes Arraylist list =.....
Instead of List list = Arraylist...
Deployed code (another engineer from another country helped to deploy since this new senior dev didn't have access yet.
But the new senior dev didn't update relevant files in production code which brought down the site for nearly an hour. Mistake aside, the first reaction from this new senior dev is 'WHY DIDN'T THE DEV THAT WAS HELPING DIDN'T DO THE FILE UPDATE?'
This was followed by some other complaints such as our branching stragies are wrong. When in fact the new senior dev made a mistake by just making assumptions on our git branching strategies and we already advised on correct process.
Out of all these, guess this is the best part. The senior dev never tested code locally! Just wrote code, unit test and send to QA and somehow the test passed through. I learnt this when I realised this dev... has not even set up the local environment yet.
I keep saying new but this Senior dev been around like 3 months! This person is in another team within our larger team but shares same code base. I am puzzled how do you not set up your environment for 3 months. Don't you ask for help if you are stuck? I am pretty sure the env is still not setup.
Am I over reacting or is this one disgusting developer who doesn't even qualify for an intern let alone a senior dev? It's so revolting I can't even bring myself to offer help.8 -
A few days ago I decided to install Windows 7 on a VM (bad idea as it turned out). All fine and dandy and I ran Windows Update a few times to get it at least as up-to-date as it'll get.
I noticed that out of the 4GB RAM I had allocated, an svchost process responsible for the updates was gobbling up all the available memory, just leaving 82MB for everything else. The process itself was as you might imagine consuming over 3GB RAM just for itself. That's how an OS should work right after installation, I'm sure you'll agree.
So I complained about it. Haven't used Windows anywhere for a while so I wasn't used anymore to this level of efficiency. Disk activity went through the roof, though to be fair the underlying disk wasn't an SSD (qcow2 on ZFS on a spinning drive). RAM consumption is something I already covered. CPU temperature shot up to 95C.
So as any idiot would do, I disabled the service related to that process (the svchost process for wuauserv) and the problem went away. But I complained of course, saying that such amazing system utilization metrics wasn't something I expected. I mean for 4GB allocated, having as much as 82MB usable to get stuff done with! 95C on the CPU, on a lot of chips that's the junction temperature! Absolutely beautiful.
When I complained I heard that I had to replace the thermal grease. I do that twice a year. I wrote a custom fan driver for my system that works absolutely great. It was obviously shit. I must be a horrible sysadmin for solving a problem by eliminating the cause, and companies hiring me must be ashamed of themselves. My hardware must be shit (that's a common one with Windows users) despite being a business laptop and the guest system being a VM. Oh and I'm an idiot of course for complaining about such amazing system metrics in Windows.
I love Windows and its community...8 -
TL;DR: A new "process" for collaboration between teams was created in order to stonewall requests from my team.
A couple months ago, we created a new Dev team that specializes in writing internal tools. This team was staffed with internal developers, and got a separate manager. The whole point of this team was to collaborate with my dev team so we can both help each other develop tools that the company needs.
One of the developers that was on my team went over to this team while he and I were still working on a big application. For a few weeks, he still worked on this application as he normally would, and we'd sit with each other and work through features together whenever we needed a fresh set of eyes.
Well, eventually his new team got protective of him and created a new "process" for our teams to request assistance from one another. So now instead of just popping over to someone's desk to ask a quick question, you have to send an email to the team and request that you can borrow that particular developer for a question, and then the entire team sits down and discusses whether or not they're going to allow that person to answer your question. Then after a week of discussion, if they decide to allow it, they schedule a meeting for a week later, in which you will get the question answered.
So instead of just spending 2 minutes to ask and answer the question, you have to spend weeks in order to request assistance, and then schedule a meeting.
It's ridiculous, and it's all because his team got protective that he was working with another Dev team. Dev teams collaborate all the time, and work together. My team is constantly helping other teams, and we don't have this ridiculous process. We get asked a question, and we answer it. Simple as that.
Last week, I sent an email for assistance in completing a feature, and didn't hear back. I talked to the Product Owner for the team, and he said "Just send an email," to which I responded that I did and hadn't got a response. He said "Oh....." I then told my boss that this is an enormous bottleneck, and he seemed surprised hearing that this is a bottleneck.
A week passed and today I still hadn't got a response, so my boss reached out to the Product Owner to push him. Finally, I got a response and they scheduled a meeting to answer my question 3 days down the road. So it's going on 2 weeks to get this simple question answered.
Normally I'd just have the other developer come over and help, but apparently they yelled at him the last time he did that.
The issue is that the process was created with the assistance of our "senior" developers, who never work with this other team in this capacity, so they just nodded and smiled and let them put this ridiculous process in place.
Like, get off your high horses. You don't "own" him, he's allowed to collaborate with other teams. This question would've taken literally 10 minutes, but because of your new "process" you've turned it into a 2 week debacle and you've effectively delayed the app launch with your pettiness.
They say that this process isn't intended to prevent us from getting assistance, and that might not have been the original intention of the Product Owner/manager, but it's very clear that the developers on the other team are taking advantage of it and using it as a big stonewall so they can beat around the bush and avoid providing assistance when it's needed.
If this becomes a trend, I'm going to schedule a meeting (which apparently they love to do,) and we're going re-work this entire process, because it's extremely counterproductive and seems to only exist in order to create red tape.3 -
A software had been developed over a decade ago. With critical design problems, it grew slower and buggier over time.
As a simple change in any area could create new bugs in other parts, gradually the developers team decided not to change the software any more, instead for fixing bugs or adding features, every time a new software should be developed which monitors the main software, and tries to change its output from outside! For example, look into the outputs and inputs, and whenever there's this number in the output considering this sequence of inputs, change the output to this instead.
As all the patchwork is done from outside, auxiliary software are very huge. They have to have parts to save and monitor inputs and outputs and algorithms to communicate with the main software and its clients.
As this architecture becomes more and more complex, company negotiates with users to convince them to change their habits a bit. Like instead of receiving an email with latest notifications, download a csv every day from a url which gives them their notifications! Because it is then easier for developers to build.
As the project grows, company hires more and more developers to work on this gigantic project. Suddenly, some day, there comes a young talented developer who realizes if the company develops the software from scratch, it could become 100 times smaller as there will be no patchwork, no monitoring of the outputs and inputs and no reverse engineering to figure out why the system behaves like this to change its behavior and finally, no arrangement with users to download weird csv files as there will be a fresh new code base using latest design patterns and a modern UI.
Managers but, are unaware of technical jargon and have no time to listen to a curious kid! They look into the list of payrolls and say, replacing something we spent millions of man hours to build, is IMPOSSIBLE! Get back to your work or find another job!
Most people decide to remain silence and therefore the madness continues with no resistance. That's why when you buy a ticket from a public transport system you see long delays and various unexpected behavior. That's why when you are waiting to receive an SMS from your bank you might end up requesting a letter by post instead!
Yet there are some rebel developers who stand and fight! They finally get expelled from the famous powerful system down to the streets. They are free to open their startups and develop their dream system. They do. But government (as the only client most of the time), would look into the budget spending and says: How can we replace an annually billion dollar project without a toy built by a bunch of kids? And the madness continues.... Boeings crash, space programs stagnate and banks take forever to process risks and react. This is our world.3 -
my company is "pivoting" way too goddamn fast; they are pulling devs from other projects and throwing them into something that is a fragile system (was supposed to be replaced already) and is using a completely different stack than most of them usually work with. they keep promising 3rd parties that we will knock out their requirements within a week or two, and as such they are pushing haphazardly merged feature branches into production with absolutely no regression testing.
then when shit explodes and operations grinds to a halt, they tell the half of the team that actually knows how the system works to drop everything and fix it, and leave the diverted devs to continue to develop shit based on requirements drawn on a cocktail napkin, and then they fucking push both the hotfixes and the newest features at the same time.
I probably have the most tribal knowledge at this company, and they are paying me ok, so it's enough for me to just pour some rye and suck it up for the time being and milk the gig. but this can't be sustainable, right? i'm passively looking around for other work, as I've already had enough being here for over 3 years, but i'm finding most places to be slow on the application/hiring process lately due to covid.
Edit: i think i used the wrong tag here, but what the fuck ever. i haven't figured out how to tag shit properly on any platform3 -
Some of my co-workers are so fucking dumb. Their thought process....
Let's re-run tests that are currently failing over and over until it works
😡
like bitch....fix it then run it! don't just run shit over and over to make yourself look busy.1 -
Over the summer I was recruited to be a supplement instructor for a data structures course. As a result of that I was asked (separately by the professor) to be a grader for the course. Because of pay limitations I've mostly been grading homework project assignments. In any case, it's a great job to get my foot into the department and get recognized.
Over the course of the semester I've had this one person, OSX, named after their operating system of choice, who has been giving me awkward submissions. On the first assignment they asked the professor for extra time for some reason or the other, and that's perfectly fine.
So I finally receive OSX's submission, and it's a .py file as per course of the course. So I pop up a terminal in the working directory and type "python OSX_hw1.py". Get some error spit out about the file not being the right encoding. I know that I can tell python to read it in a different encoding, so I open it up in a text editor. To my surprise it's totally not a text file, but rather a .zip file!
I've seen weirder things done before, so no big deal. I rename the file extension, and open it up to extract the files when I see that there's no python files. "Okay, what's goin on here OSX..." I think to myself.
Poking around in the files it appears to be some sort of meta-data. To what, I had no clue, but what I did find was picture files containing what appeared to be some auto-generated screenshots of incomplete code. Since I'm one to give people the benefit of doubt even when they've long exhausted other peoples', I thought that it must be some fluke, and emailed OSX along with the professor detailing my issue.
I got back a rather standard reply, one of which was so un-notable I could not remember it if my life depended on it. However, that also meant I didn't have to worry about that anymore. Which when you're juggling 50 bazillion things is quite a relief. Tragically, this relief was short lived with the introduction of assignment 2.
Assignment 2 comes around, and I get the same type of submission from OSX. At this time I also notice that all their submissions are *very* close to the due time of 11:59pm (which I don't care about as long as it's in before people start waking up the next morning). I email OSX and the professor again, and receive a similar response. I also get an email from OSX worried about points being deducted. I reply, "No issue. You know what's wrong. Go and submit the right file on $CentralGradingCenter. Just submit over your old assignment".
To my frustration OSX claimed to not know how to do this. I write up a quick response explaining the process, and email it. In response OSX then asks if I can show them if they comes to my supplemental lesson. I tell OSX that if they are the only person, sure, otherwise no because it would not be a fair use of time to the other students.
OSX ends up showing up before anyone else, so I guide them through the process. It's pretty easy, so I'm surprised that they were having issues. Another person then shows up, so I go through relevant material and ask them if they have any questions about recent material in class. That said, afterwards OSX was being somewhat awkward and pushy trying to shake my hand a lot to the point of making me uncomfortable and telling them that there's no reason to be so formal.
Despite that chat, I still did not see a resubmission of either of those two assignments, and assignment 3 began to show it's head. Obviously, this time, as one might expect after all those conversations, I get another broken submission in the same format. Finally pissed off, I document exactly how everything looks on my end, how the file fails to run, how it's actually a zip file, etc, all with screenshots. That then gets emailed to the professor and OSX.
In response, I get an email from OSX panicking asking me how to submit it right, etc, etc. However, they also removed the professor from the CC field. In response I state that I do not know how to use whatever editor they are using, and that they should refer to the documentation in order to get a proper runnable file. I also re-CC the professor, making sure OSX's email to me is included in my reply.
OSX then shows up for one of my lessons, and since no one had shown up yet, I reiterate through what I had sent in the email. OSX's response was astonished that they could ever screw up that bad, but also admits that they had yet to install python(!!!). Obviously, the next thing that comes from my mouth is asking OSX how they write their code. Their response was that they use a website that lets them run python code.
At this point I'm honestly baffled and explain that a lot of websites like those can have limitations which might make code run differently then it should (maybe it's a simple interpreter written on JavaScript, or maybe it is real python, but how are you supposed to do file I/O?) .
After that I finally get a submission for assignment 1! -
Was very sick today.
Hopped over to work virtually so I can help with an issue holding up prod release.
Felt pretty awesome about the whole deal.
Than realized three things:
1- this was a bad example to junior devs.
2- stole learning experience from other devs
3- I am leaving this company. I should have allowed the weaning process to start2 -
I got a contract with this schools to build a student portal,
I do all the needful and the project whatever guy insists that I use their current shared hosting to host this MERN stack application.
first of all, cPanel is my least favorite place when it comes to deploying, I actually dont do deploying I just hand it over to whoever is the IT guy there.
I discovered there's no provision for nodejs in their current plan, I go through all the stress of contacting the shitty customer support and the process of squeezing out useful information from them.
I'm only doing this because the project whatever has refused to pay me until their site is deployed. throughout the process of creating this project I had setup continous deployment on heroku and netlify and I had to beg this guy to look at the changes and review them.
well, today I asked the former guy that built the current site for the login details to the schools dashboard on the hosting providers site and he says he used his personal details for it, according to him projects from other organizations are there too.
I swear I'm going to loose my shit, freelancing sucks3 -
In my current org we had a AWS SES event processor written in node js, it was struggling everytime we had more than 1000 messages in queue. It looped over every single message made some db calls then processed the next message. At one point we had to run 300 comatiners of this thing to clear out the queue.. It was still horribly slow.
I rewrote it in Golang with channels and goroutines now we need to run a single comatiner to handle upto 100k messages in queue. Used 10 goroutines to pull 10 messages constantly and put them in a channel, then spawned 1 goroutine per message to process them quickly. I'm so proud of this solution, we then brought this workflow to many other event processing services. 😎4 -
!Rant
I bought a Samsung Galaxy S7 Edge from my cousin for $450. I then proceeded to root it and everything was fine for a week or so before my phone went into an infinite boot loop after an OTA update.
In the process of trying to fix it, I accidentally flashed a bootloader, unaware that Samsung has the bootloader locked. As a result, I had a completely bricked phone.
I mean legit bricked. No buttons with work and the screen remained shut and I couldn't flash anything over it again to try to repair it. I couldn't even put the phone into recovery mode. I now had the world's most expensive paperweight.
However, I managed to convince Samsung to repair it for me for free! I told them that the phone just stopped responding after an OTA update from them, which isn't so far from the truth.
I only ever had to flash things on the phone to begin with because of their update. Honestly, I wouldn't has had to deal with this problem, and neither would Samsung, if they just didn't lock the damn bootloader! Why are these companies taking away are independent control of our own devices?
Moral of the story: DON'T flash over a locked bootloader EVER or you will end up with a completely brick device, with no solution other than to open it up and replace the motherboard entirely.12 -
What a week... I feel like I am on here ranting more than usual.
The Marketing Director and Project Manager keep telling me to let them know when I am stuck on tasks so they can unblock for me, but I FUCKING DO. I don't understand why they keep telling me to speak up, because I use multiple channels to tell those who are the blockers that I need an update.
I add comments on my Monday.com tickets and @ the relevant people, I send MS Teams chats to them, we even have a daily standup where I mention that I am stuck, as well as a OneNote daily update that gets sent to management where I mention that I am stuck and tag the people who need to help me out.
I have been stuck on a task for two sprints, which should have taken me a couple of days to do.
I really feel like I'm talking to brick walls, am I that unimportant? This is supposed to be "agile scrum kanban blah blah blah sprints story points people over process bullshit". I hate it. Y'all are doing it wrong... Fuckin robots.
I need a fuckin drink, thank God it's Friday.7 -
We use at our company one of the largest Python ORM and dont code ourselfs on it, event tough I can code. Its some special contract which our General Manager made, before we as Devs where in the Project and everything is provided from the external Company as Service. The Servers are in our own Datacenter, but we dont have access.
We have our Consultants (Project Manager) as payd hires and they got their own Devs.
Im in lead of Code Reviews and Interfaces. Also Im in the "Run" Team, which observes, debuggs and keeps the System alive as 3rd-Level (Application Managers).
What Im trying to achieve is going away from legacy .csv/sftp connections to RestAPI and on large Datasets GraphQL. Before I was on the Project, they build really crappy Interfaces.
Before I joined the Project in my Company, I was a Dev for a couple of Finance Applications and Webservices, where I also did coding on Business critical Applications with high demand Scaling.
So forth, I was moved by my Boss over to the Project because it wasn't doing so well and they needed our own Devs on it.
Alot of Issues/Mistakes I identified in the Software:
- Lots of Code Bugs
- Missing Process Logic
- No Lifecycle
- Very fast growing Database
- A lot of Bad Practices
Since my switch I fixed alot of bugs, was the man of the hour for fixing major Incidents and so on so forth. A lot of improvements have been made. Also the Team Spirit of 15+ People inside the Project became better, because they could consult me for solutions/problems.
But damn I hate our Consultants. We pay them and I need to sketch the concepts, they are to dumb for it. They dont understand Rest or APIs in general, I need to teach them alot about Best Practices and how to Code an API. Then they question everything and bring out a crooked flawed prototype back to me.
WE F* PAY THEM FOR BULLCRAP! THEY DONT EVEN WRITE DOCUMENTATION, THEY ARE SO LAZY!
I even had a Meeting with the main Consultant about Performance Problems and how we should approach it from a technical side and Process side. The Software is Core Business relevant and its running over 3 Years. He just argumented around the Problem and didnt provide solutions.
I confronted our General Manager a couple of times with this, but since 3 Years its going on and on.
Im happy with my Team and Boss, they have my back and I love my Job, but dealing with these Nutjobs of Consultants is draining my nerves/energy.
Im really am at my wits end how to deal with this anymore? Been pulling trough since 1 year. I wanna stay at my company because everything else besides the Nutjob Consultants is great.
I told my Boss about it a couple of times and she agrees with me, but the General Manager doesnt let go of these Consultants.
Even when they fuck up hard and crash production, they fucking Bill us... It's their fault :(3 -
I can now leave freely without any regrets!
The slight misgivings I had about leaving this place over the toys they provide, is now gone because I re-realized that while this place adopts new tech, it doesn't adapt to it. So they have shiny tools but the people and processes won't change.
It seems to me that due to pressure to deliver, there is little thought/analysis behind any tech change.
They don't plan to change their wretched delivery pipelines. Everything will be same but on git. So no velocity gains, and same bureaucratic review request process. Such a waste. This attitude applies to their other tools too. They are using a unit test library to write tests that don't use mock. They are using modern languages but without modern idioms. It's like writing C code in C++. And of course theoretically we are agile but actually we're just a waterfall team with managers on our ass everyday and tighter release schedules.
Reminds me of @boombodies recent posts and discussion about business spaghetti reflecting in code.
There are possibly multiple reasons for these problems but I think a large part of it is a lack of empathy/mutual respect. Everyone's too insecure, noone cares for anyone but themselves and people just try to outwit each other. -
!rant
So as my recent rants might have conveyed, my job has been pretty shitty lately. So as we do I started looking around for other openings. Not that I would take them right away, but I want to know. This led to a realization that I'm literally at the best paying, top rated, firm doing the best work in nearly a nearly 100 mile radius of my home. There's a few government jobs that want top secret and 10 years experience, but for anything less than that my current position is literally the best. This is not what I expected the top to be like. And the fact that it took me over a year to realize that I'm actually at the top and have been is super weird.
Thing is I don't know what I expected the top to be like nor did I expect to be here so quickly after finishing school.
I know this is dev rant not dev ramble but this was one of those formative moments where I just really don't know how to process this info.
Anybody had similar feelings? Like looking for someone to help and realizing, not in a egotistical way, just in a sobering way, that you are literally the best and most qualified person out there.3 -
I’m currently working with a devops team in the company to migrate our old ass jboss servers architecture to kubernetes.
They’ve been working in this for about a year now, and it was supposed to be delivered a few months back, no one knew what’s going on and last week they manage to have something to see at least.
I’ve never seen anything so bad in my short life as a developer, at the point that the main devops guy can’t even understand his own documentation to add ci/cd to a project.
It goes from trigger manually pipelines in multiple branches for configuration and secrets, a million unnecessary env variables to set, to docker images lacking almost all requisites necessary to run the apps.
You can clearly see the dude goes around internet copy pasting stuff without actually understanding what going on behind as every time you ask him for the guts of the architecture he changes the topic.
And the worst of all this, as my team is their counterpart on development we’ve fighting for weeks to make them understand that is impossible the proceed with this process with over 100 apps and 50+ developers.
Long story short, last two weeks I’ve been fixing the “dev ops” guy mess in terms of processes and documentation but I think this is gonna end really bad, not to sound cocky or anything but developers level is really low, add docker and k8s in top of that and you have a recipe for disaster.
Still enjoying as I have no fault there, and dude got busted.9 -
First day at my job and once I got home I immediately crashed into my bed and woke up at 3 AM.
For some reason I still feel physically tired. Even though I woke up by myself (no distractions from my environment).
+ I feel like having worked out even though I did not. I can feel the muscles aching everywhere in my body.
Anyway back to how it went...
I got there (company) and met a young people like me who are also working in this company for the first time.
Once I saw them + the chief and the leaders, my anxiety kicked in, but I made sure not to show it.
We took photos and saw the cubes (data center cubes) and it felt like I was in a hacking scene from Mr Robot or Watch Dogs lol. It was so cool.
After that we were assigned to our temporary work places and mine was at a place where you get packages from the delivery trucks, cut them, sort them, put etiquettes on them and register them in the system.
Another boy (let's call him Daniel) and me were assigned to this place. He is going to be a sys admin.
The people at this workplace were very chill, cool and mature.
You can joke with them and they will not get offended (looking at you, Twitter) lol.
Daniel however is the opposite.
He is so god damn extroverted that he literally won't stop talking.
At some point he asked me if I was even listening and I admitted that the unconcious side of the brain of mine built a filter over the years that only let's valuable information flow through. When there is no valuable information, I do not process them in my conciousness.
Poor guy got a bit sad, but me whatever. Not my problem. He gave me an headache by talking nonstop nonsense.
Today, when my shift begins, I will learn to do drive a forklift and I'm excited about this.
I do not even need a license for it which you normally need in other companies :D1 -
I've been a frontend engineer at 6 companies for the last 10 years. Both big and small companies currently at the largest I've ever worked for. I'm totally over it. Maybe burnt out is the term. I have zero motivation to do any work or coding. I'm not a lazy person. I love working, solving problems, learning new things. I'm just sick of what I do. I used to love following all the newest tech trends, following devs on twitter, checking hacker news and creating side projects. Now I feel like my job has lost all that joy and excitement. I work remote and have been for the past 3 years. I wonder how much of that, not having any social feedback and interaction around the job has attributed to me feeling like this. All the JS frameworks suck. PR reviews, process, requirements; I'm just tired of everything. Has anyone else experienced this? If so, what did you do? Were you able to find the passion for programming again?14
-
I like talking to uber drivers with some limited tech experiences. My uber today was telling me about when he was helping his kid pick parts for their custom desktop as well as setting it up and the weird issues they ran into over time due to it being their first time installing windows from nothing and their troubleshooting process to solve things I might consider basic problems
Simple things yeah. But still interesting to listen about. Maybe I'm just simple and easily entertained -
So i have been learning c++ for more than 2 years now and i the most useful thing that i have ever created is command rine program in Windows that iterates over all the files on a drive and deletes those with a specified extension. So yeah life is pretty bummed up right now.
So i was thinking why not start by contributing to some of the open source projects.
Therefore i went onto github to find something to work with. However the list gontained either projects in languages other than c++ ( i have been trying to learn those) or based on machine learning.
So i thought why not get on devrant and find some people who are willing to work on some projects with me and in the process teach me some stuff. Therefore here i am asking you guys to collaborate with me as i am now sick and tired of making stupid patterns using nested loops.
PS: I am now 18 and in second semester of college pursuing a b.tech in cse5 -
This 3 day weekend couldn’t come at a better time! Today has done everything it can to delay it and everything has been a superb annoyance!
It started off with our internal systems going down, a frustratingly tedious project proposal process, our phones went down, off the wall calls to support all day causing them to ask me junk.
As a parting gift the pending windows update and it completely crashed my development VM and corrupted my install of virtual box. I had planed in only working a half day, but worked 6.5 hours, hit traffic al over. Was late to the event.
Not I get here and there’s a bunch of smokers outside and I could reallllllly use a drag. But I’m not gonna. 😒
Just ready to kick back and do non computer things til Tuesday. 😎 -
I've been trying for the last 3 months to land my first development job. I have a good (over 3 years) amount of experience, but no industry experience and no degree. So it's been a uphill battle. Currently working at a call center making garbage and most of my time and energy is invested into this. Currently am not mobile so most of my money is being geared towards that. It's just frustrating to see all these over glorified job postings that ask so much for just entry levels. I haven't even gotten a damn interview, I feel like in houston it's either you have a degree or you are not even considered for just a fucking interview. If I can get at least one they will be able to see my drive, persistence and skills that have been developed overtime. And fuck recruiters, have been interfacing with them over linkedin and not one of them seemed eager (initially yes) to land me an interview. Most of these fucks don't even fucking understand the technology or buzzwords that are on the job posting. If I were a recruiter I would at least put a little research into what the different technologies are so the process will seem less abstract. The tech will have more meaning and maybe I would be able to get a better success rate with clients if I knew what was really required of them. Not just looking at xyz and seeing if client has experience with them, but really see if they know what they are; that way I will have more confidence sending them into an interview. But of course that's not how it works. "Oh yeah Java and javascript are very similar"... get the fuck out of here.13
-
The feeling of dread as still a semi-junior sysadmin when an app doesn't work after an update.
I got stressed, triple-checked everything that I changed and that I followed all steps of the documentation of the upgrade process, then, as a last step before going over in half-panic mode to my boss, I try to restart the stupid java app and it starts working.
Wtf. Why. Why didn't it work the first time I started it? D: -
Frustrated... had a signed job offer disappear right before start date after jumping through a ton of hoops, turning down a competing offer, and wasting 3 days of PTO on their process, so back to interviews again.
How do you all determine what salary to ask/look for? Current job has pretty concrete pay bands that I'm pretty sure aren't market, but most of the site (glassdoor, etc) are all OVER the place, as titles can get so fuzzy from one place to another. From people I know I've heard everything from 20k less than I make to 70k more than I make (moderately high COL area, but not CA level). Levels.io seemed promising, but the one FANG offer I had didn't nearly match up with there, so I'm not sure how much of that is bluster or whatever... Blegh. I absolutely hate job hunting.6 -
Rant && SPAM alert!
I'm learning QML, to create plasma widgets and I wasted all the fucking day fighting with layouts and trying to understand why the settings window was not rendered (now it's rendered but I still don't understand why it wasn't before, the code is the same!)
so at the end of the day I ried to apply what i learnt in a fresh new widget that shows (some) PiHole statistics from its API.
on first run:
it runs fine, no errors... ok let's do some tests... turn off network, whole DE freeze WTF!?! one widget error (network error in this case) can freeze the whole DE.
restarted plasma, FIXED the bug (debugging process basically is:
try something - freeze - restart plasma - repeat
),
No more freeze!
if you're a KDE and pihole user and you want try my widget:
https://github.com/ShellAddicted/...
P.S: I'm adding right now a switch to quickly enable/disable pi hole over API directly from your desktop. i will push tomorrow.4 -
As my contractor job ends and my beginning the process of looking for new work the sudden feeling of imposter syndrome starts washing over me.
"I'm not qualified for any of these positions...", I say to myself, but then I think to myself, I wonder how devRanters deal with this.
So let me ask you, devRant, how have you dealt the *Experience Required* section of most jobs when job hunting?4 -
Not much of a SQL Dev, still an apprentice and had a basic run throughs. Client needed a migration script to run, which I was assigned. Took me a good 6/7 days to make, transfer over a secure (and VERY slow) network took 2 hours. Infrastructure 3rd party took 2 days to clear and run. After all that process. I then realise, I left the fucking rollback in1
-
Hey, I need to get something from the database here. But I've already created the connection somewhere else. Oh... I know! Let's just copy paste it here, here and here... Maybe just here and here too... And some more over here...
- The thought process that probably went through the head of the moron who wrote the code I started working on2 -
So all my friends keep calling me a negative person because I always correct them on how easily they can be hacked.
Friend: Hey (my name) I am going to buy a new computer and I will make you happy and not download illegal games on to it.
Me: That's a really good idea. Now shouldn't you also buy a virusscanner or at least make a full system back-up in case you get hacked.
Two days later
Friend: Yeah I got my new pc and can now finally play Kerbal Space Progran on it. It's stupid though that this dlc costs money so I downloaded it illegaly. But don't worry. I'll stop doing that from now on.
Another two days later I am spending my whole day trying to fix his computer because he downloaded a Trojan Horse that took over his computer and he had no virusscanner or back-up.
The problem is that I am 99 percent sure that such a thing is going to happen again and he'll be standing on my doorstep to fix it for him. Just let the doomsayer that is good with computers fix it and repeat the whole process all over again😒.7 -
Time to switch to offline and hide in some dark corner to get work done. Tired of all the IM’s and coming over to my desk from 1 person for “critical” work. If they’re all critical then none of them are truly critical. If you sit on the data for 2 months, and then today is the day it becomes critical and the compliance issue is because of your ineptitude then its a you problem not an IT problem. Then on top of that you submit your data to be loaded in the incorrect request form and spreadsheet format you can go fuck yourself asking this be done in an hour. It could be done in 15 minutes if you had it in the correct format as specified in the 20 meetings over the past year which removed all manual analysis and automated the entire process you idiot. Now I have to get it into the correct format in that hour so I don’t have to do the analysis for you.
I have other things to do besides your etl tickets, like finding the actual problems in our actual critical applications. You know the ones where the VP’s of this giant corporation start calling if they go down.
Sorry for the rambling guys. -
PSA: If you do reverse proxying stuff, prefer unix domain sockets over localhost internet sockets, if it's on the same machine (and if it's forwarded over ssh too). You can even serve HTTP as a unix socket.
Unix domain sockets don't have the overhead of IP, so generally speaking, data will flow to your other process with much less overhead.
I've recently stopped being lazy at this, and it's worth it.3 -
Smell the lies and too much process. Learn how to smell it and stay the same. It's the best also look over political correctness8
-
At a previous job, I worked on a multi-vendor e-commerce website. It used Magento2 as an API and a separate application we built with Node, Express, and React that consumed it to avoid using Magento's frontend.
The whole stack used should be a rant in itself but our checkout process was dependant on work done by some contractors in India. In short, this entire checkout process would break multiple times a day with no way on my end to fix anything, and that's what I had to reply with every time a bug ticket would come in; which is honestly the worst reply ever to a huge issue like that.
After several attempts of pitching the idea and being turned down for building the checkout in-house to remove the dependency and work on even streamlining the process, the product manager of the brand said as quote "Well the checkout isn't really that important".
At first, I was kind of speechless. How is the functionality of actually buying a thing in an online store NOT important? Shouldn't that be the most important?
Then I realized over time that the only thing they cared about was being a Nascar version of a website, essentially being a canvas of ad space that sellers on the marketplace could buy and paying money just to list their items.
I hated working on that project, and that made it so much more soul-crushing. Gotta chase that revenue right? -
Sooooo our department boss (the CTO) just announced his resignation, handing over his responsibilities to the lapdog of the CEO (who is very fickle on process micromanagement). Seeing as our offshore team was the CTO's idea, we're kinda expecting retrenchment to hit us in a few months once said lapdog starts throwing out our (soon-to-be-former) CTO's initiatives and projects for her own...
Quite frankly, I wish we'd get redundated now instead of later. I'm starting to hate my job (an increase from before, when I simply began to dislike it) because of my team lead's incompetence (she can't even attend a meeting without hijacking it for some other unrelated topic/issue) and lack of transparency (she never shares everything, keeps a lot of critical knowledge to herself). You can smell her lack of trust from miles away.
Anyways, yeah, I'd like to get retrenched/redundated please. I could use the money, honestly. -
A bit late for wk61 but here goes:
Does anyone have any advice for an older dev (just turned 50) during job hunting?
One of the devs on my current project was let go some years a go, and hasn't found a new job yet.
He keeps applying to positions, but keeps getting rejected and being told "we went with another candidate".
Choosing the young buck who will leave in a year over a older dev who still can contribute for ten years seems like the most common descicion.
I hired him on the current project I'm doing for a client, which is on iOS, and I've thought him swift and the general process of development on ios. And he's taking to it really well :)
I hope this will better his chances, but the current client won't have the resources to hire someone full time now.6 -
Someone figured out how to make LLMs obey context free grammars, so that opens up the possibility of really fine-grained control of generation and the structure of outputs.
And I was thinking, what if we did the same for something that consumed and validated tokens?
The thinking is that the option to backtrack already exists, so if an input is invalid, the system can backtrack and regenerate - mostly this is implemented through something called 'temperature', or 'top-k', where the system generates multiple next tokens, and then typically selects from a subsample of them, usually the highest scoring one.
But it occurs to me that a process could be run in front of that, that asks conditions the input based on a grammar, and takes as input the output of the base process. The instruction prompt to it would be a simple binary filter:
"If the next token conforms to the provided grammar, output it to stream, otherwise trigger backtracking in the LLM that gave you the input."
This is very much a compliance thing, but could be used for finer-grained control over how a machine examines its own output, rather than the current system where you simply feed-in as input its own output like we do now for systems able to continuously produce new output (such as the planners some people have built)
link here:
https://news.ycombinator.com/item/...5 -
My older brother introduced me to linux and android custom roms when I was like 11. So I flashed my old sony Ericson phone with custom roms from xda and tried Ubuntu live CDs on my mother's old 40gb hdd laptop.
But my introduction to programming was when I saw some videos about the raspberry pi on YouTube.
I was like 14 and programmed basic scripts for my raspberry pi in nano over putty or notepad++.
At first I didn't even knew to intendent but in the process of my first project (Python sunrise alarm clock with tts) I learned many valuable things about Python and Linux/Debian.
The years after that I learned more with my now multiple RaspberryPIs, Arduinos and other hardware.
So in conclusion RaspberryPIs, the diy/open source community and especially my brother introduced me to programming.
I am now doing bigger projects with my brother and have (really basic) knowledge of java,Javascript,php,html,Arduino/C++ and Python. -
I found the best text editor for basic code fixing
For a couple of days, I was looking for a simple terminal-based text editor for taking simple code notes or basic code fixing kinds of stuff.
As an aspiring developer, I really like the concept of coding without touching the mouse.
So I downloaded the king of CLI text editors, Vim.
Now, guess what happened.
Yeah, you're right. I stuck inside vim and couldn't even quit from there.
Then, I started watching a bunch of tutorials and started reading vim's documentation.
But then I realized, I have to learn a lot of things only to operate vim and it's a pretty lengthy process.
At that time, I really needed a very simple text editor for doing basic stuff.
But, vim is not simple... you know :)
So, I had to come back to 'nano' & I was not happy enough to write codes by using 'nano'.
Suddenly, I discovered another really cool text editor called 'micro'.
It's really awesome.
It's not as advanced as vim but definitely a lot better than nano.
Micro is an open-source command-line text editor created by Zachary Yedidia.
Some basic key points of Micro:
1. It's really easy to operate.
2. It has different colours and highlights.
3. It supports syntaxes for over 70+ programming languages.
4. It has mouse support.
5. Plugins & colour schemes.
The best thing for me is colour schemes & screen split support.
Check out my full article on DEV - @souviktests.20 -
A day in the life of @C0D4
Yay it's Tuesday.....
So morning goes something like coffee, yea no coffee no @C0D4, get to the office, get busy with normal morning routine - run the almost automated scripts I have to run - delete the 100+ emails I don't actually need from last night, read the 2 I do care about - yea 2 freakin emails out of 117 🤦♂️
But what ever that's what outlook rules are for... except I actually have to glimpse over them all just in case something of mine broke.
Go get another coffee,
Start working through the days tickets - ok cool nothing major to worry about, let's get back to writing tests from yesterday.
Well fuck that was a bad decision, no matter what I do this little fucker won't pass, yet doing this process step by step, detail for detail, it works - no issues, but automate this fucker and it screams its head off.
So fine, I give up and go to lunch,
Come back... spend next 3 hours on this 1 problem... 1 FREAKING problem 🤦♂️🥴🤦♂️🥴🤦♂️
This thing has beaten me, and for no apparent reason - it just doesn't like running under a test scenario.
Would have given up hours ago, except its a vital piece of code I'm trying to cover 😑 of course it is.
Well somewhere in there I managed to do a deployment for another project and change a few things in there.
This week is starting to look like hell,
Yay hump day tomorrow!!!!!
That's something, the week is coming to an end.... right? Please.... right!!!5 -
My do-over would be going to a different coding bootcamp. I wonder if I could be making more money if I went to a better school.
The one I did go to was a big scam. They were more obsessed with teaching you to pretend rather than teaching how to code. They pulled the wool over everyone’s eyes—the students, the volunteers, the donors, the community. They were very cult-like with mantras like “trust the process.”
I spent 9 months there, but I felt I was a year behind. I am not misspeaking. I would have to relearn basic concepts the right way because they taught them half assed or not at all. I didn’t realize I was behind until I went to interviews and bombed. Seriously, I learned more in a 40 hour free library coding class than I learned in 9 months at the school. Most of the interviews I was getting were for unpaid internships. The school was telling me to go for mid level roles.
I found out recently that they’re breaking the law by operating without a license. In my state code schools do need a license. There are screenshots going around of a letter from the education department. They’re defense is “they’re not a school.” They’re still open. I think ppl should be warned away, but there’s only so much I can do. And I know ppl will give this place the benefit of the doubt before taking any student accusations seriously.
The biggest red flag is they want students to pay up to 70k and bind them to payments for 8 years. I say it’s a red flag because this place is operating as a nonprofit. Shouldn’t a nonprofit not be charging 3-4x more than competitors? They’re definitely not going to give you 70k worth of services.
They really just exploit the poor and POC by signing them up for debt and knowing those ppl would not be able to pay even with a 100k job. They have a very poor understanding about how poverty works.
It had MLM/pyramid scheme vibes when they started making recruiting students a game. They give out tickets to their annual fundraiser or promote you on social media if you refer the most students to them.
I’m one of the lucky ones who was studying coding before I started at the school. Also, job searching is mostly luck, so I was lucky at that too. But I still had to take a job that paid below market. I still wonder what would happen if I went someplace else.
I don’t even put this place on my resume or LinkedIn. Even without these problems, it’s not like anyone would have heard of the place anyway.
No this place isn’t Lambda or Holberton school.5 -
Started out with python, while meaning to learn javascript.
I am now competent in python. Im still not sure how it happened.
Started python because I got tired with doing repetative calculations by hand. I think I had like a phobia of problem solving with nested loops. any time I thought a problem would require nesting, especially more than one nested loop, I would just avoid doing it, or end up doing it by hand.
Wrote so many goddamn loops though in the process of exploring graphs, doing things by hand seems like a nuisance. Thinking in loops has its own zen or something.
Now I just need to get over my fear of json-based CLI-enabled configuration-over-convention.1 -
so if i get this correctly :
1. mongodb( community server) is going to create some files in my system which will be called "databases/collections/document bullshit via its own special process called mongod (similar to mysql , but ok)
2. my python flask app is going to connect to it via its official driver pymongo (which could be used directly)
3. mongoengine is a library (more of a wrapper on pymongo) providing "easy ways for connecting mongodb via pymongo" (which again could be used directly)
4. flask-mongoengine is library (more of a wrapper on mongoengine providing "easy ways for connecting mongodb via mongoengine via pymongo" (which again could be used directly)
5. flask-pymongo is some another bullshit library/wrapper that took away 6hours of mine which again is "A FUCKING WRAPPER PROVIDING EASY WAYS FOR CONNECTING TO MONGODB VIA PYMONGO"
seriously, fuck web development. Why can't the original driver (i.e pymongo from mongodb devs) could have simpler wrappers? and why does my fucking tutorial instructor had to use the most fucking rarely used flask-mongoengine (which i accidently read as flask-pymongo and got f**ked) to teach newbies? fucking day wasted trying to understand this crap.
I don't like monnopolies, but its somewhat good that the mobile environment is still in the hands of nononsense players like google and oracle(java) . atleast we don't have people releasing wrapper over wrapper over wrapper and then fighting about which wrapper is better to use.
Like , even when devs started cmplaining that android dbs are too difficult to understand, google themselves created an actively supported wrapper that shutted down the fight over which wrapper to use(sqldelight, realm,sql bright etc)5 -
So, apparently, in 2015 our webhost (ixwebhosting) was purchased by Site5... This week, they finally migrated us to Site5 servers without warning, taking my email down in the process...
Today, after following the instructions in their own KB article (that tells you to click an icon that doesn't exist,) and chatting with support for over an hour, I was told that the new system they migrated us to doesn't support catch-all email accounts... At all... It's simply not possible to receive an email that was sent to your domain, unless the email address exists in the system somewhere... Despite the fact that it's a standard cPanel feature, that the old and new systems both use cPanel, that every other webhost I have ever seen that uses cPanel has this feature available, AND the fact that this is an important feature for a lot of websites, because they pipe all of their emails to a script for processing... It's simply not possible... They won't be providing that feature anymore. Nor for that matter is it possible to be migrated back...
They migrated accounts to a system that has a basic email function intentionally disabled, without warning... And we can't afford to open an account with someone else ATM... So I can't get any email until we get migrated... FML9 -
Old old organization makes me feel like I'm stuck in my career. I'm hanging out with boomer programmers when I'm not even 30.
I wouldn't call myself an exceptional programmer. But the way the organization does it's software development makes me cringe sometimes.
1. They use a ready made solution for the main system, which was coded in PL/SQL. The system isn't mobile friendly, looks like crap and cannot be updated via vendor (that you need to pay for anyway) because of so many code customizations being done to it over the years. The only way to update it is to code it yourself, making the paid solutions useless
2. Adding CloudFlare in the middle of everything without knowing how to use it. Resulting in some countries/networks not being able to access systems that are otherwise fine
3. When devs are asked to separate frontend and backend for in house systems, they have no clue about what are those and why should we do it (most are used to PHP spaghetti where everything is in php&html)
4. Too dependent on RDBMS that slows down development time due to having to design ERD and relationships that are often changed when users ask for process revisions anyway
5. Users directly contact programmers, including their personal whatsapp to ask for help/report errors that aren't even errors. They didn't read user guides
6. I have to become programmer-sysadm-helpdesk-product owner kind of thing. And blamed directly when theres one thing wrong (excuse me for getting one thing wrong, I have to do 4 kind of works at one time)
7. Overtime is sort of expected. It is in the culture
If you asked me if these were normal 4 years ago I would say no. But I'm so used to it to the point where this becomes kinda normal. Jack of all trades, master of none, just a young programmer acting like I was born in the era of PASCAL and COBOL9 -
The one day process of installing a Heroku dyno:
- Setting up Heroku from nothing, with variables, and cli etc... -> 20 minutes
- Mulling over the fact that __dirname doesn't work for some reason -> 1 hour
- Debugging one retarded error message after an other only to realize that a critical file is missing from the repo, that I should have noticed after 2 minutes -> 6 hours1 -
Our company got bought over from a global private entity 3 months back (advent international) and the reciew process started and it turns out, im part of the bunch that may be getting retrenched as per the meeting we just had, our positions being redundant and just last week had a over the top performance review.. Now i need to figure out what to tell the family when i get home. This Fucking sucks im not going to lie2
-
I feel a whole lot better. The project that I was so incredibly stressed out over has finally been invoiced for, albeit two months late, and my client has been understanding throughout the process. I now realise that although pressure is great for working to a deadline, too much pressure is heavily impacting on my thought processes and extends my deadlines more than I can manage at the moment.
The words of encouragement in the comments on my last "rant" really spurred me on, and the criticism made me reflect very much on how little squeeze time I'd given myself. I'm very grateful to this community for those inciteful fragments, and I promise to do my bet to take all of them on board.
Thank you devrant community, for giving me a leg up when I needed it. -
I hate having a project to go on with but not being able to :(
For example: I have a project that I want to work on, but I'm currently fixing HDDs and I can't use my computer (which is a backup, therefore quite slow). And I can't stop the HDD recovery process unless I want to start again later.
PS: Am I the only one who deletes his most recent rant when he thinks he has something better to say, and the cooldown is still not over?5 -
In last episode of "How SystemD screwed me over", we talked about Systemd's PrivateTMP and how it stopped me from generating SSL certificates.
In today's episode - SystemD vs CGroups!
Mister Pottering and his team apparently felt that CGroups are underused (As they can be quite difficult to set up), and so decided to integrate them into SystemD by default. As well as to provide a friendlier interface to control their values.
One can read about these interactions in the manual page "systemd.resource-control"
All is cool so far. So what happened to me today?
Imagine you did a major system release upgrade of a production server, previously tested on a standalone server. This upgrade doesn't only upgrade the distribution however, it also includes the switch from SysVInit to SystemD. Still, everything went smooth before, nothing to worry now then, right? Wrong.
The test server was never properly stress-tested. This would prove to be an issue.
When the upgrade finishes, it is 4 AM. I am happy to go to bed at last. At 6 AM, however, I am woken up again as the server's webservices are unavailable, and the machine is under 100% CPU load. Weird, I check htop and see that Apache now eats up all 32 virtual cores. So I restart it, casting it off to some weird bug or something as the load returns to normal.
2 hours later, however, the same situation occurs. This time, I scour all the logs I can, and find something weird - Many mentions that Apache couldn't create a worker thread? That's weird.
Several hours of research and tinkering later, I found out the following:
1 - By default, all processes of a system that runs SystemD are part of several CGroups. One of these CGroups is the PID CGroup, meant to stop a runaway process from exhausting all PIDs/TIDs of a system.
This limit is, by default, set to a certain amount of the total available PIDs. If a process exhausts this limit, it can no longer perform operations like fork().
So now, I know the how and why, but how should I solve this? The sanest option would be to get a rough estimate of just how many threads the Apache webserver might need. This option, though, is harder, than apparent. I cannot just take the MaxRequestsWorkers number... The instance has roughly double the amount of threads already. The cause being, as I found out, the HTTP/2 module, which spawns additional threads that do not count towards this limit. So I have no idea what limit to set.
Or I could... Disable the limit for just the webserver via the TasksAccounting switch. I thought this would work. And it did seem to... Until I ran out of TIDs again - Although systemctl status apache2.service no longer reported the number of tasks or a task limit of the process, the PID CGroup stayed set to the previous limit. Later I found out that I can only really disable the Task Accounting for all the units of a given slice and its parents.
This, though, systemctl somewhat didn't make apparent (And I skimmed the manual, that part was my fault)
So... The only remaining option I had was to... Just set the limit to infinite. And that worked, at last.
It took me several hours to debug this issue. And I once again feel like uninstalling systemd again, in favor of sysvinit.
What did I learn? RTFM, carefully, everything is important, it is not enough to read *half* the paragraph of a given configuration option...
Oh, and apache + http/2 = huge TID sink. -
After waiting for almost a month, yesterday I went to check on how my computer was doing, since I hadn't got any messages or calls ever since.
I go to the store and ask one of the workers about how my laptop is doing, and that I'd left it there almost a month ago and that they'd tell me when it was time to get the papers and then the laptop itself. The girl asks me for my phone number and then my name, and found nothing on the computer. She goes somewhere inside the store and comes back with a colleague, who tells me that I need a process paper. I pull out the receipt the technician photocopied and signed because that was the only thing I had. I hadn't touched that part of my paste for the whole time after I left the computer there and I was 100% sure I didn't have the process paper with me until he started pressing me for it. I kept repeating that the technician told me that they'd call or message me when said process paper was ready, which I hadn't got any of those to go pick it up. The guy asks me if that were the number and name I'd given the tech guy and I said yes. Both of them disappear into the store again. They come back with a cardboard box and say that the surname written there was wrong by a char (as I've said before my name is unusual, and my surname is also unusual where I'm studying, but where I'm from there's like 5 or 6 families with that surname), so that's why they couldn't find it in the computer. After that they went through all the details I gave on the time of handing the PC and the number they told me was there was off by miles. I think I may have said a wrong digit but that number was way off. There should be some person who got calls or messages about a computer they don't even own LoL
They told me to try it and see if it was running OK and that I had 15d to go back if something was wrong
When I got home I turned it on, afraid it would start dying on me again LoL
I pass the login screen and the fan just starts working really hard and I'm worried. The ASUS guys reinstalled Win8 and the CPU is running wild already, going at about 3,5 GHz (2,5 max) and over 30% usage on nothing
After some minor inconveniences (making the USB with Win10 took longer than expected) I finally installed Win10 and the CPU usage drops to < 10% and runs at way below the 2,5 GHz max. It constantly uses <= 10-15% CPU and the fan makes no noise unless I put in a heavier game (like Oxygen Not Included - it asks for 4GB RAM minimum 8I), in which case it goes up a bit and runs at around 3 GHz, but it doesn't make as much noise as before, thank jesus. I'm gonna keep trying to see how it does and hope I don't have to go back to the store after the next 15d 8I
I can finally work and not be a leech on my friends because my old toshiba - which I forgot I'd brought with me to uni - is really old and it makes a lot of noise (the fan is constantly working too much but it's so old I don't bother anymore) and it heats my room a lot, so it's gonna be a nice change of pace HaHa4 -
Hi XXXX,
Thanks for speaking to me earlier,
If you could send me the following details we can really get the ball rolling with the recruitment process.
• Any jobs you have applied for or interviewed (I need company name and position)
This stops me re applying you for jobs you’ve already applied for
• Any key elements an employer has to have for you
• A name phone number and position held for references at your current contract.
If we can get these over asap then we can start the ball rolling and get you a new position in the most time effective manner.
Kind Regards,
Brainless Lazy Back-Stabbing Recruiter.3 -
This is more of a rant with a question within:
It's International Women's Day and I did not see this hitting me like it is lol, but I have a question for my fellow devs all over:
Do you actually like the system of developers making up fake doctors appointments (or whatever) to go interview with the competitor because they don't feel appreciated at their current company?
Do people actually like sneaking around and telling lies and constantly having to prove yourself to new people instead of just having a process in place to rectify the situation where you work?
And do you actually like having to spend so much time and energy negotiating pay so you don't get ripped off?
I know this happens to all of us, regardless of how we identify. But I once had a recruiter call me the day after she talked to my best friend, a male dev (same experience level), and using his same techniques that we practiced together, she offered me almost $100k less for the same title she offered him the day before, despite the strongest negotiating of my life. She insisted the company simply could not go higher. This affected my friend almost as much as it affected me-- this really does happen. We're not making it up. Sometimes not even the best advice can change the reality.
Shit like that is just depressing, and reminds me that it probably wouldn't be that different if I went somewhere else anyway. But I'm wondering if you like that hustle, or if you too wish it wasn't needed.18 -
I just fucked up real bad:
My phone was giving some error about not being able to install an update. Fair enough, i think to myself, so i try rebooting. Still nothing...
I then remember that i at some point OEM unlocked it for some testing, so i start up adb and see if i can connect during the update process. I can't. This is bad: I can't get into my home environment, nor can i connect with adb
Then i try booting into recovery, but instead of booting to ACTUAL recovery, it boots to some custom made "E-Recovery" made by huawei (my phone is a huawei p9 lite), which only gives me the option to download the update, which crashes, and no way of resetting. However, from here, i am finally able to connect to my internal storage via hisuite to make a backup
Next up: Bootloader
So i next load up the unlocked bootloader to try and manually flash the update. That works great, but it still wont boot normally. So i figure: it must think my device is in fact a different device. At this point i'm pretty fucked: Even though i have my data backed up, i can't manually download the update from huawei's site because i don't have the right keys, and i can't download an OTA because their site sucks and half of the downloads don't work, including the one i need. So now i'm stuck here with a bricked phone because EMUI doesn't know how to install an update.
I then did the stupidest thing i have done to date: i wanted to flash a custom recovery image over the "E-Recovery" in order to do some troubleshooting, but instead of writing
"fastboot (mydeviceid) flash recovery recovery.img"
I wrote
"fastboot (mydeviceid) flash boot recovery.img"
Meaning i flashed my BOOT partition with a custom recovery image that turned out to not be able to run. Great! Now i've totally fucked my boot sequence
I can't call their support line either, because as soon as they realize i've tried to restore it myself, and therefor had my OEM unlocked, they basically just hang up.7 -
I'm still not over how LINQ is defined as a thin wrapper over both IQueryable (which can be efficiently queried) and IEnumerable (which can only be iterated), but IQueryable extends IEnumerable, so if you execute one unserializable operation anywhere in a query issued to your database it'll merrily pump whatever temporary collection happens to reside on the boundary through the C# program to execute that call on each row and process the rest as an IEnumerable.5
-
Having no process at all;
Just randomly choose between texts, FB Messenger, WhatsApp, voice clips, and spread over random points in time..
If you do this to me: Yes. I hate you. -
Premature timesheet delivery optimization. This slimy dude (third-party) pops in evangelizing cloud Ms Excel for "both our comfort" to submit a fucking timesheet, without any prior context
Cloud's slower, I don't have a local copy of it, and you can mess with the data cells, blurring responsibility for sync mistakes. No way I'm going to do that.
Until now I've just had the template locally, fill it in and send him the Excel file end of month and neither I or anyone that I know of have brought up issues with this process (mind you this was sth. he was responsible for, but he messed up so badly I took it over)5 -
Story of my first successful project
Being part of a great team, I've shared in a lot of successes, one I am particularly proud of is my first attempt to use agile methodologies in a deeply waterfall-managment culture.
Time was June/July-ish and we applied for a national quality award where one key element in the application stated how well we handled customer complaint resolution.
While somewhat true (our customer service is the top-shelf good stuff), we did not have a systematic process in resolving customer complaints. Long story short,
the VP lied on her section of the application. Then came the 'emergency', borderline panic meeting (several VPs, managers, etc) to develop a process to better manage
complaints before the in-house inspection in December.
As most top priority projects go, the dev manager allocated 3 developers, 2 DBAs, and any/all network admins we would need (plus all the bureaucratic management that wanted their thumb in the pie).
Fast forward to August, after many, many planning meetings, lost interest, new shiny bouncing balls, I was the only one left on the project. The VP runs into the dev manager in the hallway and asks "Is my program done yet? If its not ready before December with report-able data, we will not win the award."
The <bleep> hit the fan...dev manager comes by...
Frank: "How the application coming along? Almost done?"
Me:"No, haven't really started coding. You moved Jake and Tom over to James's team, Tina quit, and you've had me sidetracked helping other teams because the DBAs are too busy."
Frank: "So, it's excuses. You really think the national quality award auditors care about your excuses? The specification design document has been done for months. This is unacceptable."
Me: "The VP finished up her section yesterday and according to the process, we can't start coding until the document is signed off."
Frank: "Holy f<bleep>ing sh<bleep>t! No one told you *you* couldn't start. You know how to create tables and write code."
Me: "There is no specification to write to. The design document is all about how they plan on reporting the data, not how call agents will be using the application to serve customers."
Frank: "The f<bleep> it isn't. F<bleep>ing monkeys could code against that specification, I helped write it! NO MORE F<bleep>ING EXCUSES! This is your top priority from now on!"
I was 'cleared' to work directly with the call center manager and the VP to develop a fully integrated customer complaint management system before December (by-passing any of the waterfall processes that would get in the way).
I had heard about this 'agile' stuff, attended a few conference tracks on the subject, read the manifesto, and thought "I could do this.".
Over the next month, I had my own 'sprints' and 'scrums' with the manager (at the time, 'agile' was a dirty word so I had to be careful of my words and what info I shared) and by the 2nd iteration had a working prototype.
Feature here, feature there (documenting the 'whys' and 'whats' along the way), and by October, had a full deployed application.
Not thinking I would get a parade or anything, the dev manager came back from a meeting where the VP was showing off the new app to the other VPs (and how she didn't really 'lie' on the application)
Frank: "Everyone is pleased how well the project turned out, except one thing. Erin said you bothered him too much with too many questions."
Me: "Bothered? Did he really say that?"
Frank: "No, not directly, but he said you would stop by his office every day to show him your progress and if he needed you to change anything. You shouldn't have done that."
Me: "Erin really seemed to like the continuous feedback. What we have now is very different than what we started with."
Frank: "Yes, probably because you kept bothering him and not following the specification document. That is why we spend so much time up front in design is so we don't waste management's time, which is exactly what you did."
Me: "We beat the deadline by two months, so I don't think I wasted anyone's time. In fact, this is kind of a big win for us, right?"
Frank: "Not really. There was breakdown in the process. We need better focus on the process, not in these one-hit-wonders."
End the end, the company won the award (mgmt team got to meet the vice president, yes the #2 guy). I know I played a very small, somewhat insignificant role in that victory, I was extremely proud to be part of the team. -
I started my career almost 20 years ago now.
I had the chance to work in really good environments, and with people trying to be performant. In my first company, the CTO pushed a lot the new/shiny XP method. Then I used the first iterations of Scrum as a Team Leader.
As I became a Service Manager, I found my love in kanban/lean (and my worst nightmare in sigma six).
I crashed startups created with friends and cashed out sometimes.
I also did a lot of "agile consulting", around productivity, product methods, organization (even got certified SaFe, the Agile framework that states" process over people").
When I came back to Europe, I just wanted to get back to the level I was in North America.
I have done a lot of mentoring, but now I lack the motivation (and time) to keep doing it, the way I did. So I stopped.
And now I have to answer the question "do I leave delivery?". Also, it seems that a lot of actual organizations are starting to put the product under " tech top management" ( companies I like at least).
So I wonder, what my next evolution should be...
Should I leave tech delivery to be fully Top-Management...
Do I want to structure/handle/organize the Product Teams...
Covid has given me time to start thinking a lot more about my situation... And it sucks... -
Went into a client meeting to present pricing, timescales etc. for custom web app. After a short period of chit chat they tell me they've gone way over budget. They explain to me that they'll need to close their business if they don't get this thing built (the business consists of him and the other guy at the meeting). They currently have a website that is an e-commerce type deal, apart from the checkout process doesn't work! They basically want me to do it for free.
I may consider if I was going to benefit from new clients etc. but I'm not.
However, the problem is that one of my companies has been (IT) supporting this guy's other company for around 5 years. It's a bit of a shitty situation as that contract accounts for about 15% of our income.
That meeting was last Monday and I told them I would think about it. I have another meeting this Friday and am thinking I'm going to have to break the news gently ffs.3 -
Today at work I started doing 1 month old task with production problem.
First of all why now ?
Because I already fixed all the other urgent production problems I had during last month, done about 4 deployments of those super urgent errors.
Now I can start with not trivial one that are pending for quite time.
I am the only backend developer in this project ...
This is a dtp application and the problem is that we are not verifying if we got all fonts embedded in customer provided pdf files.
We are generating high quality images of those pdf for printing just fine from the beginning but now we need valid PDF with all fonts embedded in it. ( don’t ask me why I am only a hammer in this process )
After running simple test using python script against database it turned out we have over 500 broken PDF files without fonts.
So I guess I have just one sentence to say about it.
Fuck you PDF format for not being strict and allowing this shit. -
tldr; Fuck Windows networks
I do some first level support for a befriended architect when i got some sparetime after regular work. Its nice and easy extra cash most of the times but not today.
We decided to ditch the money thiving IT admin that did not care about doing his work. And instead of taking over his pile of shit i adviced to redo the whole network, drop the massive server that did idle 99% of the day and update all PCs some of them did still run IE8 and had no active anti virus, yeah that dude was real shit.
Anyways i proceded with the whole process today and everything worked expect the fucking windows network, that fucking domain controller setup blocked the fucking internetconnection even though DNS and DHCP where set up correctly. Why does fucking ms need to make it so difficult to set up fucking network accounts....
I will have to finish this shit up tomorrow and this on a weekend...2 -
In
https://devrant.com/rants/4221216/...
Hes discussing confidence and I wanted to talk about that for a moment, from a guy who struggled with it a lot growing up.
Half of confidence is headfaking yourself into distracting the lizard brain portion that didn't evolve for the last ten thousand years of rabid human social change and thus detects a bunch of social interactions as varying forms of threats.
Same way NLP works, or stupid shit like seduction, or sales techniques.
It's all about slowing down and distracting yourself with the process.
People that do all this dont realize the trick is you're thinking less because you've slowed down and this comes off as confidence.
Think about it. What do nervous people do? Either talk way less, and/or when they *do*, talk fast and lack certainty. What does confidence techniques and all that shit do? Causes you to slow down, follow process which makes answers clearer usually, and causes you to speak more freely (even if its more structured).
Thats the entire game.
Give yourself time to think and room to answer, to think of a question and formulate a response. Assume nothing while you do so.
One trick I use that boils *all* the other processes down is this: Anything you go to say, pause, look the person in the eye, and wait 1-2 seconds to respond. Remember to blink, and remember to gesture as you normally would.
Treat every conversation as a casual dialogue over coffee with a friend discussing colors of paint for a kitchen. Its a slow process isn't it?
Same thing with any other conversation. People will find you a lot more deliberate, confident, warm and unassuming.3 -
This happened towards the end of a data archival project I was involved in.
It was the last day of the project and we were in the process of handing over the system to the client. As it so happened, the client, while doing a sanity check, found out that some unwanted data had not been deleted from the database.
On project manager said to us, "Let's delete the unwanted records manually."
The only problem. There were three of us and over 150000 entries to delete (the system had around ten years of data).
In the end, we came up with a logic to identity the unwanted records, and I created a small program to delete the entries using this logic.
To this day it is still not clear as to what inspired the PM to come up with such a suggestion. -
Best:
Seeing ALL the members of my team finally coming into their own. One person tackled our entire not-at-all-simple CI/CD setup from scratch knowing nothing about any of it and, while not without bumps in the road, did an excellent job overall (and then did the same for some other projects since he found himself being the SME). Two of my more junior people took on some difficult tasks that required them to design and build some tricky features from the ground-up, rather than me giving them a ton of guidance, design and even a start on the basic code early on (I just gave them some general descriptions of what I was looking for and then let them run with it). Again, not without some hiccups, but they ultimately delivered and learned a lot in the process and, I think, gained a new sense of self-confidence, which to me is the real win. And my other person handled some tricky high-level stuff that got him deep in the weeds of all the corporate procedures I'd normally shield them all from and did very well with it (and like the other person, wound up being an SME and doing it for some other projects after that). It took a while to get here, but I finally feel like I don't need to do all the really difficult stuff myself, I can count on them now, and they, I think, no longer feel like they're in over their heads if I throw something difficult at them.
Worst:
A few critical bugs slipped into production this year, with a few requiring some after-hours heroics to deal with (and, unfortunately, due to the timing, it all fell on me). Of course, that just tells us that next year we really need to focus on more robust automated testing (though, in reality, at least one of the issues almost certainly would not - COULD NOT - have been caught before-hand anyway, and that's probably true for more than just one of them). We had avoided major issues the previous three years we've been live, so this was unusual. Then again, it's in a way a symptom of success because with more users and more usage, both of which exploded this year, typically does come more issues discovered, so I guess it tempers the bad just a little bit.2 -
Into a bunch of open source hogging meat heads because no one likes paying for things their own peers toil days and nights creating and creating more under documented over expensive licensed stuff (because agile) while throwing buzzwords to clients just make business while simultaneously choking the life out of underpaid overworked devs and engineers with the skill of running away from responsibility trying to save their own skin with the inept ability to look like a hero/King at the end of the day with a single mail sent with psychic communication or the lack thereof with people who are slogging their asses off to fix a problem created to the vulnerabilities and bugs introduced due to the impatience of the same moron who couldn't afford to give his employees/subordinates more time to figure out an elegant solution to a non existent problem created in the confusion of improperly documenting unnecessary requirements of an ignorant or unknowing client who is way too eager to process way too much load with way too less resources all the while whining about lack of features theyre not gonna use.3
-
Revision to the Peter/Dilbert Principle, the ProjektAquarius principle: a company will systematically shift the least competent employee on to the assignments the competent employees can't be bothered to do until they become an integral part of the team and drag you down with them. (E.g. eventually they completely fuck up your delivery process, although it's probably still cheaper and quicker than having them do anything else.)
ProjektAquarius principle: A Case Study
We have an engineer who is getting paid quite a bit more than me. Over time his responsibilities have gradually been reduced to documentation and running our almost entirely automated build. Well today the build failed. He pulls me over to tell me, and says he's confused because there is a file there he has never seen before in there and a file he always has seen that isn't there (basically a file got renamed. It was not non-obvious). Answer: change the file name.
Then he comes over and tells us that it's failing again because the script is not finding a file. So a coworker of mine and I go over. He explains the whole build process to us when we ask if there is any point in the script that would help us identify where the script is looking for the file and failing (there wasn't but that's besides the point).
Turns out, he had decided to put the assembly list in order. Normally no problem, but the list is in source destination pairs. So the fucking file was being put in a different directory than the one the script was looking for it in and failing. And that's the story about how my company just paid 3 engineers a quarter of a man hour each for something that would have been resolved in 30 seconds via file search/copying and pasting a file path. Related note: our process for building an install is now about 4 hours long with no change on process besides the BCAK. -
So here is an interesting story.
The company that I work went in collaboration with another company and as my company is a small startup we had only 2 employees. We had to do 2 different projects during the collaboration period.
I was put in-charge of an android application (At that time I had no experience of android development and it was one of their most important project without any guidance)
I was doing work of two companies and getting paid by one and I was getting shit from the company that we were collaborating with.
As a developer I value tasks and deadline but the company issued a new rule that I should stay in the office from 9-6 (strictly) which I didn't oppose. But the senior developers here stay strictly 9-6 but work only for about less 2 hours a day and get valued more.
I used to love working on weekends improving myself in the process but working over time is not valued by the company.
( BTW I completed their project in about 1.5 months ) -
Question for devs who work in large multi-team environments:
A) What is your code review process like? Does a senior review it once and then it's off to QA or do you have "levels" of approval?
B) If you're launching a feature that depends on another team how are you coordinating it? Do you just talk over a ticket and then hit merge and deploy at the same time or like what's your process like?
C) What CI/CD tool do you use? Also what code hosting platform do you use? Github/GItlab/etc.
D) Are you currently happy with the CI tool you're using? If not what are some common issues you're facing?5 -
So, have been working for this company for 4 years now as a warehouse associate, but over time they finally realized I can code. I was given the opportunity to work on different projects (even though the first project was a setup for failure but still prevail completing it).
Long story short, next year plan on finishing my bachelor's degree in Software Development. Once I get the degree (or during the process) should I strive to try to work at the:
Tech position (at the current job)
or
Data Analyst department (current job) ,
since I would be the only developer (for data analyst and impressed the team members at my current job,
or
should I try to find another job in software development for a new field when the opportunity come up for a fresh start in just programming and not warehouse associate work?
P. S. Close friends with the Tech department, have high recognition and have done some projects for them. They would love to see me join the team if it happens. When I am not working with the tech department during off season (needs to be approved by management to work on these projects during off season) I am literally cutting a box, wasting my skills and potential in auditing during the season.7 -
About 3 years ago, we had 4 different WordPress sites for various clients.
My colleagues thought it'd be a genius idea to keep them all in one repo. Even more genius, for local development, a single installation which implements a switcher for the wp-config.php files so we can switch between sites. Not bad in theory.
Fast-forward to present day. 1 client left; another site got converted to using Laravel because they always asked us to update their content so no point using a CMS; whereas the remaining 2 sites use differing versions of WordPress on their live sites, no less than 18 months out of date, have no dev sites, different collection of plugins and themes and both modified to the deepest darkest depths of fucking hell that's barely recognisable as WordPress anymore and next to no documentation or comments around the changes.
The functions.php file of one of these themes is over 4000 lines long!!!
We're keen to upgrade our servers to use Ubuntu 16.04 which defaults to PHP7, so all the already deprecated WordPress functions will then fail to work completely as will have been removed.
Both of these clients have agreed that they wish to convert Laravel as well so there's not really much point in going through the clean up process of their WordPress sites. Just copy the database nuke it all and start a fresh with Laravel FFS!
They also wish to completely redesign and discuss what features to keep/add/remove. With no date for these redesign meetings in sight, we won't be converting to Laravel any time soon, nor upgrading our servers in the foreseeable future either!
This is all because of one dev in the office and his history of failing to keep on top of breaking changes!
Fuck you! Seriously, fuck you!!!
If I was your superior, then you'd have been fired long ago!3 -
Automate is a great app...
(Scroll to last paragraph for a question if you wanna skip the faff)
Semi addicted to a time waster mobile game that has micro transactions. Yet you can get free ingame currency by watching ads over and over.
Using automate i managed to 'automate' the process of "watch add. Click ok. Repeat"
Now when i sleep or idle ill just let it rake up some cash. Sadly it isnt full proof as sometimes (1 out of 20 times) it fails to run the ad and that breaks ot all. But restsrting it is easy and thats another 20 cash!
What have you done to skip tedious work for something trivial or some trivial gain but felt good you did it anyways?4 -
PM comes into my office: "Hey, if <client> asks about his edits, just tell him they're scheduled for this week."
me: "I thought they were scheduled for this week, I thought that you were currently in a meeting to get final specs so you could tell me what needed changed."
PM: "Yeah, he wants to take the plugin from 5 steps down to 3, we told him it wouldn't be a problem and we would have it done this week."
me: "Ok, there are limitations as far as what I can cut out of the process, his tag line when he started as a client was '5 easy steps' and I built something that did what he wanted in 5 steps. Changing things this late in the game is not simple, I'm talking a minimum 6 hours of work."
PM: "Well I tried to make sure that what he wanted was possible but I didn't have a developer in the meeting. It shouldn't change anything that much."
He ended up scheduling a meeting with me and the designer to go over the edits Thursday afternoon. So I will have the new specifications which I said would be a minimum 6 hours of work and I will be given ~10 hours in which to do it. I sure hope nothing unexpected pops up while I'm working on this.
I'm also the only developer this week (and technically speaking I'm junior) since our senior dev wrecked his car over the weekend and isn't planning on being in all week. I'm the only computer literate person in the office of 50 or so, which means that if there is any kind of tech issue I'm ripped away from my desk for 'emergency help'. I have two other sites to get ready for client approval meetings by Friday afternoon and if the clients approve I will be launching their sites that afternoon as well.
The sign on my door currently says "Error 500: unable to handle your request" I need something to throw at these people.4 -
Azure. Its so vast has something for just about anything, and isn't crazy expensive if you implement whatever it is you're doing with cost in mind.
Used different features of it at old companies Storage (blob/table), service bus, application insights, app centre, event hub, functions etc...
Currently at a company that is slowly moving over to Azure which is a great process to be apart of. Get to spend a lot of time investigating what is available as it seems each and every time I come to use it, its grown substantially. -
Our owner's other company sells products online (or has the ability to anyways). Their current site is 7+ years old WordPress/Woocommerce and is seriously outdated because the site breaks if you update anything so we've been told to make a new site (finally). They also said they were going to release a whole new line up of products. So the first thing I tried to do was get them to nail down their product line and how shipping was going to be configured. I was told to just use the shipping from the previous site.
Turns out those shipping rates don't use any sort of math or automation at all, there is literally a manually set shipping value for every single product for every single shipping location (30*60) and even values for different quantities. And there's no way to export these rates into a readable table because the plugins they use shove all the data into the postmeta table, I'm forced to go through and put the data into a spreadsheet so that I can attempt to organize it and hopefully find someone way to automate it. Owner claims at one point that he has a similar spreadsheet that's more up to date but for some reason refuses to send it over or put me in touch with the right people in the shipping department.
I've gone through the shipping rates with the old products and the new products and organized them as best I can and each time I've gotten done and shown them the spreadsheet with their products and shipping, they add or change something which requires me to basically wipe the slate clean and start over eating another 50 or so hours of my time, which with everything else really means another month+ to find time to work on it between other projects.
After about a year they finished their products and I finally finished the planning and got approval to build it out for the site. Small victory!!
After about 60 hours plugging these values into the database (only about 1/3 done) I get an email from their head of shipping who tells me the values in my spreadsheet are "terribly inaccurate, in some areas by $100+" and that the data should not be used anywhere.
So after something like a year and a half and 200+ hours of work, the data I've been using to plan all this isn't even accurate. I'm trying not to go crazy here but this kind of shit is unacceptable. When we're done with this I'm going to send the owner an invoice to show him how much money he wasted on this because nothing was planned and he just wanted it built. There's a fucking process for a reason, when you don't follow the process you fuck everything up. If a client had pulled this shit and turned their simple site into this much work they would have been dropped. I get constant emails asking when the new site will be done and every time my answer is "I'm still waiting for x items that I asked for last time you asked where we were." He gets a couple things on the list and sends them back and then goes unresponsive for weeks at a time.
Management has been telling me that I seem more stressed lately but only one of them understands what's going on here when I explain it. The rest say stupid shit like "why don't you automate it" or "make an intern do it." You won't let me hire an intern and even if I did, I'm not sure I could explain how the shipping works now to even trust someone else to do it. I'm hoping when the shipping guy gives me the new sheet that maybe there's some easier solution here because I'm ready to start shooting people.2 -
SIM 800L
The fucking nail to my coffin. This thing is so unreliable. I fixed on issue get the next one. Then get an error trying to make a http request, with little information on the web. Eventually switch to FTP which is working for a while. Then suddenly nothing is working properly. Even the serial communication has errors. This process took over 6 months. Constant debugging and headscraching involved. After hundreds of hours I give up. I'm going to switch to a Raspberry Pi Zero with an UMTS Stick attached. This is going to cost way more battery time but my project needs to be finished by july and I'm tired of this shitty little module.2 -
I was about a year into working for this small marketing company as the only developer. I was still pretty new to development, my first real gig, 2006'ish.
Form processing was still a struggle for me, so my really cool idea was to use an open sourced tool that would create and process any type of contact form, (think wufoo, but on your own server)
Anyway it was working great, then a few months later we decided to move all 30 of or our small clients to a new server, I moved everything over and deleted the old site (didn't make a backup of any DB (who does that?) got a call the next morning that none of our contact forms were working and nobody had any info stored from previous contacts.
Spent the next 2 weeks getting really good at php. We never did that again. -
Any vim/nvim users here? Why do you use it despite having to setup that thingie for hours? People like me who wants to try vim/nvim, the setup process scares the crap out of us. What I want? I just want to be able to do what I can already do in vscode. all I wanted my vim/nvim to be able to debug TypeScript/JavaScript with Nodejs. There's packages like, Vim-vscode shit, that takes help from vscode to debug it using vscode! why not use vscode then?
I'm tired of trying nvim/vim over and over again, and every time, it feels like I'm just a little luckier that before. If it continues, Its gonna take forever to setup. No thank you! I'm going back to vscode. Let me know when there's a gui kinda thing where I can see all the available packages for neovim and its just one click/enter install away. else, consider me sleeping...16 -
I once had to implement a program to process CSV files. One line would be one order, so I wrote a class with a static factory method (Java) instead of an ordinary constructor, because I needed to throw exceptions if something with the line was wrong (which now and then was the case: invalid product IDs, missing fields and the like). After I committed my changes (CVS was still common in those days), a coworker (let's call him Max) asked me what the hell I was doing there. He expected me to replace the code (perfectly working, by the way) with either an ordinary constructor or by implementing "the factory pattern properly". His rationale: "We don't have those kinds of things in our code base!" So I let him argue a bit, not finding any well substantiated reason for me to "fix" the code. So Max wanted to team up with another developer in our office (let's call him Rick), explained the "issue" to him. I just sat there and enjoyed, knowing that Rick would not really care. But as soon as Rick understood what I did, he walked over to the book shelf, picked "Effective Java" from it, opened the book at chapter 1 and said to Max: "Look, Josh Bloch suggests doing it exactly that way for the problem at hand!" Max kept on arguing for a while, because his "rationale" (see above) was not affected by the fact that the code was actually good. It just didn't appear in our code base before.
-
Was an internal auditor translating department process to a technical spec for a programmer. We were going to leverage an external company's API which would replace our need to use their slow and buggy web app.
During a meeting, an audit teammate suggested something be changed with the external service we were using. I said we could bring it up with the company but we shouldn't rely on it because we were a small customer even during out busiest month (200 from us vs 10000+ from big banks).
Teammate said we should have our programming team fix it. I made it clear that it was not our side and that to build out the service on our side was beyond our scope. Teammate continued to bring it up during the meeting then went back to desk after meeting and emailed us all marked up screenshots of the feature.
I ignored this and finished writing up the specs, sending them over to the programmer building out the service.
30 minutes later I get a call from programmer's manager who was quite angry at an expanded scope that was impossible (engineers were king at this company. Best not to anger them). Turns out my teammate had emailed his own spec to the programmers full of impossible features that did not reference the API docs.
I feel bad about it now but I yelled at my teammate quite loudly. I said he was spending time on something that was not reasonable or possible and when they continued to talk about their feature I yelled even louder.
Didn't get fired but it definitely tagged me as an asshole until I left. Fair enough :) -
Pardon the rant; some of it can probably attributed to me, but please indulge me of you could.
I'm tasked with creating a report that pulls data from some sql tables in c#and presents it using javascript. My manager was nice enough to lend me his old sql query, so I run with that using sql connections. Now I find out AFTER I get my sql query string working and retrieving data properly that my manager wanted it done using linq and entity framework, so now I have to start over, a process made only more "fun" by the confusing and unintuitive column names of our sql tables.
Moral of the story: don't take the easy way out.
After I spend some time fixing that up, I have to print out the data using javascript and html, which my manager was kind enough to lend me. Cue me shutting off my brain and thinking that I should have the program open and display this stuff itself. Let me tell you that converting a console application to a Windows form application is not a fun experience, especially when entity framework makes classes named "application" and "form" from your database tables. After finally getting the WebBrowser form to work, I'm hit with a javascript error from the library my manager referenced (he is a programmer himself). I tell him about the error and he just tells me to write the html code to a .html on disk like he did, but never explicitly said he did until just now.
Fixed moral of the story: don't take the easy way out, unless you should.
I should clarify I was given the whole raw sql query and html with some embedded javascript and a reference to chart.js. -
3 weeks back took a bug..
**long rant**
Looked into it and found that it is exist in older version(say V1) as well.
Sent mail to client stating i can fix this in current version (say V2). Since V1 is already released and our current code stream is V2 and so if we fix in V2 , the code will not reach V1 code base.
**explained to client**
Client : I mean if you fix why it won't work in older release.
Me: Explains how code streams will work.
Client : Okay.. but it will support the functionality in V1 , right ?
Me: (*internally* are fucking kidding me? It won't work dumb ass.) No. It won't work in older versions. I am fixing it in V2.
client: okay.. Let's proceed.
Me: Done code changes. Send code to review. (we have to send review to upper level manager).
Manager1 : I didn't liked this part. can you change this ?
Me : sure. Done.
Manager1 : Now i liked it. Sent review to Manager2.
Me: why the fuck ? Are you not sure about my changes are good?
Manager 2: I liked it, but need some log changes.
Me: Fuckkkk...... Let me change this.. Done. Now can I promote those changes?
Manager2: No we need to send review to client manager as well.
Me: Goddammit.. Okay.. sent review.
*After a fucking week..*
Client Manager : Looks good. Push the code.
Me: Finally..
(This process took 18 days which would have been completed in 3 days if there is only one peer review)
Now the other guy from client whose tracking the bugs reported why it took so long to fix it.
I think my client manager is over paid and can't even know how his company code stream works. Fuck you . why client has these lazy ass old fucking "I don't look into my email" type people. God I hate these "I am in rich country" people.2 -
Now that the weather is nice, I've started doing some landscaping in my back yard. I thought I'd start easy with taking down a shed that was starting to lean that I inherited when I moved in.
In the process of taking it down, I discovered a wire that went from the house to the shed. The wire in the shed wasn't live but I had no idea where it terminated and I didn't want that sickle of death hanging over my neck.
After I finished taking down the shed, I started working on the wire. This wire was buried about 18 inches deep and was about 25 feet from where it was supposed to attach, which was another 25 feet from the house.
I finally got the first section dug up only to discover that the second section was attached to my retaining wall and traveled under a rotting wood patio also built directly on top of dirt. I needed to take it down regardless, but I wanted to wait until I was ready.
Protip: don't build anything made of wood directly on the ground. Given time, even treated wood will rot.
This second section was live and exposed to air. It's truly a wonder nothing bad happened with it. And most of it was only an inch under the dirt. Also, no conduit. Just a wire.
So now, several days into a simple teardown, my back yard has a deep trench dug into it going from one corner of the yard to the house. I have a huge patch of muddy dirt where I had to tear down a patio to fix an actual threat to life and limb.
I also discovered my retaining wall was built directly on top of dirt, no gravel in sight, which explains why it is leaning. Fortunately, I've built retaining walls before, so I know how to fix it.
It's a good thing I like landscaping because it's going to be an expensive and messy summer.4 -
The term "technical debt" is poorly used. I hear folks of all stripes and roles proudly proclaim that they've "reduced technical debt" in some way. It's used as a catch all to describe some kind of supposedly beneficial change. I think it's just more software process word salad. Mostly because there seems to be some assumption that "Yay, that stuff that was changed is no longer a problem" when odds are that it will be changed again before too long for more "technical debt reduction". Software changes over time because the requirements change over time. I don't see the need for the phrase at all, and I think using it gives some false sense of accomplishment when really the constant change of code is the normal state.6
-
Out of the Operating Systems, I think Windows has the best file moving system.
Yes, you're unable to transfer files if they're currently in use, but you can start new file moving jobs in the middle of a current file moving process, and as of Windows 7, files that are unable to be moved for whatever reason don't cancel out the entire move.
Linux is next best because files will move regardless of if they're in use or not, and a file that is unable to be moved for whatever reason also won't cancel the entire move. However, if a new file move process is started, it will pause until the current move job is completed, which is a pain if moving a lot of large files.
Mac is the worst. One failed move results in cancelling the entire process. If a file will be duplicated or is unable to be moved, if you cancel that specific move, you have to start it all over again. No way to cancel or skip, just start it all over.4 -
I started a new job a few days ago. I'm already adapting to the team's workflow and codebase. A new offer came up, same salary, but the company is near my place and have many green field projects. It wouldn't be any legal repercussions if I quit, but I would feel guilty for resigning just a few days after starting, the employer would have to start the hiring process all over again and some bridges will be burnt. Damn! I really don't know what to do: being unethical and take what is best for me, or being ethical and stay where I already am /:6
-
February will be the first full year at this company as full time employee.
I've updated so many legacy projects, optimized a lot of workflows as well as built new tools to improve efficiency and remove unnecessarily duplicate projects (sometimes literally only 3 variables were different between multiple projects)
My one co-worker taught himself enough code to do the job but doesn't think like a programmer though he is asking me for help and advice to improve what he does since ive proven i know a little. my other direct co-worker I'm practically teaching a Programming 100 course to them
My direct manager at one point said he was so happy he took a chance on me even though I didn't interview well
I like my job, I find it so much better than my last job which was horribly toxic, and more fun than my first 'real' job as a night shift help desk for basically a warehouse environment.
But I feel under paid sometimes for how much i do and all ive improved in my first year, I have my first yearly review coming up. I'm hoping to get a decent raise for all ive done and I want to somehow go over everything with the HR person to justify it. But I have no idea how to talk about my dev work to them in a way a non technical person could understand. I'm also not sure how the review process will work. Like will my manager be there. Or is it just me and HR, is there a paper I'll be sent to fill before hand,1 -
So you guys know how universities can sometimes have TERRIBLE old software that hasn't been updated for years, and sometimes you want to do a specific process over and over again so you end up automating it, now, we've built a tool that automates downloading projects from the University Moodle website, and we would like to publish it for other students to use.
Problem.
The University is using SSO.
And so far we've made the application to work by observing the network connections over the Android app version in order to extract the cookie session, now imagine that we publish this little tool, and tell people to do those exact steps, of course it's impractical and misses the whole point of the tool itself for being easy to use.
So, where can I read more about SSO, how can I figure out what the University uses? And if I had to reverse engineer this, where should I start? (It goes over 4 pages and I'm not able to capture those requests to even figure out what's going on)
In short is there a guide where you take a university SSO service and build on top of it? I couldn't find anything that is helpful. -
Anyone has heard of "Google foobar challenges"?
I found out that it's a secret process of hiring developers and programmers all over the world.
Google triggers it when a user searches for some Programming related stuff.46 -
I've started to get more into the TOR idea over the last couple of weeks.
I know I'm way to "non protective" of my privacy but changing would mean I'd have to break many habits and stop using things I'm used to.
A couple years back (I guess it was in like 8th grade or so) I had a presentation in German (my first language) for an extra mark. It was about tor. In the process of researching all of it I learned quite a lot about it. All of this knowledge has stuck to me the whole time, unused.
Fast forward to today, I've finally decided to use the couple of bitcoins I have (like 15€ or so) from my home mining experiment to rent a vps for a tor relay. First, I was lucky enough to find a service provider that accepts bitcoin for a 3€. They advertised "Fair use Traffic", later found out, after committing for three months since I was like "yeah... will be fine", in the customer panel there is a graph that shows me that I have used x% of 1.5 TB... I guess the customer support will get an email from me asking what "Fair use" exactly means... But that's fine... Oh... And ipv6 wasn't a thing to be found...
To wrap it up... I've now got a 2 weeks old little tor relay <3
(I didn't wanted to put it on my main vps where I have 200mbit guaranteed at unlimited for 5€ a month since that's where I have my mail server running and a hidden service for my next cloud)1 -
TLDR, need suggestions for a small team, ALM, or at least Requirements, Issue and test case tracking.
Okay my team needs some advice.
Soo the powers at be a year ago or so decided to move our requirement tracking process, test case and issue tracking from word, excel and Visio. To an ALM.. they choice Siemens Polarion for whatever reason assuming because of team center some divisions use it..
Ohhh and by the way we’ve been all engineering shit perfectly fine with the process we had with word, excel and Visio.. it wasn’t any extra work, because we needed to make those documents regardless, and it’s far easier to write the shit in the raw format than fuck around with the Mouse and all the config fields on some web app.
ANYWAY before anyone asks or suggests a process to match the tool, here’s some back ground info. We are a team of about 10-15. Split between mech, elec, and software with more on mech or elec side.
But regardless, for each project there is only 1 engineer of each concentration working on the project. So one mech, one elec and one software per project/product. Which doesn’t seem like a lot but it works out perfectly actually. (Although that might be a surprise for the most of you)..
ANYWAY... it’s kinda self managed, we have a manger that that directs the project and what features when, during development and pre release.
The issue is we hired a guy for requirements/ Polarion secretary (DevOps) claims to be the expert.. Polarion is taking too long too slow and too much config....
We want to switch, but don’t know what to. We don’t wanna create more work for us. We do peer reviews across the entire team. I think we are Sudo agile /scrum but not structured.
I like jira but it’s not great for true requirements... we get PDFs from oems and converting to word for any ALM sucks.. we use helix QAC for Misra compliance so part of me wants to use helix ALM... Polarion does not support us unless we pay thousands for “support package” I just don’t see the value added. Especially when our “DevOps” secretary is sub par.. plus I don’t believe in DevOps.. no value added for someone who can’t engineer only sudo direct. Hell we almost wanna use our interns for requirements tracking/ record keeping. We as the engineers know what todo and have been doing shit the old way for decades without issues...
Need suggestions for small team per project.. 1softwar 1elec 1mech... but large team over all across many projects.
Sorry for the long rant.. at the bar .. kinda drunk ranting tbh but do need opinions... -
Top 12 C# Programming Tips & Tricks
Programming can be described as the process which leads a computing problem from its original formulation, to an executable computer program. This process involves activities such as developing understanding, analysis, generating algorithms, verification of essentials of algorithms - including their accuracy and resources utilization - and coding of algorithms in the proposed programming language. The source code can be written in one or more programming languages. The purpose of programming is to find a series of instructions that can automate solving of specific problems, or performing a particular task. Programming needs competence in various subjects including formal logic, understanding the application, and specialized algorithms.
1. Write Unit Test for Non-Public Methods
Many developers do not write unit test methods for non-public assemblies. This is because they are invisible to the test project. C# enables one to enhance visibility between the assembly internals and other assemblies. The trick is to include //Make the internals visible to the test assembly [assembly: InternalsVisibleTo("MyTestAssembly")] in the AssemblyInfo.cs file.
2. Tuples
Many developers build a POCO class in order to return multiple values from a method. Tuples are initiated in .NET Framework 4.0.
3. Do not bother with Temporary Collections, Use Yield instead
A temporary list that holds salvaged and returned items may be created when developers want to pick items from a collection.
In order to prevent the temporary collection from being used, developers can use yield. Yield gives out results according to the result set enumeration.
Developers also have the option of using LINQ.
4. Making a retirement announcement
Developers who own re-distributable components and probably want to detract a method in the near future, can embellish it with the outdated feature to connect it with the clients
[Obsolete("This method will be deprecated soon. You could use XYZ alternatively.")]
Upon compilation, a client gets a warning upon with the message. To fail a client build that is using the detracted method, pass the additional Boolean parameter as True.
[Obsolete("This method is deprecated. You could use XYZ alternatively.", true)]
5. Deferred Execution While Writing LINQ Queries
When a LINQ query is written in .NET, it can only perform the query when the LINQ result is approached. The occurrence of LINQ is known as deferred execution. Developers should understand that in every result set approach, the query gets executed over and over. In order to prevent a repetition of the execution, change the LINQ result to List after execution. Below is an example
public void MyComponentLegacyMethod(List<int> masterCollection)
6. Explicit keyword conversions for business entities
Utilize the explicit keyword to describe the alteration of one business entity to another. The alteration method is conjured once the alteration is applied in code
7. Absorbing the Exact Stack Trace
In the catch block of a C# program, if an exception is thrown as shown below and probably a fault has occurred in the method ConnectDatabase, the thrown exception stack trace only indicates the fault has happened in the method RunDataOperation
8. Enum Flags Attribute
Using flags attribute to decorate the enum in C# enables it as bit fields. This enables developers to collect the enum values. One can use the following C# code.
he output for this code will be “BlackMamba, CottonMouth, Wiper”. When the flags attribute is removed, the output will remain 14.
9. Implementing the Base Type for a Generic Type
When developers want to enforce the generic type provided in a generic class such that it will be able to inherit from a particular interface
10. Using Property as IEnumerable doesn’t make it Read-only
When an IEnumerable property gets exposed in a created class
This code modifies the list and gives it a new name. In order to avoid this, add AsReadOnly as opposed to AsEnumerable.
11. Data Type Conversion
More often than not, developers have to alter data types for different reasons. For example, converting a set value decimal variable to an int or Integer
Source: https://freelancer.com/community/...2 -
Fucking vagrant is supposed to streamline the fucking process and make everyone’s life easier, not ruin it with a shitload of bugs. Every fucking time!!! I’ll be better off using a USB, transferring the OS setup files at 2.0 speeds files, shoving it far up my rectum, shitting it the fuck out, and having the pipes transfer it over to you in the two fucking hours it’s taking me to fucking debug this clusterfuck.
-
#Breakup #GettingOverEx
So my ex broke up with me/ we decided to "go on a break" three months back. It didn't help that my ex is part of my close friend group and I'm obliged to run into them every other weekend.
None of my close friend group knows what transpired/that we dated.
They started dating someone new as soon as we went on a break.
As a part of new year, I decided to mentally move on. Now my ex is trying to reinsert themselves in my life (unsure in what capacity- as a friend/reltnshp).Today, I woke up dreaming about my ex and their new flame and feeling pretty disturbed. I don't know their status quo either as I haven't talked to my ex about it. (Just know it as friend group mentions them here and there)
I had initiated communication with my ex as I needed an advise (on phone) and they kind of self invited themselves to my place on weekend. How to cope with all this mess. I am unable to focus on my work because of this and my productivity is shot.
I just want to move on and date someone who makes me happy/is worth my energy.
How do y'all process breakups/get over ex?10 -
Ardour keeps telling me my hard drive isn't fast enough for playback. I'm using a Thinkpad t420 with an SSD, so the only reason I can think that my hard drive wouldn't be fast enough is if swap is slowing it down. I wanted to record music over winter break but I couldn't because of that issue. Music in Linux is frustrating. I will say that antergos made the process of installing jack, guitarix, rakarrack, and ardour a breeze though, so that's something.4
-
Once upon a time I was a student. We had QBasic programming with graphics involved in it. Once I was thinking about animation as we were told in the classroom. In order to perceivably move an object, we were supposed to draw the object, erase the screen, give some delay then draw the object again at a slightly different position....repeat the same thing all-over...
I suppose I had not done this exercise even once.. I might have seen it happen at our labs, I did not like it.. because I was clearly able to make out that screen is clearing...there was too much fluctuation..it did not look good as an animation..
I tried to better the process by redrawing in black color instead of calling a clearscr() routine and keeping all other things same.
I had also put an infinite outer loop so that I can see the process all over again after the circle (it was a circle I was moving btw), started from one end of screen and reached the end of screen.
As I hit F5, I was so impressed by the results...that I kept staring at it for 10 passes of the circle.. it was pretty darn smooth.. -
There was a department. Long time ago their work was somewhat complicated: background checks of businesses, websites, ToSes, assuring agreement compliance, some risk management on top. They started as small 3 people team but over the years they were hiring new employees to catch up with the growing customer base. They were still struggling. Few years back we've integrated 3rd party services to help them and, finally, their backlog was gone!
In January they complained about how much more work they have since the merger so I inquired about which process was troublesome, what was the flow, etc., and it turned out to be very... Tinder-like - the issue was the sheer number of cases:
1. open a case,
2. check results in few windows,
3. if green + green + green, move right.
4. else move left.
It was ridiculous, I wouldn't stand for that. I sat for an hour, made some ghosting scripts that followed same business logic and saved results alongside their actual decisions. Last week I compared the two and there was zero difference so I green-lit it with my boss and pushed to prod.
Oh, the happiness on their faces when they heard the news, the disbelief, the tears of joy!
And then it happened. After 4 years of being cautious not to stir the waters I did it again. Yesterday I accidentally replaced 17 people department with 3 scripts. How was I supposed to know it was *all* they were doing??1 -
Any advice on how to deal with gatekeeping developers? How to deal with red tape?
I work with people that are resistant to code and process change. Continuous pedantic pushback on nearly anything; one raised a fuss over metrics not being satisfactory at a 5% threshold for alerting stating that 4.99% metrics variance wouldn't trigger an alert.
It's genuinely as though my coworkers are all scared of code based on the way they behave. They don't seem to code very often either.
I'm someone that codes quickly but I have to constantly write proposals for quite literally any change to the codebase. Even IF there were issues we could always rollback (and even then we have metrics, alerts, canary rollouts, feature flags, etc etc). As a quick aside, my pace isn't related to the pushback nor experience/skill level. Just affects my morale and mental heth to be blocked.
I can communicate effectively and I try to be as clear as possible in my proposals but this is absolutely driving me up the wall and killing my motivation.
This is a faang-level company and I would've expected better.
Any advice on how to best navigate this? Is this the norm???4 -
Whenever I see conversations my boss has about a new tech stack (containerization) and how he wants/envisions future projects to be built on it.
I just find myself repeating in mind "you gotta learn to walk first before you can run.... Otherwise u will stumble all over yourselves and end up with a mess" or a pile of shitty undocumented apps that only God knows what they do and work, and a still broken dev process that led to this mess.5 -
I just want to ask fellow Developers here, can you give me a reason why you have to adjust to standards given by frameworks and not to create your own framework because thats just recreating the wheel?
I want to be enlightened as sometimes i tend to be hesitant in learning new frameworks/languages because i find them over-complicating the process on creating an app/software.5 -
Sometimes I just have a crazy idea for an amazing feature I could add to a side project.
Then my brain goes into a fight with itself over this feature, one side saying "that's a lot of work, not worth it" and the other side "but then we could also do this and that and hey maybe we could even simplify other stuff a little bit" and in the process getting really fond of that feature. After some time, the idea is really optimized because the lazy side of my brain hates unnecessary work.
Anyway, I just came home, created a new branch and deleted a quarter of my code base which is now obsolete. -
To get unstuck, do a brief context switch. Let your brain process the problem in the background.
My preferred mode of context switch? Gossip over snacks. -
About a month ago my grandfather gave me the okay to work on a pi-hole and attach it to the router
So I did that yesterday, and he yells at me for it (because having a civil conversation is impossible with him) and says that we don't need "extra stuff" and says that I'll break the router.
I tried to explain how the process works but I was just shut down and interrupted.
He could have at least told me he changed his mind so I wouldn't have wasted over two hours of my day building and troubleshooting the device.
Mind you, he literally worked in hardware for 50 years and has had ham radio as a hobby for over sixty. -
So yeah, need money so I started looking for extra projects to develop and found a project to make "the new facebook" and it just kinda sucks.
I just got access to the whole codebase and it's done using angular, nodejs and typescript (which is cool to me), while the dude contacting me was telling me it was done in react (which is kinda a big no for me).
Well, anyway, I start by cloning the repo and the npm-i the whole thing, it's not even at 10% of the whole process and I already got like 50 deprecated packages over maybe a hundred needed (total of 2054 node modules installed).
Well I kinda don't even know where to start from this, all I know is that I'm gonna do it just for the money so I'll be a little underpaid (about 500$/month) while according to me the price should be about 1500$/month, but I can't do it full-time, so it kinda works out.4 -
You seriously telling me that I can hand the same fucking html/css whatever to different browsers and they'll render it differently? I have fucking safari and firefox look the same/as expected but fucking chrome looks different.
What the fuck, why can't we have a single standard and have it be followed. I assume some super smart fuckers getting paid mad dosh are responsible for getting this shit done and wrangling all us retards running around flinging shit around doing any sort of web work. Related : https://xkcd.com/927/ but I am no less angry and butthurt. Fuck css. I'm still fucking boggled, why the fuck can I hand over the same fucking input and some special fucking snowflake decides to process it differently I'd like to think they should output the same fucking shit.
Plot twist: maybe chrome's rendering it properly but firefox and safari are both misrendering it the same way?
And I can't wait for QA to get back to me on how it looks on fucking IE and edge when I get sick of this shit and if I ever finish.3 -
Taking a leave for 14 days from work, just to use my vacation days, really messes with my biorhythm :D My day/night cycle shifted about 12 hours.. Programming during the night for a freelance project, sleeping 1-2 hours during the day just to rest my eyes a bit..
I'm from Belgium, but the second developer, on the project, is from San Francisco.. It's quiet nice to have someone to talk to about the development process when every one else I know is asleep.
I'm not made for a dayjob at a desk, I need to be at home, in my bed or at my own desk, choosing my own hours, just.. Working on projects with some music, some snacks,.. Much more productive that way than, instead, being forced to work from 9am to 6pm.. You can't force creativity or inspiration
.
I slept 9 hours this week, spread over 4 days... I'm not the most healthy person, I know :D1 -
So, I've been with my current employer four years now, three and a half of which have been spent working as a time material developer for a huge fashion company. I've been trying to get out of It for the past six months only for my exit to be postponed everytime. There's also no clear idea as to what I would be moved to, going forward. Nobody Is telling me a thing and I think other developers will be moved to different projects before I do.
That's why I took matters into my own hands and started getting back into the recruitement process. I'm about to receive an offer. A fairly better one.
The thing is, I wanna use such offer to see if my current employer can reedem himself and propose to me a good counter offer. I'm not in the mood of starting over, but I want security and management to have a fucking idea of what my future Is gonna be like at this fucking company.
What do you guys think? Am I playing with Fire?1 -
Best: Initiated the formal process to get a work visa, which is really the first step into settling down here after my studying period.
Worst: Have to work with with WordPress sometimes, and 80% of the other system's tech stack being new, making me feel like an absolute retard because I'm slower than a drunk snail.
Overall a nice year, despite 2020 shitting all over everyone. -
Developers wanted! No I'm not a recruitment agency
I'm relatively new to the field. Been working 2 years as a Web developer at the same company. So I want to ask, is it normal to be made to sprint plan live issues for any websites you maintain?5 -
So i'm currently working on my PiStation..
(look at my previous post if you're interested)
I'm imaging over RetroPie over to the SD card, screw back together the housing, and it boots up fine. As soon as i configured my XBOX-controller i got to the wifi-settings. And when i try to access my wifi, guess what, it doesn't connect to my f**kin wifi. So i double check my wifi-settings in the router i just bought to get over my roommates paranoia (that's a whole another story. Just in short, he's got no idea of IT-security and tries to be an admin, which results in a HUGE amount of bulls**t), confirm that the settings are alright, double check the PSK too, anything is fine. So i go through the whole process again, download the image (from their goddamn slow servers), open up the PiStation, image it over to the SD card, close it back up, anything boots up fine and works, except this f**king wifi. And the thing is, i COULD connect it with a patchcable, but i dont want cables going anywhere through my room. Currently imaging over recalbox OS, will keep you updated. I just want to play some old retro games ._.2 -
So I went to a service center to repair my cracked mobile screen. I thought that the process would be completed in a few hours so I didn't took any backup.
Guy: You need to hand over your device for 2 days.
Me: Okay, no problem just fix it. (At this point i was desperate because a bunch of shops already told me that the complete model needs to be replaced)
Guy: You also need to remove any screen lock from it.
Me: But why?
Guy: We need to test once we fix the display. The repair util can be accessed by an inbuilt app.
Me: *Internally screams, my pr0n collection, my browsing history...*
Me: Just give me a minute. *Uninstalls a bunch of apps*.
Me: Handing the device to him. *crying internally and thinking if anything was left*.
Me: While returning, Fucking fuck now how am i gonna suppose to book myself a cab.. *facepalm myself with a fist*1 -
I had to do a modular deduplication project that could read, parse and clean up the data.
The data? Personal information: Name, Surname, phone, address and more.
Imagine the zip code in any of the following formats: ####AA, #### AA. Names with and without dashes. Address with(out) spaces, dashes, underscores etc. as well as typos! Now clean it up, and dedup.
But what files have priority over another? What data is newer? How to process address changes?
Deadline: 2 moths, impossible deadline for a (at the time - 4 years ago - rookie developer)
Anyway, night before the deadline, code was running somewhat (Java) and was able to get a Regexed address cleanup of about 70 - 80%.
My boss comes in to check the progress, sits me down next to him and says: Not good enough, let's do it together tonight, it was 4pm, day normally ends at 5pm.
No thank you, I can't do that. if you don't want this code, then I can't meet your deadline.
bye -
I've gotten started with web dev in the past and learned HTML and CSS and started learning JS but I never could understand what I could use for a code editor to practice and pretty much forgot all of that stuff. Now I'm trying to learn Python, but what's pissing me off is paying for a phone app that doesn't teach you to write code in these lessons, rather interactive multiple choice questions and "put this in the right order". sequences. This is not learning for me, this is informing. Which is info I don't retain. And If i'm paying for it why is there so little to these lessons? Barely covering anything. I've done every lesson Mimo had for python but it didn't really explain the practicality of what it was teaching me and they skipped a lot of shit. Changing the pace of the lesson from Print this and that and heavily explain the most basic stuff 3x over to only explaining the more advanced stuff one fucking time.
I would really like learning python while being walked through a project as a lesson. Teach the terminology, structure, application, process, rinse and repeat, and outcome all in one. With a project target to look forward to. I need a goal to keep my interest.
So far all I know about python is its a programming language used to create Youtube. And I'm trying to learn it because I keep reading that its the recommended starting line. But I need to be able to visualize what this code can be used for. Explanations in terminology I haven't been taught yet just frustrates me. And I read everyone's posts and see many people mention being frustrated, but I haven't even started coding yet. Feel free to comment and redirect me to page that can help. Links are appreciated. Nay, encouraged!7 -
Have a question for more seasoned developers/techies in the industry. I started my first software development job 7 months ago and I am contract to hire. There’s only two developers (including myself) on my team and we’ve been working on two separate projects that’s apart of a bigger system. He was a contractor but because our company took too long to get back to him about converting he interviewed and accepted an offer at Amazon (don’t blame him). Now I have to take over his project as well as mine which would be overwhelming to say the least... our team is almost entirely remote so it can be difficult to communicate sometimes and our company is heavy in process so development moves slow. Should I start looking for other opportunities or should I stick it out and gain experience even though the workload is unrealistic?5
-
Guys. Seriously. Get a grip. I get it. The new laws are not perfect. Some will even say that they suck. But you cannot tell me that the current laws were okay and covered all bases on copyright. Getting it under control is a process and it will require us as citizens to make meaningful choices with our votes. But simply repealing the law outright is not necessarily the best choice. We need to get a good idea on what is right and just, what is legitimate and then criticize the law. Being against it because it's a trending topic is not cool. It's moronic. E.g. Wikipedia won't die over this. Public content won't die over this. Some content will be more restricted because the copyright owner wants it to be. The implementation will be difficult but this does not mea that it will hurt liberties of the citizen. If anything quite the opposite. It's kind of amusing seeing people call privacy i to this. Privacy laws are unchanged. I'm all in favor of activism (and hacktivism) but let's do it right.19
-
Why recruiters are sometimes taking so long to answer? I did my final stage of interview with the companie's client (out of 4 stages in total) last Thursday.
Client came back with positive feedback at Monday at the end of workday. Today is Tuesday and internal recruiter was supposed to call me to make an offer and discuss starting date.
Now again workday is nearly over and no contact from her. Tomorrow is a national holiday so she will get back to me at best on Thursday.
Goddamnit why it takes so long, if Im starting next Monday I need to prepare myself. Im seriously getting second thoughts such as even about declining the offer if they will try to lowball me. Previous week they really rushed the process and I had to do 4 stages of interviews and this week they are wasting my time. Am I being impatient or what?2 -
Brilliant rant from Redditor OK6502 in a thread about a "tech screen" being used to get free labor:
Usually when something like this uses the words complex tech stack it means you're going to have to deal with shitty server code distributed over a mix of Azure and AWS nodes and a lone Linux server running under someone's desk, an infuriating configuration hell with no safeguards for keeping dev and prod isolated, a hodge podge of different scripting languages (why not make scripts in pero that call power shell which then calls more perl? Should work right?) and random but critical shit checked into 3 different SVN, stuff stashed on people's shares that will never be checked even though you can't do your homework b without it, usually copied from someone else's share who left the company 3 years ago, no QA process to speak of (while claiming to be agile, somehow) and a front end that is maintained by one exhausted junior dev who inherited a mess of 20 different js frameworks that all load at the same time with every single click, somehow.
The full thread is really worth reading:
https://reddit.com/r/... -
i'm new on here and just was wondering why they don't date or give the timing of rants as i was looking at some of the site. Not that it's important but speaking of dates....I think we've been in this shutdown LONG ENOUGH and this is the 11th of Apr. and they're adding on more time still when at first we were to get this over with by Apr. 3 now the end of April and now even out here where i live in So. Cal. universal Studios announced (i guess) they're shutting through end of May? Oh yeh-is that a Bright Airy future outlook to say that this virus is just going to wipe more out; keep wearing them masks and obey the stay at home rules and now you got this Hydroxy...you know that one that appears to be a positive drug to "work" to actually look safe enough to try or administer, how about giving that to the people that may want it instead of we've seen some bitter bulking at that very Hydroxy...look at the 1 governor or whomever threaten to strip the license right out of that person for bringing it up! Woooo instead ya got Mr Gates not even a physician talking all these rules of forced vaccines (again??) oh yeh NOT ME! This is now a politicized coronavirus and i watched a video and I believe it!!! The test conducted at the beginning of all this was tested incorrectly and it goes on and on and now we're in this lockdown as if there's power in them numbers keeping this thing going going gone to the biggest numbers where not enough medical equipment's cried out, lines out the A__ and then finding the opposite when people have followed up on all these leads of all over the Country where all this overflood of viral is running. Don't tell me i don't have the facts, because wth does at this juncture or at this very present night to where this is sickening. Yes, there's been patients or people Human Beings that have contracted it but let's just get some real information that i just have to know to what it is thus far isn't correct. And we need to get going, get your livilihood (spell check that word) GOING and LESS FEAR because from the people that want to run all this, they look power hungry to keep it going like the one guy said 'we don't have a choice' when it comes to this will play out 12 to 18 months. OH? YOU MAY HAVE LOSER CHOICE but WE DON'T!!! And it ain't playing out neither the 18 or 12...you know what they want it to run into the election process is what they want. Plus the idea to lock us down huh? And the day by days going by are going to only allow more freedoms to l-o-s-e!8
-
Why the fuck does the Execute Process Task from SSIS in Visual Studio fail when trying to use variables in an expression?!?
I've been debugging this shit for hours and have made absolutely no progress. There's no apparent workaround.
Fuck you Microsoft, for leaving a known bug in VS for over a decade, where the expressions are surrounded in double quotes, negating the entire purpose of using an expression for variables!!! 😡2 -
After rewriting a piece of code to simulate a process subject to human error I previously stepped back and looked at it and realized the test data I was generating which I would have just let run of it wasn’t so long was subject to a simple distributive property and could be normalized considerably which then could be subjected to error introduction and used as training data at random and over time and error really only being ones of efficiency or last moment mistakes of a manual process
-
Looking inside the box for a second FC 24's Personality Plus feature will certainly create a breath of much needed fresh air to the systematic player statisticsThe changes don't stop there, as we reported earlier, this is a big year of change for the EA Sports FC franchise.
Kaka is a graceful player who doesn't lose his temper and has a lot of respect for his hundreds of thousands of fans - as a result, I think Kaka is an awesome cover athlete for this year's FC 24. Whether or not the game is as graceful as Kaka himself - well, that's something we're just going to have to find out ourselves. You can expect to see Kaka gracing the covers for yourself when FC 24 is released on September 28 in North America - and October 1 in Europe and Asia.
EA Sports has finally made a major change to their EA Sports FC franchise. It's no secret they're the top dogs for the beautiful game, but it's also no secret that their weakness is their lack of customization. FC 24 is looking to change all that.
Over the years, we've seen EA add half-hearted features: a few years ago we had a weak team creation which disappeared a year later, and creating players was a slow and limited process. Since FC 24 they've taken the right direction with their Be A Pro mode, and now the inclusion of an all new Creation Center will finally have players able to do everything they wanted: easily make entire teams, players and statistics - finally allowing them to rival Konami's Pro Evolution Soccer in terms of customization.
You can finally create your own fully functional football club, with the ability to completely customize rosters, crests, crowd chants and --most importantly -- you can make your team an awesome kit with an in-depth editor. According to EA Sports, these teams will be available for both offline and online play, custom tournaments and friendly matches - so if you want, feel free to hop online when the game comes out and play against The Obama 11.2 -
Everyone here rants about clients, and as far as I understand frustration, I understand client's side too.
For 2 years I have developed a tool for our company, my manager was responsible for outcome and was directly accountable to company's management, which made him a client for our product. Of course requirements changed many times, he pressured us much, but he is nice guy and gave us knowledge why we had to change things again. We had meetings with him, HRs, PMs and others to gain requirements for features to implement and that made me better understand client's point of view.
My point is that when you work for external companies, you only see changing requirements, pressure, deadlines, etc, but don't think that your work is just a part of process - your client is responsible for your delivery, wants to make good impression on superiors or company needs some feature ASAP. He does not have to know tech stuff, he wants outcome to be good and to be fast and cheap - that is business.
And yes - we had to tell people that X is impossible many times, had to tell Y people how things work over and over. It may seem easier when it is your own company, but note that every single employee knew that you developed that tool and you have answers for his questions. -
!comforting
TL;DR - I’ve done some thinking about operating systems and sticking to one
Mk
so I, like many of you, have seen far more than my fair share of “X operating system is perfect for it all, so don’t use Y operating system because it’s just awful” posts.
Over this week i’ve really done some thinking and experimenting with multiple devices and OSes and programs for various tasks. People coming from windows over to linux (like myself) tend to diss windows (rightfully so for the most part, but still). I’ve also noticed that the android vs. apple debate can get heated among users.
Listen guys,
iOS has its shortcomings obviously, UI being kinda a big one; but no one can deny that apple shoves some of the nicest hardware into their devices. Yes, this stuff is pricey as hell obviously, but the new macs come with an i9 and quite a bit of memory as well. Apple devices tend to have longer lasting batteries too - i cant count the times where i’ve just turned on my mobile hotspot, and stuck my android in my pocket to use my iphone (its a wifi-only 5s). the applications run nicely on apple hardware.
i couldnt learn even half as much programming as i do on my android though; Termux is a godsend, and im able to run and test scripts right there in the palm of my hand. can’t get that on an iphone.
Some of my favorite game developers only develop for windows; I’m dual booting for that sole reason (warframe and the epic games launcher don’t properly run through wine).
Just boil it down inside for a second; You might have come from a more “user friendly” operating system, to learn on one that is less so - wether you wanted the freedom and wiggle room for customization, or just a more developer friendly working environment (God bless conky and its devs) - so you didn’t have to be locked down into one way of seeing things. Putting a previously used OS down directly violates that thougjt process, and at that point you’re just another windows hater, or arch junkie, or whatever. I think we need to be open to appreciating the pros of every system, even if we almost never use some of them, and we should try not to put down other devs-to-be or csci/sec enthusiasts down because of that either.2 -
My team and me nearly finished a big new feature for our website.
I am a junior dev and this was the first big thing I was in charge of and now that I see how it unfold I feel really bad.
It consists of php backend (integrated into a 20 years old monolith) and vue frontend (punctually jumpstarted by a clusterfuck of typescript files included into php rendered html) and especially the frontend part looks so bad.
Vue is relatively young in our project and almost nobody has a clue about it. I learned so much about vue in the process, but the result is a behemoth of awfulness that grew over several months.
I have a really strong desire rewrite the whole mess, but I will never be officially allowed because it works and practically all the flaws in our code base are subject to the classic
"well, someday, somebody probably has to do something about that, but for now let's start this shiny new feature"
So for now I think about doing it secretly and pass it to my buddy to review it. I guess chances are high that not even the colleagues in my team (apart from my buddy) are going to notice, since they aren't as interested into vue as I am and don't have the overview over this features code as I do, but on the other hand it feels like something I could get in trouble for and apart from the cursed code base my company is great.
Have you ever bin that disgusted by your own production code before it was even one year old?3 -
In 2020, flutter team announced the declarative way of navigation, but just after its release a lot of bad reviews came out from developers from all over the world saying it is too verbose and complex process to implement navigation using navigator 2.
But, if we just try to understand the process of using navigator 2, then the power that flutter provides with navigator 2 can help us achieve great navigation flexibility. After understanding and implementing the navigator 2.0 on few projects I found it to be very useful.
I wrote an article and tried to explain the concept that one needs to know before using the Navigator 2.0. I hope you would find this article helpful.
Link to article: https://vocal.media/01/...
Let me know your thoughts on flutter's navigator 2.0 on comments below.
Thanks
#flutterdev #navigator2 -
The timelines at my workplace are too short that it's impossible to actually build anything or observe procedures like testing, software techniques for maintaining oop code, telemetry and other things I may have learnt along the way
So application templates are the order of the day. They pull solutions off the shelf, edit the interface, hand over to clients at an alarming rate (sometimes, within a matter of days!). So yesterday, the cto asked for ways I can recommend that the team is made more efficient. He takes what I say very seriously, owing to Suphle's appendix chapter as well as the issues its blueprint set out to solve
Like I said, those do not apply here. I mean, the developers I've met are making do and winging it. I'm the one struggling to adapt to rummaging through templates and customise shit
Maybe I'm over thinking it cuz there's no sense in fixing something that's not broken. So far, only flaw I've observed (because the product designer has complained to me bitterly that the devs hardly ever translates his prototypes verbatim), is the need for a dedicated mobile developer (not that multifunctional, confused portfolio called "fullstack). But I didn't raise this since the time frames hardly even afford time for writing apis or writing mobile code. You'd be surprised to realise that everything a client can possibly ask for is already somewhere, built at a higher standard than you can replicate
My question now is, what other positive novelty can I bring aboard? How can this process be further optimised? If it can't, what suggestions outside regular software development or this work flow can I bring to the table?
Personally, I'm considering asking him to tell me bottlenecks if he has identified any. But it's very likely that he would already have begun working towards it if he knew them. I suspect he needs someone outside the system to see what is lacking or a new addition that could even be a distant, outlandish branch of the tech market, but drive the company towards more profit1 -
While the sidenote of explanation regarding the business process being added up front without much useful detail is all nice etc
Expecting some overblown explanation about fixing a mistake from a middle aged man as to motivation is just stupid
What else is stupid is directing a person to the same things when you people are supposedly supposed to spare us that
What else is stupid is people processing literally 10s of 1000s of man hours of the PRECISE same work over and over again letting themselves be psychologically programmed and handicapped
And what is really dumb is when vital data that can make a large difference in a payment getting processed or a claim being accepted or rejected is just allowed to pass through entirely on the premise that it allows a broken ass system to bite some in the ass and give a break to someone else instead of FIXING THE FUCKING SYSTEM1