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 - "unless"
-
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
sip
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.39 -
Merry Christmas to the whole pile of you! ⛄
Unless you don't want a merry Christmas. Then that's fine as well8 -
Worst fight I've had with a co-worker?
Had my share of 'disagreements', but one that seemed like it could have gone to blows was a developer, 'T', that tried to man-splain me how ADO.Net worked with SQLServer.
<T walks into our work area>
T: "Your solution is going to cause a lot of problems in SQLServer"
Me: "No, its not, your solution is worse. For performance, its better to use ADO.Net connection pooling."
T: "NO! Every single transaction is atomic! SQLServer will prioritize the operation thread, making the whole transaction faster than what you're trying to do."
<T goes on and on about threads, made up nonsense about priority queues, on and on>
Me: "No it won't, unless you change something in the connection string, ADO.Net will utilize connection pooling and use the same SPID, even if you explicitly call Close() on the connection. You are just wasting code thinking that works."
T walks over, stands over me (he's about 6.5", 300+ pounds), maybe 6 inches away
T: "I've been doing .net development for over 10 years. I know what I'm doing!"
I turn my chair to face him, look up, cross my arms.
Me: "I know I'm kinda new to this, but let me show you something ..."
<I threw together a C# console app, simple connect, get some data, close the connection>
Me: "I'll fire up SQLProfiler and we can see the actual connection SPID and when sql server closes the SPID....see....the connection to SQLServer is still has an active SPID after I called Close. When I exit the application, SQLServer will drop the SPD....tada...see?"
T: "Wha...what is that...SQLProfiler? Is that some kind of hacking tool? DBAs should know about that!"
Me: "It's part of the SQLServer client tools, its on everyone's machine, including yours."
T: "Doesn't prove a damn thing! I'm going to do my own experiment and prove my solution works."
Me: "Look forward to seeing what you come up with ... and you haven't been doing .net for 10 years. I was part of the team that reviewed your resume when you were hired. You're going to have to try that on someone else."
About 10 seconds later I hear him from across the room slam his keyboard on his desk.
100% sure he would have kicked my ass, but that day I let him know his bully tactics worked on some, but wouldn't work on me.7 -
rant¡
Client: "Can you add some logos to the homepage?"
Me: "Sure, I've just added it, take a look at staging."
Client: "Great, we can move it to live"
** 5 days later after it being moved to live and telling them I'm going on holiday. **
Client: "EMERGENCY change logo now, we need to change x logo. These logos look crappy too. How did this happen?"
Fuck this. I'm not employed by you, you don't have any right to speak to me like that. Especially after working tirelessly for your company.
**sent email back explaining how to upload files**
Told them not to contact me unless it's technically related.3 -
Managers: fullStackClown!!!! The image uploader on the dashboard at <insert 3rd party service here> isn't working!!!!!
fullStackClown: Yeah? What do you want me to do about it?
Managers: Well, fix it!
fullStackClown: ... * sigh * Well, in case you didn't realize, I don't work at <insert 3rd party service here>, so... unless you want me to go work for them instead of you absolute clowns (which I dream about daily), I cannot help you further in this matter.
Managers: ...
fullStackClown: ...
Kill me. 🤡6 -
Worst hack/attack I had to deal with?
Worst, or funniest. A partnership with a Canadian company got turned upside down and our company decided to 'part ways' by simply not returning his phone calls/emails, etc. A big 'jerk move' IMO, but all I was responsible for was a web portal into our system (submitting orders, inventory, etc).
After the separation, I removed the login permissions, but the ex-partner system was set up to 'ping' our site for various updates and we were logging the failed login attempts, maybe 5 a day or so. Our network admin got tired of seeing that error in his logs and reached out to the VP (responsible for the 'break up') and requested he tell the partner their system is still trying to login and stop it. Couple of days later, we were getting random 300, 500, 1000 failed login attempts (causing automated emails to notify that there was a problem). The partner knew that we were likely getting alerted, and kept up the barage. When alerts get high enough, they are sent to the IT-VP, which gets a whole bunch of people involved.
VP-Marketing: "Why are you allowing them into our system?! Cut them off, NOW!"
Me: "I'm not letting them in, I'm stopping them, hence the login error."
VP-Marketing: "That jackass said he will keep trying to get into our system unless we pay him $10,000. Just turn those machines off!"
VP-IT : "We can't. They serve our other international partners."
<slams hand on table>
VP-Marketing: "I don't fucking believe this! How the fuck did you let this happen!?"
VP-IT: "Yes, you shouldn't have allowed the partner into our system to begin with. What are you going to do to fix this situation?"
Me: "Um, we've been testing for months already went live some time ago. I didn't know you defaulted on the contract until last week. 'Jake' is likely running a script. He'll get bored of doing that and in a couple of weeks, he'll stop. I say lets ignore him. This really a network problem, not a coding problem."
IT-MGR: "Now..now...lets not make excuses and point fingers. It's time to fix your code."
IT-VP: "I agree. We're not going to let anyone blackmail us. Make it happen."
So I figure out the partner's IP address, and hard-code the value in my service so it doesn't log the login failure (if IP = '10.50.etc and so on' major hack job). That worked for a couple of days, then (I suspect) the ISP re-assigned a new IP and the errors started up again.
After a few angry emails from the 'powers-that-be', our network admin stops by my desk.
D: "Dude, I'm sorry, I've been so busy. I just heard and I wished they had told me what was going on. I'm going to block his entire domain and send a request to the ISP to shut him down. This was my problem to fix, you should have never been involved."
After 'D' worked his mojo, the errors stopped.
Month later, 'D' gave me an update. He was still logging the traffic from the partner's system (the ISP wanted extensive logs to prove the customer was abusing their service) and like magic one day, it all stopped. ~2 weeks after the 'break up'.8 -
I'm working on a Newtonian 3D space shooter game. There's no drag or speed limit, no "down" and the skybox is selected specifically to make orienting oneself near impossible. Relative velocities can get extreme, so before picking a fight with anyone you first need to organize a rendezvous and then accelerate up to their speeds.
Oh, and I almost forgot that nearly all powerful tools are really weird, like a ship that shoots gravitational points, or a coop pair where one emits gas and the other lights it (zipperback), or a cloaking unit that hides anyone nearby unless they're accelerating.
Also, looking for fucked-up weapon ideas.23 -
My level of frustration with Microsoft is growing to a point that I'm unable to contain it.
They buy Github, it was a great tool for developers because is FUCKING WORKED! New features were never beta tested on users unless they requested it.
Why in the absolute fuck am I getting all these new experimental bullshit features that literally make it harder for me to do my god damned job?
They provide me NOTHING but grief and sleepless weekends while I fix the god damned pipeline that's worked perfectly fine for YEARS.
Your business model is bad and your products are SHIT.
Fuck you Microsoft, I cannot even stress it enough. If I had a time machine that could go back 5 years and my options were: Tell the world about Covid, make sure Trump never became president, or stop the Github purchse. I would hunt down and brutally attack the team of executives that decided to buy Microsoft.
Words cannot adequately describe how much I want Microsoft to fuck off. If the company was a person and they died in a house fire it wouldn't be enough.
I just want a VCS that does what it's supposed to do. I don't need pipelines, I don't need image repos, I don't need static code analysis.
I JUST NEED A FUCKING VCS THAT CONTROLS VERSIONS OF SOFTWARE YOU IGNORANT FUCKS.20 -
So ChatGPT with GPT-4 has dropped and it's only available through a paid subscription.
I hope everyone who started to become dependent on the "free" ChatGPT or started building a business on it feels pretty stupid right about now. Unless you pay up, everyone else who does pay will now have an edge over you. Congratulations for giving another monopoly into the hands of microsoft so enthusiastically.
The "open" part of OpenAI is such a joke...24 -
So for my programming class, we had to make a game using Scratch. No problem, I said. Scratch is easy stuff. Just drag and drop blocks. Like legos. Legos that actually do shit. Cool.
So my game is about a dog underneath a plinko set, dodging balls that come down the plinko thing. Easy enough. I figured I would spice things up a bit. My teacher has to go through 20 of these games, I figured I'd make mine interesting. I add a little heart system.
Now for those of you who don't know Scratch, or don't care enough to look it up, all of Scratch's codes are within the sprite themselves. They can communicate with other sprites with a thing called broadcasting. When other sprites receive a broadcast, it can activate a script. yeah, cool.
So I had a script on the dog, that broadcasts a message to the heart system to remove a heart when the dog is hit. So to keep things short, I call the broadcast "Dog's hit."
For anyone who knows programming, computers have no clue what an apostrophe or a space is. They can't read it unless you have it all letters, maybe a semicolon. So, I removed the space and apostrophe, with my innocent 17 year-old mind not realizing this makes it "Dogshit."
Game's finished. Finally. Due date comes in, I submit it all proud and everything. I just created the best dog-plinko simulator of all time. Later that day, I show it to my friend, who then points out the typo.
At this point, my teacher already graded it. I went down to see him after school, and he must've known why I went down as soon as I walked in the door, and just cracked up. He told me it was fine, and not to do it again.
I left red.4 -
Consumers ruined software development and we the developers have little to no chance of changing it.
Recently I read a great blog post by someone called Nikita, the blog post talks mostly about the lack of efficiency and waste of resources modern software has and even tho I agree with the sentiment I don't agree with some things.
First of all the way the author compares software engineering to mechanical, civil and aeroespacial engineering is flawed, why? Because they all directly impact the average consumer more than laggy chrome.
Do you know why car engines have reached such high efficiency numbers? Gas prices keep increasing, why is building a skyscraper better, cheaper and safer than before? Consumers want cheaper and safer buildings, why are airplanes so carefully engineered? Consumers want safer and cheaper flights.
Wanna know what the average software consumer wants? Shiny "beautiful" software that is either dirt ship or free and does what it needs to. The difference between our end product is that average consumers DON'T see the end product, they just experience the light, intuitive experience we are demanded to provide! It's not for nothing that the stereotype of "wizard" still exists, for the average folk magic and electricity makes their devices function and we are to blame, we did our jobs TOO well!
Don't get me wrong, I am about to become a software engineer and efficient, elegant, quality code is the second best eye candy next to a 21yo LA model. BUT dirt cheap software doesn't mean quality software, software developed in a hurry is not quality software and that's what douchebag bosses and consumers demand! They want it cheap, they want it shiny and they wanted it yesterday!
Just look at where the actual effort is going, devs focus on delivering half baked solutions on time just to "harden" the software later and I don't blame them, complete, quality, efficient solutions take time and effort and that costs money, money companies and users don't want to invest most of the time. Who gets to worry about efficiency and ms speed gains? Big ass companies where every second counts because it directly affects their bottom line.
People don't give a shit and it sucks but they forfeit the right to complain the moment they start screaming about the buttons not glaring when hovered upon rather than the 60sec bootup, actual efforts to make quality software are made on people's own time or time critical projects.
You put up a nice example with the python tweet snippet, you have a python script that runs everyday and takes 1.6 seconds, what if I told you I'll pay you 50 cents for you to translate it to Rust and it takes you 6 hours or better what if you do it for free?
The answer to that sort of questions is given every day when "enganeers" across the lake claim to make you an Uber app for 100 bucks in 5 days, people just don't care, we do and that's why developers often end up with the fancy stuff and creating startups from the ground up, they put in the effort and they are compensated for it.
I agree things will get better, things are getting better and we are working to make programs and systems more efficient (specially in the Open Source community or high end Tech companies) but unless consumers and university teachers change their mindset not much can be done about the regular folk.
For now my mother doesn't care if her Android phone takes too much time to turn on as long as it runs Candy Crush just fine. On my part I'll keep programming the best I can, optimizing the best I can for my own projects and others because that's just how I roll, but if I'm hungry I won't hesitate to give you the performance you pay for.
Source:
http://tonsky.me/blog/...13 -
Haha - whoever says Azure is totally fine unless people are too stupid to configure it might want to think again. Apparently, that shit is so difficult to configure securely that even Microsoft fails to do it: https://msrc-blog.microsoft.com/202...9
-
If you can be locked out of it remotely, you don't own it.
On May 3rd, 2019, the Microsoft-resembling extension signature system of Mozilla malfunctioned, which locked out all Firefox users out of their browsing extensions for that day, without an override option. Obviously, it is claimed to be "for our own protection". Pretext-o-meter over 9000!
BMW has locked heated seats, a physical interior feature of their vehicles, behind a subscription wall. This both means one has to routinely spend time and effort renewing it, and it can be terminated remotely. Even if BMW promises never to do it, it is a technical possibility. You are in effect a tenant in a car you paid for. Now imagine your BMW refused to drive unless you install a software update. You are one rage-quitting employee at BMW headquarters away from getting stuck on a side of a road. Then you're stuck in an expensive BMW while watching others in their decade-old VW Golf's driving past you. Or perhaps not, since other stuck BMWs would cause traffic jams.
Perhaps this horror scenario needs to happen once so people finally realize what it means if they can be locked out of their product whenever the vendor feels like it.
Some software becomes inaccessible and forces the user to update, even though they could work perfectly well. An example is the pre-installed Samsung QuickConnect app. It's a system app like the Wi-Fi (WLAN) and Bluetooth settings. There is a pop-up that reads "Update Quick connect", "A new version is available. Update now?"; when declining, the app closes. Updating requires having a Samsung account to access the Galaxy app store, and creating such requires providing personally identifiable details.
Imagine the Bluetooth and WiFi configuration locking out the user because an update is available, then ask for personal details. Ugh.
The WhatsApp messenger also routinely locks out users until they update. Perhaps messaging would cease to work due to API changes made by the service provider (Meta, inc.), however, that still does not excuse locking users out of their existing offline messages. Telegram does it the right way: it still lets the user access the messages.
"A retailer cannot decide that you were licensing your clothes and come knocking at your door to collect them. So, why is it that when a product is digital there is such a double standard? The money you spend on these products is no less real than the money you spend on clothes." – Android Authority ( https://androidauthority.com/digita... ).
A really bad scenario would be if your "smart" home refused to heat up in winter due to "a firmware update is available!" or "unable to verify your subscription". Then all you can do is hope that any "dumb" device like an oven heats up without asking itself whether it should or not. And if that is not available, one might have to fall back on a portable space heater, a hair dryer or a toaster. Sounds fun, huh? Not.
Cloud services (Google, Adobe Creative Cloud, etc.) can, by design, lock out the user, since they run on the computers of the service provider. However, remotely taking away things one paid for or has installed on ones own computer/smartphone violates a sacred consumer right.
This is yet another benefit of open-source software: someone with programming and compiling experience can free the code from locks.
I don't care for which "good purpose" these kill switches exist. The fact that something you paid for or installed locally on your device can be remotely disabled is dystopian and inexcuseable.16 -
Why is it what so many developers think that they are the sole genius surrounded by idiots and completely lack in interpersonal skills or the ability to see other people's arguments as valid? Honestly, with some people it's like working with an emotionally stunted teenager. I literally spoke to someone yesterday who thinks it's impossible to come to a compromise or agreement about anything unless there is a third party to arbitrate and mindlessly insists on his own way in literally every disagreement, even after admitting his logic is faulty. It's like watching a spotty 17 year old argue about politics online I swear it.5
-
Every sacrifice you make for your job will be forgotten in a minute and won’t be rewarded unless you force their hand.
Luckily, I outsourced this experience and have never made sacrifices.2 -
God damnit Quora!
I stumbled upon some article or post or whatever they are called on quora.
And I really wanted to read the comments on it. It wouldn’t let me unless I log in.
I normally don’t do that but I thought I’ll make an exception because I really wanted to read the comments.
So I clicked on that comments button and logged in (via google). First it presented me some modal dialog to pick 5 things that interest me. And it was mandatory. Fine… I picked those 5 things.
Finally it presents me the list of articles or whatever. But not the same list that I have seen before I was logged in. Scrolling, the article of my interest is not there. God damnit! Just show me my comments for fucks sake.
I go back to that tab where I was not logged in to somehow copy the link of that article or the link to the comments section. But it doesn’t let me. Some bullshit pseudo smart layer of crap is preventing me from doing anything.
Then I abuse the fucking share link to visit it in my logged in tab to finally see the comments that I came for.
And the comments weren’t even worth it. God! What a waste of time! And how can one fuck up a fucking forum so much?
It will be a lesson for me not to visit Quora ever again.4 -
HR people on LinkedIn. What the fuck? Do you seriously believe you can attract qualified developers by telling them you’re looking for ninjas, jedis or life savers? I for one am still fairly new to the job so I don’t consider myself to be by any means a coding wizard, and I don’t think any strong senior developer is gonna be seduced by your catchy terminology (I may be wrong about that). Come on, talk to us like any recruiter would in any other line of business. No need to replace the words "qualified" or "experienced" with your stupid magic words, unless you want to sound like you’re desperate7
-
!rant, but kinda
My new director wants to buy a solution for a portal environment that my institution currently has. I have no qualms over it. My only issue was the company that sells it to be known to provide close to 0 fucking support when shit arises.
During a presentation we were told that they were using state of the art JAVA technology to render items on the page and that their ApI was easy for devs to grasp. This caught my attention since I know of very few and obscure Java frameworks that work with frontend tech (as in, your frontend logic is legit in Java)
The sales people proceed to show us React. Obviously thinking that no one knows what REact was. The dude continues with "This is new Java tech" all proud and shit prompting me to interject that it is "Javascript" the dude brushes it away saying "same thing" to which I reply with "Negative, please make sure that you properly discern Java from Javascript since Java is to Javascript as car is to carpet, completely different environments" the dude sarcastically says that "oh well, didn't know one of the people here was more aware of our own technology than we are" to which I say "and not only that, but the final say in us adopting your tech is mine, so I would rather you keep the sarcasm and the attitude to yourself, bring in a tech person if need be and learn these distinctions since we don't work with Java"
My new director later on went to talk to me since he apparently thought that Java and JS were related in some way. I can't really fault it, last time the dude touched programming was in the early 2000s, previous boss was a C and COBOL developer, but the previous dude would ALWAYS take my word no questions ask, this dude was there asking me if I was sure that Javascript and Java were really completely different environments asking me to show him.
I do not like to be questioned. I shoot the shit here and don't really involve myself with more technical aspects under this platform unless it involves concrete architecture discussions and even there I really don't care with engaging on a forum concerning that. But concerning my job I really.......really do not like to be questioned by people that know way the fuck less than me. I started coding when I was 17, I am 30 now, with a degree and years of experience. I really hate to be questioned by this dude.2 -
All I'm saying is that if we want speech completely locked down on all social media platforms, simply hire the StackOverflow mods and the problem is solved. Nobody will be able to post anything unless the mods believe it's worthwhile for everyone to read and respond to.
That's it. That's the rant.4 -
No one in my house wants to talk to me unless I’m in a important meeting or call. Sometimes I wonder if bad luck exist and I have it.2
-
This new trend of platforms spamming with content discovery fucking suck. Nobody wants to follow multiple profiles with the exact same fucking content, especially when most of them are just people jumping on the bandwagon with more generic content and nothing to make it distinguishable. Also if 10 million people saw something on your platform, the it's pretty fucking sure already been posted and shared on every single platform out there, why the fuck would you still keep recommending it weeks or even months later?
I know spamming users with random (statistically more engaging) content leads to improved customer engagement as people sooner or later click these thing out of curiosity or boredom, but eventually they get tired of it altogether and leave for good. What happened to Netflix will also happen to YouTube, Instagram, and all other platforms unless they significantly improve the balance between content discovery and content continuity (i.e. the content each user follows and is coming back for).4 -
I got invited to interview with a startup(series B) by a former manager. I told them I had RSUs vesting in six months and that unless they could give me a sign on for their amount I couldn’t leave. The recruiter says “Don’t worry, we can get creative with the sign on bonus”
I go through their whole interview process and get the offer.
Sign on is 15% of the amount of my vesting RSUs, and a base below what I make now.
Why waste my time not telling me the comp range from the start and why lead me on with a comment about a sign on? I told you up front what I made!1 -
Lua is one of the stupidest languages to ever exist.
Oh, the language is easy to learn? The syntax is friendly? There's only like negative 10 functions you ever need to know? Everything is a table?
EVERYTHING IS A TABLE?! WTF CARES? WHAT ABOUT NIL?!
The arrogance this language has is extraordinary, literally. No lang, except Lua, imposes such an opinionated dichotomy. Everything is a fucking table, or, it's nil. -- That's so fucking stupid.
And look, I get it, this lang (oh sorry, scripting language (?)) CAN be good and fun and whatever... the moment you start to do IO is the literal end of days.
Everything is nil. Except, if it's defined... then it's not nil. -- OK. That sounds sensible/reasonable enough. -- What if it's not defined? You get nil. What if it's not the right data? You get nil. Do I get errors/exceptions or whatever? No, absolutely not, you get nil... unless the application you're using with Lua with has a lib that handles that.
There are so many more issues I have with this lang, but honestly... Am I fucking missing something? Is this lang like actually super dooper awesome and I'm missing something? -- I can't not look at this language as just dumb and arrogant. -- It's literally a language where you have to manage and remember ALL conceivable state at ALL times.11 -
I've concluded you can't get a job these days unless you're some fucking wizard. It's always the response: "We found better candidates than you".18
-
I'm supposed to be the introverted, non-people person! But the client meetings I'm in for my college senior project go off the rails into awkward mumbling unless I step in and take the tiniest bit of effort in driving a meeting.
Am I doomed folks to become a BA or other person dealing with clients all day, pls end me now2 -
I've been working like a mad woman in a startup for 3+ years now. They feel like 10. Or at least the tech stacks we went through.
Never, ever join a startup, regardless of compensation, unless you know you can emotionally and mentally recover from that startup failing as if it is yours, not your bosses. Otherwise, it's just a shitty short experience.
My long experience is shitty, but man. I don't know.Those who built google, wanted to make a search engine. Did they know they're gonna be good? NO. This is the result of them being good. They now have that great product that succeeds and is able to become a self-referential piggy bank. You cannot be a self-referential piggy bank based on a fucking belief and idea, and a bunch of VCs who already put money in you. You know why? BECAUSE GUESS WHO IS THE ONE RESPONSIBLE FOR SUSTAINING YOUR START UP NOW?
The bloods and passions of youth, that join your startup, thinking they can make a difference, and you just undermine them constantly thinking that no engineer can make a difference if they can't ensure compliance with your dumb funding strategy.
Don't even get me started on the fact that most people who work for startups, rely on either laziness or passion. It's like a bunch of kids in art school, whose professor doesn't like anything they make, but they still kinda like it hoping one day they leave and become artists themselves. Then they discover that this shit professor actually taught them nothing about creativity in the real world, and what it takes to push something out.
And, it finally fucking hit me.
The reason startups will never work in this year, and beyond, AND TILL I SEE A CHANGE IN ATTITUDE IN 10 YEARS.....
The market won't fucking allow it with the current strategy tech companies are a fan of: hire a bunch of passionate devs who wanna learn a tool through doing our unique work. Doesn't matter. DIVERSITY. THE UNION IS THE PASSION. That's dumb as fuck.
Why?
Here:
- Passionate people do not have to use passion as an incentive, the passion was there, and them getting their idea made or money is the incentive
- If you hire a passionate person - even if they are the fucking best - you just made their passion a tool, in getting your PRs done and shit epics scoped AT BEST, and so the tools you're teaching them to use are getting away with doing less impactful, productive, creative work.
I AM SO DEPRESSED.3 -
Back from the dead with more vaguely-obscure technical bullshit
Working on a chatbot for my BS-CS. Almost done with college, so the assignment is to make a bot that recommends you a CS career. Cool.
I get through making a joint personality and skill-interest quiz that gives you number grades on different spectra. So far, so good. But this project has to be done entirely in pandorabots' online editor. So no scripting. Zero scripting. 100% markup language. That means to even do math, you need to copy a standard library off GitHub.
I mean, that's fine and all, but the syntax is just atrocious, because everything in AIML is input->response. If you ask the bot "what is 5+5?" you must have it go:
- recognize pattern WHAT IS * + *
-> redirect -> XADD * XS *
-> do math -> recurse result
-> 10
uncomfy. Plus, variables can only be accessed through <get> and <set> tags. But mangeable.
So here's where the story becomes a rant.
In the standard docs, there's all these math functions, and they work. There's also logic.
And then there's this fucker
XIF [ * ] XS [ * ]
Which has no documentation and just doesn't work. No idea what the brackets mean. Tried putting in TRUE, tried putting in true math statements (5 XEQ 5), tried putting in recursion tags to trick it, tried everything. It just ignores it.
There is not a single comment, stackOverflow post, or youtube video that even acknowledges the existence of this thing.
So unless I want to convert the entire logic of my program into nested SWITCH statements with the <condition> tag, I'm just fucked.
The icing on the cake is, I go to tech support on Pandorabots to ask for help with this. What do they have except a chatbot to cheerfully tell me that no humans are around to help me right now?
gonna have to build an entire fuckin turing machine in markup tags to calculate whether x = 3
(:1 -
I used to think that I had matured. That I should stop letting my emotions get the better of me. Turns out there's only so much one can bottle up before it snaps.
Allow me to introduce you folks to this wonderful piece of software: PaddleOCR (https://github.com/PaddlePaddle/...). At this time I'll gladly take any free OCR library that isn't Tesseract. I saw the thing, thought: "Heh. 3 lines quick start. Cool.", and the accuracy is decent. I thought it was a treasure trove that I could shill to other people. That was before I found out how shit of a package it is.
First test, I found out that logging is enabled by default. Sure, logging is good. But I was already rocking my own logger, and I wanted it to shut the fuck up about its log because it was noise to the stuffs I actually wanted to log. Could not intercept its logging events, and somehow just importing it set the global logging level from INFO to DEBUG. Maybe it's Python's quirk, who knows. Check the source code, ah, the constructors gaves `show_log` arg to control logging. The fuck? Why? Why not let the user opt into your logs? Why is the logging on by default?
But sure, it's just logging. Surely, no big deal. SURELY, it's got decent documentation that is easily searchable. Oh, oh sweet summer child, there ain't. Docs are just some loosely bundled together Markdowns chucked into /doc. Hey, docs at least. Surely, surely there's something somewhere about all the args to the OCRer constructor somewhere. NOPE! Turns out, all the args, you gotta reference its `--help` switch on the command line. And like all "good" software from academia, unless you're part of academia, it's obtuse as fuck. Fine, fuck it, back to /doc, and it took me 10 minutes of rummaging to find the correct Markdown file that describes the params. And good-fucking-luck to you trying to translate all them command line args into Python constructor params.
"But PTH, you're overreacting!". No, fuck you, I'm not. Guess whose code broke today because of a 4th number version bump. Yes, you are reading correctly: My code broke, because of a 4th number version bump, from 2.6.0.1, to 2.6.0.2, introducing a breaking change. Why? Because apparently, upstream decided to nest the OCR result in another layer. Fuck knows why. They did change the doc. Guess what they didn't do. PROVIDING, A DAMN, RELEASE NOTE. Checked their repo, checked their tags, nothing marking any releases from the 3rd number. All releases goes straight to PyPI, quietly, silently, like a moron. And bless you if you tell me "Well you should have reviewed the docs". If you do that for your project, for all of your dependencies, my condolences.
Could I just fix it? Yes. Without ranting? Yes. But for fuck sake if you're writing software for a wide audience you're kinda expected to be even more sane in your software's structure and release conventions. Not this. And note: The people writing this, aren't random people without coding expertise. But man they feel like they are.6 -
So Im business partners with my ex's father for a gun store and have been working on a new system to sell to the market for the gun industry.
Since I understand how to program it is assumed I automatically know how people think when buying things online, and one of my responsibilities is listing our guns from estate sales on a website called Gunbroker.com...
It is the worst and slowest website I've ever had to use and they assume everyone uses IE...And that's what I hate most about it. They didn't get the memo that IE is for downloading better browsers. Unless you're on a Mac/Linux which I am..3 -
More a call for discussion...
How can it be that devs constantly whine about technical debt, how everything is "ancient" bla bla bla...
Yet don't want to update libraries / stuff unless one explicitly rams an klingon pain stick up their arse because one is very very very very tired of lame excuses.
Even better example - and reason for the rant - new microservice.
They honestly started with JDK 8.
Looking at the dependencies is like walking in a museum...
OWasp Dependency check?
Lot's of 7.5s and greater (NVD score).
How brain fucked ignorant can one team be?!!!
Let alone that that thing - despite being just a skeleton project - has already 178 dependencies.
I don't want to look at the build files, I'll guess I'd turn to Freddy Krueger otherwise...
But really - why whining all the time like you have a clit / arsehole full of sand and then starting a new project with an obviously copy pasted graveyard skeleton?!5 -
Them: let's do iterative pull requests
Me: Great, can I have a review
Them: Your code touches a code that doesn't feel right, I can not approve this folly unless you fix following 30.000 lines:7 -
Lint rules that keep shouting at you unless you arrange the methods of a class in alphabetical order. What fucking value does it bring? Who fucking cares ? Why do we have them? Whhhyyyyyy ?18
-
I've been given an intern to help me with my work (lol it's not helping) and she knows almost nothing of web dev, not even what Nodejs is, I had to explain it and guide her step by step on how to install it on her laptop. On her CV it says she has JavaScript experience, but she cannot even put together a basic HTML page, she asked me what a div is. As far as I know, HTML, CSS and JS are pieces of the same pie and you cannot really work with JS unless you also work with HTML and CSS. I think she lied on her CV and I need to tell my manager.
My question is, is it normal to know JavaScript and not know much about HTML and CSS?13 -
Last. Fucking. Exam. Coming. Up. Soon.
Just... I'm a bundle of confused emotions, knowing that I'll probably never sit in another mentally draining exam. Unless I'll have to sit for exams during phd, if I ever manage to do one.
I'll miss the adrenaline rush and the feeling of relief after the exam, despite however much I fucked it up. I feel like I'm completely closing one big chapter and stepping into my middle ages. 😞5 -
I used to be at a company where it was kind of expected that you worked long days, which made it quite difficult to balance work and private life. It got so out of control that I was even called to work while I was on my holiday. At first I started with shutting off my phone after work hours, but the real solution I found was moving away from that company.
Pretty much everyone at my new company just stops working when the clock hits 4 or 5 pm unless there is something critical that needs to be done. Seeing that also discourages me (and everyone else) from working long days. We are also quite open about our workload so if anyone thinks they’re overwhelmed they can find a relevant person to talk to and eventually a solution is found. The salary isn’t incredible, but the work/life balance and the benefits I get are just way better than getting paid more and living to work.
I think a lot of people go for the high salaries, most of the time disregarding the other part of the equation. If the company has a meh work culture with low regard to employees’ work/life balance, there isn’t much the employee can do besides finding a place to work with better wlb. I’d pick a great work/life balance and peace of mind to a high salary any day.1 -
Anyone who purposefully makes a CSS rule that’s like 10 classes deep can go fuck themselves with a elongated mason jar. Unless your an evil fuck or a spawn of satan, there’s no reason to make other dev’s jobs a living fucking hell. Fuck you.4
-
I gave a rant yesterday about this. But I have to say it again because it's so gratifying. It went like this
Me: "you should patch the module instead of using it for your python unit test."
Them: "You keep telling me this, but maybe there is a better way"
Me: "there is, I'm telling it to you"
Next day, Code review.
Me: "You need to change this"
... silent on the issue ...
On a call...
Me: "You need to patch the module. Don't mess up the namespace."
Them: "I don't think so, X did the work"
(In my head: then what did you do)
Me: "We can grab whoever you like Y, X. Let's see if X is busy"
... X isnt busy, hops on call 45 seconds later.
Me: "we're using the module, we should patch this'
X: Muses the thought for 2-3 seconds.
X: "yeah... Yeah we probably should patch that"
Moral of the story, don't take shit personally unless your right... Then relish in. But if your right and X says otherwise, you can always + a rant. -
I fucking hate apple so goddamn much. They make it next to impossible to connect or reset an old account from 10+ years ago for any modern services unless you are invested in their ecosystem and use it everyday for everything. Have not had any issues with old app accounts connecting through Google. Just sayin10
-
Part rant, part a question. Im working with a colleague on an android app. The guy uses a library for everything that he cant solve on the first try. Need rounded corners? Get a random library from github. Settle a dispute. Am i wrong for trying to avoid using libraries unless i have to or is he?3
-
Work is still going great, but I'm killing myself with general anxiety about other things...
Covid, laptop is gone for now, phone is acting up, I don't have any backup device, I'm running out of money, need to fix my teeth soon enough, health-wise I'm pre-diabetic and almost obese, (not look-wise, rather weight-wise) as well I will need to check for hormones because I'm growing body hair more than I should and still am losing head hair more than I should, and I should quit smoking.
... but I still love the work I do, so what does life and gods have against me? :|
I have been taking deep breaths more often to just not lose my shit these days. Like, unless I end up in a great situation next, this all is so unfair.3 -
A large pool of application instances' is writing logs to the same physical file. No way to distinguish which instance wrote which line.
Welcome to hell
We're being asked questions. We're replying that we cannot help unless logging is fixed. Noone's bothering to fix this mess and instead returns tickets with requests to investigate more.
F.U.N
/s3 -
Being an almost 20y old JVM language, you'd expect it to already have been rewritten in itself. IT FUCKING WASN'T.
But, "hey, it's a hosted…", stop fooling yourself, its "sneaking in work" capability has such bottlenecks that SCI was created.
You'd think its stack traces would be better than Java's, after all, it was supposed to be an improvement… They're worse.
Oh, "we've got a REPL". The amount of alternative REPLs available for it shows how bad the default one is.
There's more, but the gist of it is that none of the above is truly the culprit of its shitty language adoption rates.
It's its implementation code.
Have you taken a peak at Clojure's implementation code??
Last edit was in 2012.
Not because of stability, but because the fucking thing is a tightly coupled monolithic mess.
It's such fucking outdated messy Java that any change by none other than Rich Rickey (creator) would BREAK THE FUCKING THING
That's it, I'm done ranting
Fuck Clojure
fuck its implementation
there's no fixing it
Unless they do it Elm style and risk nailing Clojure's coffin shut
Also, on ClojureScript, WHY THE FUCK WOULD YOU TAKE THE SHIT ABOVE AND WRITE A COMPILER WITH IT? Targeting none other than another shitty language: JavaScript8 -
Lessions I learned so far from my first big node/npm project with tons of users:
1) If you didn't build something for a while, expect 3 hours of resolving version conflicts for every two weeks since the last build.
2) Even if the tests pass, run the containers on your own machine and make sure that the app doesn't randomly crash before deploying
3) Even if the app seemed to work on your own machine, run the tests again in an environment mimicking prod at most 15 minutes before replacing the running containers.
4) Even if all else indicates that the app will work, only ever deploy if you expect to be available within the 4 hours following a deployment.
5) Don't use shrinkwrap for anything other than locking every version down completely. A partial shrinkwrap will produce bugs that are dependent on the exact hour you built the app _and_ the shrinkwrap file, and therefore no one will ever have seen them other than you.
6) Avoid gyp, and generally try not to interface too much with anything that doesn't run on node. If parts of your solution use very different toolchains, your problems will be approximately proportional to the amount of code. And you'd be surprised just how much code you're running. (otherwise it's more logarithmic because the more code the less likely a new assumption is unique)
7) Do not update webpack or its plugins or anything they might call unless you absolutely need to
8) Containers are cool but the alpine ones are pretty much useless if you have even just one gyp module.
9) There's always another cache. To save yourself a lot of pain, include the build time in every file or its name that the browser can download, and compare these to a fresh build while debugging to assert that the bug is still present in the code you're reading
+1) Although it may look like it, SQLite is far from a simple solution because the code and the bindings aren't maintained. In fact, it'll probably be more time consuming than using a proper database.3 -
Oh mighty how I hate Windows 10
1. It will run that "antimalware" malware killing your CPU
2. Fucking shit will auto restart for updates so if you run some 24h process you are doomed, and there is nothing you can do to stop it, unless maybe deep shit digging in MS god only knows registry values
3. Will be your fucking daddy showing you blue box, "oh we detected you may be a pussy, so we prevented this exe from running, please click 50 times to allow it because we care about you by creating virus prone OS in 1990 and we continue to do so"
NO Microshit horsefuckeers stop developing this garbage OS, let it die and force the world to use Linux, yes harder at first for every day Joe, but once learned it's state of the art OS, even your Azure cloud runs of Linux so for fuk sake stop develping WinDOS!
Or let the user to configure "fuck off mode" I don't want your virus scanner I don't want your protection, just fuck off and let people to whatever the duck the want!31 -
Someone wants me to help them alter the content of an iframe containing job listings from a 3rd party website. I’ve tried to tell them it’s not possible unless they can convince the 3rd party website to change their global job listing template for everyone. The client seems to think they were able to do this before with another prior job listings provider, but they don’t know how it was done and I can’t begin to imagine how either. What would you tell a client to convince them that it’s not possible?4
-
Do you know what is both a good and a bad thing about old tech like IRC ? vs Slack, Twitter, Facebook, Email, etc for socializing ?
excepting that they were recording most channels traffic with bots, you could miss things.
things changed.
it was more living you expected people to be there to have real conversations. and then the conversations unless fragments were saved, disappeared on there own.
it made you have to remember things.2 -
How do you deal with relatively complex Boolean logic requirements?
Here's a simple example, of which I missed 50% of the cases because it was non-intuitive to me:
A year is a leap year if:
- it is divisible by 4
- except it is also divisible by 100
- unless it is also divisible by 400
To my intuition, the logic tree is as follows:
if (year % 4 == 0) -> true
if (year % 100 == 0) -> false
if (year % 400 == 0) -> true
so I ended up with 3 cases and I initially missed all the others until I started coding.
The full solution is:
if(year % 4 === 0) {
if(year % 100 === 0) {
if(year % 400 === 0) {
true
} else {
false
}
false
} else {
true
}
true
} else {
false
}
}
I don't like it when I don't immediately see all logic paths.19 -
End of my rant about 35 day recruitment process for anyone interested to hear the ending.
Just got rejected by a company (name Swenson He) for a remote Android Engineer SWE role after wasting 35 days for the recruitment process.
First intro interview went good, then I did an assignment that had 72 hours deadline (asked for couple days longer to do this task, did it in around 40 hours, it was purely an assignment not free work, I could have done it in a day but I choose to overeenginer it so I could use the project as a portfolio piece, no regrets there and I learned some new things). After that It took them 2 weeks just to organize the technical interview.
2 days after the technical interview I received an offer from a second company with 1 week to decide. I immediately informed the Swenson He about it and politely asked whether they could speed up their decision process.
Now I know that I could just sign with the second company and if the big Swenson He would decide to bless me with and offer I could jump ship. But out of principle I never did that for 7 years of my career. If Im in a situation with multiple offers I always inform all parties (it's kinda a test for them so I could see which one is more serious and wants me to work for them more). Swenson He didnt pass the test.
6 days of silence. I pinged the techlead I interviewed with on LinkedIn about my situation, he assured me that he'l ask his hiring team to get back to me with feedback that day.
2 days of silence. I had to decide to sign or not to sign with a second company. I pinged the techlead again regarding their decision and 10min after received a rejection letter. There was no feedback.
I guess they got pissed off or something. Idk what were they thinking, maybe something along the lines of "Candidate trying to force our 35day recruitment process to go faster? Pinging us so much? Has another offer? What an asshole! ".
Didnt even receive any feedback in the end. Pinged their techlead regarding that but no response. Anyways fuck them. I felt during entire process that they are disrespecting me, I just wanted do see how it ends. Techlead was cool and knowledgeable but recruitment team was incompetent and couldn't even stay in touch properly during entire process. Had I didn't force their hand I bet they would have just ghosted me like they did with others according to their Glassdoor reviews.
Glad I continued to interview for other places, tomorrow Im signing an offer. Fuck Swenson He.
P.S. From my experience as a remote B2B contractor if a company is serious the entire process shouldn't take longer than max 2 weeks. Anything outside of that is pure incompetence. Even more serious companies can organize the required 2-3 meetings in a week if they have to and if they are interested. Hiring process shouldnt take longer than MAX 3 weeks unless you are applying for some fancy slow picky corporate company or a FAANG, which is out of topic for this post. -
for some reason, the company's hr platform doesn't allow me to log in, unless i use this very obscure url that got sent to my email. wtf is that about3
-
gradle is infuriating.
firstly there are so limited resources to understand how it's building a java/android code. everything happens by magic and hit+trial
secondly the plugins and the tasks works in mysterious ways. sometime they work when applied in the project root's gradle file, other times they work when applied in module's gradle file, nd other times they need configuration at both levels.
then there are gradle tasks like build ,test, assemble , clean etc. these are less of an action and more of an alias to run a bundle of actions.
then we have 3rd party plugins which attach themselves to these "fat-actions" and run before/after them
and finally we have the fuckup from the java world where the only available code coverage plugin is jacoco and IT FUCKING SUCKS!!! it is a test environment plugin, it should impact test tasks , but somehow it's fucking with the assemble taskin such a manner, that the jars ans aar files generated via plugin are giving runtime errrors. yes , runtime! as if we are back in the messed up js world of "everything is good unless running live"
even if it was a compile time eeror, i would have considered. but runtime?!! fucking runtime error?! i barely understand this shit, there is absolutely no info available as to which classes are being used to create a build and how, and i am supposed to fix this? wtf?!4 -
(Time to actually code feature + time to debug it + time for unit tests to pass/add) * 1.5
Works great in my case unless there are some big major road blocks -
Adobe, the company with virtually limitless budget, somehow created possibly the worst CMS to grace this earth (at least from the UX perspective). Meet Adobe Experience Manager, or AEM for short.
For starters, there's two executable jars: author and publis. Author is where you make all your pages, publish is the "final" preview. Except they're the same jar file. It's deciding which mode to run in based on the jar filename. The filename is also how you configure things like which port it's running on.
Publishing pages (sending them to the publish app) looks simple: select the page you want, press a button and it's ready to view. Except it's not. In order to publish a page and have it visible, you also need to publish the entire directory structure this site is in. So if you have the page in a directory "my-site/en/pages/home", you have to publish "my-site", then "en", then... The real kicker is that when you press "publish" on a page there's a checkbox that asks if you want to also publish everything that's linked to this page, that seemingly doesn't do anything
Ok, enough about publishing. Let's focus on the absolute monstrosity that is the "author" environment. When you first open it, you're greeted with a pretty layout with transitions and animations that's clearly meant for the editors. This is where you make folders and pages, and this is where you publish them. It's worth mentioning that these "folders" exist only in AEM, not on your disk. This part is actually ok, and if it wasn't for the shit publishing ux I'd say it's good.
But, that part only allows you to make pages with some predefined components. What if you wanted to make your own? Don't worry, you can. You just need a maven project that mixes Java, JavaScript, scss and XML in an unholy abomination of frontend and backend that _somehow_ gets compiled into Java classes that then get shoved into AEM and somehow work. Usually. Except for when they just break for no reason (5 people tried the same thing, and each got a completely different error, and it worked for the 6th person with no issues).
But that all was just the surface level stuff. You see, AEM is much more complicated than that. It's not _just_ a wisywyg HTML editor with some customizability sprinkled in. No, sir. It's practically an entire Unix-based operating system. You can open "crxde lite", or like I like to call it, the "os view" to see the entire unix-like directory tree. Just don't be surprised by how it looks. We're in admin/developer territory here, so better get used to the UI that'd make Windows Vista jealous.
The "os" comes with a bunch of apps. Aside from the designer view and crxde lite, there's a replication manager, GraphQL browser, user manager, asset manager and many more. Each app comes with its own UI style and even worse UX than the previous ones. Oh, by the way. I hope you have plenty of ram, cause all those apps are constantly loaded in memory.
Did I mention that the entire thing is written in Java? And I really mean the _entire_ thing. From what I can see, even the frontend JS is generated from Java classes.
So, TL;DR: it's shit. Stay the fuck away from it, and don't use it unless you absolutely have to. Or you're a masochist that wants to make a living out of it. If you know your way around AEM, you're practically guaranteed a well paying job2 -
My previous employer was an e-commerce company. Most of our customers had use it or lose it funds that had to be spent by December 31 each year. So every year, the devs had to stay online until midnight on New Year’s Eve just in case there was a website issue. I didn’t witness any issue during my time there, or at least I was never contacted for support when I was on NYE duty.
They compensated by giving an extra PTO day for future use. Pre 2020, they’d allow us to leave work two hours early on NYE since the office was in NYC and getting home would be a nightmare. But you’d have to work from home to work the NYE support.
It was “optional”, but we know as a dev it’s not really optional unless you have a life and death reason not to. My first few weeks working there, my grandma had passed away. The funeral was NYE weekend so I was excused from doing the NYE support my first year because I was on bereavement leave.
The last two weeks of December were considered blackout dates for PTO, so everyone (including non devs) was not allowed to take any vacation time during those two weeks. Some people might have a problem with that if they’re into holiday celebrations and family and friend get togethers. They did observe Christmas, so that was the only day off most folks got during those two weeks. Though, the period from Thanksgiving through the end of December was stressful.2 -
Whoever designed scoped storage on Android deserves to be congratulated, they managed to make it less usable than qubes os. I've had to rename a file to png and put it in dcim to be able to access it because for some reason download and documents folders need a special snowflake way to be accessed.
Also why the fuck does the dev need to declare the permission to access all files like a file explorer and I can't change it unless I get the app from github and recompile it?2 -
Talent Acquisition for a company I previously turned down reached out to me again. Bragging about their business acquisitions and head count increase. Lol that means nothing to me unless you significantly improved your pretty shitty PTO policy, which is why I turned them down in the first place and explicitly told them that was the reason.
I guess they think I’m desperate because I haven’t updated my LinkedIn, so it looks like I’ve been unemployed for a year. Nope, not unemployed. Just don’t want my enemies to find me at new job.
I ranted about that place here: https://devrant.com/rants/4832237/...2 -
Maybe I'm stupid, but I'm annoyed that there are no good ways to debug Blazor WASM.
It doesn't help to tell me that I got a null value, unless the error tells me which of my 50 variables is causing it5 -
I am implementing an API. How do I know what to do? Read the docs! Unless... there's none on the website. Asked by email and they could provide a PDF, which contains some graphics which you're free to interpret ...
Machine readable description? Nope.
How do I get to know about updates to the API? *blank stare*4 -
As much as i love kotlin, i hate that you dont have static functions like in java. You have to put them in a companion object or write them in extension functions outside of the class.
Also when working with generics (lets say T) you cant call T::class.java unless you are in an inlined function and mark T as refeied. This is not the case in java i think. I havent checked.1 -
Browser automation is a PITA. I’m going on my fourth side mission with this crap and I honestly still look like a newbie. I’ve tried Java Selenium with Chrome, Excel VBA with IE9, Vanilla JS in the browser console, and tonight I’m thinking to concoct some kind of hybrid CDP & Selenium approach in Chrome. Never used CDP before, not even sure where to start but I heard it sucks like anything else unless you get some extra libraries and plugins and stuff.
It doesn’t help that I can’t get just anything I want from our IT Department. It would be another PITA to ask for puppeteer. If puppeteer is totally legit please let me know.
Selenium sucks. The buttons don’t click, the waits don’t wait. Its unusable. Iframes are annoying as all hell but I can deal with that. HTML Tables suck too. It doesn’t help I have to restart my whole java program and whole Chrome every time an element doesn’t get picked correctly. Scripting one single element can take all fucking night.
Chrome dev tools what the fuck. Why the fuck is the DOM explorer in the same window as the web page I’m working on?? I can’t undock it. Am I supposed to use a fucking TV screen to work with this bastard?? If I use the remote chrome tools on port 9225 or whatever - It Still Renders The Whole Fucking Page Alongside The Console. Get Out Of My Way!!! The nested HTML CODE IS ONE CHARACTER WIDE ALL THE TIME. I can’t for the life of me figure out what the fuck I’m looking at. Haven’t you people ever heard of A HORIZONTAL SCROLL BAR at least.
Fuck I tried using getElementById, and the Xpath thing and its not all that great seeing I have seemingly 1000s of nested Divs all over the god damned place oftentimes containing a single element. I’m finally on chrome now should I learn Jquery now? I mean seriously wtf.
I use this one no code tool for dev it has web automation built in. As you can imagine its just as broken as anything else!! I have 10 screens to navigate it gets stuck on the second screen all the damn time. Fuck I love clicking the buttons when my script misses and playing catch up with it.
So as a work around to Selenium not waiting even 1 millisecond when I use explicit wait or implicit wait or fluent wait, I’m guessing maybe I can attach both Chrome Dev Tools Protocol (CDP as ive called it earlier) and selenium to the same browser and maybe I can use CDP to perform a Wait with any degree of success. Selenium will do nothing more than execute vanilla javascript Element.click(); This is the only way I know to even ACTUALLY use selenium beyond the simplest html documents possible. Hell I guess CDP can execute js idk.
I can’t get the new selenium that has CDP but I do have some buggy ass selenium from a few years back. Yeah, I remember reading there was a pretty impactful regression defect in the version I have. Maybe I’m being gaslighted by some shit copy of selenium?
The worst part is that I do seem to be having issues that the rest of the internet’s devs do not seem to be having. People act like browser automation is totally viable and pretty OK. How in the fuck hell is my Selenium Test Suite going to be more reliable my application under test?!!?? I’ll have more fucking bugs in my test suite than in my application. Today, I have less than half a test script and, I. already. fucking. do.
I am still SUPER PISSED at the months of 12 hour days (always 8 hours spent on normal sprint work btw only 4 to automation) I spent trying to automate our regression tests. I got NOWHERE.
I did learn a lot about HTML and JS though like I’m not that mad…but I’m just trying to emphasize my achievement on my task was zero.
The buttons don’t click. There are so many divs and I swear you sometimes need to select a div somewhere in the middle sometimes to get it working. The waits don’t wait. XHR requests are invisible. Java crashes 100 times before I find an xpath and thread.sleep() combo that works. I have no failure modes to use — Sometimes I click the same element 20x in a script because I have no way to know if it clicked the first time! Sometimes you gotta scroll the page to make the click work. So many click methods all broken. So many wait methods all broken. Its not just the elements don’t click! There are so many ways to click that almost work but surely they all fail the same in the end. ok at this point I’m just repeating myself…
there yet even more issues that I can’t remember…and will soon remember as I journey into this project yet again…
thanks for reading I hope I entertained and would love to hear your experience!6 -
Checking for root is maintaining a false façade of security. By the definition of root it can always be bypassed and we should be designing workflows to discourage logging in from an untrusted device unless you have 2fa.1
-
Has anyone seen an AI/ML/whatever in the wild? I mean, an _actual_ implementation in production that is actually used.
And Powerpoint slide does not count (unless it of course were created by AI/ML/whatever).
I hear a lot of big words from management but I can’t see anything anywhere.9 -
You know I don't want to hate everyone
Since you guys seem so intentionally narrating ok fucked up mindsets you all apparently create in your psycho offspring
Wouldn't it make more sense to put this suppose duplicate who is like allof you creatures in this ?
Unless I'm gonna be contracted to remove people who do these awful things it's a waste of time really8 -
Suddenly, I find myself in a crossroad situation. I have been offered a position which would align perfectly with my career path aspirations (cloud solutions architect) with double the pay to my current salary. If only those were the only variables in this equation, taking the offer would be a no-brainer. Alas, it is never that simple (unless all you care about are pay and career path, of course)…
So, let’s break it down to pros and cons of jumping ship, shall we?
Pros:
- double pay compared to current salary
- aligns with my career aspiration
- part of a team of cloud solutions architects (mentorship opportunities)
- varying projects (position is at a consultancy firm)
- shares of the company come with the position ($$$ if it grows)
- possibility to influence strategic decisions
- no more 2h+ commutes
Cons:
- it’s a consultancy startup (emphasis on both consultancy and startup)
- 100% wfh
- would mean losing my current team where we are well and truly glued together and have such great vibes (and I value this, very very highly - this really is the main con)
- would mean losing my current work environment, where we have a gym and sauna at the office etc all kinds of stuff that support my athletic lifestyle
- would mean I don’t have as many opportunities to visit my parents anymore (since they live close to my current office but not close to me)
- at my current position I have super interesting projects both ongoing and in the horizon for a long time to come
- would mean eating my words (see previous point, and the fact I’ve said to my TM ”I can see myself staying as long as this job offers me opportunities to keep learning skills that are meaningful to me”), and I value my integrity
- would mean leaving my colleagues in quite a hairy spot, effectively betraying them in my mind (when our lead dev jumped ship a few years ago, he left us in quite a limbo and hands full of shit we didn’t know what to do about… I don’t wish that situation for anyone)
So, to sum it up, my reasons to stay are more those of moral integrity and convenience, well as the will to see the wheels I got rolling to the end, whereas my reasons to go are more personal finances and career oriented. A difficult decision. What to do?14 -
Cross training is a flat out myth. It can’t be done unless the trainees are going to be working on the system day in and day out. How is someone expected to know a system they’ve only seen in presentations six months ago? There are developers that work on a system and ones that don’t - it’s that simple.2
-
I made a little automated Docker reverse proxy called Autocaddy to simplify developing unrelated little trinkets under subdomains of a domain name:
https://github.com/lbfalvy/...
It dispatches subdomains to the (container with the) matching network alias and terminates TLS.
it's a little rough around the edges but to my understanding it shouldn't be an inherent risk (unless you're running things that interfere with name resolution like VPN on the container host, but why would you do that if it's already a container host).4 -
Chromium has royally fucked their own devtools.
You wanna add a style property? No. You're only allowed to update styles already that are there unless you click on some arbitrary space between brackets and properties.
You wanna click on a property's value to edit it? No. You get a dropdown to edit the unit value OR you can slide the mouse to update the value, nothing else.
You want to update CSS in the inspector, or switch them on or off? No. You get CSS that breaks as soon as you apply it and turns into garbage.
You want to copy CSS from the inspector after changing it? No. You get a line break in between each word for NO FUCKING REASON.
I hate web development sometimes. -
because bluetooth isn't designed for ultra-high-gaming-inputs. and you don't need higher polling rates unless you're a very competetive gamer. in which case you're using wired, anyway, because latency.5
-
You can now sefi your trip w/ that company... but why that logo? It's a bus...unless they got plains too7
-
It's not GDPR compliance unless it comes from the GDPR region of Brussels.
Otherwise it's just a sparkling high latency CRUD API over Email enforced by law.3 -
Every day has repetition in it of course but why become animatronic dummies ? Literally same shit. Stop doing the same things because I mention that you're all weird mother fuckers that do the same shit ! If that is even the case ! People used to have differing conversations unless they were borinh mudbrick stacking shit covered peasants! At least they built up different behaviors god9
-
Is there anyone in the whole of devRant working with VR, AR, speech or motion detection?
I keep thinking that those were just fads that disappeared, because I'm still to see a single lasting-success product.
It might be temporary, someone might invent motion control that actually works or an Alexa that does not suck (unless you speak English with an toothpaste-commercial accent), or a non-goofy AR set.
But if not a single dev in devRant is working with it, it does not seem likely.7 -
Seems we're gonna be breaking some people very soon. Lol phone go fly off bridge lol
UNLESS IT FUCKING BEHAVES! -
!rant Learned from an online course that you can use Chrome Snippets (JS) to run your own code as an entire file rather than writing it all in console (which only supports line by line unless you do shift + enter).
I had seen this before but I wasn't fully aware of it.1 -
Yaaay Myopia has entered the chat!
never been nearsided before but god its annoying.
couldn't even see or read the waffle cones tag on the box and don't even say glasses those will turn you eyes into dormant jellies. yuck!!!
to be honest i never touched grass in 2 years :P
(unless it was school sol testing or going out to the store)2
Top Tags