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 - "vendors"
-
For the Dutch people on here, the new surveillance law in short:
- dragnet surveillance, data retention of normal data is a maximum of 3 years, encrypted data up to 6 years.
- secret DNA database, data retention up to 30(!!) years.
- use of 0days without having to report them to the vendors.
- third parties may be hacked to get to main targets; if my neighbor is suspected they may legally hack me in order to get to him/her.
Cleaning up (removing backdoors etc) afterwards is not required.
- sharing unfiltered (raw) data gathered through dragnet surveillance with foreign intelligence agencies is permitted, even if it's to a country which doesn't have as much 'democracy' as this country does.
Decide for yourself if you're voting (at all) against or in favor of this law, I'm voting against :)
We do need a new/reformed law, this one is just too intrusive imo.34 -
A big shoutout to all software vendors, who, at the top of their product homepage, simply explain to you in 2-3 non-bullshit sentences what their product actually does, and what it is used for. I fucking love you.
And a big fat middle finger to all the rest with your useless buzzword gobbledygook. Go to hell.9 -
rant? rant!
I work for a company that develops a variety of software solutions for companies of varying sizes. The company has three people in charge, and small teams that each worked on a certain project. 9 months ago I joined the company as a junior developer, and coincidentally, we also started working on our biggest project so far - an online platform for buying groceries from a variety of vendors/merchants and having them be delivered to your doorstep on the same day (hadn't been done to this scale in Estonia yet). One of the people from management joined the team working on that. The company that ordered this is coincidentally being run by one of the richest men in Estonia. The platform included both the actual website for customers to use, a logistics system for routing between the merchants, the warehouse, and the customers, as well as a bunch of mobile apps for the couriers, warehouse personnel, etc. It was built on Node.js with Hapi (for the backend stuff), Angular 2 (for all the UIs, including the apps which are run through a WebView wrapper), and PostgreSQL (for the database). The deadline for the MVP we (read: the management) gave them, but we finished it in about 7 months in a team of five.
The hours were insane, from 10 AM to 10 PM if lucky. When we weren't lucky (which was half of the time, if not more), we had to work until anywhere from 12 PM to 3 AM, sometimes even the whole night. The weekends weren't any better, for the majority of the time we had to put in even more extra hours on the weekends. Luckily, we were paid extra for them, but the salary was no way near fair (the majority of the team earned about 1000€/mo after taxes in a country where junior developers usually earn 1500€/month). Also because of the short deadline given to us, we skipped all the important parts like writing tests, doing CI, code reviews, feature branching/PR's, etc. I tried pushing the team and the management to at least write tests and make feature branches/PRs, but the management always told me that there wasn't enough time to coordinate and work on all that, that we'll do that after launching the MVP, etc. We basically just wrote features, tested them by hand, and pushed into the "test" branch which would later get tested and merged into master.
During development, one of the other juniors managed to write the worst kind of Angular code you could imagine - enormous amounts of duplication, no reusable components (every view contained the everything used in the view, so popups and other parts that should logically be reusable were in every view separately), fuck - even the HTML was broken (the most memorable for me were the "table > tr > div > td" ones, but that's barely scratching the surface). He left a few months into the project, and we had to build upon his shit, ever so slightly trying to fix the shit he produced. This could have definitely been avoided if we did code reviews.
A month after launching the MVP for internal testing, the guy working on the logistics system had burned out and left the company (he's earning more than twice the salary he got here, happy for him, he is a great coder and an even better team player). This could have been avoided if this project had been planned better, but I can't really blame them, since it was the first project they had at this scale (even though they had given longer deadlines for projects way smaller than this).
After we finished and launched the MVP, the second guy from management joined, because he saw we needed extra help. Again I tried to push us into investing the time to write tests for the system (because at this point we had created an unstable cluster fuck of a codebase), but again to no avail. The same "no time, just test it manually for now, we'll do that later when we have time" bullshit from management.
Now, a few weeks ago, the third guy from management joined. He saw what a disaster our whole project was. Him joining was simply a blessing from the skies. He started off by writing migrations using sequelize. I talked to him about writing tests and everything, and he actually listened. He told me that I'm gonna be the one writing them, and also talked to the rest of management about it. I was overjoyed. I could actually hear the bitterness in the voices of the rest of management when they told me how to write the tests, what to test, etc. But I didn't give a flying rat's ass, I was hapi.
I was told to start off by writing a smoke test for the whole client flow using Puppeteer. I got even happier, since I was finally able to again learn new things (this stopped at about 4 or 5 months into the project).
I'm using jest as the framework and started writing the tests in TypeScript. Later I found a library called jest-extended, but it didn't have type defs, so I decided to write them and, for the first time in my life, contribute to the open source community.19 -
This mother fucker right here.
Today I was asked as a favor by one of our vendors to assist one of their other customers with an API integration issue. We work very closely with this vendor and help beta their products etc.
I'm helping as a favor. And this guy could not be more of a dick. Constantly throwing his 20ys of experience at me and saying the API is broken. A good portion of my job is API integration so I've seen 30+ platforms all done differently and this one in question is by far the simplest.
Where does this chodemuffin get off being a dick to me? You know what buddy. Eat a dick. Figure it out yourself.3 -
Well, here's the OS rant I promised. Also apologies for no blog posts the past few weeks, working on one but I want to have all the information correct and time isn't my best friend right now :/
Anyways, let's talk about operating systems. They serve a purpose which is the goal which the user has.
So, as everyone says (or, loads of people), every system is good for a purpose and you can't call the mainstream systems shit because they all have their use.
Last part is true (that they all have their use) but defining a good system is up to an individual. So, a system which I'd be able to call good, had at least the following 'features':
- it gives the user freedom. If someone just wants to use it for emailing and webbrowsing, fair enough. If someone wants to produce music on it, fair enough. If someone wants to rebuild the entire system to suit their needs, fair enough. If someone wants to check the source code to see what's actually running on their hardware, fair enough. It should be up to the user to decide what they want to/can do and not up to the maker of that system.
- it tries it's best to keep the security/privacy of its users protected. Meaning, by default, no calling home, no integrating users within mass surveillance programs and no unnecessary data collection.
- Open. Especially in an age of mass surveillance, it's very important that one has the option to check the underlying code for vulnerabilities/backdoors. Can everyone do that, nope. But that doesn't mean that the option shouldn't be there because it's also about transparency so you don't HAVE to trust a software vendor on their blue eyes.
- stability. A system should be stable enough for home users to use. For people who like to tweak around? Also, but tweaking *can* lead to instability and crashes, that's not the systems' responsibility.
Especially the security and privacy AND open parts are why I wouldn't ever voluntarily (if my job would depend on it, sure, I kinda need money to stay alive so I'll take that) use windows or macos. Sure, apple seems to care about user privacy way more than other vendors but as long as nobody can verify that through source code, no offense, I won't believe a thing they say about that because no one can technically verify it anyways.
Some people have told me that Linux is hard to use for new/(highly) a-technical people but looking at my own family and friends who adapted fast as hell and don't want to go back to windows now (and mac, for that matter), I highly doubt that. Sure, they'll have to learn something new. But that was also the case when they started to use any other system for the first time. Possibly try a different distro if one doesn't fit?
Problems - sometimes hard to solve on Linux, no doubt about that. But, at least its open. Meaning that someone can dive in as deep as possible/necessary to solve the problem. That's something which is very difficult with closed systems.
The best example in this case for me (don't remember how I did it by the way) was when I mounted a network drive at boot on windows and Linux (two systems using the same webDav drive). I changed the authentication and both systems weren't in for booting anymore. Hours of searching how to unfuck this on windows - I ended up reinstalling it because I just couldn't find a solution.
On linux, i found some article quite quickly telling to remove the entry for the webdav thingy from fstab. Booted into a root recovery shell, chrooted to the harddrive, removed the entry in fstab and rebooted. BAM. Everything worked again.
So yeah, that's my view on this, I guess ;P31 -
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 -
My boss is still forcing us to support IE11. Recently, we started having even more bugs with one of our vendors on IE. We filed bug reports with the vendor to fix it, and they came back with "no. Why would we fix anything for IE11? Not even Microsoft is fixing anything for IE11." Boss's answer: well, let's make a separate component for IE11. Probably using flash and/or silverlight. We asked about redirecting IE traffic to Edge, he said that's "the nuclear option." So, doing the thing that Microsoft suggests, that involves not much work at all is "the nuclear option"; ignoring industry standards and recommendations, introducing well known security vulnerabilities, losing money, and trying to circumvent the vendor that serves out our major product, however, is totally reasonable. Our IE traffic is less than 3% of our users at this point.24
-
At the data restaurant:
Chef: Our freezer is broken and our pots and pans are rusty. We need to refactor our kitchen.
Manager: Bring me a detailed plan on why we need each equipment, what can we do with each, three price estimates for each item from different vendors, a business case for the technical activities required and an extremely detailed timeline. Oh, and do not stop doing your job while doing all this paperwork.
Chef: ...
Boss: ...
Some time later a customer gets to the restaurant.
Waiter: This VIP wants a burguer.
Boss: Go make the burger!
Chef: Our frying pan is rusty and we do not have most of the ingredients. I told you we need to refactor our kitchen. And that I cannot work while doing that mountain of paperwork you wanted!
Boss: Let's do it like this, fix the tech mumbo jumbo just enough to make this VIP's burguer. Then we can talk about the rest.
The chef then runs to the grocery store and back and prepares to make a health hazard hurried burguer with a rusty pan.
Waiter: We got six more clients waiting.
Boss: They are hungry! Stop whatever useless nonsense you were doing and cook their requests!
Cook: Stop cooking the order of the client who got here first?
Boss: The others are urgent!
Cook: This one had said so as well, but fine. What do they want?
Waiter: Two more burgers, a new kind of modern gaseous dessert, two whole chickens and an eleven seat sofa.
Chef: Why would they even ask for a sofa?!? We are a restaurant!
Boss: They don't care about your Linux techno bullshit! They just want their orders!
Cook: Their orders make no sense!
Boss: You know nothing about the client's needs!
Cook: ...
Boss: ...
That is how I feel every time I have to deal with a boss who can't tell a PostgreSQL database from a robots.txt file.
Or everytime someone assumes we have a pristine SQL table with every single column imaginable.
Or that a couple hundred terabytes of cold storage data must be scanned entirely in a fraction of a second on a shoestring budget.
Or that years of never stored historical data can be retrieved from the limbo.
Or when I'm told that refactoring has no ROI.
Fuck data stack cluelessness.
Fuck clients that lack of basic logical skills.5 -
This is my most ridiculous meeting in my long career. The crazy thing is I have witnessed this scenario play out many times during my career. Sometimes it sits in waiting for a few years but then BOOM there it is again and again. In each case the person that fell into the insidious trap was smart and savvy but somehow it just happened. The outcomes were really embarrassing and in some cases career damaging. Other times, it was sort of humorous. I could see this happening to me and I never want it to happen to you.
Once upon a time in a land not so far away there was a Kickoff Meeting for an offsite work area recovery exercise being planned for our Oklahoma locations. Eleven Oklahoma high ranking senior executives were on this webinar plus three Enterprise IT Directors (Ellen, Jim and Bob) who would support the business from the systems side throughout the exercise.
The plan was for Sam Otto, our Midwest Director of Business Continuity to host this webinar. Sam had hands-on experience recovering to our third party recovery site vendor and he always did a great job. He motivated people to attend the exercise with the coolest breakfasts and lunches you could imagine. Donuts, bagels, pizza, wings, scrumptious salads, sandwiches, beverages and desserts. He was great with people and made it a lot of fun.
At the last minute Charles 'Don't Call Me Charlie' Ego-Smith, the Global Business Continuity Senior Vice President, decided to grand-stand Sam. He demanded the reins to the webinar. Pulled a last-minute power-play and made himself the host and presenter. You have probably seen the move at some point in your career. I guess the old saying, 'be careful what you wish for' has some truth to it - read on and let me know if you devRanters agree...
So, Charlie, I mean Charles, begins hosting the session and greets all of the attendees. Hey, good so far! He starts showing some slides in the PowerPoint presentation and he fields a few questions, comments and requests from the Oklahoma executives. The usual easy to handle requests such as, 'what if we are too busy to do recover all systems', 'what if we recover all of our processes from home', 'what if we have high profile visitors that month?' Hey you can't blame them for trying. You are probably thinking to yourself, 'been there - heard that!' But luckily our experienced team had anticipated the push-back. Fortunately, Senior Management 'had our backs' and committed that all processes and systems must participate and test - so these were just softball requests, 'easy-peasy' to handle. But wait, we are just getting started!
Now the fireworks begin. Bob, one if the Enterprise IT directors started asking a bunch of questions. Well, Charles had somewhat of a history with Bob from previous exercises and did not take kindly to Bob's string of questions. Charles started getting defensive and while Bob was speaking Charles started IM'ing. He's firing off one filthy message after another to me and our teammate Sam.
'This idiot Bob is the biggest pain in the ass that I ever worked with'; 'he doesn't know shit', 'he never shuts the f up', 'I wanna go over to his office and kick his f'in ass...!'
Unfortunately...the idiot Charles had control of the webinar and was sharing his screen so every message he sent was seen by all of the attendees! Yeah, everyone including Bob and the Senior Oklahoma executives! We could not instant message him to stop as everyone would have seen our warnings, so we tried to call Charles' cell phone and text him but he did not pick up. He just kept firing ridiculously embarrassing dirty IM messages and I guess we were all so stunned we just sat there bewildered. We finally bit the bullet and IM'ed him to STOP ALREADY!!! Whoa, talk about an embarrassing silence!
I really felt sorry for Bob. He is a good guy. Deservedly, Charlie 'Yes I am going to call you CHARLIE' got in big time hot water after the webinar with upper management. For one reason or another he only lasted another year or so at our company. Maybe this event played a part in his demise.
So, the morale is, if you use IM - turn it off during a webinar if you are the host. If you must use it, be really careful what you say, who you say it to and pray nothing embarrassing or personal is sent to you for everyone to see.
Quick Update - During the past couple of months I participated on many webinars with enterprise software vendors trying to sell me expensive solutions. Most of the vendors had their IM going while doing webinars and training. Some very embarrassing things came flying across our screens. You learn a lot reading those messages when they pop-up on the presenters' screen, both personal and business related. Some even complaints from customers!
My advice to employees and vendors is to sign-out of IM before hosting a webinar. Otherwise, it just might destroy your credibility and possibly your career.5 -
I've recently red a blog post stating 'Google leaves x Million Android devices vulnerable to a new Exploit'
I don't really sympathize with Google, but it's simply the wrong message... It should be more like FUCK VENDORS, WHO WON'T SUPPLY UPDATES TO DEVICES OLDER THAN 1.5 YEARS
Seriously, it's them who make you stuck on outdated OS versions... Just imagine you could only install Windows Vista on your 2014 Lenovo ThinkPad, because it's considered outdated...
FUCK VENDORS (again, just in case)8 -
Story time:
Yesterday I wanted to go to the theater with my girlfriend. It was her idea because as a student you can get reduced tickets for the play, but only via the online store exactely two hours before the play starts. We had already tried two weeks before but with no success. So this time I said i want to be on my pc with a proper browser and not a mobile version like last time. So we are sitting at home me in front of their website on one screen and with a clock on the other screen. Two minutes realy i hit refresh and I get a selection for the reduced tickets, nice.
You would think.
After selecting the amount. ERROR: Can not get your tickets. I was like fuck they are already sold out because it's a popular play. But hey let's try again. I got one ticket but not the second one, okay strange lets try again, same ERROR again. WHAT the FUCK, no feedback what so ever. My girlfriend had then the idea that they maybe restricted the amount for reduced tickets to one (does not state this explicitly but hey lets give it a shot). Use second browser select one ticket. ERROR can not get you the amount of seats. Rage level near to a 1000 why did it work two minutes before but not anymore. Trying around for five more minutes finally got the second ticket.
Now the real fun begins.
Proceeding to checkout should not be that hard you would think, but you need to be registered for that. Okay so let's do that. The salutation is not required neither is the address for the tickets but you need to have a company name??!!!!! The fuck?? I am not self employed and neither are a most other people around here so why is this field mandatory? Beeing a little under stress I decided to found the "asdf" company with my girlfriend.
Now one would think checking out is easy. Not so fast.
After accepting the terms of service another ERROR, unable to accept your data. What data? I did not input anything new? Where does this come from? Ok never mind I am going to pay with credid card that must work!
ERROR: Internal paymentservice initialization failure! Sorry what? I thought maybe I was to long idle in this browser and they do not reserve the tickets for so long (which would be no surprise to me at this point). Let's try again. Nope same error.
Now my rage level was really over 9000 but we really wanted to go so I decided to call the customer SUPPORT. Or better to say I had a answering maching telling me for ten minutes how sorry they are that this takes so long, yeah you bet. Then and this is now really great: the support guy asks me: "What error do you see? Internal paymentservice initialization failure?" I was like, okay he knows this so they need to know how to handle it. FUCK NO. "Sorry I can't help you. This is our payment system maybe they (IT) are doing some maintenance I can't halp you. Call the theater directly good day." Sorry what just happened, you fuckers are the vendors for the tickets for nearly all big events around here and the theater explicitly states to call you for tickets but you can not help me? Like hell.
This process took 25 very frustrating minutes and I was really angry and wanted to quit, then I saw that there is also a paypal option which I had not tried. With very little hope i selected everything for the payment, registered with paypal and they told me I already had an account. So reactivated this five year old account payed with all the mobile passwords and tans to finally, after 30 fucking minutes, get a pdf file for a ticket. Repeated the last step for the second ticket and with some time left to get there we were off.2 -
All respect to android (love the system (no, that doesn't mean that I love google)) and also to awesome custom roms (hell even some vendors make quite good ones imo!).
BUT WHO THE FUCKING HELL THOUGHT IT WOULD BE A GOOD IDEA TO LIMIT THE AMOUNT OF ALARMS YOU CAN HAVE TO 15 OR EVEN LIMIT IT AT ALL?!?
I HAVE TO GET UP AT 3:30 FOR WORK EACH NIGHT AND THIS IS *NOT* HELPING.
THE PERSON WHO THOUGHT THIS WAS A GOOD IDEA CAN TAKE A PHONE, OPEN THAT DEFAULT CLOCK APP AND SHOVE IT UP HIS FUCKING ASS.24 -
I have got a new director at work. My previous director had to retire already, the man was already feeling it and he had been on the institution for more than 35 years....I am 30, so this tells you how much the man has been there.
This new dude.....has the presence of a Caterprie (Pokemon) or an Oompa Loompa. In contrast, the previous director felt like a 4 star General (never been in the presence of a 5 star since those occurrences are world war rare) but I had respected that man so much and loved working with him. I really did loved my boss, he was stern and professional, but kind and friendly to his staff, fiercely protective, no one took advantage of I.T while he was there, he would literally fight for us and took our word before anything else. The man was, well, a true man. A true leader.
He took a chance in putting me as the head of my department, but he had faith in me, and coached me and trained me as much as he could. Had the requirement for his position not been a masters he himself told me that he would have loved to make me his successor, even when I would constantly tell him that I was scared shitless of the work he did and the amount of things he did for the institution, to me this is a very laaaaaaaaarge cowboy hat to fill (this is Texas, he wore a hat, the saying is normally "shoes to fill", but fuck it)
This new guys looks away when the other managers are speaking to him. He constantly interrupts us. He constantly tells us about how the other institution in which he was (rival might I add) does X or Y, its fucking annoying to the point that me and the other managers have a drinking game, for every time he references his old institution we drink one beer over the weekend. It is Saturday night and I am 36 in in total (this is my favorite part of it tho) and it is just annoying.
His train of thought makes no sense to me:
"This application, where did you buy it? we tried purchasing one on Y when I was still there but found none"
Me: "Well, since it was a new government mandate and had nowhere to go we had to develop it in house"
Him: "We had tried to purchase what you guys had but found no place that sold it, so why didn't you try purchasing it?"
Me:.....well, because it was brand new, purchase it from where? We also don't like dealing with vendors that manage these sorts of things because every new requirement takes them weeks to produce on very high budgets, historically, my department has only had maintenance fees for the software that we have and even those applications crap themselves all the time and they take weeks to answer back to us.
Him: So you decided to develop it in house instead? we would never do that! back at y we purchased everything our engineers never really developed anything!
Me: Well then, what is the purpose of having engineers if they are not going to actually develop an application?
Him: IF there is something out there that is better then why should you reinvent the wheel?
Me: For this one I did not reinvent the wheel, I am not talking about creating a programming language from scratch, but how does custom solutions that specifically feed the needs of the institution to be produced otherwise? The department has developers for a reason, because they have very specific needs in here that can only come from a team of developers that are in house satisfying those needs.
Him: Well our engineers never had to do that. Sure projects sometimes had to put on holds because the vendor was busy, but such is the nature of development
Me: No it is not, the nature of development is to create things, it is one thing for my team to go through bugs and software considerations, it is another for me to not provide a service because some random company is taking two weeks on a $300 dllr an hour contract to put a simple checkbox on a form. If a project fails the board is not going to care that some vendor is not doing their job, they are just going to blame me, if that is the case then I would much rather the blame be actually mine than some sucky third party "developer" also, your engineers where not even engineers, they were people with a degree that purchased things, that's it, please do not compare them to my guys or refer them as engineers in front of me, they are not.
Him: Well, maybe.
MAYBE?!! motherfucker I did not kill myself learning the ins and outs of architecture and software engineering on my own time after my fucking bachelors in C.S for your codeless background ass to tell me MAYBE. My word IS the fucking WORD here, not yours. Fuck me I really dislike this dude's management practices.
The shitty part? He is not a bad person, he is not a bad dude that is out to get us, just a simple minded moron with no place as a leader.
I know leaders, I know what a leader is, this is not one.10 -
My uncle was a programmer. My whole extended family lived very close together, so I saw him almost every weekend. He would tell me tall tales about the war between corporations and open source. I started hating all things Microsoft and advocating for Linux. For my 12th birthday, he gave me a computer he had recently fixed. Of course, it had Ubuntu Linux.
That's when he started teaching me the basics: Bash, Lisp, and C. I know some of you are tired of the cliche "I started coding at 12 and built my first OS at 16," but of course that's not reality. I really just wrote simple math formulas like chicarronera^[1] for my homework, a super simple text-input videogame, and a button-filled GUI. That's nothing compared to what I do now, so I won't dare put that into my resume. But it did give me an advantage over my peers, and by the time I had to self-learn web development for my job, my uncle had already given me all of these tools.
[1] Spanish slang for the quadratic equation. Literally means "street vendor who sells chicharron". The formula is taught so fierce in school that even street vendors must know it.3 -
Contenders for arseholes this week
- Elasticsearch as their implemented product identification and integration in client libraries like Python to exclude OpenSearch made a lot of things very painful. Yay....
- Microsoft decided to integrate kill switches in Exchange. Yeah.... Great stuff.
- Atlassian has another week of dumbness - after they botch release after release, they killed Slack with DNS
- Adoptium still hasn't managed to provide repositories after fucking up it's transition from AdoptOpenJDK
- No, a project with JDK 8 makes no sense anymore, take that shit and burn it. JDK 11 the same, would be great if we had a Repository working for JDK 17 Adoptium....
- unwanking a TLS setup by integrating an intermediary load balancer to deal with several outdated TLS implementation is a kind of thing that's really scary...
(TLS 1.3 in, TLS 1.1 - TLS 1.3 out... Theoretically all solutions have TLS 1.2… most of them non working. Solutions is a wild bunch from different vendors)
- If you buy a fucking new Apple with an Arm Chipset, ram it up so far up your arse it gets dissolved in stomach acid.
It's an arm. There's tons of compatibility problems of course. No you shouldn't listen to what the marketing says. No I cannot shit rainbows and make it work.
- German election. No politics I know, but still.
- New neighbors decided to move in. Friendly person's. Except I wanted to murder them since they choose 22 o clock for moving time.
- I forgot putting the heater on. Ever woken up frozen like fuck and having a hard week... It's a good combo to break any form of motivation.
The company next to me is renovating. Waking up to the feeling of an earth quake because they demolish their old building is another thing that makes me unhappy.
It's Friday. I survived.17 -
Back in my sysadmin days we had an IT zoo to look after. And I mean it... Linux side was allright, but unix.... Most unices were no longer supported. Some of their vendors' companies were already long gone.
There was a distant corner in our estate known to like 2 people only, both have left the company long ago. And one server in that corner went down. It took 2 days to find any info about the device. And connecting to it looked like:
1 ssh to a jumpbox #1
2 ssh to a jumpbox #2
3 ssh to a dmz jumpbox
4 ssh to an aix workload
5 fire up a vnc server
6 open up a vnc client on my workstation, connect to than vnc server [forgot to mention, all ssh connections had to forward a vnc port to my pc]
7 in vnc viewer, open up a terminal
8 ssh to hp-uxes' jumpbox
9 ssh to the problematic hp-ux
.....6 -
Them: "What can we do to fix this?"
Me: Contact the vendor
Them: Ok, but from our side?
Me: Wait for the vendor to reply
Them: And what can we do to prevent this from happening again?
Me: get better vendors, include I.T on the process when the org decides to purchase shitty third party software.
Them: Ok but besides that?
Me: Drink?
Seriously tho, tf you expect me to do?5 -
Memo on August 4th: Staff, we're moving to the new building. IT, make sure the building is ready by September 15th.
IT: But the entire networking, surveillance, fire suppression (yes, we do that too) and power management systems have to be installed/redone.
Management: What's so hard about that? Just get it done.
Memo about a week ago: Timeline for move shifted to September 9th
IT: Sir, this request is unreasonable especially since you still want us to go through the usual procurement process of hiring vendors to deal with stuff.
Management: So you mean to tell me you can't handle that in the next couple weeks?
IT: We're a large organisation with ~300 employees. The data centre in the new building isn't even usable yet.
Management: I don't care. Make sure everything is placed and operational by the 5th. Stop making a mountain out of a mole hill!4 -
A couple of months back we were discussing sh with a third party vendor for a very large ass fuck system that another department uses. I had been called into the meeting because the entire I.T department counts on me to at least act as an assessor to the many issues that other departments might have.
the department for which i was working with manages the databases that our institution uses, and in this particular question the DBA (my best friend mind you) was part of the meeting.
Mind you, issues that the third party vendor were having were all fixed by our DBA, and he had documented and mentioned these items to me as I provided assistance to him through the 3 weeks prior to this meetings. Once such case was that we needed a transitioning as well as intermediary system for some processes to happen from one DB to the other and a lot of other technical babble. Well, the DBA used to be an excellent (fuck you) VB developer who recently re-learned the language into .net. He had shown me many of his old programs and even by the limitations of the language they were elegant and fascinating. They really are and ya'll devrant fam know that I ain't one to hate on tech at all.
When the DBA explained how he went around some of the issues by generating programs that could assist him, he mentioned the tech stack, I had coached him into knowing that being descriptive about the tools he used would be beneficial to everyone else. While he mentioned VB.NET the vendor snickered and my boy got quiet.
Then I broke the silence, fuck you. "what was that?" and the dude said "nothing, sorry"
So I said "no no, I want to know, I am not going past this point until you, the dude getting paid over $100 an hour for something YOU couldn't fix explain to me the little hehe moment you had"
The mfker went silent. then explained how he was aware that people were moving past vb.net and shit like that, me "imagine that, someone used a tech stack that your ignorance thought obsolete to fix something you could not solve, even though we are paying you for it, were it me or in my hands, and mind you i have direct access to the VP so this foolishness might change, I would have cut you and your little sect loose months ago, I have no patience, or appreciation from leeches like you or the rest of the "professionals" that work for your company or other similar entities, much less, as you can see, my patience runs even less when you people snicker at the solutions that our staff has to take when you all slack"
The entire meeting was uncomfortable as high heaven.
Fuck you, if someone I know manages to run shit on fucking liberty basic then so fucking be it. I will slap you 10 fucking times over, and then fuck your girl, if you try to put someone else down for the tech stacks you use.
I hate neck beards, BUT I hate fake ass neckbeards ever more
*Colin Farrell in true detective mode: FUCK....YOU13 -
Stakeholder: Our customers aren’t getting their order confirmation emails. It’s going to their spam. Is there a way to resend the emails?
Me: Wait. The email getting sent to their spam is not the same as not getting the email. Is it both or just one of those things?
SH: Here are some emails getting sent to spam.
Me: These are sent by third party vendors that you contract with. I have no control over what they do. You need to talk to your vendors.
SH: 😮
Me: 😑 -
This is quite interesting and one hell of a find by this guy... Google (and other browser vendors) should reward him:
https://jameshfisher.com/2019/04/...3 -
Manager: Can you stay late as fuck today? One of our bitchiest vendors is gonna update their piece of crap and I'm pretty damn sure shit is gonna hit the fan
Dev (inner voice): no fucking way, I have kids to watch and chores to do!
Dev (outer voice): can't we just check everything in the morning?
Manager: No fucking way! If there is some fucking "challenge" when our "people" try to log onto their shit, I'm gonna look like a chump!
Let's talk silvers, I will sign on that bloody commie bullshit for your hours tonight.
Dev (outer voice): Fine. Until how late?
Dev (inner voice): Wait, I was supposed to do it without getting overtime bonus?5 -
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 -
<supervisor>,
I would like to raise a concern of mine to your attention. I would urge you to inform <CIO> because I think he should know as well. In our recorded meeting this afternoon <bad_vendor> exposed another company’s credentials after failing to access our system, and proceeded to demo access into someone else’s system while exposing their client's sensitive data. Others noticed this as well. This is an alarming situation because not only did <bad_vendor> expose someones data to <us>, but to one of our vendors. While it is unlikely that <us> or <helpful_vendor> would abuse this situation, it could have easily been <us>’s data that was exposed to another company and their vendors had the situation been reversed. I understand we are all under tight deadlines and under a lot of stress — by no means am I trying to make waves — but nonetheless I felt compelled make light of this situation and felt in was echoed by <helpful_vendor> during the meeting as well.
Thank you8 -
I have been working 9 months as consultant for a company thru a vendor. The contract will finish in two weeks, the company want to continue working with me, I can't be hired directly, should be thru a vendor. The problem is that today I confirmed that this vendor bill the company the double and want me to sign again with them for the same rate, I can't switch to another vendor because there is a non-compete clause. What would you do in my case? I feel like that squirrel12
-
I do not like the direction laptop vendors are taking.
New laptops tend to feature fewer ports, making the user more dependent on adapters. Similarly to smartphones, this is a detrimental trend initiated by Apple and replicated by the rest of the pack.
As of 2022, many mid-range laptops feature just one USB-A port and one USB-C port, resembling Apple's toxic minimalism. In 2010, mid-class laptops commonly had three or four USB ports. I have even seen an MSi gaming laptop with six USB ports. Now, much of the edges is wasted "clean" space.
Sure, there are USB hubs, but those only work well with low-power devices. When attaching two external hard drives to transfer data between them, they might not be able to spin up due to insufficient power from the USB port or undervoltage caused by the impedance (resistance) of the USB cable between the laptop's USB port and hub. There are USB hubs which can be externally powered, but that means yet another wall adapter one has to carry.
Non-replaceable [shortest-lived component] mean difficult repairs and no more reserve batteries, as well as no extra-sized battery packs. When the battery expires, one might have to waste four hours on a repair shop for a replacement that would have taken a minute on a 2010 laptop.
The SD card slot is being replaced with inferior MicroSD or removed entirely. This is especially bad for photographers and videographers who would frequently plug memory cards into their laptop. SD cards are far more comfortable than MicroSD cards, and no, bulky external adapters that reserve the device's only USB port and protrude can not replace an integrated SD card slot.
Most mid-range laptops in the early 2010s also had a LAN port for immediate interference-free connection. That is now reserved for gaming-class / desknote laptops.
Obviously, components like RAM and storage are far more difficult to upgrade in more modern laptops, or not possible at all if soldered in.
Touch pads increasingly have the buttons underneath the touch surface rather than separate, meaning one has to be careful not to move the mouse while clicking. Otherwise, it could cause an unwanted drag-and-drop gesture. Some touch pads are smart enough to detect when a user intends to click, and lock the movement, but not all. A right-click drag-and-drop gesture might not be possible due to the finger on the button being registered as touch. Clicking with short tapping could be unreliable and sluggish. While one should have external peripherals anyway, one might not always have brought them with. The fallback input device is now even less comfortable.
Some laptop vendors include a sponge sheet that they want users to put between the keyboard and the screen before folding it, "to avoid damaging the screen", even though making it two millimetres thicker could do the same without relying on a sponge sheet. So they want me to carry that bulky thing everywhere around? How about no?
That's the irony. They wanted to make laptops lighter and slimmer, but that made them adapter- and sponge sheet-dependent, defeating the portability purpose.
Sure, the CPU performance has improved. Vendors proudly show off in their advertisements which generation of Intel Core they have this time. As if that is something users especially care about. Hoo-ray, generation 14 is now yet another 5% faster than the previous generation! But what is the benefit of that if I have to rely on annoying adapters to get the same work done that I could formerly do without those adapters?
Microsoft has also copied Apple in demanding internet connection before Windows 11 will set up. The setup screen says "You will need an Internet connection…" - no, technically I would not. What does technically stand in the way of Windows 11 setting up offline? After all, previous Windows versions like Windows 95 could do so 25 years earlier. But also far more recent versions. Thankfully, Linux distributions do not do that.
If "new" and "modern" mean more locked-in and less practical and difficult to repair, I would rather have "old" than "new".12 -
We started a project in January for which I was the sole developer, to automate tedious interaction with a vendor's ticketing system. We have a storage environment with about 400,000 commodity disks attached(for this vendor-- there are other vendors too), in sites around the US and Canada. With a weekly failure rate of about 0.0005%, that means about 200 disks a week need to be replaced.
This work-- hardware investigation through storage appliance frontends, internal ticket creation, external ticket creation, watching the external ticket for updates to include in our internal ticket --was all manual, and for around 200 issues a week, it was done by one guy for two years. He was hopelessly behind. This is all automated now, and this morning, I pushed this automation from dev/test to production.
It feels great to see your work helping people around you.8 -
Got pulled out of bed at 6 am again this morning, our VMs were acting up again. Not booting, running extremely slow, high disk usage, etc.
This was the 6 time in as many weeks this happened. And always the marching orders were the same. Find the bug, smash the bug, get it working with the least effort. I've dumped hundreds of hours maintaining this broken shitheap of a system, putting off other duties to keep mission critical stations running.
The culprits? Scummy consultants, Windows 10 1709, and Citrix Studio.
Xen Server performed well enough, likely due to its open source origins and Centos architecture.
Whelp. DasSeahawks was good and pissed. Nothing like getting rousted out of bed after a few scant hours rest for patching the same broken system.
DasSeahawks lost his temper. Things went flying. Exorcists were dispatched and promptly eaten.
Enough. No consultants, no analysts, and no experts touched it. No phone calls, no manuals, not even a google search. Just a very pissed admin and his minion declaring blitzkrieg.
We made our game plan, moved the users out, smoked our cigs, chugged monster, and queued a gnu-metal playlist on spotify.
Then we took a wrecking ball to the whole setup. User docs were saved, all else was rm -r * && shred && summon -u Poseidon -beast Land_Cracken.
Started at 3pm and finished just after midnight. Rebuilt all the vms with RDP, murdered citrix studio (and their bullshit licenses), completely blocked Windows 10 updates after 1607, and load balanced the network.
So what do we get when all the experts are fired? Stabbed lightning. VMs boot in less than 10 seconds, apps open instantly, and server resources are half their previous usage state. My VMs are now the fastest stations in our complex, as they should be.
Next to do: install our mxgpu, script up snapshots and heartbeat, destroy Windows ads/telemetry, and setup PDQ. damn its good to be good!
What i learned --> never allow testing to go to production, consultants will fuck up your shit for a buck, and vendors are half as reliable over consultants. Windows works great without Microsoft, thin clients are overpriced, and getting pissed gets things done.
This my friends, is why admins are assholes.4 -
I look after servers, softwares,vendors and write code too. I am also learning datascience in spare time. Suddenly I found that I am giving no time to family and friends.6
-
I’m LOLing at the audacity of one of our vendors.
We contract with a vendor to build and maintain a website. Our network security team noticed there was a security breach of the vendor’s website. Our team saw that malicious users gained access to our Google Search console by completing a challenge that was issued to the vendor’s site.
At first, the vendor tried to convince us that their site wasn’t comprised and it was the Google search Console that was compromised. Nah dude. Our Search Console got compromised via the website you maintain for us. Luckily our network team was able to remove the malicious users from our search console.
That vendor site accepts credit card payments and displays the user’s contact info like address, email, and phone. The vendor uses keys that are tied to our payment gateway. So now my employer is demanding a full incident report from the vendor because their dropping the ball could have compromised our users’ data and we might be responsible for PCI issues.
And the vendor tried to shit on us even more. The vendor also generates vanity urls for our users. My employer decided to temporarily redirect users to our main site (non vendor) because users already received those links and in order to not lose revenue. The vendor’s solution is to build a service that will redirect their vanity urls to our main site. And they wanted to charge us $5000 usd for this. We already pay them $1000 a month already.
WTAF we are not stupid. Our network service team said we could make the argument that they do this without extra charge because it falls in the scope of our contract with them. Our network team also said that we could terminate the contract because the security breach means they didn’t render the service they were contracted to do. Guess it’s time for us to get our lawyer’s take on this.
So now it looks like my stakeholders want me to rebuild all of this in house. I already have a lot on my plate, but I’m going to be open to their requests because we are still in the debrief phase.2 -
It has been a rough day dealing with third party vendors, who only have a few IQ points to share among the company. Nothing better to cheer me up than listening to my favourite Christmas song2
-
How could I only name one favorite dev tool? There are a *lot* I could not live without anymore.
# httpie
I have to talk to external API a lot and curl is painful to use. HTTPie is super human friendly and helps bootstrapping or testing calls to unknown endpoints.
https://httpie.org/
# jq
grep|sed|awk for for json documents. So powerful, so handy. I have to google the specific syntax a lot, but when you have it working, it works like a charm.
https://stedolan.github.io/jq/
# ag-silversearcher
Finding strings in projects has never been easier. It's fast, it has meaningful defaults (no results from vendors and .git directories) and powerful options.
https://github.com/ggreer/...
# git
Lifesaver. Nough said.
And tweak your command line to show the current branch and git to have tab-completion.
# Jetbrains flavored IDE
No matter if the flavor is phpstorm, intellij, webstorm or pycharm, these IDE are really worth their money and have saved me so much time and keystrokes, it's totally awesome. It also has an amazing plugin ecosystem, I adore the symfony and vim-idea plugin.
# vim
Strong learning curve, it really pays off in the end and I still consider myself novice user.
# vimium
Chrome plugin to browse the web with vi keybindings.
https://github.com/philc/vimium
# bash completion
Enable it. Tab-increase your productivity.
# Docker / docker-compose
Even if you aren't pushing docker images to production, having a dockerfile re-creating the live server is such an ease to setup and bootstrapping the development process has been a joy in the process. Virtual machines are slow and take away lot of space. If you can, use alpine-based images as a starting point, reuse the offical one on dockerhub for common applications, and keep them simple.
# ...
I will post this now and then regret not naming all the tools I didn't mention. -
My old job was great. I was writing automation software for one of the world's biggest storage deployments, and there was always a new challenge. But over time, I was asked to lend a hand with the tedious task of corresponding with procurement vendors and on-site technicians. At first it was one site, then it was two, and then it was an entire region of the US, spread across two time zones I'm not in.
I hated that work, and I found that I didn't have time anymore for software development, because of the time commitment the logistics work was. I was never hired to do logistics work, I was never trained, never qualified, and as I said, I hated it. I agreed to it to temporarily help out a weakness due to a shortage in staffing. But it never got taken off my plate, except for a short stint toward the end, just before I was placed on a PIP, because surprise surprise-- I'm bad at logistics.
About halfway through the PIP, I told my boss I wasn't doing it anymore. I said he could either put me back on software development or let me go, if ticket-monkeying and phone calls is the direction the wind is blowing for our team. I told him I had no intention of resigning, as you are not eligible for unemployment or severance if you resign, so their choice was to let me go. I'm told by people who are still there that everybody on the team is a ticket-jockey button-pusher now. Bleh.
My wife and I sold our old condo in Kansas City earlier in the summer, so we had about a year's worth of cushion, which was why I was willing to be let go. I was profoundly unhappy in my work, and it was bleeding through to my relationship with my wife and kids. So I took advantage of the time between jobs by spending more time with my family and just generally becoming a happier person again.
Meanwhile, I was in no desperate hurry to find a new job, so I got on linkedin, and had no more than two irons in the fire at a time. After just over two months I got an offer for a better job than before, which I accepted. There wasn't anything remarkable about that process though-- it's just something I've gone through recently.8 -
In another news. COVID-19 continues to ravage certain places of the world. Most notably India (for right now)
Is there a mathematical correlation between this and the decrease of scam calls asking about your social, vehicle warranties, IRS frauds etc?
A friend mentioned that he has not gotten scam calls in a while now, I noticed this as well. I would normally have vendors contact me daily, vendors with shitty practices and poor sounding accents that insist on them having names such as "Joe" or "Steve". This sucks for India since I believe it is a country with absolutely beautiful cultural heritage and good people. But man, the decrease in scam calls from there is outstanding now.6 -
Too many night shifts.
But it's done.
After the last migrations my emotional state is... Questionable.
VM migrations between different CPU vendors and generations leading to segfaults because of unsupported X86 extensions.... Thx for doing that at 23 o'clock after 8 hours of work....
Forgetting a left over NIC in a virtual machine, creating a routing loop, leading to very erratic behaviour and fun things.
Someone forgot to check the '"Unique" box, mass spawning a cluster of VMs with same MAC adresses....
DNS fuckery since someone thought that reboot would flush the cache of an DNS server.... Nope most DNS servers have persistent caches. You'll have to flush manually.
And let's not forget the joy of the 12 plus pages of when and where to move VMs, harddrives and VLAN configuration.
Oh migrations are such a festival of joy.
Finally done with that shit -.-4 -
Worst documentation I've seen?
Our "Coding Standards" 20+ page document. The team who put it together got so detailed, there wasn't much 'wiggle room' for natural deviations in a developer's coding style. For example, a section devoted to no abbreviations. So if you had a variable 'invoiceId', they complained you violated 'standards', even though 'invoiceId' matched a field name in a database table. Using Dapper or another ORM that relied on the 1:1 name match? Nope, you were still forced to inject your own mappers so the code didn't violate standards.
As you can probably guess, such a long, detailed document would have contradictions. I pointed out one of the contradictions. Example:
Page 5: Section B, sub-section B-5, paragraph 3 : "To minimize network traffic, when querying the database, request all the data necessary for the application."
Page 8: Section K, sub-section K-2, paragraph 4 : "For maximum performance, when querying the database, request only the most minimum amount of data necessary for the application ."
In a review I pointed out this contradiction (there were several more)
Me: "If we satisfy A, one could say the code is in violation of B. Which is it?"
<Pointy-Hair-Boss throws his pencil on the table>
PHB: "WHAT IS YOUR PROBLEM WITH STANDARDS! It couldn't be more clear! We are a company of standards because without standards <blah blah..straw man argument..blah blah>"
<deciding not to die on that hill, I move on>
Me: "On page 12, paragraph 9 code is in violation if a method has more than 3 parameters. That seems a little restrictive given our interaction with 3rd party products."
PHB: "There you go again. As stated in the document, ALL code used by the company will comply to our standards. What part of 'ALL' do you not understand?"
Was he bluffing about requiring 3rd party vendors complying with our standards? Heck no. That's a story for another day.10 -
What's with all this micro-certification nonsense that seems to plague the industry? Does anyone actually give a shit that I may have passed some vendor's five day bootcamp?
Apparently I can now have a trophy (virtual, of course) if I complete X online MS courses.
Some of these courses seem to focus on stuff that has no use in day-to-day work.
And I have to actually pay because I learned your product and then pay to maintain the cert in some cases. WTF?!
I can see why the vendors do it---I like free money too---but why have we even let this become a thing.
It's like collecting baseball cards.
I despair of what our industry has become...I really do.11 -
I'm intentionally resigning from my remote software development job to teach my company a lesson. The guy who wrote the codes previously really knew how to cook spaghetti 😀😂.
To add a single line takes minutes, because when you do something else breaks, and you'll keep fixing what breaks when you tried fixing what breaks when you try fixing what..... endless loop of bug-fix cycle.
Now they blame it on me.
They won't understand if they don't get someone new, my reputation will fix itself through that..
My first opinion after sighting the codes was, "re-write the whole project using better patterns and architecture", the reply as you can guess, we'll do that later.
I couldn't even upgrade the server to use even PHP 7.1 because the framework breaks, the guy has editted a lot from the vendors files. Don't ever try composer updates.
Two word to describes the situation. "It sucks".
The previous developer needs to be shot, literally.7 -
You'll be surprised, but it's Microsoft for me.
When I started out, windows(95, yes I'm old, thanks for noticing) was the shit for me and I was quite a fanboy of it.
However, when a friend of mine introduced me to Linux, I quickly changed my mind because so many small things were way better. Then, when Vista came out, I switched completely.
That, on its own, was an adventure, but that's another rant for another time(Me and my pal were the only Linux users in the town we lived in, so without online shopping, perusing the local hardware vendors was like meeting a Neolithic tribe. It's definitely rantworthy on its own, if only for nostalgia).
The more I learned about Free Software and what Corporations could do with their power, the more I came to despise the companies I used to advocate for.
Now, it's 2018 and people bitch about what Facebook, Microsoft and their equally evil buddies do. Yet, 2013, when PRISM hit the fan, they once again ran to their arms instead of fixing the problem properly. That's about when I lost the last bit of respect for people.
And now I'm sitting here playing the world's tiniest open source violin, singing "won't get fooled again" by The Who.6 -
So my father has to deal with some vendors providing niche hardware and software solutions for a single department in the company.
Once the hardware finishes its work and transfers results to the managing PC, the PC has to upload those results to the server on the internet. The problem is that if no one's working with that setup for a few minutes the software in the PC can no longer communicate with the server.
Naturally, since idle time is in the equation, I thought of SO_KEEPALIVE (or whatever it's called in Windows). Wireshark confirms the absence of keepalive packets. However, the app doesn't seem to have any means to enable it... Hence the need to work with support guys.
One would expect the support to be professional, experts considering anything related to the app.
One would NOT expect to receive a call: "Hey, look, I was doing some googling on the internet... You might be right, enabling KA might help with the issue. We were discussing with our engineers and we tried to find some application that could enable KA on your computer. We couldn't find anything, but we believe that's the way to go. So give it a try and try to find some app on the internet that enables KA for our proprietary application". // everything in Lithuanian ofc.
I mean...seriously...?
I was startled to hear this suggestion. Since I expected them to be experts I assumed there's something IDK about Windows sockets -- could Windows enable KA globally, by-default? Did not find such a thing. Could Windows allow application A to control application B's socket options? Frankly, I'm too afraid to even look for this. I dislike Windows already. If this turned out to be true I'd probably become an anti-windows evangelist.4 -
Just an FYI for those that don't know. You can send poop to anyone in the world. There are vendors that do this as a service.
For example: https://poopsenders.com/
Then I realized this is SAAS, Shit As A Service.6 -
So that's where the W3C ivory tower clique ended up this year, as rubberstamping secretary for the WHATWG: https://w3.org/blog/2019/...
Well at least, the W3C got the grounding they clearly were lacking over many years!
Recap: the W3C went totally out of touch with reality and wanted an HTML incompatible successor that neither browser vendors nor web authors were interested in. They wasted years on XHTML and drafted specs into the void.
15 years ago, Mozilla and Opera said "fuck this shit" and founded the WHATWG which would work on HTML5. Apple and Google joined in later.
And now the W3C does ground-breaking work like providing the recommendation texts in different formatting, LOL!10 -
It cost me 6$ to have a big ass keyboard, that weighs a fuck ton thanx to the metal back plate, to have it couried 800km.
It cost 12$ to courier a fucking raspberry pi from the same city... what the actual fucking fuck. And to make it worse i had to pay double shipping cause i had to order the power supply from another site causr site A only had stock of pi's and site B only had stock of power supplies...
fuck my city needs more imported goods vendors6 -
tl;dr - why you no read this?
Here I am pondering why I continue to return to my job everyday when we are currently at month 13 of a 4 month project... yea let that set in for a minute... which is still at least 3-4 months away from being deployed due to annual leave of key stake holders and the whole Christmas period creeping up and things just not going as planned every step of the way.
There's no greater demotivater - is that even how you spell it - then being stuck in a project for so long you really just don't give a shit if it works or not anymore.
This has gone from a simple - relatively speaking - project to some monolithic mayhem of requirement changes and process adjustments, that have not only delayed our team, but 3rd party vendors needing to change things as well, or the requirements being wrong early so when you get up to business testing it's like "nope, that's not what we wanted" .... despite all the sessions of you personally giving the PM all the damn requirements.
But in saying that, they (3rd party) aren't innocent either, we have found nothing but issue after issue with their product since we started this project that who ever signed off on going forward with the thing should have been shot from both sides - it's not designed for the scale we will be using it yet we didn't find that out till we got so far into the rabbit hole we had a chance to be able to do load testing.
Meh, guess I'll go to work Monday and spend another week in misery trying to deliver something that just doesn't want to know what the finish line is.4 -
"A primary cause of complexity is that software vendors uncritically adopt almost any feature that users want."- Niklaus Wirth2
-
Impossible deadline experience?
A few, but this one is more recent (and not mine, yet)
Company has plans to build a x hundred thousand square feet facility (x = 300, 500, 800 depending on the day and the VP telling the story)
1. Land is purchased, but no infrastructure exists (its in a somewhat rural area, no water or sewage capable of supporting such a large facility)
2. No direct architectural plans (just a few random ideas about layout, floor plans, parking etc)
3. Already having software dev meetings in attempt to 'fix' all the current logistical software issues we have in the current warehouse and not knowing any of the details of the new facility.
One morning in our stand-up, the mgr says
Mgr: "Plans for the new warehouse are moving along. We hope to be in the new building by September."
Me: "September of 2022?"
<very puzzled look>
Mgr: "Um, no. Next year, 2021"
Me: "That's not going to happen."
Mgr: "I was just in a meeting with VP-Jack yesterday. He said everything is on schedule."
Me: "On schedule for what?"
<I lay out some of the known roadblocks from above, and new ones like the political mess we will very likely get into when the local zoning big shots get involved>
Mgr: "Oh, yea, those could be problems."
Me: "Swiiiiishhhhh"
Mgr: "What's that?"
Me: "That's the sound of a September 2021 date flying by."
Mgr: "Funny. Guess what? We've been tasked with designing the security system. Overhead RFID readers, tracking, badge scans, etc. Normally Dan's team takes care of facility security, but they are going to be busy for a few weeks for an audit. Better start reaching out to RFID vendors for quotes. Have a proposal ready in a couple of weeks."
Me: "Sure, why not."1 -
What if HTML never took off and the browser vendors each did their own thing?
“Don’t reinvent the wheel” -
There's one thing I hate about the new year. Everyone assumes it's the best time to do some cleanup, some maintenance. As the year starts fresh - everyone should start fresh, right?
NOT!
No, Hetzner, you don't need to restart my servers on Dec 26th.
No, local VPS providers, you don't need to clean-up all my /tmp/ files for me on Dec 29th, leaving me in the dark and unaware I have to restart my apps.
That's just a dick move. Your intentions might be alright, but the consequences... Damn you!3 -
Dear laptop vendors, stop wasting so much precious device estate on nothing!
This wasted physical space could easily fit in six USB ports, or four USB ports and two HDMI ports, or four USB ports and one HDMI and one LAN. Or four USB ports and two SD card slots.
> "Who the heck needs 6 USB ports?"
You don't need more USB ports… until the day you do need them comes.
> "HDMI and LAN are feature creep!"
It's "feature creep", until you need it.
> "Ever heard of USB hubs?"
While better than nothing, they are tedious to carry around and can hardly support more than one external high-power device such as an external hard drive or blu-ray drive, except if you have an external power adapter, which is even more tedious to carry.
Also, have fun closing programs until the operating system stops whining "volume is busy" just so you can unmount your external SSD and then reconnect it through a USB hub. Sounds like fun, huh?
You were playing audio from your external SSD? Too bad. Now you need to close the media player to be able to unmount the SSD, then later restart it and seek the last position. And all of that could be avoided if your laptop happened to have one more USB port.10 -
So I have been getting a lot of spam at work for various crap. Some conference attendee bullcrap, and other fake vendors, etc.
Someone pointed out to me that a lot of spam comes from China. So if you reply to the spam with topics the people of China are not supposed to see then they filter you out of the spam network.
Now I started replying to the most prolific spam with this as a link:
"1989 Tiananmen Square protests and massacre"
https://en.wikipedia.org/wiki/...
I will let you know if this helps reduce or increase my spam.6 -
When you node_modules (npm) and vendors (composer) folders account for 80% of your codebase size ...3
-
TL;DR: When picking vendors to outsource work to, vet them really well.
Backstory:
Got a large redesign project that involves rebuilding a website's main navigation (accessibility reasons).
Project is too big just for our dev team to handle with our workload so we got to bring a 3rd party vendor to help us. We do this often so no big deal.
But, this time the twist was Senior Management already had retained hours with a dev shop so they want us to use them for project. Okay...
It begins:
Have our scope / discovery meeting about the changes and our expected DevOps workflow.
Devs work Local and push changes to our Github, that kicks off the build and we test on Dev, then it goes to Staging for more testing & PM review. Once ready we can push to prod, or whenever needed. All is agreed, everyone was happy.
Emailed the vendors' project manager to ask for their devs Github accounts so we can add them to the project. Got no reply for 3 days.
4th day, I get back "Who sets up the Github accounts?"
fuck me. they've never used Github before but in our scope meeting 4 days ago you said Github was fine...??
Whatever, fuck it. I'll make the accounts and add them.
Added 4 devs to the repo and setup new branch. 40min later get an email that they can't setup dev environment now, the dev doesn't know how to setup our CMS locally, "not working for some reason."
So, they ask for permission to develop on our STAGING server.. "because it's already setup"... they want to actively dev on our staging where we get PM/Senior Management approvals?
We have dev, staging, production instances and you want to dev in staging, not dev?... nay nay good sir.
This is whom senior management wants us to use, already paid for via retainer no less. They are a major dev shop and they're useless...
😢😭
Cant wait for today's progress checkup meeting. 😐😐
/rant1 -
Staring at computer trying to figure out why I can't read a float from modbus. I swapped the bytes correctly for my platform. I also ensured the endianess of the words matched my platform (byte endianess is not the sames as word endianess, fml). Was driving home thinking about what could be wrong. My mind saw this code:
uint32_t newint;
for(int count=0; count<2; count++){
newint |= words[count] << count;
}
Then I am fuck! It should be:
newint |= words[count] << (count*16);
This was later turned into float. I kept getting values in the 1e-40 or some shit. Now it makes sense. The upper word was not set.
This is such newb shit. Fuck you newb shit I should just know!
Reading more I realized that the endianess of words can vary between devices even though the spec calls for big endian words. Fuck you non-compliant vendors! So I gotta add a flag for fucked up devices. Fine. The pay off is a generic way to add modbus to our opcua server. I want this easily editable in the field. For now it is readonly. So that makes it nicer.
Just a little torqued that I solved this driving home instead of at work. Too close to the code. I think tomorrow I will have my boss review it to tell me of other logical crap I missed.3 -
Goddamn livid right now.
Our 3rd party Vendor developers' couldn't figure out how to check-in their goddamn code to our GitHub branch so they just sent our PM a zip file via email containing the project with the node modules folder too!!
Wtf.
Why are we even giving them a dollar. 😤😲4 -
I'm starting to feel super frustrated with my job.
Sometimes I feel like people who work for large tech companies must have it easy. My company is trying to do this digital transformation thing. Modern development practices Scrum, agile, CI/CD etc. So I was put on a team to work on a project with this new methodology. The idea was we would build the front end and interface with the core systems via service calls. Of course it didn't work out that simple and we had to add our own server side stuff but whatever. It's really hard without a point of reference for any of this stuff. We don't have established coding standards, the data we are working with is a mess, incompetent vendors, the infrastructure team supporting the environments can be such arrogant fucks when we need their help to get shit done. The team also doesn't have any members who really know the core systems well. I am the only developer on the team who is an employee of the company the rest are contractors who are in and out. Last week it was literally just me. This is my first job out of school btw I've been here a year now. I guess I just feel frustrated that I have to figure out so much on my own I don't really have many senior devs at the company I can look to. And on the team I've sorta ended up in an unofficial leadership position. Feels like a lot on my shoulders. I feel like if i could have worked for a bigger company I could learn to do a lot of things better. I feel like there's too much on me for the amount of experience I have or am I wrong ?5 -
The default USB voltage hould have been specified to 6 instead of 5 volts.
Six (6) volts would allow for longer cables than five (5) volts do, since the spare voltage compensates for the resistance of cables. This is even more crucial for USB hubs. USB hubs are highly dependable upon these days due to laptop vendors dropping the number of USB ports down to two or even one. I am looking at you, Medion.
If several devices are connected to a USB hub, the voltage can quickly drop below 4.5 volts due to the resistance between the USB hub ports and the computer's USB port, causing some devices to restart themselves even if the computer's USB port is not over capacity. If it were over capacity, it would just regulate down its output voltage to prevent overcurrent.
Lithium-ion batteries need at least 4.3 volts arriving at the battery terminals to fully charge, and mobile devices are typically not equipped with a boost converter. Even if they were, they are rather inefficient, meaning they would produce significant heat and waste a power bank's energy. Other USB devices such as flash drives and peripherals might power off below 4.5 volts. However, 6 volts have solid 1.7 volts of margin to 4.3 volts, more than twice the margin of 0.7 volts that 5 volts have. On the way from the power supply to the end device, the voltage has to pass several barriers which weaken it, including the cable, connector endings, and the end device's internals such as the charging controller.
Sure, there are quick charging standards such as by Qualcomm and MediaTek which support elevating voltages to nine (9), twelve (12), and even twenty (20) volts. However, they require support by both the charger and mobile device. If six (6) volts were the default USB voltage, all devices would have been designed to accept this voltage, and longer cables could have been used anywhere. Obviously, all USB devices should be able to run on five volts as well.
Six volts would have been more stable, flexible, and reliable.14 -
FUCK YES
The feeling when you and the DBA completely fix an issue that has been fucking up your users and that the third party vendors themselves couldn't fix on your own teamwork is so..... fucking... addicting.
Wrote an email to the hod to let us off a bit late tomorrow morning, least I can do for this fucking server admin, sql class A mastermind, Oracle fucking super pro.
I really pray for all of you mfkers to get the same type of coworker. this dude has taught me a lot and I really jump at the first opportunity I get to work with him. His accomplishments for the institution are many really, its just one of those happy bromances man.
I raise my beer mug, to the best fucking DBA i have ever worked with.
For my next trick, I am going to make sure the dude gets the position for the manager of his department as soon as the current dude retires (should be soon) a great man himself, but short on giving his dba the praise he deserves.
The previous manager of my departament told me "pay attention to <DBA NAME> he is your secret weapon and you will be his" and by heavens sweet momma was right. -
Allrighty, so we have a huge migration upcoming. The planning started early this spring. We've split the whole process into separate tasks and estimated each of them. Also marked all the tasks client should take care of itself so save funds and time. All-in-all the whole thing estimated like 4 months if we did it [single dev, tremendous amounts of communication with various parties, buy and prepare the infra, adapt app to the changes, testing, monitoring, etc.] and like a month if client did the tasks we shouldn't be doing. The funding for migration is time-bound and can only be used before December. Cool! We got notified that by the end of April we should be good to go! Plenty of time to do things right!
April comes. Silence. Mid-april we resch out to the client. Since there's plenty of time left migration is getting lower priority to other tasks. Well allright, sort of makes sense. We should migrate mid-July. Cool!
July comes. Client replies that everyone's on vacation now. Gotta wait for August - will do the quicker version of migration to make it on time. Well allright....
August comes. Everyone's vusy with whatever they've postponed during summer. Hopefully we'll start migration in September. Mhm...
September comes. We're invited to a meeting by project funders to explain tasks' breakdown, justify the time needed to make the migration. We're being blamed for surreal estimations and poor organization of tasks as nothing's happened yet... [they were the ones who always were postponing things....]. Moreover, they can only spare 20% of infra resources required for data alone anf they want us to make that enough for all environments, all components, all backups, all databases,... You get the pic.
The leader of the meeting semi silently mumbled to other participants 'Well then I'm afrsid we can't make a full migration in time.. Only partial. That's very unfortunate, very. That's why we should not have incopetent vendors [*glancing at us*]'
somehow we agreed we'll get the resources mid-November and we should be thankful for him bcz he'll have to pull some strings for... us..
I left the meeting with my fists squeezed so hard! But it's okay, we got smth useful: resources and start date. Although it leaves us with less than a month to do smth requiring a month for a sunny-day scenario. Nvm, still doable.
Last week we get an email that resources will be available at the beginning of December [after deadline] and we should start a full migration no sooner than Nov 12. Which leaves us with 50% of our estimated fucking optimistic scenario time and not enough resources to even move a single db.
Fuck I hate politics in dev... Is it wrong for me to want to tie them to a pole, set them on a veeery slow fire and take a piss on them while they're screaming their shitty lungs out? I'd enjoy the view and the scream. I know I would. And while enjoying I might be tempted to take a burning 20cm diameter wooden stick and shove it up their assholes. Repeatedly. Round-robin. Promissing them I'll take it out in 5 seconds and pulling it out after 2 minutes.
Can I?8 -
When an enterprise software vendor stops giving deliverable dates to fix their product because they admittedly have not met any deliverable dates In the past. Huh wtf. I would say bye-bye now if it were my call.2
-
1. As i was freelancing on upwork some company contacted me and said my CV looks interesting and they gave me a link from their site to download a .rar file with details about their company and dev positions
2. Ok i open the link and the whole site is just blank page with 1 single button: "Download 5.8 mb"
3. Thought to myself: who the fuck has this low quality site of a company, shitty as fuck and as if its built in the 90s. But ok
4. About 2 days later they got banned on upwork and we cant chat anymore. I send this .rar file to virus total and 7 anti virus softwares scanned a trojan + 14 security vendors flagged the rar as malicious malware
Are you FUCKING kidding me? This is the type of bullshit I'm expecting to see in web3 world. Who the FUCK comes on upwork to infect ENGINEERS?? Are you FUCKING KIDDING ME? I'll publish their data right now:
Link:
https://hsatrack.com/files/...
Password: 49-49Zb2
Their site:
https://hsatrack.com/
Honestly if i opened this fucking home page site first i would have smelled a virus miles away. But i just didnt expect a fucking virus AT ALL on UPWORK. Never happened to me before. This is the type of criminal fraud malware shit i expect AND SEE DAILY on WEB3 -- WHO TF DOES IT IN WEB2 IN 2023?? I'LL FUCK THIS CEO'S LIFE UPSIDE DOWN 180 RIGHT NOW2 -
Task: Deploy MinIO in k8s cluster
Me: deploys the first docker image found on google: bitnami/minio
MinIO: starts
Me: log in
MinIO: Fuck you! There's a cryptic error: Expected element type <Error> but have <HTML>
Me: spends half a day trying out different vendors, different versions, different environments (works on local BTW)
Me: got tired, restored the manifest to what it was at the beginning. Gave it the last try before signing off
MinIO: works 100%
wtf... So switching it back and forth fixed the problem, whatever it was. Oh well, yet another day.6 -
Bought Logitech gaming mouse. They are doing everything they can to try and get you to get an account. However, it is not yet required. I stopped using Razer devices because of them requiring an account. I hope Logitech doesn't end up there. It seems like every company is going to shit. So for now Logitech isn't a bunch of shits. If they had required an account I would return the gaming mouse. I don't need that noise.
What I really want though is a framework that works with all vendors for added functionality. An extended feature framework.
What does the extended features for gaming mice and keyboards look like under Linux?29 -
I work and live in Italy, if any of you know Italian, you'll probably know there are a few words with accents and also a few locations with accents in their names.
There was this big client for which we built a CMS and the were to insert the names of the vendors of their network, for each vendor there also was the address.
There were SO many addresses with accents and they just couldn't write capital letters with accents, so in the end, I had to make a function to capitalize everything including accents in the CMS.
I know i could have just used the text-transform:uppercase directive in CSS, but... whatever, they kept paying a shitload of money -
What is your opinion on eSIM (embedded SIM)?
Now that Apple has built the first smartphone without modular SIM, it is, as history shows, only a matter of time until the same vendors who mock Apple for doing this will hypocritically follow Apple in implementing it themselves. There will be an outrage, but it will fade and the new restriction will be tolerated.
To me, "eSIM" appears like an euphemistic / euphemSIMtic (pun intended) marketing term, like calling non-replaceable batteries "eBatteries" ("embedded batteries") would be. It is less modular and more locked-down.20 -
I’m back on this platform after an awesome year of progress in my dev career. Here is the back story:
1. I was a junior dev at a financial technologies company for a little over a year.
2. The company was looking to hire an Integration Manager for its software with both our vendors and customers.
3. The pay was good and I was offered that position as a promotion.
4. I accepted it and said to myself that this is temporary. It will help me pay the bills and secure a better life, which it did.
5. Lost two years of my dev career in that position doing nothing but basic integrations (rest apis, web and mobile sdks, and work arounds for what does not work). Zero challenge. This is when I started to use devRant often.
6. On the bright side, the bills were paid and life style got better.
7. Two years in, any way out of the integration department is something I am willing to accept. So I approached every one and worked extra hard as an Application Support Engineer for every product in the firm for free, in the hopes of making good connections and eventually be snatched by someone. This lasted six months.
8. Finally! Got an offer to become the Product Manager for one of the apllications that I supported.
9. Accepted the offer, left the department, and started working with the new team in an Agile fashion. This is when I stopped using devRant because the time was full of work.
10. Five months in, I was leading a team of developers to deliver features and provide the solutions we market. That was an awesome experience and every thing could not have been better.
Except…
Every developer was far better than me, which made me realize that I need to go back on that track, build solutions myself, and become a knowledgable engineer before moving into leading positions.
11. After about a 100 job applications online, I’m back as a Junior developer in another company building both Web and Voice Applications. Very, very happy.
Finally, lessons learned:
1. The path that pays more now is not necessarily the one you wanna take. Plan ahead.
2. There is always a way out. Working for free can get you connections, which can then make you money.
3. Become a knowledgable and experienced engineer before leading other engineers. The difference will show.
4. Love what you do and have fun doing it.
Two cents.1 -
I told my new Director that I am not one for going with third party vendors. He claimed that I was biased. I am really.
But I told him that support and troubleshooting are the main reasons why I dislike third party vendors as well as the request for X software to do Y non supported thing, they always state during a sales call that they can accommodate, they never do.
As an example, I send them the logs of a support ticket for one particular piece of software that we have, for which I detailed the situation, only for them to NEVER respond and then after 5 days close the ticket stating that I never replied back to them, even when they never replied back.
A custom made in house solution will always be superior to your run of the mill all encompassing app. But try and make a non dev understand this. I wish my old director was back. I miss the fuck out of that dude. Loved working for him.12 -
I CAN'T TAKE IT ANYMORE. We brought on a vendor to provide us some fancy OCR tool. It barely works. It's been barely working. And the vendor is so adamant it works it's so difficult to get them to send people onsight to work with us. We complained about it to the exec and we got "Oh they're a tech startup. You have to help them along with developing their process blah blah blah". Well they don't want help we offered they keep existing their shit is top secret (and it works). When they make changes remotely it's like they blindly make a change and then throw it to us to test. When we can get them to come in they hang around till the problem is fixed (more than once we've had to tell them how to fix it.) and they fly as fast as they fucking can through the door. A guy on my team even built something similar backed by Azure but we were given directive to work with them. And now we're getting pressure about delays in launch. But it's not our fault. The vendors asshole lying CEO keeps making shit up and we're told to work with it. Yet it's our fault that we missed deadlines? fuck this place !!! fuck all of this !!!6
-
So I was compiling Resurrection Remix, Android 10. And I'm making some commits here and there, and my friend looks over and asks me "so how does this work?" And I briefly explain about device tree, vendor and kernel. So he says "oh okay, so basically it's like copy and paste?"
I've never been so offended in my life 😐rant kernel developer roms offensive android vendors pissed off kernel development mad angry dev angry3 -
Wouldn't call it a feature. More like worst practice. Data manager (and my boss at the time) kept using our website as a way to host large files 3rd party vendors/partners could download instead of using one of the many secure transfer methods out there to send them data. This was sometimes extremely sensitive data. No authentication or security that I could find. I went ballistic on him after seeing that.
-
It needs to be outright illegal for laptops to have fewer than four USB ports.
If the purpose of law is to improve the quality of life, why not outlaw the time-consuming annoyance of laptops with few USB ports?
The purpose of laptops is portable computing. Depending on a USB hub makes it less portable.
If it was legally mandatory for laptops to have at least four USB ports, there would be no more competitive disadvantage for laptop vendors sacrificing unimportant slimness for important practicality.
And to the very few people who consider slim design more important than USB ports and who are going to whine online about the extra 3 millimetres of thickness: Sorry, life is unfair. Your preferences don't matter. Practicality is the purpose of computers. You are the reason laptops are ruined for the rest of us. Get lost.29 -
Screw DataStage
Screw Saleforce
Screw the $25k/week Vendor who finishes work maybe 60% complete, if I’m being generous.
Screw the business rushing to us to fix their shadow IT cluster.5 -
The conversations that come across my DevOps desk on a monthly basis.... These have come into my care via Slack, Email, Jira Tickets, PagerDuty alerts, text messages, GitHub PR Reviews, and phone calls. I spend most of my day just trying to log the work I'm being asked to do.
From Random People:
* Employee <A> and Contractor <B> are starting today. Please provision all 19 of their required accounts.
* Oh, they actually started yesterday, please hurry on this request.
From Engineers:
* The database is failing. Why?
* The read-only replica isn't accepting writes. Can you fix this?
* We have this new project we're starting and we need you to set up continuous integration, deployment, write our unit tests, define an integration test strategy, tell us how to mock every call to everything. We'll need several thousand dollars in AWS resources that we've barely defined. Can you define what AWS resources we need?
* We didn't like your definition of AWS resources, so we came up with our own. We're also going to need you to rearchitect the networking to support our single typescript API.
* The VPN is down and nobody can do any work because you locked us all out of connecting directly over SSH from home. Please unblock my home IP.
* Oh, looks like my VPN password expired. How do I reset my VPN password?
* My GitHub account doesn't have access to this repo. Please make my PR for me.
* Can you tell me how to run this app's test suite?
* CI system failed a build. Why?
* App doesn't send logs to the logging platform. Please tell me why.
* How do I add logging statements to my app?
* Why would I need a logging library, can't you just understand why my app doesn't need to waste my time with logs?
From Various 3rd party vendors:
* <X> application changed their license terms. How much do you really want to pay us now?
From Management:
* <X> left the company, and he was working on these tasks that seem closely related to your work. Here are the 3 GitHub Repos you now own.
* Why is our AWS bill so high? I need you to lower our bill by tomorrow. Preferably by 10k-20k monthly. Thanks.
* Please send this month's plan for DevOps work.
* Please don't do anything on your plan.
* Here's your actual new plan for the month.
* Please also do these 10 interruptions-which-became-epic-projects
From AWS:
* Dear AWS Admin, 17 instances need to be rebooted. Please do so by tomorrow.
* Dear AWS Admin, 3 user accounts saw suspicious activity. Please confirm these were actually you.
* Dear AWS Admin, you need to relaunch every one of your instances into a new VPC within the next year.
* Dear AWS Admin, Your app was suspiciously accessing XYZ, which is a violation of our terms of service. You have 24 hours to address this before we delete your AWS account.
Finally, From Management:
* Please provide management with updates, nobody knows what you do.
From me:
Please pay me more. Please give me a team to assist so I'm not a team of one. Also, my wife is asking me to look for a new job, and she's not wrong. Just saying.3 -
I've ranted about this before, but here we go again:
Go Plugins.
I was racking my brains trying to figure out how one could possibly implement plugins easily in Go.
I had a look at using RPC, which requires far to much boilerplate to be realistic. I looked at using Lua, but there doesn't seem to be a straight forward way of using it. I was even about to go with using WASM (yes, WASM). But then I came across Yaegi ("Yet another elegant Go interpreter", you heard right: "interpreter"), Yaegi is also very easy to use.
There are a few issues (including some I haven't solved yet), including flexibility (multiple types of plugins), module support, etc. Fortunately, Traefik just released their plugin system which is based on Yaegi (same company), and I got to learn a few tricks from them.
Here's how module loading works: The developer vendors their dependencies and pushes them to a repo. The user downloads the repo as a zip and saves it to the plugins folder. I hash the zip, unzip it to a cache, and set the the GOPATH for the interpreter to be that extracted folder. I then load the module (which is defined by a config file in the folder), and save it for later. This is the relatively easy part.
The hard part is allowing for different types of plugins. It looks easy, but Go has a strict typing system, makes things complicated. I'm in the process of solving this problem, and so far it should go like this: Check that the plugin fits an arbitrary interface, and if it does, we're good the go. I will just have to apply the returned plugin to that interface. I don't like this method for a few reasons, but hopefully with generics it will become a bit more clean.1 -
One of our integration solutions (via Webservices) had some issues. I had to switch on http logging to see what might be the issue.
On average, those logs are around 20MB when there is a bunch of traffic. But the solution brought a heap pf traffic through, those logs shot up to 1GB in size.
Had to delete the logs, since they took a million years to open, and told our vendors that the logs are not showing us anything 😅 I told no lies -
Doesn't it suck that we still need to write an app multiple times for different operating systems? I mean for me it seems like how the web was a decade ago. I think we deserve better!
While there are cross-platform frameworks, I feel like the OS vendors must work together to make native development less of a pain in the ass.8 -
Had our 3rd party vendor finally check their code into our github. Great.
Checking the recent commits, they only add changed .CSS files. Hmm..odd.
We use less so why did they update the compiled CSS file...? Did they forget to checkin the Less changes...?
Nope. Backend sitecore developer updated the bundled, minified CSS files and checked those in along with the fucking node_modules folder.
Didn't even know what LESS is.
The vendors PM swears the frontend developer did the changes. I don't know what's worse. -
So I get to work on building a client at work for industrial automation. I am building a mini hmi to show customers how our server works. The code uses opcua. The reason I am making a client is because all the opcua hmis on the market are really expensive. There is nothing less than $600. There are hmis for free out there, but none of them say they support opcua. opcua has become a major protocol in the industrial automation industry.
It took me about 2 days to gin together a client that is pretty much abstracted and will be easy to maintain. A lot of that was just learning the opcua library client code.
Now I want to create servers and clients geared toward home automation for fun and profit. I want to take sensor data from arduinos using a simple serial protocol like modbus or other protocols that are supported. Then have an opcua server that collects this data. Then finally have an opcua hmi that I develop talk to these servers. The security model is much better and would be compatible with other vendors clients/servers. I already have a game engine I want to use for the hmi portion. It has tons of widgets for displaying data, graphs, lists, text, etc. It does both 2d and 3d.
This sounds like a project that could really fun, meshes with my work learning, and provides value to people that want to automate their lives.
The other side effect is that the next time I go looking for a simple and cheap hmi that supports opcua, there will be one. -
Do you trust github/gitlab/bitbucket? If you self-host, do you trust your hosting? do you trust gitea? if you don't use gitea, do you trust git? do you trust the way you got your copy of git? do you trust your os, as it might have tampered with your git? did you read the code? do you trust your internet connection that might have changed some packets? do you trust your https implementation? did you examine the traffic? do you trust your traffic sniffing tool? if you use your own hardware, do you trust it? do you trust its CPU/bios? if it's risk-v, do you trust chinese vendors of your cpu? they might have put some backdoors there. do you trust your other hardware? okay, you have the money to make your own cpus. do you trust your employees? do you trust your silicon? do you trust the measuring equipment you used to check if your cpu is safe? do you trust the literature in the field? but did you verify it though? did you?
it's always who you trust. if you want to bake an apple pie from scratch, you must first create the universe.8 -
2013 I guess. It's the year I jumped on the IT train. As a unix/linux sysadmin in a worldwide bank, been there for over 3 years. It was an amazing experience. Used a lot of my knowledge and learned even more. Got a chance to play around with enterprise software and hardware [remotely], deal with various vendors, have business with folks from all around the globe, learn enterprise processes, incident handling, be the initiator of automation of our processes,...
Boy it was an amazing year. In both professional and personal lives :) -
The project that I'm assigned to was developed in haste because of some competition with other vendors.
The Devs who worked on the original code didn't really follow each others spacing conventions. So now there are files which differ in spacing. A lot. And I'm used to the standard 8 spaces=1 tab convention.
Every frikkin time I have to even look at the code, I have to refactor it (but not save it) and then undo the refactoring because when I try to check in the refactored code, every line shows a conflict.
Every line.
So if I have to work with code which was written by more than one person, my life's a living hell.
Ctrl+Shift+F people! Use it or lose it!6 -
Watched 2 different vendors struggle to get something going.
I stayed quiet during both meetings, the first, was a misconfiguration error on their project code. They were tailoring the product that they sold my institution, I could see the simple error: key-value settings on one of their json files (it is a dotneto app)
I don't get paid to troubleshoot the code for an external company, so I was silent, knowing full well this would take longer to get done, needless to say, I had originally advised against purchasing this product but was not listened to, very well then.
The other was a configuration issue on the side of a different Java based product, there were some strange XML configuration entries, some other project files that made little sense, but again: quiet.
Department head is concerned about the delays that this might cause and will still not ask if I am willing to help since he knows I A) was against this product purchase from the get go and B) knows DAMN well I will say that I don't get paid to troubleshoot the issues that third party vendors charging us over 100k of product "worth", they wanna spend the money on "enterprise" shit that does not work,they can deal with their own shit programs.
Morale of the story: money moves people. If there is no bling in my account: then I ain't doing it.
Now, I do get paid well for what I do, and for that I do bust my ass, for everything else: there is mastercard.11 -
how do you develop/transition to microservices when the company does not even have developers for the core systems? all systems are either developed by or bought from software vendors. they just go and decide that they want microservices. SMH!
-
Hello everyone, looking for some career advice here.
First of let me list my credentials off here. I graduated in 2016 with a BS in Computer Science. While I was working on my degree I worked as an engineering for 3 years in a cell phone repair company. What this entailed was managing/reverse engineering a software solution of one of that companies vendors, writing documentation etc (it started as a summer internship and became a job that I worked full time over Summers and up to 30/week in the school year).
Anyway, the vendor I acted as a point of contact offered me a job before I graduated and I started with them in May 2016 as a junior most Dev. Since then I have have maintained the same job tittle (software developer), however my duties have increased.
Currently I maintain several of our build servers, manage software releases (as in I am the lead developer of this application) for the service that makes 90% of this companies money, and am the subject matter expert for everything regarding smartphone diagnostics. I've literally been entrusted with access to all of the company servers for if something goes wrong. I'm also training our newest developers and being told I'm doing a good job at doing so.
Currently with my job on a day to day basis I'm working with Java, Android, C++, Golang, MongoDB, iOS in Objective C, and Python
(Please note this is a small company of less than 50 people)
Currently I'm only being paid 60k USD and am wondering if I should hold out for a raise or consider looking for a better job? ( Please note I live in the east coast in an area where the cost of living isn't absurd).
Because this job was practically handed to me I don't know what to expect and feel imposter syndrome as I think I deserve better pay but think I don't have enough years experience. All advice is welcome4 -
I have come to learn that when you script nearly everything in your job, what remains are the real pain in the ass clients.
I have told this particular client before that the issue does not lie with our equipment. I have verified while on a conference call with the other vendors that I am out of the equation. They concurred while the client was on the phone.
And yet.... Today, almost two weeks later, I have been assigned a ticket to re-verify our settings and to potentially troubleshoot !OurEquipment.
What hurts me the most is that my CEO is the best boss I have ever had, but he panders to these clients that do not listen to the diagnosis.
I am literally doing the same thing over again. I am not expecting a different outcome. I don't know why others expect a different outcome.
Because of this one example (and other similar ones), I am so tempted to leave an otherwise great company and environment. -
android, a real nightmare to get something working in all its versions and screens and different vendors devices2
-
One of our vendors sent a sample implementation in a .asp file.
My lead tried to plug that into our Java stack. 🙄1 -
Can't download YouTube videos (disk read/write error) caused by another corrupted 1-year old SD card. Sucks when manufacturers/vendors don't include the chip's lifespan2
-
Why the hell does NOBODY, including Apple, figure out, how USB-C is supposed to work? I'm tired of shifty half-assed implementations with some having no USB 3.1 (Apple), some not supporting current DisplayPort standards (Apple, Dell) or limiting the speed to USB2.0... *GAAAAH*
Future seems to suck pretty hard.3 -
Websites requiring recent browser versions indirectly puts control into the hands of browser vendors.
If users are forced to update, they are at the mercy of browser makers Google and Mozilla. Google and Mozilla can deliver whichever malicious feature they feel like, like mandatory add-on signing with updates.
Add-on signing is the thing that caused all extensions to be remotely disabled on May 3, 2019.
Also, Microsoft can disable your computer through an update if they wanted to.
Jody Bruchon video: https://youtube.com/watch/...8 -
F U browser vendors!
Why is it, that we have specifications for HTML, JS, CSS, etc and we have browsers for more, than 10 years now AND THEY STILL CANNOT MAKE SOMETHING CONSISTENT THROUGHOUT EVERY PLATFORM!
An event is not being triggered somewhere? No problemo. An extra event there? Nay, still okay. Inconsistent state for the same operation on different platforms? Cool, simply cool!
But instead of fixing these shitty things, they introduce bullshit on top of this, like a media element requiring a user interaction to be able to play content.4 -
I've been dealing with a guy who knows almost nothing about tech and always insists on asinine systems and buzz words he's been sold by 3rd party vendors. Lately he really wants to replace our relational dbs with hdfs.
Our data is sub 10 gb in size.
I've been seriously considering making a contracting company and just preying on tech fools like this, I just don't know if I could ethically swallow it. -
Tuesdays are great days to waste in meetings with vendors that have no idea of what they're talking about. Too bad these people always manage to convince the business side.
-
It's 2023 and smartphone vendors' pre-installed file managers are slooooooowly beginning to catch up with the functionality that the third-party ES File Explorer already had in 2012.
Samsung's latest file manager "My Files" finally has a draggable scroll bar, background file transfer (one can browse files while a transfer is running), drag-to-select (which is still not nearly as fast as the instant A-to-B range selection of ES File Explorer which simulates shift+click selection on desktop), and even staying in the current directory after tapping on "Copy" or "Move" rather than going to the starting directory!
And finally, when copying or moving files to a MicroSD card or a USB-OTG device, files' date and time attributes are not discarded and reset to now, but the original date and time of the files are retained! ES File Explorer could do that with root access.
Dear Samsung, couldn't you have thought of these simple things a decade ago and saved your users lots of headaches?4 -
I recently got hired on as a contractor to help the company take ownership of a vendor's product.
In one of the repositories that was delivered to us, at the root level of the repo is only src/ and .gitignore
Everything else, including package.json, .npmrc, .docerignore, and everything else, is all inside the src/ directory.2 -
When a vendor asks you to implement their API on a client site and you spend half a day reading documentation they send you to realise the API is nothing like the documentation.
Contact vendor who replies with:
"Oh, did I send you the link to the v2 API docs? We are on v3 now."1 -
Managed to accidentally overwrite two whole columns of data in a table causing a mismatch of information, on a system used actively by external vendors ........ so how did everyone else's day go? 🙂4
-
Installing Linux distros on ryzen gigabyte motherboard was a pain in the ass. I gave up on Ubuntu and mintlinux and went onto install fedora with malfunctioning mouse(driver issue, mouse was fine). Basically had to hack around with only keyboard for few hours before I could install the latest Nvidia drivers and got my mouse to work. I don't who is at fault here but the Linux community needs to put enough pressure on vendors like gigabyte/amd to make sure they release updates for their hardwares across os. Installing an Os shouldn't be this hard
-
Google Exoplayer had a bug on some devices when initializing AudioTrack.
Their fix: Just retry on init failure.
So if some device decides to fail more often than Google predicted: Boom!
Exoplayer is used by rarely known apps like Youtube.
And the best of it: The one to blame is not Google or Android. The ones to blame are most likely the Hardware vendors, who think that a custom android for every whatever is a good idea. -
In final stage of vendor analysis review for new Enterprise Business Continuity tool. Teching out finalists now in sandbox. Will report analysis recap when completed.
-
Is it just me or has a company run out of ideas when their keynote is more about their partners and vendors than them self? ** Caugh Apple **
(I'm an Apple user myself) -
Some mobile file managers kick me back to the beginning after selecting items for copying or moving.
When tapping on "copy" or "move" after selecting files/folders, some file managers like ES File Explorer (back when it was popular) conveniently remain in the current directory, whereas the stock Android file manager and many vendors' pre-installed file managers like that of Samsung kick me back to the initial directory. On phones with MicroSD, that's the storage selector, and on phones without, that's /storage/emulated/0/.
If I wanted to move files into a sub folder of the currently viewed directory, I have to navigate all the way back to that current directory, which is, needless to say, annoying.
Who thought it was a smart idea to kick the user back to the initial directory? But vendors' pre-installed file managers tend to be garbage anyway. Samsung's "My Files" file manager does not let me enter file names longer than 50 characters, does not let me change the extensions of files, does not support selecting files from search results or jumping to their parent directory, does obviously lack range selection, hides the status bar while opened (what's the point of that?!), its search feature is slow and sometimes crashes, and it can only search the entire device storage or memory card and not individual directories.
It's almost like Samsung deliberately tried to design a file manager as terrible as they possibly could.5 -
Please support old web browser versions for all eternity.
I hate it when I open a site like SoundCloud one day and am greeted with a "we no longer support your browser" notice. Now I am forced to update my browser to a new version with removed features. On Android, Chrome sometimes crashes due to an apparent memory leak, so I have to go back to Samsung Internet, which does not work with some sites. Also, the Samsung clipboard manager (which can hold up to 20 items) is only available on Samsung Internet, not Chrome or Firefox.
I also have to update the browser on my live USB bootable stick because sites stop supporting it. Any browser starting in 2015 (ECMA script 6) should be supported until at least 2050 so that I never have to fear that a site one day spontaneously stops working on my browser.
I would like to browse the Internet forever without having to ever worry about pages to stop working one day. Browser vendors might also deprecate support for devices and operating systems. Old devices also have replaceable batteries and are easier to repair. I don't want be forced to buy new devices that are difficult and expensive to repair.20 -
Mass notification vendors lack of understanding that to create value for clients they must turn raw data into information into knowledge into wisdom. Shoveling oceans of raw data at us does not impress us.
-
Okay, I may have heard wrong, but I thought Metal was a wrapper for vendor drivers of graphics cards. Like the vendors didn't rewrite their other platform drivers and did like an Opengl -> Metal wrapper instead. Or a Vulkan -> Metal wrapper. Now, out of curiosity I search for this, and I find that there are Metal -> Vulkan wrappers. So is it possible on MacOS to have a Vulkan -> Metal -> Vulkan setup now? Or even a Opengl -> Metal -> Vulkan? I know I have seen wrappers for Windows drivers so Linux can use them. But that was a while ago.4
-
When the vendor did a search page but retrieve all the records from the database and paginate them with js, and the load test crashes with 20 concurrent users!!!
-
I get assigned to lead projects where I have to interact with vendors form my home country. Rest of the time I work as a developer. I know it makes sense and I'm natural fit. But is it racism?7