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 - "@sortoftested"
-
A wild Darwin Award nominee appears.
Background: Admins report that a legacy nightly update process isn't working. Ticket actually states problem is obviously in "the codes."
Scene: Meeting with about 20 people to triage the issue (blamestorming)
"Senior" Admin: "update process not working, the file is not present"
Moi: "which file?"
SAdmin: "file that is in ticket, EPN-1003"
Moi: "..." *grumbles, plans murder, opens ticket*
...
Moi: "The config dotfile is missing?"
SAdmin: "Yes, file no there. Can you fix?"
Moi: "Engineers don't have access to the production system. Please share your screen"
SAdmin: "ok"
*time passes, screen appears*
Moi: "ls the configuration dir"
SAdmin: *fails in bash* > ls
*computer prints*
> ls
_.legacyjobrc
Moi: *sees issues, blood pressure rises* "Please run list all long"
SAdmin: *fails in bash, again* > ls ?
Moi: *shakes* "ls -la"
SAdmin: *shonorable mention* > ls -la
*computer prints*
> ls -la
total 1300
drwxrwxrwx- 18 SAdmin {Today} -- _.legacyjobrc
Moi: "Why did you rename the config file?"
SAdmin: "Nothing changed"
Moi: "... are you sure?"
SAdmin: "No, changed nothing."
Moi: "Is the job running as your account for some reason?"
SAdmin: "No, job is root"
Moi: *shares screenshot of previous ls* This suggests your account was likely used to rename the dotfile, did you share your account with anyone?
SAdmin: "No, I rename file because could not see"
Moi: *heavy seething* so, just to make sure I understand, you renamed a dotfile because you couldn't see it in the terminal with ls?
SAdmin: "No, I rename file because it was not visible, now is visible"
Moi: "and then you filed a ticket because the application stopped working after you renamed the configuration file? You didn't think there might be a correlation between those two things?"
SAdmin: "yes, it no work"
Interjecting Director: "How did no one catch this? Why were there no checks, and why is there no user interface to configure this application? When I was writing applications I cared about quality"
Moi: *heavy seething*
IDjit: "Well? Anyone? How are we going to fix this"
Moi: "The administrative team will need to rename the file back to its original name"
IDjit: "can't the engineering team do this?!"
Moi: "We could, but it's corporate policy that we have no access to those environments"
IDjit: "Ok, what caused this issue in the first place? How did it get this way?!"
TFW you think you've hit the bottom of idiocy barrel, and the director says, "hold my mango lassi."27 -
Last day on the contract from hell. I'd written a project with one other person in our spare time that performed a critical business function. The following conversation was had between myself, the job thief who was handed my job and their manager, with the 10 other IBM GS "dev domain experts" assigned to that team sitting silently on zoom:
Moi: hey all, what seems to be the problem?
JT: how to update the java for requirement?
Moi: I would assume a text editor, have you tried intellij
JTM: she's talking about ticket BS-101, the data is wrong
Moi: ah, well, you might want to fix that
JT: how to fix?
Moi: update the database and update the logic that depends on it
JTM: what changes are those?
Moi: the ones described in the ticket, I would assume, I'm no longer on that project
JTM: didn't you write this application?
Moi: yes.
JTM: ok, so do you know how to fix the issue?
Moi: definitely
JTM: ok... ... Can you tell us how to fix it?
Moi: yes.
*The sound of silence*
JTM: *will* you tell us?
Moi: I would, but I'm already off the clock, and as of an hour ago I no longer have a contract. And even if I did, I don't have a contract or authorization to work on that system. I'm not actually being paid for this call.
JTM: ... What are we going to do about this?
Moi: I have no idea
JTM: ok, so we can look at getting a 1 month contract to support this
Moi: I'm sure our firm has someone who can definitely help you out
JTM: *heavy raging* ... Can you do the work?
Moi: Unfortunatley, I'm already committed to a new contract at another customer. I also don't do one month contracts. I'm an engineer, not a car wash employee
JTM: well, I don't understand how you can just leave us in the lurch like this?!
Moi: well, respectfully, it was your decision to cut me from the budget because you thought you were close enough to end of the project to get it across the line with junior resources.
Interjecting-JT: I am senior!
Moi: Right. So, basically, you took ownership of the product before go live. We advised against it, in writing, numerous times. We also notified you that we would not carry a bench, so the project resources are now working on other things. We can provide you with new resources for a minimum 6 month duration who can help you out. Also, since we've cycled out, our rate has increased per the terms of our MSA.
JTM: we don't have budget for that! How are we supposed to do this?!
Moi: *zoom glare at JT* that question is more appropriate for your finance officer and the IT director. I can send a few emails and schedule a call with your account representative and the aforementioned individuals so you can hash this out.
-_---------------
I'm free! 🥳 That said, still plenty of residual fodder I need to get out of my system on these guys. Might need to start my own Dilbert.12 -
So, I grew up on the US/Mexican border, in a city where saying there's no opportunity is like saying the Titanic suffered a small leak on its maiden voyage. There were two kinds of people in said town: Mexicans trying to find something less shit than juarez and white trash reveling in their own failure. I came from the latter, for whatever that's worth.
I graduated high school when I was almost 16 years old. Parents couldn't really afford to support three kids and pay the rent on the latest in a long line of shit holes we migrated in and out of. If being a serial eviction artist is a thing, my family were savants.
I applied to college and got accepted only to be told by my father that he didn't see the need. Turns out the only reason he'd helped me graduate early was so I could start working and help pay his bills. I said okay, turned around and tossed a bag and my shitty af spare parts computer into the back of the junkyard Vega I generously referred to as a car and moved cross country. Car died on arrival, so I was basically committed.
Pulled shifts at two part times and what kids today call a side hustle to pay for school, couch surfed most of the time. Sleep deprivation was the only constant.
Over the first 4 months I'd tried leveraging some certs and previous experience I'd obtained in high school to get employment, but wasn't having much luck in the bay area. And then I lost my job. The book store having burned down on the same weekend the owner was conveniently looking to buy property in Vegas.
Depression sets in, that wonderful soul crushing variety that comes with what little safety net you had evaporating.
At a certain point, I was basically living out of the campus computer lab, TA friend of mine nice enough to accidentally lock me in on the reg. Got really into online gaming as a means of dealing with my depression. One night, I dropped some code on a UO shard I'd been playing around on. Host was local, saw the code and offered me a job at his firm that paid chump change, but was three times what all my other work did combined and left time for school. Ground there for a few years until I got a position with work study at LBL that conflicted too much for it to remain mutually beneficial. Amicable parting of the ways.
Fucking poverty is what convinced me to code for a living. It's a solid guarantee of never going back to it. And to anyone who preaches the virtues of it and skipping opportunity on grounds of the moral high ground, well, you know.12 -
I guess I can do one of these a day or so. I've collected some novelties over the years.
First up is a Curta mechanical calculator. Before electronic calculators became a thing, these were the best portable calculators in the world. Notably, they were the calculator of choice in rally car sports.
They work by a series of helical gears that act as registers. A series of internal gears and value assignment switches apply an adjustable number of incrementations to those gears, multiplying gears and the tracking gears, once per "grind." The result is output as a number on top of the device. The "clear register" function is lifting the top ring, which releases the reverse lockout on the gears and a clockwise turn on the ring then resets them to their zero state.
They were designed by Curtz Herzstark, partly before WWII and partly while he was imprisoned in a Nazi concentration camp. He had filed a patent for it in 1938, shortly before his family's manufacturey became a weapons factory. During his imprisonment, in addition to nearly starving to death, he completed his plans for manufacturing of his calculator.
It had fun names like the, "pepper grinder," and "math grenade."15 -
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 -
- you don't like math
- you don't like study
- you don't read documentation
- you throw out the manual
- you like to punch a clock
- you dislike books and reading
- you don't ever work more than 8 hours
- you can't tolerate the occasional weekend work day
- you fold under pressure
- you aren't good at crunch time
- you can't do on-call without committing seppuku
- you don't have attention to detail
- you aren't interested in technology
- you're not good at explaining things
- you can't deal with change
- you're not excited by the prospect of extreme variety
- you don't have the ability to focus
- you can't deal with ego without resorting to violence
- you can't deal with someone calling your baby ugly
- you can't discriminate between fact and opinion
And many, many more23 -
FML. An overreaching supergenius "architect" and a database team:
A: "We have decided that apps should use mysql. Install a MySQL so we match cloud"
DBA: "we don't have an image or experience with MySQL. We have mssql and Oracle "
A: "ok, use mssql in data center and mysql in production cloud"
DBA: "that's... not going to work well"
A: "just do it!"
...
Me, reading this shit, sends email: "ignoring the fact that we have more than 500 queries in this application which will need to be checked and most likely rewritten, how are we supposed to test the mysql queries without production access?"
A: "just use mssql local and MySQL in cloud"
M: "... Just to make sure I understand, you want us to write queries for mssql, test them locally, and then write separate queries, with a separate SQL connection abstraction that deploys to production? Again, how are we going to test this?"
A: "no, use same queries, should be fine"
M: "they really won't, they're different dialects"
A: "do the needful, make work!"
If karma were a thing, this person would have long since exploded into a cloud of atomized blood.18 -
It's maddening how few people working with the internet don't know anything about the protocols that make it work. Web work, especially, I spend far too much time explaining how status codes, methods, content-types etc work, how they're used and basic fundamental shit about how to do the job of someone building internet applications and consumable services.
The following has played out at more than one company:
App: "Hey api, I need some data"
API: "200 (plain text response message, content-type application/json, 'internal server error')"
App: *blows the fuck up
*msg service team*
Me: "Getting a 200 with a plaintext response containing an internal server exception"
Team: "Yeah, what's the problem?"
Me: "...200 means success, the message suggests 500. Either way, it should be one of the error codes. We use the status code to determine how the application processes the request. What do the logs say?"
Team: "Log says that the user wasn't signed in. Can you not read the response message and make a decision?"
Me: "That status for that is 401. And no, that would require us to know every message you have verbatim, in this case, it doesn't even deserialize and causes an exception because it's not actually json."
Team: "Why 401?"
Me: "It's the code for unauthorized. It tells us to redirect the user to the sign in experience"
Team: "We can't authorize until the user signs in"
Me: *angermatopoeia* "Just, trust me. If a user isn't logged in, return 401, if they don't have permissions you send 403"
Team: *googles SO* "Internet says we can use 500"
Me: "That's server error, it says something blew up with an unhandled exception on your end. You've already established it was an auth issue in the logs."
Team: "But there's an error, why doesn't that work?"
Me: "It's generic. It's like me messaging you and saying, "your service is broken". It doesn't give us any insight into what went wrong or *how* we should attempt to troubleshoot the error or where it occurred. You already know what's wrong, so just tell me with the status code."
Team: "But it's ok, right, 500? It's an error?"
Me: "It puts all the troubleshooting responsibility on your consumer to investigate the error at every level. A precise error code could potentially prevent us from bothering you at all."
Team: "How so?"
Me: "Send 401, we know that it's a login issue, 403, something is wrong with the request, 404 we're hitting an endpoint that doesn't exist, 503 we know that the service can't be reached for some reason, 504 means the service exists, but timed out at the gateway or service. In the worst case we're able to triage who needs to be involved to solve the issue, make sense?"
Team: "Oh, sounds cool, so how do we do that?"
Me: "That's down to your technology, your team will need to implement it. Most frameworks handle it out of the box for many cases."
Team: "Ah, ok. We'll send a 500, that sound easiest"
Me: *..l.. -__- ..l..* "Ok, let's get into the other 5 problems with this situation..."
Moral of the story: If this is you: learn the protocol you're utilizing, provide metadata, and stop treating your customers like shit.22 -
The following meeting occurred at a client between a recently added client PM and our team, we'll call her Shrilldesi, previously from one of the main consulting vendors.
*Meeting begins after 15 minutes of bullshitting, waiting for people to file in*
Shrilldesi: "Ok everyone, let's get started
TeamMember: "We're still waiting for Z and W, not sure why they're late."
SD: "We can start there. It was decided had to lay off Z and W, because we didn't have enough work."
Moi: "Wait, what. Who made that decision? Why weren't we consulted on this? We have another project starting next week that they were needed for. They just delivered the entire public facing rewrite, why would we let them go?!"
SD: "It was decided by myself, pajeet, and venkata looking at the backlog. Not enough work, week gap."
Moi: "This is going to hurt our ability to deliver the next phase. When are we going to start interviewing new people, the project begins next week?"
SD: "We will interview new resources as needed."
Moi: "Who is we? And 'as needed' is yesterday, or realistically several weeks ago as the. project. starts. next. week. Also, we're obligated by federal law to bring back anyone we lay off before we hire anyone else for the same position."
SD: "Interviews will be done by myself, Mohd, and Pajeet."
Moi: "...can I point out that there's only one modestly technical person in that group, they're an admin, and none of them are from this team? How do you conduct an engineering interview without any engineers?"
SD: "That does not matter, I have watched enough to be able to ask your questions."
Moi: *anger intensifies* "I have to respectfully disagree. I don't feel it's appropriate to cut us out of the process of interviewing our own team members."
SD: "It is decided, we will take care of it, let us move on. Next, we need to find work for the Manasa, she doesn't have anything to do."
Moi: *sharpens baseball bat* "...shouldn't we just fire her then?"
SD: "Oh that is so mean, why would we fire her? We were thinking she might be able to do some of my project management work."
Moi: *sharpening intensifies* "You do realize it's a violation of H1-B statutes for someone to be employed in work other than what is stated on their contract, and Project Managers are specifically listed as not specialized skillsets per federal law."
SD: *ignores question* "We also need to find work for the offshore team, they don't have enough to do. Please find them work for the next period."
Moi: *checks how long the wait period is for ar-15s*
SD: "We also have a new person rolling onto our team, he comes from the xyz team, Dikshit *gestures to person we all figured was lost*. He will be handling our front end development."
Moi: *seething hatred* "WE JUST LET TWO EXCELLENT FRONT END DEVELOPERS GO. WE DO NOT NEED DIKSHIT."
SD: "Please calm down. We will be replacing the other two shortly, there is no problem."
Moi: "Have you heard nothing I've said? Did you even run this by legal and HR? Why did we let them go in the first place? Why do we even need Dikshit?!"
SD: "I said it before, please listen. There is not enough work for them. Dikshit will do front end. What is unclear?"
Note: There's not really any dramatization here. It's almost verbatim what happened. Eventually, the next project was cancelled, they incrementally rolled the rest of the local team off. They then had the cojones to express aghast anger when I notified them I would not be renewing my contract, and open hatred when I explained to them I was not a slave, and I refused to be a bag holder for the inevitable failure of a project without any chance of success. I don't really care what happened after that, they can all burn in their own little nepotistic shitshow of perpetual failure.4 -
I currently have the best problem ever:
Our client applications and APIs are so fast, users are complaining they don't notice that the UI changed in between the time they clicked a button and their eye drifts to the adjacent component. So now we're having to build visual cues to account for that.
#KillingIt9 -
Story time! Promised this, so making good on the promise. Eh-hem.
Misunderstandings [A slice of life short play that actually happened]
Dramatis Personae (anonymized, bc of course):
Moi ........ me, myself and possibly some lint
Robert ..... co-architect
Daisy ...... line dev
Lisa ....... also line dev
Prologue: the beginninning
[A project is starting up, new devs are coming on, including the two individuals who drive this story.
Daisy, of Indian origin, an exceptional dev and lovely person. Mother, wife, very conservative by upbringing in her early 40s.
Lisa, also exceptional dev, lovely person. Mother, also wife, self-made immigrant with liberal views derived from personal pride and self-bootstrapping]
Enter the office, We introduce everyone, off to a nice start, everyone is happy and excited to be working on [large bank project].
Lisa and Daisy form a friendship of commonality, they have similar backgrounds by all appearances and similar concerns due to children the same age and shared employment. They seem to become fast friends and things proceed normally for some months. Smooth sailing, all is well.
The fuse is lit.
Scene: Lunchtime gossip
[Robert, middle 40s architect adjacent Moi, also architect, age is my own damn business [old, so very old].]
Robert: "So, it seems like Daisy and Lisa are getting along great."
Moi: *snerfs a little, almost chokes on enchilada* Yes, yes they are, It's nice to see...
Robert: *eyebrow, having learned to read my expressions* "Aaaaaaand..."
Moi: "I adore both of them, but they are primarily friends because they don't actually understand most of what the other says"
[Lisa has a thick Taiwanese accent, Daisy has a standard northern indian accent. Never the two shall meet]
Robert: "Are you sure, they seem to have a lot of conversations?"
Moi: "Positive, you weren't at lunch with the three of us. They're polar opposite in terms of values, it'll be fine so long as that never comes up"
Robert: "I'm not even digging into that"
Moi: *flan*
Sizzle.
Scene: This is bat country
[More months pass, everything is fine, project is humming along nicely, save a few blips of personality conflicts. Moi takes a vacation. A gas station, somewhere in the middle of Wyoming, a snowstorm, a sports car full of luggage]
*phone rings*
Moi: *looks down, sees it's Robert, eyebrow raises, answer* What's on fire?
Robert: "We had to let Lisa go"
Moi: "Ah, they finally understood each other."
Robert: "Yes..." *deep sigh*
[Fade to flashback]
Bang.
Scene: The office, Lisa's desk
[Daisy and Lisa are discussing non-descript conversation. Daisy broaches the subject of Lisa's past divorce and being a single mother]
Daisy: "It must have been hard, how did you manage?"
Lisa: "I had my daughter, she was my motivation. We made it here, I met my current partner"
Daisy: "That's good! It is so hard, coming to something new. I could never imagine leaving my husband."
Lisa: "He left us, we weren't important, I don't want to marry every again"
Daisy: "Surely you do though? Marriage is great for a woman, my parents found a great husband for me."
Lisa: "Haha, lucky you. Most indian marriage is like prostitution."
[At this moment, Daisy's demeanor takes a nose dive. Whatever was actually said, what she heard was, "Indian marriage is prostitution"]
Daisy: *tears begin pouring down her face, she flings herself back in her chair, head shaking violently she screams* "I AM AN HONORABLE WOMAN!"
[Daisy runs out of the room, straight to HR. Lisa sits there, stunned, not really understanding what just happened or the consequences]
Scene: Back in bat country
[Robert finishes the story, the emotions are a mixture of hilarity at the absurdity of the situation and frustration in the work void it has created]
Moi: "Satan, well. Fuck me. Fuck us. Fuck. Is Daisy alright, is she at least staying? We can't lose two devs at the same time."
Robert: "She got a few days off, she seems fine now, but she's... yeah, I never laughed so hard"
Moi: *double facepalm* "Yeah, the word choice was a bit outrageous. It's not like we didn't know it was coming. I'm going to get back on the road."
Robert: "Alright, enjoy yourself, I'll try and prevent any other forest fires."19 -
Had an interesting time these past few days. Had a customer who, when I left for vacay, was complaining that he couldn't get access to our private package registry. Get back, this issue is still active.
We'd granted access to his github enterprise, and for some reason he wasn't getting the activation email. We spent about 22 hours of customer support time on his failing to help himself before he finally escalated to the standard 40 person IT enterprise tantrum/come to jesus meeting.
Long story short, he had somehow ignored repeated attempts (35 email replies to the ticket chain, 4 phone calls) to get him to check his spam folder. In which, as it was revealed to all the hollywood squares in attendance, there were no less than 35 activation emails from github granting him access. Of course, none of this was his fault. And while screensharing his big brain to god and everyone he decides the problem is now actually Microsoft because their office 365 spam email filtered his emails incorrectly. We of course agreed with his big brain, smoothed over his bruised ego and went about our day.
I mean, fair enough, it's kind of dumb that Microsoft ever spam lists github, but still. I was just a fly on the wall, and he burned all his paid support tickets on the issue, so hopefully we won't be dealing with him again this year.
Also, this is an edge case with our new product line, most of our customers are painless.4 -
So, some time ago, I was working for a complete puckered anus of a cosmetics company on their ecommerce product. Won't name names, but they're shitty and known for MLM. If you're clever, go you ;)
Anyways, over the course of years they brought in a competent firm to implement their service layer. I'd even worked with them in the past and it was designed to handle a frankly ridiculous-scale load. After they got the 1.0 released, the manager was replaced with some absolutely talentless, chauvinist cuntrag from a phone company that is well known for having 99% indian devs and not being able to heard now. He of course brought in his number two, worked on making life miserable and running everyone on the team off; inside of a year the entire team was ex-said-phone-company.
Watching the decay of this product was a sheer joy. They cratered the database numerous times during peak-load periods, caused $20M in redis-cluster cost overrun, ended up submitting hundreds of erroneous and duplicate orders, and mailed almost $40K worth of product to a random guy in outer mongolia who is , we can only hope, now enjoying his new life as an instagram influencer. They even terminally broke the automatic metadata, and hired THIRTY PEOPLE to sit there and do nothing but edit swagger. And it was still both wrong and unusable.
Over the course of two years, I ended up rewriting large portions of their infra surrounding the centralized service cancer to do things like, "implement security," as well as cut memory usage and runtimes down by quite literally 100x in the worst cases.
It was during this time I discovered a rather critical flaw. This is the story of what, how and how can you fucking even be that stupid. The issue relates to users and their reports and their ability to order.
I first found this issue looking at some erroneous data for a low value order and went, "There's no fucking way, they're fucking stupid, but this is borderline criminal." It was easy to miss, but someone in a top down reporting chain had submitted an order for someone else in a different org. Shouldn't be possible, but here was that order staring me in the face.
So I set to work seeing if we'd pwned ourselves as an org. I spend a few hours poring over logs from the log service and dynatrace trying to recreate what happened. I first tested to see if I could get a user, not something that was usually done because auth identity was pervasive. I discover the users are INCREMENTAL int values they used for ids in the database when requesting from the API, so naturally I have a full list of users and their title and relative position, as well as reports and descendants in about 10 minutes.
I try the happy path of setting values for random, known payment methods and org structures similar to the impossible order, and submitting as a normal user, no dice. Several more tries and I'm confident this isn't the vector.
Exhausting that option, I look at the protocol for a type of order in the system that allowed higher level people to impersonate people below them and use their own payment info for descendant report orders. I see that all of the data for this transaction is stored in a cookie. Few tests later, I discover the UI has no forgery checks, hashing, etc, and just fucking trusts whatever is present in that cookie.
An hour of tweaking later, I'm impersonating a director as a bottom rung employee. Score. So I fill a cart with a bunch of test items and proceed to checkout. There, in all its glory are the director's payment options. I select one and am presented with:
"please reenter card number to validate."
Bupkiss. Dead end.
OR SO YOU WOULD THINK.
One unimportant detail I noticed during my log investigations that the shit slinging GUI monkeys who butchered the system didn't was, on a failed attempt to submit payment in the DB, the logs were filled with messages like:
"Failed to submit order for [userid] with credit card id [id], number [FULL CREDIT CARD NUMBER]"
One submit click later and the user's credit card number drops into lnav like a gatcha prize. I dutifully rerun the checkout and got an email send notification in the logs for successful transfer to fulfillment. Order placed. Some continued experimentation later and the truth is evident:
With an authenticated user or any privilege, you could place any order, as anyone, using anyon's payment methods and have it sent anywhere.
So naturally, I pack the crucifixion-worthy body of evidence up and walk it into the IT director's office. I show him the defect, and he turns sheet fucking white. He knows there's no recovering from it, and there's no way his shitstick service team can handle fixing it. Somewhere in his tiny little grinchly manager's heart he knew they'd caused it, and he was to blame for being a shit captain to the SS Failboat. He replies quietly, "You will never speak of this to anyone, fix this discretely." Straight up hitler's bunker meme rage.13 -
!dev
Dear Airbnb Hosts,
The extra cleaning fee isn't just extra profit for you. I will gladly pick up after myself, before I leave. That said, if you expect me to deep clean your flat, consider leaving equipment to do so. If you send me a shitty email because I didn't buy a broom, mop, bucket and kitchen rags to stock your investment property, I'll tell you about where you can stick that noise.
Sincerely,
Fuck you7 -
I am about to fire this client.
I can't take any more of this abject fucking stupidity.
I can't take any more sentence fragment responses to detailed questions and thorough responses.
I can't take any more expectations that I deliver consistent metadata and hundreds of pages of documentation, yet no one else has to do the same
I can't take any more rules only applying to/hamstringing me and my team
I can't take any more fucking gross incompetence and grossly undereducated shitfucks that get to send ridiculous bills and have 0 accountability while playing developer
I can't take any more obviously nepotistic and racist hiring that walks back every step of progress we've made in the last 50 years
I can't take not being able to call a spade a spade and being the villain when there's obvious graft occuring at every level
I can't take these old fucks padding their retirements while rendering everyone else contractors and cutting off opportunity for future generations
I can't take how absurdly, blisteringly stupid the business people are, or the fact that one average project managers with a recent PMI cert somehow bills what I do
I'm 100% going to drop dime on these fucks to every regulatory body they are beholden to, their investors, their corporate owners and USCIS, since I've already doxxed the shit out of all of my coworkers that don't remotely qualify for the positions they occupy.5 -
Local coffee shop/tech book store says what we're all thinking.
This is pretty on brand. They're my favorite local book store. If you're ever in town, definitely visit.
https://www.adasbooks.com/9 -
TFW your client's git policies are so draconian that the dev teams use "develop" as trunk, and completely ignore the release process.
I wrote up 50 pages of git standards, documentation and procedure for a client. Bad indian director 9000 decides the admin (also Indian) who specializes in Clearcase and has no git or development experience is more qualified to decide and let's him set the policy.
FF to today:
- documentation, mostly contradictory, is copy pasted from the atlassian wiki
- source tree is the standard
- no force pushing of any branches, including work branches
- no ff-merge
- no rebasing allowed
- no ssh, because he couldn't figure it out...errr it's "insecure"
- all repos have random abbreviated names that are unintelligible
- gitflow, but with pull requests and no trust
- only project managers can delete a branch
- long lived feature branches
- only projects managers can conduct code reviews
- hotfixes must be based off develop
- hotfixes must go in the normal release cycle
- releases involve creating a ticket to have an admin create a release branch from your branch, creating a second ticket to stage the PR, a third ticket to review the PR (because only admins can approve release PRs), and a fourth ticket to merge it in
- rollbacks require director signoff
- at the end of each project the repo must be handed to the admin on a burned CD for "archiving"
And so no one actually uses the official release process, and just does releases out of dev. If you're wondering if IBM sucks, the answer is more than you can possibly imagine.11 -
Between plague and smoke, spending way too much time indoors. Localised co2 got pretty high in the office my husband and I share and opening the windows is dicey during giant spider season even before the wildfires.
So as a result, I'm starting a little indoor garden in each room. The succulent are going to be hydro, and the prayer and snake plant will get soil so I have some place to dump my coffee grinds other than the rose garden. In the next month or so we also want to set up some living moss panels to help control the nitrogen balance.
And of course, obligatory rpi sensor suite and irrigation is inbound as well. That'll be a shared project. 😸48 -
November brings .Net 5, for anyone who cares about that, and after listening to my husband watch Ignite "reveal" advertising container, and all the enterprise virtue signaling therein, I am now to the point where the only thing I can think is "Fuck you Microsoft, and Fuck .Net 5."
During a 30 minute speech, the director of the dotnet platform commits the following flagrant faux pas:
1. Introduces tons of visual studio easy buttons for shit we already do, no mention of VS code support.
2. Shows tools that anyone other than the most insular enterprise mouth-breather have been using for no less than 6 years
3. Gives absolutely no credit to the Open Source community projects backing the features he's showing
4. Shows nothing but mono-cloud integration, makes no mention of any other cloud targets for new features
5. Acts like "deploy your app the cloud from IDE" is something anyone should be doing in 2020
6. Showed an API repl that is pathetic compared to httpie when it was in alpha
7. Showed blazor loading from cache and said "Look at how instantaneous it is" (if you ignore the 5mb of cached payload it took to run the hello world demo)
8. Shows Project Tye, presenting it as a new groundbreaking xyz, fails to mention helm already exists
What's absent is what is most offensive:
- acknowledgment of community contribution
- no linux/mac tools, entirely windows-centric (which jives with my prediction of second-class citizenship for the people who contributed to .net core the most)
- cross-cloud capabilities
- bash/zsh (again with the untermensch relegation)
Fucking microsoft back to their old bullshit.24 -
Dear Recruiters,
If you start your communique by saying anything in the vein of, "we have an immediate need for," I will not be replying to your email, linkedin ping, friend request on Instagram or semaphore frantically waved from the tallest hill in view. You are trying to sell something to me, I am not desperately longing to do something for you. If you don't work for me, you have no capacity to represent my interest.
Regards,
The Talent
----------------
Tldr; developers cede the power in the relationship to recruiters and other middlepersons at their own peril.8 -
I don't always listen to music while coding, but when I do, it's because things are absolutely unmitigably fucked and it's going to take some herculean effort to unfuck it.
I have this thing I've done for more years than my kids have been alive when shit really hits the fan and I need to show the staff the old lady can still lay waste.
Step 1: put on "the playlist," which consists of only the most aggressive 90s marilyn manson songs.*
Step 2: put on the headphones, which are noise cancelling and super bassy
Step 3: pound a monster (blue, obv)
Step 4: get super manic
Step 5: get in the zone and destroy several features or a flotilla of bugs in a single night
Step N: make absolute fucking magic
Step N+1: call in sick the next day and sleep til noon
What's your hero process?
*Content has less to do with it than the headspace I've come to associate with it and the fact I can't get drowsy with the constant aggression.rant excessive force is probably the answer violence when all else fails rage burnout fuel top of the mountain ballmer peak13 -
The solution for this one isn't nearly as amusing as the journey.
I was working for one of the largest retailers in NA as an architect. Said retailer had over a thousand big box stores, IT maintenance budget of $200M/year. The kind of place that just reeks of waste and mismanagement at every level.
They had installed a system to distribute training and instructional videos to every store, as well as recorded daily broadcasts to all store employees as a way of reducing management time spend with employees in the morning. This system had cost a cool 400M USD, not including labor and upgrades for round 1. Round 2 was another 100M to add a storage buffer to each store because they'd failed to account for the fact that their internet connections at the store and the outbound pipe from the DC wasn't capable of running the public facing e-commerce and streaming all the video data to every store in realtime. Typical massive enterprise clusterfuck.
Then security gets involved. Each device at stores had a different address on a private megawan. The stores didn't generally phone home, home phoned them as an access control measure; stores calling the DC was verboten. This presented an obvious problem for the video system because it needed to pull updates.
The brilliant Infosys resources had a bright idea to solve this problem:
- Treat each device IP as an access key for that device (avg 15 per store per store).
- Verify the request ip, then issue a redirect with ANOTHER ip unique to that device that the firewall would ingress only to the video subnet
- Do it all with the F5
A few months later, the networking team comes back and announces that after months of work and 10s of people years they can't implement the solution because iRules have a size limit and they would need more than 60,000 lines or 15,000 rules to implement it. Sad trombones all around.
Then, a wild DBA appears, steps up to the plate and says he can solve the problem with the power of ORACLE! Few months later he comes back with some absolutely batshit solution that stored the individual octets of an IPV4, multiple nested queries to the same table to emulate subnet masking through some temp table spanning voodoo. Time to complete: 2-4 minutes per request. He too eventually gives up the fight, sort of, in that backhanded way DBAs tend to do everything. I wish I would have paid more attention to that abortion because the rationale and its mechanics were just staggeringly rube goldberg and should have been documented for posterity.
So I catch wind of this sitting in a CAB meeting. I hear them talking about how there's "no way to solve this problem, it's too complex, we're going to need a lot more databases to handle this." I tune in and gather all it really needs to do, since the ingress firewall is handling the origin IP checks, is convert the request IP to video ingress IP, 302 and call it a day.
While they're all grandstanding and pontificating, I fire up visual studio and:
- write a method that encodes the incoming request IP into a single uint32
- write an http module that keeps an in-memory dictionary of uint32,string for the request, response, converts the request ip and 302s the call with blackhole support
- convert all the mappings in the spreadsheet attached to the meetings into a csv, dump to disk
- write a wpf application to allow for easily managing the IP database in the short term
- deploy the solution one of our stage boxes
- add a TODO to eventually move this to a database
All this took about 5 minutes. I interrupt their conversation to ask them to retarget their test to the port I exposed on the stage box. Then watch them stare in stunned silence as the crow grows cold.
According to a friend who still works there, that code is still running in production on a single node to this day. And still running on the same static file database.
#TheValueOfEngineers2 -
Slowly working it up now, actually.
An annually updated, unbiased, multiple source application that engineers can use to check salary offers vs their skills, to make sure they don't get shortchanged. Intended to work for the entire planet (that we have data for).18 -
Java:
Primitive streams. Their need to exist is a monument to legacy failure.
VB.net
OrElse and AndAlso short-circuiting operators. The language designers were too fucking lazy to process logic, so they give specific keywords for those cases.
PHP
Random Hebrew error messages
JS
Eval. It can be used responsibly, but most of the times you see it it's because someone fucked up.
C#
Lack of Tuple destructuring in argument specification. Tuples were added, and pattern matching was added, and it's been getting better. The gear grinding starts with how Tuple identity assignment in arguments is handled. Rather than destructuring into the current scope, it coalesces the identity specification into a dot property of whatever the argument name is. This seems like an afterthought given they have ootb support for ignore characters.
Typescript
This will probably be remedied in the next version or two, but Tuple identity forwarding between anonymous scopes normalizes to arrays of union types, because tuples compile to typeless arrays. It's irritating because you end up having to restate the type metadata in functional series even when there is no possibility for any other code branch to have occurred.12 -
@NickyBones I hope you get that PHD
@F1973 I hope you get that good position in a good company you deserve
@theabbie I hope you wake up one day and realize you’re a well-respected expert in your field
@Root I hope you... ah, already bought it
@lor-inc I hope that thing was just fatigue and not a mental illness
@SortOfTested? As one guy once said “@SortOfTested got everything figured out”.14 -
They finally got him. Couldn't get him on drug charges, couldn't get him on murder, so they fall back on old faithful: tax evasion
https://theverge.com/2020/10/...
Side note: It's hard to find a picture of johnny boy without guns or nsfw material.24 -
Was a co-lead on the first project to add image recognition to ATMs for depositing checks. Turns out, it was a pretty OK idea and people liked it.3
-
Goddamn SortOfTested be joking about me needing seroquel and here we go, my psychiatrist prescribed me seroquel today.28
-
DevDucks. By the plumage you can tell they're arch master race. Seen today while out in the daylight.11
-
In case anyone missed it, you probably shouldn't be using tiktok. That said, anyone surprised by this behavior is likely generally unaware of how monetization works on social media so carry on.
https://boredpanda.com/tik-tok-reve...9 -
!dev
So, the house next door to me is being renovated into half a dozen apartments. This process has been ongoing for like 4 years of here-and-there houseflipper failboating, and if I had to guess, 3 owners worth of this fuckery.
The latest shitheel trying to polish this turd into something saleable has had it sit partially covered with plastic for months, mostly getting rained on. One crew came by last week and put half the thermal shielding up before something happened and they left. Then half of it fell off the house, into my yard. Nice person that I am I gathered it all up and left it in the various excavated pools of water on their property in which I can only imagine they are busily raising farm to table mosquitoes for the local market.
FF to today and I see a crew pull up to the house and start nailing plywood to the side of the house with no thermal pad underneath it. Which is a legit code violation and a mold hazard, but yolo amirite? I chat up some of the guys and find out that they were scheduled to install the plywood today (apparently he'd run out of money for the nice modular siding they used on the back half) and the owner didn't give a shit if the rest of the work was done. Meanwhile shit is still falling off the house onto my house, but also wgaf. 🚬
Tl;Dr the people trying to flip the house next to mine were obviously IT managers in a previous life.6 -
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 -
!dev, sort of
Days like today make me not ready for Monday. Goddamnit nature, why you gotta be so pristine?12 -
So this post is going to target an irritating aspect of a specific culture based on observational evidence over the last 20 years, and has reared its hideous face yet again. If you're triggered by that, stop reading here.
I'm flatly fed up with two-faced onshore Desi coworkers. They make up 95% of my colleagues and the following sequence of events has played out repeatedly over the course of my career, consistently, though it's slightly more pronounced in other women for whatever reason :
1. Work with them for years, good relationship, teach them all sorts of skills (which I will do freely for anyone, for any reasons as I view it to be a moral imperative), general lifting up and solid teamwork.
2. They move up in the hierarchy, generally to management, usually project
3. The second they view themselves as higher in the pecking order they start treating me like shit as if we have no history. Rude, commanding, unwilling to share details, obligatory exasperated thank yous if any at all, not interested in anything I have to say even if I'm the noted expert on the subject.
I understand a lot of their etiquette culture, specifically the level of "directness" or politeness they employ is based on the estimated risk of loss in the interaction. I find that disgusting, but I understand that academically. I just can't get my mind around how universal this shiftiness is, as it happens over and over again. It's like human decency and respect go out the window the second they don't feel like they have anything to gain from you. In *my* culture that is the lowest form of behavior a human can exhibit, and it causes me to rage because I can't imagine being so utterly devoid of altruism.
Fuck. It's just so sickening. It's fucking debased, and selfish and greedy and fuck. I can't even, this is one of those things that so irrational my mind can't accept it and I just go around and around on it.
Tl;dr you want to get throat punched? Because that's how you get throat punched. It's definitely getting this person doxxed to USCIS12 -
Fuck brand builders, or, how I learned to start giving a shit and love devrant.
Brand builders are people who generally have very little experience and are attempting to obfuscate their dearth of ability behind a wall of non-academic content generation. Subscribe, like, build a following and everyone will happily overlook the fact that your primary contribution to society is spreading facile content that further obfuscates the need for fundamentals. Their carefully crafted presence is designed promote themselves and their success while chipping away at the apparent value of professional ability. At one point, I thought medium would be the bottom of the barrel; a glorified blog that provides people with scant knowledge, little experience and routinely low integrity a platform to build an echo chamber of replayed or copied content, techno-mysticism and best-practice-superstition they mistake for a brand in an environment where there's little chance of peer review. I thought it couldn't get any worse.
Then I found dev.to
Dev.to is what happens when all the absence of ability and skills insecurity on the internet gets together to form a censorship mob to ensure that no criticism, reality or peer review will ever filter into the ramblings of people intent on forever remaining at the peak of the dunning-kreuger curve. It's the long tail of YMCA trophy culture.
Take for example this article:
https://dev.to/davidepacilio/...
It's a shit post listicle by someone claiming to be "senior," who confidently states that "you are only as good as the tools you use." Meanwhile all the great minds of history are giving him the side-eye because they understand tools are just a magnifier of ability. If you're an amazing carpenter, power tools will help you produce at an exponential rate. If you're a shitty carpenter, your work will still be shit, there will just be more of it. The actual phrase that's being butchered here is "you're only as good as the tools you create." There's no moral superiority to be had in being dependent on a tool, that's just a crutch. A true expert or professional is someone who can create tools to aid in their craft. Being a professional is having a thorough enough understanding of the thing you are doing so as to be able to craft force multipliers that make your work easier, not just someone who uses them.
Ok, so what?
I'm sure he's a plenty fine human to grab drinks with, no ill will to him as a human. That said, were you to comment something to that effect on dev.to, you'd be reported by all the hangers-on pretty much immediately, regardless of how much complimentary padding and passive, welcoming language you wrap your message in. The problem with a bunch of weak people ganging up on the voice of reason and deciding they don't want things like constructive criticism, peer review, academic process or the scientific method is, after you remove all of that, you're just left with a formless sea of ideas and thoughts with no categorization, no order. You find a lot of opinions and nothing to challenge them and thereby are left with no mechanism for strong ideas to rise to the top. In that system, the "correct" ideas are by default those posited by the strongest personality.
We all need some degree of positive reinforcement. We also need to be smacked upside the head when we're totally off in the weeds. It's all about balance. The forums of ancient Greece weren't filled with people fervently agreeing with one another and shouting down new ideas en masse. We need discourse, not demagoguery.
Dev.to, medium, etc are all the fast fashion of the tech industry. Personally, I'd prefer something designed to last a little longer.30 -
"Lawsuit Alleges Facebook Favors H-1B Visa Workers and Other Temporary Visa Holders over U.S. Workers"
And no one was surprised. Not that this will make a dent in the labor arbitrage problem, but at least it's evidentiary confirmation it's happening. If it goes through it'll likely mean a slough of follow-on lawsuits for the thousands of companies doing the exact same thing, and a cottage industry to find new creative ways to continue being predatory assholes.
https://justice.gov/opa/pr/...18 -
I'm expecting probably no, but in the name of outdoorsy things not at all related to code, anyone else here enjoy electric bicycles?
Just grabbed this thing and it's absurdly fun, and helps me put some social distance between myself and other riders.28 -
Structure: decades of programming in too many languages to enumerate. I lean functional, but only when the language doesn't fight it. No matter what I'm doing, my code is immutable in practice, if not paradigm.
Syntax: No one thing in particular. I code differently depending on the language.
When I start learning a language, I'll find the standard style checker and create a project where I write an example of every single rule.
The end result is generally a quick intro to the language and a bonus understanding of the hot sports opinion in said language. I call this an ocean boiler.
I lean heavily into autoformatting because I've worked on too many projects to care, and I have a general expectation that something which is important enough to make a code standard is important enough to be enforced in tooling. I'd rather spend my time solving problems that thinking about stylistics.5 -
I progressively became more right over the course of 30 years. At the point where I was contextually right more often than not, I determined that to be "good." Then I kept getting better, just in case.9
-
Client declined to allow billing over the weekend, demanded I work 20 hours. Task will be mysteriously blocked or delayed for the next two days as a result.6
-
Conversation between my husband and myself.
H: I ordered a game for the switch last week. It was delayed by USPS, and it looks like I got a partial refund due to it being late.
Moi: That's your mail privilege at work.
H: Did you really just make a mail pun? *Snerk*
Moi: This is why we work. ♥️5 -
1. Hit everything you do. You will learn more faster. Don't accept things at face value, care about why things work.
2. Study and experiment constantly. Be aware of your surroundings and what is going on. If you're not ready with a solution when a power vacuum appears, you will always be a grunt. Or worse, eventually a manager who everyone hates because you constantly tell the people who report to you how "back in your day," your code was amazing, there were no bugs and your shit doesn't stink.
3. Be honest with yourself: If you just want to keep your nose to the grindstone and make manager so you don't have to code anymore:
Quit. Stop now. Do not pass go, do not become a cancer on the industry.
Go get a job as a PM, you'll have a better career and you won't be the weak link holding everyone else back.
Tl;dr When the shit goes down, you better be ready.1 -
One time, I was working with an org that got a new senior executive from Microsoft. He decided we needed to throw out our application's java stack and replace it with SharePoint. The code error was committing anything other than my immediate resignation.4
-
Parents were awesome. Super supportive, gave me every opportunity. They were open-minded loving people who eschewed personal vice and property to give us a start. They never once abused any of us, and in a family with three girls, we were encouraged to break the mould. We were shown that women could be more than just support to our spouses and baby factories, and more than part time labor in family enteprise.
Thusly my ascendance to a life as an engineer was assured and fully supported by these wonderful people whose folkright earnestness never once inhibited their progressive encouragement of our success as human beings, not just professionals.
And if you believe that, I have a bridge for sale in San Francisco you might be interested in.
I wrote on this topic before it was cool 😋
https://devrant.com/rants/2862837 -
So, to anyone defending IBM at this point, a member of a client's offshore team used their paystub as test data. Aaaaand I was horrified by what I saw.
Their pay is less than $2/hr ($3973/yr, 300k INR).
I can't even. Not only that someone would pay so little to a supposedly degreed professional (I question the validity of that claim based on performance, that's a story for another time), but that companies feel comfortable giving full production system access to people I would not blame for taking bribes.
Fuck.14 -
!dev
So, Boris Johnson just got moved to intensive care. Fucking poetic Justice if I've ever seen it.26 -
In the before time (late 90s) I worked for a company that worked for a company that worked for a company that provided software engineering services for NRC regulatory compliance. Fallout radius simulation, security access and checks, operational reporting, that sort of thing. Given that, I spent a lot of time around/at/in nuclear reactors.
One day, we're working on this system that uses RFID (before it was cool) and various physical sensors to do a few things, one of which is to determine if people exist at the intersection of hazardous particles, gasses, etc.
This also happens to be a system which, at that moment, is reporting hazardous conditions and people at the top of the outer containment shell. We know this is probably a red herring or faulty sensor because no one is present in the system vs the access logs and cameras, but we have to check anyways. A few building engineers climb the ladders up there and find that nothing is really visibly wrong and we have an all clear. They did not however know how to check the sensor.
Enter me, the only person from our firm on site that day. So in the next few minutes I am also in a monkey suit (bc protocol), climbing a 150 foot ladder that leads to another 150 foot ladder, all 110lbs of me + a 30lb diag "laptop" slung over my shoulder by a strap. At the top, I walk about a quarter of the way out, open the casing on the sensor module and find that someone had hooked up the line feed, but not the activity connection wire so it was sending a false signal. I open the diag laptop, plug it into the unit, write a simple firmware extension to intermediate the condition, flash, reload. I verify the error has cleared and an appropriate message was sent to the diagnostic system over the radio, run through an error test cycle, radio again, close it up. Once I returned to the ground, sweating my ass off, I also send a not at all passive aggressive email letting the boss know that the next shift will need to push the update to the other 600 air-gapped, unidirectional sensors around the facility.11 -
Fun day, lots of relief and catharsis!
Client I was wanting to fire has apparently decided that the long term support contract I knew was bullshit from go will instead be handled by IBM India and it's my job to train them in the "application." Having worked with this team (the majority of whom have been out of university for less than a year), I can say categorically that the best of them can barely manage to copy and paste jQuery examples from SO, so best of fucking luck.
I said, "great!," since I'd been planning on quitting anyways. I even handed them an SOW stating I would train them for 2 days on the application's design and structure, and included a rider they dutifully signed that stated, "design and structure will cover what is needed to maintain the application long term in terms of its basic routing, layout and any 'pages' that we have written for this application. The client acknowledges that 3rd party (non-[us]) documentation is available for the technologies used, but not written by [us], effective support of those platforms will devolve to their respective vendors on expiry of the current support contract."
Contract in hand, and client being too dumb to realize that their severing of the maintenance agreement voids their support contract, I can safely share what's not contractually covered:
- ReactiveX
- Stream based programming
- Angular 9
- Any of the APIs
- Dotnet core
- Purescript
- Kafka
- Spark
- Scala
- Redis
- K8s
- Postgres
- Mongo
- RabbitMQ
- Cassandra
- Cake
- pretty much anything not in a commit
I'm a little giddy just thinking about the massive world of hurt they've created for themselves. Couldn't have happened to nicer assholes.3 -
I know, I know, "OMG ppl are wrong the internet."
Even so, I don't think I'll ever fully get past the continuously lowering barrier to entry on sites like medium and free code camp, and at times even alligator.io. The information routinely ranges from wildly inaccurate to dangerously wrong with few checks and no peer review can't be good for the industry in the long run.
Starting to yearn for the old days when the biggest risk was skilled plagiarism.3 -
BLESS YOU
- @Root, for everything
- @SortOfTested, for “grass is greener / grass is alive” and everything, too
- @Floydimus, for being so nice to me
- @theabbie, for not cracking under pressure. I admire you and you’re an example to me
- Anonymous members I chatted with over Telegram, for valuable lessons and helping me cope
FUCK YOU
- girl who raped me
- ex who gaslighted me when I was weak
- sadistic psychiatrist who knowingly prescribed wrongful pills
- ex who abused me when I was on a devastating wrongful therapy
- boss guy who touched me without my consent
- each and every cop and military guy I’ve ever talked to, except WWII veterans
- whatever filled my life with nothing but guilt12 -
And if you don't know, now you know
"Microsoft will adopt Google Chrome's controversial Manifest V3 in Edge"
https://theregister.com/2020/10/...24 -
Just want to say that @SortOfTested is so underrated on this platform.
You can see her on each and every single post trying to help or share her knowledge.
Thumbs up.16 -
Having some thoughts as I sit here, trapped in the house by equal parts coronavirus and a layer of smoke drowning out the sun. The smoke is a bit of an annual thing; every year, some irresponsible jerk will go out and put their convenience and enjoyment over everyone else's quality of life.
It's a bit different this year since coronavirus has given people cabin fever. Those same people who lose their minds after weeks of isolation and suffering the indignity of wearing a mask headed out into the wilderness for recreation in record numbers.
The result is record wildfires.
Where I'm at, it's mostly coming from the eastern part of our state. The area is typified by being on the mountain range's dry side, more rural, less densely populated. Towns have burned, people lost their homes, millions of acres of land will likely burn before it's over. It happens every year; people pack up, head out into the wilderness, and cause devastation due to a simple lack of common sense or regard for the consequences of their actions.
On the west side, we see the fallout in the form of days without sunlight and abysmal air quality. We also see it in cost; we will unquestionably and without hesitation contribute to eastern recovery efforts. The western half of the state will cover almost all of the damage in both taxes and recovery aid. Our local ethos demands it.
The mountains form a kind of natural barrier, both cultural and environmental. The fact that few people cross the mountains by choice is symbolic of that divide. Those who enjoy greenery and lakes and thriving vibrant nature prefer the west, as we have them in abundance. People who have a strong appreciation for distance between themselves and other humans prefer the east, as it affords them cheaper land and few urban environments.
Here's to hoping people learn from this in 2021.17 -
Why focus is important.
Mr Miyagi:
"wax on"
"wax off"
Enterprise IT manager:
"wax on"
"have a meeting"
"wax dried during meeting"
"wash off"
"wax on"
"have another meeting"
"have a meeting bookending that meeting"
"wax baked on by sun"
"get out sander to remove dried wax"
"ruin paint"
"try to spot fix"
"have another meeting"
"paint is the wrong color, won't come off"
"throw it wax, start a new project"
"pay vendor to repaint car"1 -
While reviewing a PR from one of our newer FE devs, I ended up spending more time than I would like mulling over its composition. The work was acceptable for the most part; the code worked. The part that got me was the heavy usage of options objects.
When encountering the options object pattern (or anti-pattern, at times) in complex scenarios, I have to resist the urge to stop whatever I'm doing and convert it to the builder pattern/smack them in the head with a software design manual. As much as I would like to, code janitor is one of the least valuable activities I engage in daily, and consistently telling someone to go back to the drawing board for work that is functional, but not excellent is a great way to kill morale. Usually, I'll add a note on the PR, approve it, add a brown bag or two on that sort of thing, and make attendance mandatory for repeat slackers. Skills building and catharsis all rolled up in a tiny ball of investing in your people.
Builders make things so much cleaner; they inform users what actions are available in a context; they tend to be immutable, and when done well, provide an intuitive fluent interface for configuration that removes the guesswork. As a bonus, they're naturally compositional, so you can pass it around and accumulate data and only execute the heavy lifting bits when you need to. As a bonus, with typescript, the boilerplate is generally reduced as well, even without any code generation. And they're not just a dumping ground for whatever shit someone was too lazy to figure out how to integrate into the API neatly.
They're more work in js-land, sure; you can't annotate @builder like with Lombok, but they're generally not all that much work and friendlier to use.9 -
Finished porting clientX to Linux, including dev laptops and desktops. The best part was getting to personally enjoy the moment I got to delete all IIS/Windows integration logic from the .Net core services.
Commit message:
"Windows... where we're going we don't need Windows. #CLD-15"2 -
This day I have received the most glorious news in e-pistolary form. For some years, I was suffering in support of a client who was, well, insufferable. My presence there paralleled the divine comedy in both essence and fact.
I opened the missive, expecting another plea to bail them out of whatever clusterfuck they found themselves in. Instead, what I found was something truly magical.
"Hey Human,
I hope this finds you well. I'm not sure if you remember a few years back, we were trying to decide between IBM Cloud and AWS. Well, after years of battling FF*, we're finally moving ahead with AWS. He failed one too many times to deliver anything visibly. After you left, there was no one left he could use to steal credit, ideas, and work.
FF is still pushing to have them use IBM cloud as a "warm backup" in the event "AWS fails." We will see where that goes.
I figured you'd like to know; you were the void in the wilderness for a long time. I don't want to think about how much time we could have saved if we had just listened.
PeeEm**"
This event represents a personal victory, albeit belated, over a few peoples' absurd amount of privilege. Towards the end, I was vicious about my contestation to the insanity of adopting a desperate hedge attempt-as-cloud offering from a failing company. Some examples:
// cloud 'strategy meeting'
Moi: What cloud platform are we looking at using?
FF: We're looking at IBM cloud and AWS as a second.
Moi: Why is that? I understand you're obligated to rep your offering first, but that decision doesn't seem to have the customer's best interest at heart.
FF: IBM cloud is a market leader; AWS isn't as good.
Moi: I see. I mean, that's the tech equivalent of the company's fleet management considering monkeys on tricycles as a strong competitor to service trucks, but I get what you mean.
// steering meeting
Director: Who can we look to as an example? Who is currently using the IBM cloud?
Moi: No one; they account for a single-digit portion of the actual cloud market. Their long game to sell you a "Hybrid Cloud," which means put some front end payload in a CDN, and buy n-frame units of IBM z servers for the DC with IBM gateway appliances acting as connective tissue. So it's not the cloud at all, really.
Director: How does it compare in cost?
Moi: It's generally 40% more expensive than other clouds, and it only goes higher as you option their software.
Director: What about Watson? I hear Watson is good?
Moi: It's a brand name. Most of the "Watson" product is just a facade on top of FOSS products like Spark, Hadoop, Elasticsearch, etc.
Director: Those were words. They sounded good. FF say it's good tho so we'll believe him because we're from the same city.
Moi: *deletes Director from LinkedIn*
Moral of the story: Never trust a vendor that only recommends their products.
*FF = FatFuck - an embarrassingly rotund individual whose girth is roughly equivalent to his height. He shit his way into an IBM architect position in his mid-20s purely due to winning the visa lottery. He had fake hair glued to his head for his wedding to hide his male pattern baldness; his arrange-married wife undoubtedly cries herself to sleep after sex.
**PeeEm - the then project manager, now portfolio manager of some satellite projects. An overall decent human being, capable.9 -
Went in for a recruiter led hunt for architect-level positions. Got all the way through two companies, two offers. Then out of nowhere a third offer shows up, way more money, control. Choices were accept a higher offer, or do a final interview with a CTO and let them know there's a more competitive offer for a position I was pretty sure would have no actual authority given the attitude of the people I talked to.
I bailed on the recruiter and took the better gig. Felt a little bad, assuaged guilt with expensive booze, cars. -
Main language, do people have such a thing? Some quixotic shit about various languages I use:
C#: Microsoft
F#: never quite committing to 100% functional paradigms while still being one of the most enjoyable langs I use
Java: null handling via optional and maybes are ugly, but better than it was
C++: surprisingly functional in 2020
Haskell: no one else seems to ❤️ it, despite it being fucking beautiful
Kotlin: Ternary warfare, Czech sports opinions on how languages should work
Clojure: parenthetical scoping makes me far happier than it should
Typescript: makes ever more sense as it changes7 -
Another "Shit my Enterprise Architect Says" track drops today. Stay tuned.
Also fuck this meeting.5 -
I might break my "no beta-testing unless paid" rule for this. I am beyond ready for quic-ness.👍🏻
https://twitter.com/JustinKotalik/...7 -
Since we're limiting this to things on my desk I can't do any more deep cuts out of my calculator collection, but this one is still somewhat interesting.
The HP 32S was my friend throughout university, it replaced the 15c I used before which does not live on my desk. The notable thing about the 32s is the fact it's an RPN calculator. RPN calculators are the best way to have friends never ask to borrow your calculator. The exchange will start by them asking to use it, you saying sure, and them handing it back a few minutes later without saying a word.
There's two kinds of people in this world. People who go "wtf" in an interview when asked to create a calculator program using a stack, and people who were oddballs and for whatever reason used reverse polish notation devices.
For those not familiar, rather than entering values into the calculator in "10+10" fashion, you instead provide it a compositional set of values until an operation is provided (10,10,+) at which point it executes. The why is, this type of operation allows the calculator to more naturally process operations, and eliminates the need for parenthesis which makes the operations less error prone in practice and easier to track.
The 32s had a 4 year run before being replaced by the 32SII. In the same way using a Curta will give you a significant understanding of how radix computations and floating points work. Using an HP 32s (or any of its predecessors) will do the same for algebraic functions, because you had to program them yourself using a basic label address system that also had subroutine support.
Kids who grew up with graphing calculators don't know how good you had it 😋4 -
.net 1.1 had the best documentation ever written. Microsoft spent an enormous amount of money and a dedicated team of skilled engineers just to write them. It was kind of a great time to be a developer, even though the technology is much better now. The current reliance on community docs doesn't hold up as well.2
-
TFW when one of your side projects that you couldn't get approval for 1 additional resource magically creates work for 11 IBM GS assholes. Isn't application maintenance supposed to reduce headcount?
Fuck em.
🦄🔫 -
dev, ~boring
This is either a shower thought or a sober weed thought, not really sure which, but I've given some serious consideration to "team composition" and "working condition" as a facet of employment, particularly in regard to how they translate into hiring decisions and team composition.
I've put together a number of teams over the years, and in almost every case I've had to abide by an assemblage of pre-defined contexts that dictated the terms of the team working arrangement:
1. a team structure dictated to me
2. a working temporality scheme dictated to me
3. a geographic region in which I was allowed to hire
4. a headcount, position tuple I was required to abide by
I've come to regard these structures as weaknesses. It's a bit like the project management triangle in which you choose 1-2 from a list of inadequate options. Sometimes this is grounded in business reality, but more often than not it's because the people surrounding the decisions thrive on risk mitigation frameworks that become trickle down failure as they impose themselves on all aspects of the business regardless of compatibility.
At the moment, I'm in another startup that I have significantly more control over and again have found my partners discussing the imposition of structure and framework around how, where, why, who and what work people do before contact with any action. My mind is screaming at me to pull the cord, as much as I hate the expression. This stems from a single thought:
"Hierarchy and structure should arise from an understanding of a problem domain"
As engineers we develop processes based on logic; it's our job, it's what we do. Logic operates on data derived from from experiments, so in the absence of the real we perform thought experiments that attempt to reveal some fundamental fact we can use to make a determination.
In this instance we can ask ourselves the question, "what works?" The question can have a number contexts: people, effort required, time, pay, need, skills, regulation, schedule. These things in isolation all have a relative importance ( a weight ), and they can relatively expose limits of mutual exclusivity (pay > budget, skills < need, schedule < (people * time/effort)). The pre-imposed frameworks in that light are just generic attempts to abstract away those concerns based on pre-existing knowledge. There's a chance they're fine, and just generally misunderstood or misapplied; there's also a chance they're insufficient in the face of change.
Fictional entities like the "A Team," comprise a group of humans whose skills are mutually compatible, and achieve synergy by random chance. Since real life doesn't work on movie/comic book logic, it's easy to dismiss the seed of possibility there, that an organic structure can naturally evolve to function beyond its basic parts due to a natural compatibility that wasn't necessarily statistically quantifiable (par-entropic).
I'm definitely not proposing that, nor do I subscribe to the 10x ninja founders are ideal theory. Moreso, this line of reasoning leads me to the thought that team composition can be grown organically based on an acceptance of a few observed truths about shipping products:
1. demand is constant
2. skills can either be bought or developed
3. the requirement for skills grows linearly
4. hierarchy limits the potential for flexibility
5. a team's technically proficiency over time should lead to a non-linear relationship relationship between headcount and growth
Given that, I can devise a heuristic, organic framework for growing a team:
- Don't impose reporting structure before it has value (you don't have to flatten a hierarchy that doesn't exist)
- crush silos before they arise
- Identify needed skills based on objectives
- base salary projections on need, not available capital
- Hire to fill skills gap, be open to training since you have to pay for it either way
- Timelines should always account for skills gap and training efforts
- Assume churn will happen based on team dynamics
- Where someone is doesn't matter so long as it's legal. Time zones are only a problem if you make them one.
- Understand that the needs of a team are relative to a given project, so cookie cutter team composition and project management won't work in software
- Accept that failure is always a risk
- operate with the assumption that teams that are skilled, empowered and motivated are more likely to succeed.
- Culture fit is a per team thing, if the team hates each other they won't work well no matter how much time and money you throw at it
Last thing isn't derived from the train of thought, just things I feel are true:
- Training and headcount is an investment that grows linearly over time, but can have exponential value. Retain people, not services.
- "you build it, you run it" will result in happier customers, faster pivoting. Don't adopt an application maintenance strategy
/rant2 -
Today is haut garbage, too much stupid, too much management. Feeling nihilistic. Time to do something crazy
*updates linux-firmware6 -
Warning: BBQ religion discussion
I love living in Seattle, but one thing that really, truly bugs me is the absence of legit bbq. I love all bbq, Carolina, Memphis, Texas, Virginia, Tennessee, Georgie, doesn't matter. Even Kansas City and California if i have to.
There's places people swear by here, but they're mostly just meataterias with meat that is just OK. At least half of BBQ are the sides. Here, very little vinegar in sight, everything dry AF and underseasoned/oversalted. Dry potato salad that is mostly kraft mayo, coleslaw that's also mostly kraft mayo and menu items like "queso mac and cheese." You said cheese twice, I like cheese, but I don't trust you enough to order it. And greens? Don't even try.
Biggest thing though: if you don't serve fried okra, don't you dare call your shit Texas bbq 😠21 -
(long post is long)
This one is for the .net folks. After evaluating the technology top to bottom and even reimplementing several examples I commonly use for smoke testing new technology, I'm just going to call it:
Blazor is the next Silverlight.
It's just beyond the pale in terms of being architecturally flawed, and yet they're rushing it out as hard as possible to coincide with the .Net 5 rebranding silo extravaganza. We are officially entering round 3 of "sacrifice .Net on the altar of enterprise comfort." Get excited.
Since we've arrived here, I can only assume the Asp.net Ajax fiasco is far enough in the past that a new generation of devs doesn't recall its inherent catastrophic weaknesses. The architecture was this:
1. Create a component as a "WebUserControl"
2. Any time a bound DOM operation occurs from user interaction, send a payload back to the server
3. The server runs the code to process the event; it spits back more HTML
Some client-side js then dutifully updates the UI by unceremoniously stuffing the markup into an element's innerHTML property like so much sausage.
If you understand that, you've adequately understood how Blazor works. There's some optimization like signalR WebSockets for update streaming (the first and only time most blazor devs will ever use WebSockets, I even see developers claiming that they're "using SignalR, Idserver4, gRPC, etc." because the template seeds it for them. The hubris.), but that's the gist. The astute viewer will have noticed a few things here, including the disconnect between repaints, inability to blend update operations and transitions, and the potential for absolutely obliterative, connection-volatile, abusive transactional logic flying back and forth to the server. It's the bring out your dead approach to seeing how much of your IT budget is dedicated to paying for bandwidth and CPU time.
Blazor goes a step further in the server-side render scenario and sends every DOM event it binds to the server for processing. These include millisecond-scale events like scroll, which, at least according to GitHub issues, devs are quickly realizing requires debouncing, though they aren't quite sure how to accomplish that. Since this immediately becomes an issue with tickets saying things like, "scroll event crater server, Ugg need help! You said Blazorclub good. Ugg believe, Ugg wants reparations!" the team chooses a great answer to many problems for the wrong reasons:
gRPC
For those who aren't familiar, gRPC has a substantial amount of compression primarily courtesy of a rather excellent binary format developed by Google. Who needs the Quickie Mart, or indeed a sound markup delivery and view strategy when you can compress the shit out of the payload and ignore the problem. (Shhh, I hear you back there, no spoilers. What will happen when even that compression ceases to cut it, indeed). One might look at all this inductive-reasoning-as-development and ask themselves, "butwai?!" The reason is that the server-side story is just a way to buy time to flesh out the even more fundamentally broken browser-side story. To explain that, we need a little perspective.
The relationship between Microsoft and it's enterprise customers is your typical mutually abusive co-dependent relationship. Microsoft goes through phases of tacit disinterest, where it virtually ignores them. And rightly so, the enterprise customers tend to be weaksauce, mono-platform, mono-language types who come to work, collect a paycheck, and go home. They want to suckle on the teat of the vendor that enables them to get a plug and play experience for delivering their internal systems.
And that's fine. But it's also dull; it's the spouse that lets themselves go, it's the girlfriend in the distracted boyfriend meme. Those aren't the people who keep your platform relevant and competitive. For Microsoft, that crowd has always been the exploratory end of the developer community: alt.net, and more recently, the dotnet core community (StackOverflow 2020's most loved platform, for the haters). Alt.net seeded every competitive advantage the dotnet ecosystem has, and dotnet core capitalized on. Like DI? You're welcome. Are you enjoying MVC? Your gratitude is understood. Cool serializers, gRPC/protobuff, 1st class APIs, metadata-driven clients, code generation, micro ORMs, etc., etc., et al. Dear enterpriseur, you are fucking welcome.
Anyways, b2blazor. So, the front end (Blazor WebAssembly) story begins with the average enterprise FOMO. When enterprises get FOMO, they start to Karen/Kevin super hard, slinging around money, privilege, premiere support tickets, etc. until Microsoft, the distracted boyfriend, eventually turns back and says, "sorry babe, wut was that?" You know, shit like managers unironically looking at cloud reps and demanding to know if "you can handle our load!" Meanwhile, any actual engineer hides under the table facepalming and trying not to die from embarrassment.36 -
2020 seems to be the year of the "dev who has never seen scale."
TypeA -> "Here's a reasoned explanation for a change I think we should make. Here is the current deficiency analysis, here is the desired resolution, here is the course of action and all calculations leading to the resolution + data. This will have x,y,z beneficial result according to our operational metrics."
TypeD -> "Those were words. Why do you need that? Change is bad, learning is worse. This will just slow me down, development speed is all that matters; there is no chance that a poorly considered/factored/checked design could ever require a ground up rewrite or fuck us utterly in the long term. Why do you make my life harder? We could x -> y -> zBUTI haven't done the math and I really don't see the benefit in x, so z is pointless. What even is scale?"
The consequences of the war caused by the ever-widening gap between engineers and developers is low key terrifying.12 -
Only Jilano cares about this:
https://youtube.com/watch/...
Sped up a little bit, but hey, it has Mega in it, so I'm all good.4 -
This is irritating. Fuck you stitchfix. If I were convicted of a felony and did time, my odds of finding a job are basically zero. But for some reason (I can only surmise weaponized wokeness, or has an executives sex tape) they want to keep this fuck on who maliciously deletes half of Cisco's AWS service infra, pleads guilty and is looking at 5 years and $250k in fines.
https://theregister.com/2020/08/...
This isn't even the first time their sourcing of resources has become a problem. Deloitte nailed them just last year with an audit that said their outsourcing had led to effectively no way for them to control their financials or secure customer data. And their response is apparently, double down.
https://wsj.com/amp/articles/...
Fucking MBA fucks. -
Subscribed to CBS all access just for Picard and Lower Decks. Made the mistake of clicking on the Comedy Central icon by accident.
Two minutes later: email ad in my inbox advertising the Daily Show and Comedy Central.
Fuck you CBS. Double fuck you Viacom.4 -
We'd just finished a refactor of the gRPC strategy. Upgraded all the containers and services to .Net core 3, pushed a number of perf changes to the base layer and a custom adaptive thread scheduler with a heuristic analyzer to adjust between various strategies.
Went from 1.7M requests/s on 4 cores and 8gb ram to almost 8M requests/s on the same, ended up having to split everything out distributed 2 core instances because we were bottlenecking against 10gb/e bandwidth in AWS.2 -
Remember when Level3 was just a simple backbone provider and not a threat to the internet itself on account of being owned and operated by the incompetent fucks at the worst ISP in the US?
We really need some regulation that states ISPs, cable companies and telephone companies are ineligible to be backbone providers. Shit is too important.
https://fiercetelecom.com/telecom/...5 -
There's little irritations that happen when working with clients over time that let you know that they're stuck in the past and definitely not the kind of client you want to have long term.
My personal favorite example:
"Can we put an icon that shows the weather on the banner of the website?"
Note: I don't make "websites," information portals, content pieces, etc.
It doesn't to matter what type of application it is; time tracking, HR, mortgage application, industrial control system, etc. I don't know why, but every single client I've ever had where I've been saddled with one or more people who have no business being anywhere near the term "stakeholder" asked for this stupid, banal, 1995 web portal fuckery. Their shitty little mushroom stamp contribution wasting everyone's time.
What's worse, they want it be prominent in the screen real estate. It can't just be a responsibly sized waste of space like the screenshot's top example (from a company whose entire business is weather, nonetheless). No, it has to be the busiest fucking thing in the control space, as in the example inferior.
Or maybe I'm just wrong and people desperately want to know if the sky is going to piss on them if they leave the cave.
Anyone else have a pet peeve in regards to recurrent, pointless functionality?2 -
For skilled mid-career engineers, dynamic programming problems, np-complete bar raisers.
For new engineers, simple questions that can't be taught in school (questions that require business prioritization)
For older engineers, questions they haven't done since college (big-O, writing algorithms from memory)12 -
!dev, !rant
Was thinking about the things I miss thanks to the 'rona whilst coding. Restaurants are a big one (I haven't had an oyster in a dog's age). We've lost a ton of businesses recently, most of which will never be back. As much as I Uber eats and doordash, restaurants lose money on those mechanisms frequently due to the up to 30% order commission.
There's definitely a potential market for an epic games-store style player in that segment who wants to compete on cost and fees. Hard part would be the political weight that's coming down on those businesses now. It's a really shitty time to be in most businesses.
Tl;Dr There will never be a better name for a donut shop than "Hole Foods." RIP2 -
Some more favorite 'about mes' from users I've talked with in the past:
RememberMe
"Generic McGenericsson"
Real name: Smith, John.
Experience: University
Occupation: Doing stuff.
From: Somewhere.
kescherRant
Skills
"something I guess"
How I feel any given day.
Location
Vienna, Austria
Did you get rejected from art school too?
akshar
"please teach me React before php swallows me :c"
I'LL SWALLOW YOUR SOUL! - php, probably.
SortOfTested
"Building software to make the electric utility industry .05% less shitty"
relevant: If you stare long enough into the abyss, it'll stare back into you.3 -
So IBM finally jettisoned the cancer that was Virginia Rometty a few weeks back. They had an opportunity to move fresh blood and solid managerial background into the top slot with Jim Whitehurst (Redhat) and try and recover their flagging market share and do some sane business strategy. They passed on that opportunity and instead appointed the old guard bootlicker who overpaid for Redhat to the tune of 20x what it was worth, and signalled their intent to continue staying the course of the Titanic and it's slow inevitable trek towards the bottom of the ocean. The board wants a yes man, and they got one.
This is basically what I assumed would happen, but I have some other predications as well:
- Whitehurst will leave to a better company
- the redhatters that haven't already left will be replaced with commodity labor
- Redhat will be the least stable Linux offering 2 years after the last hatter leaves
- they will sell off most of their existing software assets to HCL/ similar consulting partners like they did with domino and websphere to stem the bleed
- the displaced in that move will either quit or be replaced
- their cloud initiative will collapse under the weight of its own stagnation and glacial pace of development
- they will attempt to salve these wounds by moving focus to global services, reducing profit loss by cutting salary costs, further diluting their eroding ability to innovate
- they'll buy at least one other trendy software company at ridiculous valuation, and sell it off within 2 years at a massive loss
- the CEO slot will start to resemble the late Roman empire with a new CEO every other week
- Redhat assets will be sold to Google inside of 5 years
Last prediction: I will be overjoyed being able to witness the death of IBM in my lifetime. Fuck them 🍻7 -
Article in Seattle Times this morning detailing the "Legacy of Bill Gates Sr." who recently passed away.
I haven't read it, but I assume it's basically "Owner of the bill-gates-contrib repository."3 -
I love a number of the little slack "all clean" icons when you catch up on threads. They're adorable. My personal favorite is the floptopus.
Anyone else have fave examples of adorable, ideally platform mascot-related pieces of task-accomplishment-reward-bait (octocat, go gopher, etc etc?
It's a rant bc fuck anyone who's too cool for cute shit :p7 -
Seems like the poisoning of the internet is coming to a head. While searching earlier for a first principles reference to answer a question with, I came across an entirely obfuscated query.
"Codd's forms of normalization"
https://google.com/search/...
In the first four pages, there are 5 results that aren't ad farms, crappy pasta tutorial sites, brand building articles, poorly understood rote regurgitation of information, quora, or some combination of all of the above.
In 2005, the top 5 would likely have contained Bell Labs, UoI, Cambridge and Oracle. Mind you, I don't think the world is getting dumber, exactly, just that the signal to noise ratio in the information sphere is getting worse and the risk from that is the world becomes markedly "dumber". The only barrier to entry anymore is how well your SEO optimization competes.
I'm obviously getting old.
/rant6 -
New twist on an old favorite.
Background:
- TeamA provides a service internal to the company.
- That service is made accessible to a cloud environment, also has a requirement to be made available to machines on the local network so you can develop against it.
- Company is too cheap/stupid to get a s2s vpn to their cloud provider.
- Company also only hosts production in the cloud, so all other dev is done locally, or on production non-similar infra, local dev is podman.
- They accomplish service connectivity by use of an inordinately complicated edge gateway/router/firewall/message translator/ouija board/julienne fry maker, also controlled by said service team.
Scenario:
Me: "Hey, we're cool with signing requests using an x509 cert. That said, doing so requires different code than connecting to an unsecured endpoint. Please make this service accessible to developer machines and lower environments on the internal network so we can, you know, develop."
TeamA: "The service should be accessible to [cloud ip range]"
Me: "Yes, that's a production range. We need to be able to test the signing code without testing in production"
TeamA: "Can you mock the data?"
Me: "The code we are testing is relating to auth, not business logic"
TeamA: "What are you trying to do?"
Me: "We are trying to test the code that uses the x509 you provide to connect to the service"
TeamA: "Can you deploy to the cloud"
Me: "Again, no, the cloud is only production per policy, all lower environments are in the local data center"
TeamA: "can you try connecting to the gateway?"
Me: "Yes, we have, it's not accessible, it only has public DNS, and only allows [cloud ip range]"
TeamA: "it work when we try it"
Me: "Can you please supply repro steps so we can adjust our process"
TeamA: "Yes, log into the gateway and try issuing the call from there"
Me: (╯°□°)╯︵ ┻━┻
tl;dr: Works on my server -
Friend from a company I did an integration delivery with sent me this lovely slack discouse. I had no idea their HR lady let her freak flag fly at work 😏
Wonder how many years she's been casually tossing that one around.3 -
~dev, not in front of computer stuff
Playing with the controller and power management using the torque sensor, managed to get this flatland cook-off going today on the fat tire ebike with only 50watts of assistance. Efficiency gains over stock of 28%! 30mph on a bike feels ridiculously unsafe, but the looks you get from cars are even better.
Love being able to gather all this telemetry (GPS, elevation, pulse, durations), gives me stuff to fish through and data to play with.6 -
Apparently Russia is getting in on the "English title and description, foreign language audio" clickbait.
You would think the YouTube team would realize they could use their auto-captioning AI to solve this problem and detect when it happens 🤔13 -
I have a bit of a love/hate relationship with Brian Goetz. He's undoubtedly capable as an engineer, but he's also one of those 90's style neck beard jerks who is incapable of having a conversation with another human being and not being condescending AF.
That out of the way, this proposition and explanation is why I keep paying attention to him (well, maybe not entirely, he owns the direction of java, so yeah).
https://github.com/openjdk/...
It's reasonable, well thought out, and gives credit where it's due. While a bit non-committal, it speaks to what good has happened to java since it moved out from under the original manager (though the original owner was still far superior).
Here's hoping we see more proposals that parallel this direction.3 -
ARM people, a posit, not mine, but interesting thought experiment:
If apple is successful at ARM, we may see in 5ish years the desktop/laptop market flip in an effort to chase. MS sees the custom silicon, creates an MS proprietary ARM to compete with Apple ARM. Now ARM is mostly locked down into these two options and nothing runs on both sets of silicon, or any other silicon. ARM becomes closed AF.
Slim possibility that Intel and AMD jump on the ARM bandwagon and ship their own silicon that's a little more open.
Thoughts?11 -
Fave IDE: Rube-Goldberg Distributed Physical Editor (RGDPE)
- 3x5 note cards, rite aid brand
- pilot rolling ball gel pen
- white out
- a scanner with OCR, email
- a raspberry pi running a local email server and dns
- a raspberry pi running an SMTP receiver and language service and a handler to invoke the compiler
- a speak and spell to print out the language service results
Why: why not?3 -
!dev
So apparently markets that are getting HBO Max are about to lose their ability to stream the full Ghibli catalog anywhere else. And they'll only be offering a handful of the titles from it in the most market-friendly cuts, even though they licensed broad market distribution rights to the whole thing.
Not a strong start, about from I expect from AT&T though. Now people the world over get to see how shitty the murican telephone conglomerates are. 🥳4 -
Some people of devRant are astonishingly stupid.
I post a rant of Ryan Dahl where he says he don't like the unnecessary complexity of modern software. It's an obvious UX rant, but @Crost says that it's about rushing releases and writing sloppy code to "tick the item off my list and solve the problem". @Crost and other boubas, if Ryan's vision was more widespread, macOS, the OS you all hate so much, wouldn't have existed because Linux would have the best UX ever.
I post a rant about Google algo being nasty and throwing triggering shit at me. I previously posted stuff like this, Root confirmed that it works just the way I think it works, it's a manipulative piece of crap. But @Oktokolo says that "The algorithm literally just gives you same of the stuff you just saw", well, I don't know, nice view of the problem for a guy with no computer and no smartphone, @Oktokolo! All that "youtube recommendations gathered us together on some obscure video" comments, and you still don't get it.
I post a rant about how I redesigned a fucking color wheel icon. It shows a "before-after" pic and the colors are obviously the same, but fucking @Oktokolo be popping up again, telling me that I have eye condition (!) that makes me see more blues than yellows.
No wonder you guys don't know how to use CSS, the simplest programming language (yes, it's a programming language).
No wonder smart people like SortOfTested just leave.
I still refuse to believe that devRant user base consists of stupid people exclusively. Perhaps they are just average, and I'm the genius with my Aspergers just getting way more information out of my environment like I always do.20 -
This is going to have all manner of impact on everything in gaming
https://tweaktown.com/news/71842/...5 -
I want to buy this human a beer.
https://aleksandra.codes/tech-conte...
"Most tech content is bullshit"
N-gate summary:
"A webshit determines and announces the core truth of webshit. Hackernews bemoans the displacement of the technical book by the shitposting factory, but fails to reinvent the industry journal as a replacement. Other Hackernews debate whether the problem might actually be those snotty kids who don't know anything. The Hackernewsest post comes as someone declares critical thought as Considered Harmful, and recommends instead pestering random experts to train you for free. The rest of the comments are mad at Google for returning shitty search results, making it too difficult to just be told what to do."8 -
!dev, much rant
The world of hockey will never be the same. We officially have the best hockey team in the world. Stanley Cup 2021 inbound.
SEATTLE KRAKENS!
(Post mostly for Stuxnet)24 -
Why is it some people can't figure out a queue/line? It's like all these fucking people are standing in series just for their fucking health.3
-
Whelp, looks like sony will soon own the entire Japanese media import market in North America (again).
Unfortunately, it also means they're breaking up otter media, which means that vrv will be reduced to nothing. I would imagine that this will spell the end for either the Crunchyroll or Funimation brand in the not too distant future.
https://theinformation.com/articles...4 -
Just realised I have not seen some regular users on devrant for a good amount them. Listing them now :-
linuxxx (Last action 75 days ago( a ++))
SortOfTested(Last action 51 days ago(a comment))
Linux(Last action 50 days ago(a ++))
This list might not be accurate3 -
!dev
I like trying the local pißwasser of choice when traveling around. Sometimes it's bad (Baltika, fe). Working out of Glasgow atm, so it's irnbrü, kind of tastes like bubblegum. What's everyones' local drink du jour (alcoholic or otherwise)?31 -
Oh the joys of working with an Enterprise customer.
Background:
Discussion about service architecture with me, development architect (ArchDev) and integration architect (ArchInt). The topic arises of needing to access int. segment systems for a public facing cloud application.
Me: so we'll just need a s2s vpn and then we can just create a route and call the services normally.
ArchDev: sounds good to me, it will take a few months to get that set up
ArchInt: we done need that, we can just use the gateway and then route all the requests through the ESB.
Me: 😕 do you mean the service gateway?
ArchInt: (drops bomb) no, we decide that all API should be implement in ESB, so ESB will handle traffic
Me: *pauses, steps up to the whiteboard, does latency math* setting aside the fact that isn't how ESB's work, that will add at least 700ms latency to each request.
ArchInt: well that is fine for enterprise, things not usually as fast in enterprise you must expect slowdown to be safe
ArchDev: *starts updating resume on the ladders
Me: 💀🔫 -
Whelp, so much for Dell making good on the 32gb sku for the xps 13 9300. 8 days late and 16gb short with minuscule storage at a $100 premium.
"Developer edition" indeed.11 -
Kudos to Fedora for the 32 workstation release. It works as advertised on Lenovo laptops (even the new ones) OOTB, no issues.
Caveats: It's Wayland with Nvidia graphics disabled and has no fingerprint support, but that goes with the territory. Still an arch adherent personally, but it makes the office engineer laptop story significantly easier. -
Anybody know why a good amount of active members like linuxxx and SortofTested have been inactive for a few months. Also why has there been a green dot explosion5
-
It looks like Olognion is shutting down due to the intersection of !money and !ads. I kind of feel like we could keep this site alive with a combination of a static site generation and/or some crowdfunding.
Thoughts?
https://twitter.com/theolognion/...
https://web.archive.org/web/...8 -
Damnit onion, this is a little on the nose. But hey, code complete is always worth reading.
https://theonion.com/hopefully-neig... -
It's easy for a job you love to become something you hate. We have to do our jobs, and build influence at the same time lest we fall victim to this.
You either shape or you get shaped.1 -
Reading the internets in 2020, I've seen an increase in the usage of the term "Orwellian." It has led to many Inigo-Montoya moments.3
-
Figured I'd toss this out for any keyboard nerds here interested in the new lopro mechanical trend.
Kono store just restocked the hexgears x-1 keyboard in all switch types. and an upgraded battery. 👍🏻
https://kono.store/products/...4 -
Re-instantiating the interesting bits from the other thing:
Time complexity of unsorted array equality operations. Go!23 -
To ship a package of two USB cables from one US city to another. What could be easier for a large company? Well, hold on a little.
I ordered two fucking cables from fucking Nomad at 15TH OF FUCKING JULY, and they are still not shipped. Here's how their customer support works: you send them an email, they reply in like a day or two, and that's it, that email thread is abandoned. They won't visit it again. You should write a whole new message where you say "hey, the previous time you said me X, so I want you to do Y then", and the message title should be different, otherwise they'll ignore it.
My roof is under construction now. When it was raining and there was a rain both inside and outside my apartment, I filmed it and an article about the situation was in my local newspaper in like 20 minutes. Russian government organizations are notorious for ignoring people's requests, shutting down their telephones and doing other shit like that, but in one day I managed to collect the foundation of overhaul, my utilities provider, the foreman of the organization responsible for roof repair, his supervisor and the actual guy that did that job. That same day, they all was at my doorstep, collecting the evidence, signing papers, apologizing, threatening to sue each other and collectively signing a document that states that they owe me either a full financial compensation or an overhaul. I managed to do it in the country where you throw an empty plastic cup at a cop and go to jail for it for five years.
Nomad, tell me, what exactly is stopping me from going full Jackson Pollock with a .45 on your company all over the social media (props to @SortOfTested)? You think I can't handle a mediocre iPhone case manufacturer?
Think again.2 -
Phoenix Jones lived in Seattle and was active with his female superhero partner. SortOfTested also lives there.
She was a superhero. SortOfTested is also kind of devrant superhero.
They broke up and she vanished from the net. SortOfTested? Or should we call her...
Purple Reign?7