Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "queue"
I’m a senior dev at a small company that does some consulting. This past October, some really heavy personal situation came up and my job suffered for it. I raised the flag and was very open with my boss about it and both him and my team of 3 understood and were pretty cool with me taking on a smaller load of work while I moved on with some stuff in my life. For a week.
Right after that, I got sent to a client. “One month only, we just want some presence there since it’s such a big client” alright, I guess I can do that. “You’ll be in charge of a team of a few people and help them technically.” Sounds good, I like leading!
So I get here. Let’s talk technical first: from being in a small but interesting project using Xamarin, I’m now looking at Visual Basic code, using Visual Studio 2010. Windows fucking Forms.
The project was made by a single dev for this huge company. She did what she could but as the requirements grew this thing became a behemoth of spaghetti code and User Controls. The other two guys working on the project have been here for a few months and they have very basic experience at the job anyways. The woman that worked on the project for 5 years is now leaving because she can’t take it anymore.
And that’s not the worse of it. It took from October to December for me to get a machine. I literally spent two months reading on my cellphone and just going over my shitty personal situation for 8 hours a day. I complained to everyone I could and nothing really worked.
Then I got a PC! But wait… no domain user. Queue an extra month in which I could see the Windows 7 (yep) log in screen and nothing else. Then, finally! A domain user! I can log in! Just wait 2 extra weeks for us to give your user access to the subversion rep and you’re good to go!
While all of this went on, I didn’t get an access card until a week ago. Every day I had to walk to the reception desk, show my ID and request they call my boss so he could grant me access. 5 months of this, both at the start of the day and after lunch. There was one day in particular, between two holidays, in which no one that could grant me access was at the office. I literally stood there until 11am in which I called my company and told them I was going home.
Now I’ve been actually working for a while, mostly fixing stuff that works like crap and trying to implement functions that should have been finished but aren’t even started. Did I mention this App is in production and being used by the people here? Because it is. Imagine if you will the amount of problems that an application that’s connecting to the production DB can create when it doesn’t even validate if the field should receive numeric values only. Did I mention the DB itself is also a complete mess? Because it is. There’s an “INDEXES” tables in which, I shit you not, the IDs of every other table is stored. There are no Identity fields anywhere, and instead every insert has to go to this INDEXES table, check the last ID of the table we’re working on, then create a new registry in order to give you your new ID. It’s insane.
And, to boot, the new order from above is: We want to split this app in two. You guys will stick with the maintenance of half of it, some other dudes with the other. Still both targeting the same DB and using the same starting point, but each only working on the module that we want them to work in. PostmodernJerk, it’s your job now to prepare the app so that this can work. How? We dunno. Why? Fuck if we care. Kill you? You don’t deserve the swift release of death.
Also I’m starting to get a bit tired of comments that go ‘THIS DOESN’T WORK and ‘I DON’T KNOW WHY WE DO THIS BUT IT HELPS and my personal favorite ‘??????????????????????14
[Thursday afternoon on a call...]
Client: Before we get started, can you create a sitescape outlining all of the pages and sections of the new website?
Me: Sure! I'll go through the website and shoot you a full layout in xls format as soon as possible, that way you can easily make notes on what you want added, modified or removed.
[Two hours later...]
Client: Hey, did you build that sitescape yet?
Me: Actually, I've been on back-to-back calls with other clients.
Client: So when are you going to get it done?
Me: Well, I have to go through the current website in it's entirety, which I'm guessing is about 1,000 pages. I have to determine which pages work fine on their own, which need to be combined for better presentation and which should be removed due to redundancy. That's something that is tedious and takes some time to complete. That, in combination with having an existing work queue that I need to fit you within and being at the end of the work week, we're looking at Tuesday morning to have it ready.
Client: "Existing work queue"? This is ridiculous. We're paying you good money to make our project your only priority. If we wanted to wait days for work, we would have saved money and paid for a cheaper service. You're already gouging us as it is! If we don't get the sitescape by end of day Friday, we're going with another company.
Me: I would tell you that I'm sorry for the inconvenience, but I'm not. I'm not going to feed you a line to make you happy. I'm also not going to work on my days off just to rush something out to you. You hired us because you wanted things done right, not quickly. Your current website is the result of not focusing on quality, but by how fast you can deliver it. We don't work that way. We only build quality products.
By rushing your project, not only do we alienate our current clients, affecting our reputation, but we build product of less than the highest quality. That will upset you because it isn't perfect, and it reflects poorly on us to use it in our portfolio.
If you want to hire someone to pump out this project to your unrealistic deadlines, be our guest. But you paid a 50% non-refundable deposit, so not only will you lose money, but your end product will suffer.
I'm going to let you sleep on this. If you decide tomorrow that another direction is the way to go, we wish you luck. But please understand that if we conclude our business, we will no longer make ourselves available for your needs.
Please find the attached contracts you have signed, acknowledging the non-refundable deposit, as well as the project timeline and scope, of which a "sitescape" was never originally mentioned or blocked out for time.
I hope that tomorrow we can move forward in a more professional manner.
Client: My apologies for yesterday. We're just very anxious to get this started.
Don't let clients push you around. Make them sign a contract and enforce it whenever necessary.7
Friend : Queue is just 'Q' followed by 4 silent letter..
Me : they are not silent they are waiting for their turn...
Client: Can you provide some kind of guaranteed timeline that you're going to be able to move our website to our new servers with the optimizations implemented? I know you said it should take a week, but we have 3 weeks to get this moved over and we cannot afford to be double billed. I'm waiting to fire up the new server until you can confirm.
Me: As I said, it SHOULD take about a week, but that's factoring in ONLY the modifications being made for optimization and a QA call to review the website. This does not account for your hosting provider needing to spin up a new server.
We also never offered to move your website over to said new server. I sent detailed instructions for your provider to move a copy of the entire website over and have it configured and ready to point your domain over to, in order to save time and money since your provider won't give us the access necessary to perform a server-to-server transfer. If you are implying that I need to move the website over myself, you will be billed for that migration, however long it takes.
Client: So you're telling me that we paid $950 for 10 hours of work and that DOESN'T include making the changes live?
Me: Why would you think that the 10 hours that we're logged for the process of optimizing your website include additional time that has not been measured? When you build out a custom product for a customer, do you eat the shipping charges to deliver it? That is a rhetorical question of course, because I know you charge for shipping as well. My point is that we charge for delivery just as you do, because it requires our time and manpower.
All of this could have been avoided, but you are the one that enforced the strict requirement that we cannot take the website down for even 1 hour during off-peak times to incorporate the changes we made on our testbed, so we're having to go through this circus in order to deliver the work we performed.
I'm not going to give you a guarantee of any kind because there are too many factors that are not within our control, and we're not going to trap ourselves so you have a scapegoat to throw under the bus if your boss looks to you for accountability. I will reiterate that we estimate it would take about a week to implement, test and run through a full QA together, as we have other clients within our queue and our time must be appropriately blocked out each day. However, the longer you take to pull the trigger on this new server, the longer it will take on my end to get the work scheduled within the queue.
Client: If we get double billed, we're taking that out of what we have remaining to pay you.
Me: On the subject of paying us, you signed a contract acknowledging that you would pay us the remaining 50% after you approved the changes, which you did last week, in order for us to deliver the project. Thank you for the reminder that your remaining balance has not yet been paid. I'll have our CFO resend the invoice for you to remit payment before we proceed any further.
I love it when clients give me shit. I just give it right back.6
During some backend improvements to the devRant infrastructure, some of our async queue processors (SQS) stopped working which caused many notifs to not go out/stop working. Unfortunately our alerting didn’t pick up on this since there were still queues being processed (just not specific ones) and some aspects of notifs working. Big apologies for this issue!
It is now resolved, and while very delayed, no notifications were lost and all were processed after the queue processors started up again. Sorry for the bulk notifs, but we wanted to make sure all that were supposed to go out went out.
Additional alerting will be put in place to prevent this from happening again.
Thanks for your patience!17
Me: Oh I see were using a non-standard architecture on this app. I like this bit but what is this doing? never seen it before.
Him: Ah we use that to abstract the navigation layer.
Me: oh ok, interesting idea, but that means we need an extra file per screen + 1 per module. We also can't use this inbuilt control, which I really like, and we've to write a tonne of code to avoid that.
Him: Yeah we wanted to take a new approach to fix X, this is what we came up with. Were not 100% happy with it. Do you have any ideas?
Queue really long, multi-day architecture discussion. Lots of interesting points, neither side being precious or childish in anyway. Was honestly fantastic.
Me: So after researching your last email a bit, I think I found a happy middle ground. If we turn X into a singleton, we can store the state its generating inside itself. We can go back to using the in-built navigation control and have the data being fetched like Y. If you want to keep your dependency injection stuff, we can copy the Angular services approach and inject the singletons instead of all of these things. That means we can delete the entire layer Z.
Even with the app only having 25% of the screens, we could delete like 30+ files, and still have the architecture, at a high level, identical and textbook MVVM.
Him: singleton? no I don't like those, best off keeping it the way it is.
... are you fucking kidding me? You've reinvented probably 3 wheels, doubled the code in the app and forced us to take ownership of something the system handles ... but a singleton is a bad idea? ... based off no concrete evidence or facts, but a personal opinion.
... your face is a bad idea15
So, I'm programming a control system for a prototype aerospace vehicle. You know, the stuff that needs to work to prevent falling out of the sky.
Anyway, test day was today (was -- not anymore). Wiring all the electronics, everything is actuating and works well. Except for one part, a little thruster for stability.
I spent hours - literally, fucking hours - trying to fix the problem. Wrong address? Wrong syntax? I had absolutely no clue what was wrong. Queue the hardware guy, $stupid:
$stupid: "How have you not got it working yet?!"
$me: "I don't know, everything I'm trying isn't working. I've spent hours digging through this code and nothing is fucking working."
$stupid: "Well have you set it up for the new thruster?"
$me: "What...What new thruster?"
$stupid: "Oh, the one we installed this morning, did noone tell you?"
WHY WOULDN'T YOU TELL ME THIS?! COMMUNICATION 101!6
Wow, what a bunch of weirdos waiting for the Apple store in my city to open. Isn't it perverse to queue up for hours just to be able to BUY a product? It's not like you get a discount or anything. No - just because... I don't know... Why don't you wait a day or two longer or just simply buy it online? This cult-like obsession to be the first with the newest product can't be healthy for our society.25
I recently joined the dark side - an agile consulting company (why and how is a long story). The first client I was assigned to was an international bank. The client wanted a web portal, that was at its core, just a massive web form for their users to perform data entry.
My company pitched and won the project even though they didn't have a single developer on their bench. The entire project team (including myself) was fast tracked through interviews and hired very rapidly so that they could staff the project (a fact I found out months later).
Although I had ~8 years of systems programming experience, my entire web development experience amounted to 12 weeks (a part time web dev course) just before I got hired.
I introduce to you, my team ...
Scrum Master. 12 years experience on paper.
Rote memorised the agile manifesto and scrum textbooks. He constantly went “We should do X instead of (practical thing) Y, because X is the agile way.” Easily pressured by the client to include ridiculous (real time chat in a form filling webpage), and sometimes near impossible features (undo at the keystroke level). He would just nag at the devs until someone mumbled ‘yes' just so that he would stfu and go away.
UX Designer. 3 years experience on paper ... as business analyst.
Zero professional experience in UX. Can’t use design tools like AI / photoshop. All he has is 10 weeks of UX bootcamp and a massive chip on his shoulder. The client wanted a web form, he designed a monstrosity that included several custom components that just HAD to be put in, because UX. When we asked for clarification the reply was a usually condescending “you guys don’t understand UX, just do <insert unhandled edge case>, this is intended."
Developer - PHD in his first job.
Invents programming puzzles to solve where there are none. The user story asked for a upload file button. He implemented a queue system that made use of custom metadata to detect file extensions, file size, and other attributes, so that he could determine which file to synchronously upload first.
Developer - Bootlicker. 5 years experience on paper.
He tried to ingratiate himself with the management from day 1. He also writes code I would fire interns and fail students for. His very first PR corrupted the database. The most recent one didn’t even compile.
Developer - Millennial fratboy with a business degree. 8 years experience on paper.
His entire knowledge of programming amounted to a single data structures class he took on Coursera. Claims that’s all he needs. His PRs was a single 4000+ line files, of which 3500+ failed the linter, had numerous bugs / console warnings / compile warnings, and implemented 60% of functionality requested in the user story. Also forget about getting his attention whenever one of the pretty secretaries walked by. He would leap out of his seat and waltz off to flirt.
Developer - Brooding loner. 6 years experience on paper.
His code works. It runs, in exponential time. Simply ignores you when you attempt to ask.
Developer - Agile fullstack developer extraordinaire. 8 years experience on paper.
Insists on doing the absolute minimum required in the user story, because more would be a waste. Does not believe in thinking ahead for edge conditions because it isn’t in the story. Every single PR is a hack around existing code. Sometimes he hacks a hack that was initially hacked by him. No one understands the components he maintains.
Developer - Team lead. 10 years of programming experience on paper.
Writes spaghetti code with if/else blocks nested 6 levels deep. When asked "how does this work ?”, the answer “I don’t know the details, but hey it works!”. Assigned as the team lead as he had the most experience on paper. Tries organise technical discussions during which he speaks absolute gibberish that either make no sense, or are complete misunderstandings of how our system actually works.
The last 2 guys are actually highly regarded by my company and are several pay grades above me. The rest were hired because my company was desperate to staff the project.
There are a 3 more guys I didn’t mention. The 4 of us literally carried the project. The codebase is ugly as hell because the others merge in each others crap. We have no unit tests, and It’s near impossible to start because of the quality of the code. But this junk works, and was deployed to production. Today is it actually hailed as a success story.
All these 3 guys have quit. 2 of them quit without a job. 1 found a new and better gig.
I’m still here because I need the money. There’s a tsunami of trash code waiting to fail in production, and I’m the only one left holding the fort.
Why am I surrounded by morons?
Why are these retards paid more than me?
Why are they so proud when all they produce is trash?
How on earth are they still hired?
And yeah, FML.8
The download manager is coming together nicely!
The idea is simple, all the downloads are multithreaded. It saves the chunks and then merges it together at the end. So far it uses 30-40mb for the whole thing!
Next stop, add queue management and then browser integration. The source code is here: https://github.com/tahnik/qDownload.
Don't blame me if you vomit once you see the code. I am still working on it and it will be clean soon. I would love to get some suggestion for the name of the project. It is "qDownload" currently and I fucking hate it.
@Dacexi is joining tomorrow to help with the UI. It's gonna be amazing 🤘24
The network starts slowing down, transactions start to fail across the 450+ stores, the website starts to spit 500 errors what is going on?
Queue a frantic running around the office working out what was going wrong... Calls from all 3 data centres, nothing is going in or out of the network.
Notice the network admin come back to his desk, his eyebrows raise and he looks left and right before unplugging his laptop ethernet from one of the server access points
The network rushes back to life, everything is fine.
That particular network mapping tool is now banned for use on production.10
I'm currently on my way to Japan on vacation.
This is how it went so far:
😁 - Arriving at airport early and excited
🤔 - Find out our flight is delayed. Oh well it might now be by a lot
😥 - Find out that it's 2 hours delayed and we will miss our next flight
😤 - Arrive at Frankfurt airport, and stands in line for 2 hours to the service desk
😡 - Arrive at service desk to get told that we have to go to a special service desk to get rebooked
🤬 - Get a ticket with our number in the queue. 125 people in front of us.
😴 - 4 and a half hour later, get get informed we will need to stay at a hotel for the night, and that we'll be flying at 6 pm the next day
😑 - Get to hotel and crashes (this is by 1 am now)
🤬 - Wakes up 6 hours later because we have a room right next to a construction site
Pro tips for Lufthansa and the imbeciles in their management and staff:
1. Inform people. You fucking knew the flight was this delayed, and you could actually have given people a choice at the beginning of their travel.
Now you had to put 100+ people in a hotel.
2. Bring food to people. Spending so much time in an airport leaves people very hungry. (Pssst, chocolate, candy and French potatoes are NOT food)
All in all, just fuck Lufthansa and their handling of this situation.
Fucking great start to the vacation. I'm already more exhausted than if I just went to work...10
Email. Fuck everything about it.
It's an obnoxious queue of messages I somehow must handle. And everyone in society expects you to have email. You can cancel your phone number, maybe even live without a house... but every hobo still must check their email.
It is an endless shitstream of things I don't want. Like a garden with some nice tomato plants, but then a really smelly weed starts invading and no matter what you do it keeps coming back.
I don't want to login to unsubscribe. I don't care about your "notifications center", or "managing the offers you receive from us".
And then your boss asks you to design an email campaign... I don't want to receive that shit, why would our customers? And even if I agreed with using email as a communication channel... YOU THOUGHT CSS IN INTERNET EXPLORER WAS A BITCH?
No really. Fuck email. Fuck everything about it.15
QA: You need to write a test script for your new web app before it can go live
Me: ok, I'll write some tests in PHP unit and automate the tests.
QA: Oh, can you do that? We just normally write a list in excel then go through each line and write pass or fail at the end.
Me: yeah, good one.
QA: Umm, I'm not joking.
Queue awkward silence...4
A repressed memory just popped into my head:
At my former job I tried to explain a problem I was having to the tech lead. Then, without fully understanding the problem, he decided to rewrite my code that I had been working on for weeks. His code, that took him 2 days to write, went straight to master without peer review.
He introduced about 10 regressions…
Queue the client meeting where the client says “These bugs came back, and we thought they were fixed already…” (They demo the bugs)
So obviously I say “I’ll let Techlead address that one.”
He just mumbles some stuff, and goes quiet for the rest of the meeting. Finally, when the meeting was wrapping up we hear “It’s Fixed!”
Everyone was like ???
“That bug from earlier, it’s fixed, it should work now….”
Would you believe this guy decided to code during the entire meeting, clearly missing important feedback and information that would help him understand the problem. Again, pushing to master without review….
Not to mention that we were talking about 10 regressions…6
I used to work in a call center for a local hospital.
One night, all of our lines are swamped. Literally no time for a break between phone calls, +15 minute wait times. I answer the next call:
Me: "Its a marvelous Monday at AskIT, how may I help you?"
Doctor: "This is Dr. [Noone Care]. I need you to fix my password now."
Me: "Absolutely! You should be able to enter a new password now."
Doctor: "MY HANDS ARE NOT FOR PASSWORDS, MY HANDS ARE FOR SURGERY!"
😩 So glad I don't work for doctors anymore. Oh and the best part is, he had selected the general phone queue, rather than the doctor queue (~3 minute wait time instead).7
!rant & story_time
This happend to the startup I was working for at ~2011. I was a junior Android dev, working on a very popular app.
During experiments for a new feature, I discovered that the system AlarmManager has a serious bug - you can set a repeating alarm with interval=0ms. If your app takes more then 1 ms to handle the Intent, then the AlarmManager will start to fill up the intent Queue, with unexpected results to the OS. causing it to slow down, and reboot when it ran out of Ram. Why? my guess was that because the AlarmManager was part of the OS, then any issues caused by it caused the system process to ran out of ram, crashing it, and the whole system with it. the real kicker was that even after a reboot, the AlarmManager still had Intents queued, causing the device to bootloop for a while, untill the queue was cleared. My boss decided to report the problem to google, as this was an issue in the OS. I built an example app, that caused the crash 10-30 seconds after starting, and submitted to Google. Google responded later that day with "not an issue, no one will ever do this".
Well... At this point I decided to review the autoupdate feature in our app, to make sure this will not happen to us. We just released a new feature where a user can set an update schedule option in the app settings - where you could setup a daily, weekly, or hourly update for the app. after reviewing it, It looked good, and the issue was not triggered in the manual QA I did. So, it was all good. And we released an updated version to the store.
After we did an update-install, we discoverd that, there was a provlem reading the previous version SharedPrefs value for the update schdule settings, and the value defaulted to 0...
the result was, our app caused all our users to go into a bootloop, and because the alarm was reset when the devices booted up, the bootloop could only be solved in a factory reset, or removing our app, before the device rebooted, and then waiting a few reboot cycles.
We lost 50 places in the market, and it took us 6 months to get back to where we were.
It was not my fault, but it sucked big time!5
I was taking an introductory programming course. One assignment was to do a little payroll program, including some data validation. The program was supposed to accept terminal input and send output back to either the console or a printer.
Suddenly the printer began spewing out paper like crazy. One of the students (a particularly mouthy woman) had programmed a less-than-helpful error message ("YOU ARE WRONG") and then not provided any exit from the error-checking logic -- the program just re-read the last (failing) input and re-tested it. All in all, it was a very nice infinite loop.
After spitting through about fifty pages of "YOU ARE WRONG," somebody cut power to the printer, and the instructor had to flush the print queue manually. He went back to the student and asked if she had tested the program by sending the output to the console before trying to print it, and she said, yes, she had tested it on the console and ended up with a screen full of "YOU ARE WRONG" messages. Why, then, had she sent her output to the printer? "I thought I would be daring!"7
After two extensive talks with a potential employer (they lasted for hours), I decided to accept the offer, although the salary was ~25% lower than at my previous job. Everything else sounded fantastic and I needed that desperately since at the previous company everything was toxic for years.
These new guys wanted a senior php dev because they had none of them, except only wordpress and drupal people who were not skilled enough to take other types of projects (they called them "custom php"). I liked it and thought I'm gonna shine there and quickly earn a raise because the agency will start earning more by getting projects that they were unable to even bid for.
First day at work and I got assigned to a new Drupal project, although it was supposed to be a simple restful API for a simple iOS app. It could be done in a week or less, with no rushing at all. But it had to be Drupal. And I happened to be around to hear that there is a queue of Drupal projects waiting. After 2 days leaving the office late and having my brain melted by nonsense I was looking at, I quit the job.
No offense to Drupal people, I really do admire you, but I just could not stand it after 8 years "doing custom php". It felt too much like being downgraded. But more than that I was pissed off by the fact that I have been shamelessly lied to and tricked to accept something I clearly said that I dont want.
This happened a year ago. I now earn 2.5x more money than those guys offered and work in a very healthy environment. In the meantime, I heard that the other guys shut their company down.2
CEO - So... We'll have a new side project, it's a small thing, I spoke with a guy, he needs just a small thing...
Me - Ok....... So, what do you need me for?
CEO - Not much, this guy started a project but wants your help on a small part, and you already did something similar for us, so it should be fast, just copy and paste and change a little bit. You probably know better than me.
Me - *Sigh* ... So `friend`, what do you need from me?
Friend - So, I made a crawler that is storing some information on a local file, I just need to add multiprocessing and multithreading, a producer-consumer system with a queue so I can automatically add new links every now and then, a failback system, so when a process doesn't finish, it should be re-queued and crawled later, store all the information on a database cluster (that is not set up), [......]
Me - And when is this supposed to be up and running?
Friend - Your CEO told me you could do this by the weekend. Can we finish this by Friday?
Me - *facepalm* FML13
The pain in a dev's heart when a long queue keeps growing at the supermarket and they don't open another checkout3
God damn fucking shit.
Now I know again why I don't do apps.
This is a app as simple as can be:
Enter a link, click a button, do a http request, download a file.
BUT FUCKING HELL WHY ARE YOU SO FUCKING RETARDED ANDROID?!
I'm not familiar with java but i don't care why is this so freaking unintiutiv to get shit done? Why are there thousands of ways and none works or atleast at a easy way? Make an object for this, make an object for that...
THIS IS RETARDED.
In PHP a simple "file_get_contents" would do the job. I were even down for some curl shenanigans if it were an easy implementation. BUT GOD DAMN.
URL url = new URL("http://fuckinghardcoded.com")
Oh no can't compile because that MIGHT be an invalid URL. Ok try catch this or just tell the rest of the Programm to watch out for this bad boy cause he might throw a MalformedURLException.
Ditch that and try volley. Everything is document except how to fire that queue! Does it do that by itself? Do I really have to do an override to a function while declaring? CMON ON I'M A WEBDEV IS THIS TRYING TO DO A FUCKING CALLBACK AND IS THIS TRYING TO BE AN ANONYMOUS FUNCTION??? Why is this so frustrating and confusing? I'm also mad at myself this is dropdead simple shit but I can't get it to work. Fuck this, fuck java , fuck android and fuck myself10
>got 2TB storage upgrade for Xbox One S
>format went well
>queue up ganes to download to external storage
>all is fine
>whoops a game crashed and hanged the console
>OH MY GOD ALL THE GAMES ARE GONE ALL OUR SAVES ARE GONE EVERYTHING'S GONE
>well at least the saves are all cloud saves
>wait why are they not resyncing
>Turns out you can sync saves upward but not downward if you don't pay for Gold for ALL ACCOUNTS ON THE XBOX, and gold family share doesn't count
>mfw Microsoft is ransoming save backups now12
Had a 1:1 with my boss last night and together we figured out a tricky bug related to my PR. However, either my PR or that bug patch broke a tangentially-related test. Queue my usual exhaustion, and I gave up trying to fix it.
This morning, I'm looking at it and nothing makes sense. My change should not have broken the test. So I reran the controller's tests, and... they all pass?
What is logic.
Good thing, though; that test leads to a few rabbit holes I haven't even begun exploring yet.
Oh, never mind. It broke again.
Ergh, here we go. 😔11
So here is my week 72 as a reviewer. But first, let me ask y'all. Am I weird to think that you should finish coding the thing and testing the thing before kicking it out to review? Cuz that's how I do it. And that is the process at my work place.
So anyway, I was doing this review. And it was very wrong. Like really, really wrong. We give a thorough intro to our product (perhaps too thorough) so this guy should have known every test case he had to cover. Or at least, if he was unsure, asked. It was all documented.
Anyway, he kicks out this peer review. First thing I notice, it is not following the standard. Fair enough, we didn't give him the coding standard. BUT HE DIDN'T EVEN MAINTAIN THE FORMAT OF THE ORIGINAL FILE. HE JUST DID HIS OWN THING!!! So I email him the coding standard and make a comment in the review. He denies the finding. No reason. Just turns it down. Strike 1.
Then, I'm going through and he didn't even cover all of the core cases. I found several core cases that he missed. And every edge case. Make a not of it. He fixes only the couple of examples I gave him. Strike 2.
Guy decided to redesign a major chunk of our interfaces. Our interfaces are not just used by us (hence interfaces). We designed them the way they were for a reason. It was not a fun design process. Myself, the architect, one of our customers, and the guy that did the implementation all told him to roll back his change. Especially since it wasn't in the scope of what he was doing. He wouldn't. Strike 3.
I go to the lead and bring him in. He has a talk with him. All of the sudden he is putting out multiple builds per finding. Like most times I will put out like 2 to 4 for the whole peer review. No he kicks out minimum one per finding and chokes the review queue. Strike 4.
Strike 5: he tells me, a former DBA, that I didn't know what I was talking about when I told him to move something into a new table, even after I told him that "while in database terms it doesn't make sense, this is for product robustness".
Strike 6: he was just a condescending asshole. Bragging about how he did this job and that job over his career. His longest position held was about 18 months. Bragged about working at my company and being some hotshot at the company: only worked here for 8 months and that was 5 years ago.
You know. I have never really wanted to fight someone after about undergrad. But he came close.7
In january 2023 i was contacted by a recruiter offering me a job position.
I DID NOT ASK FOR A JOB.
I WAS NOT LOOKING FOR A JOB.
THEY contacted ME.
Ok. So i went along with it and see how it goes. They probably wont hire me nor would i give a shit. Chatted with this recruiter for a while. She forgets to answer my message for 5 fucking days. Twice. Once because she was doing God knows what and the second time because she was on paid vacation. Fine i don't give a shit about you at all anyways.
So this recruiter chatting has been stretched out for several days. I think over a WEEK. So she forwarded me to their lead developer.
I applied to work as a full stack java spring boot backend + angular frontend engineer.
- java backend
- angular frontend
- full stack
- shitload of devops
- shitload of projects i built
- worked with clients
- have CS degree, graduated
- worked a job at their rival company
What could go fucking wrong with all of these stats right?
During technical + hr interview (3 of us on google meets) they asked me what salary I'd be comfortable with.
I said $1500/month straight out.
keep in mind:
- In my country $500 or $600 is a salary for engineers per month
- You get a raise of +$150 which is around $750 after working for 1+ year
- You can earn $1000+ after you work for +2 years
- Rent here is $200-300 a month at minimun. And because of inflation its just getting worse especially with food. So this salary is not for living but for survival.
Their lead engineer gave me a WHOLE ASS FUCKING PROJECT TO BUILD and i had to code it within 10 days. Great so at least 17+ days of my fucking life to waste on these fucktards who contacted ME.
The project was about building a web app coffee shop literally what mcdonalds has when you order via those tablets. I had to build this in java spring boot and angular. I had to integrate:
- docker, devops
- barmen, baristas, orders
- people can order at the table or to go
- each barista can take 5 orders at a time
- each coffee has different types of fields and brewing time
- each barman brews each coffee different period of time
- barista cant take more than 5 orders for to go until barman finishes the previous order
- barista can take more than 5 orders but if those orders were ordered from table, and they have to be put in queue
- had to build CRUD admin functionality coffee's
- had to export them all of the postman routes
- had to design a scalable database infrastructure for all of this alone
- shitload of stuff more
And guess what. After 10 painful days I BUILT THE WHOLE THING MYSELF AND I BUILT EVERYTHING THEY ASKED FOR. IT WAS WORKING.
Submitted it. They told me they'll contact me within 7 days to schedule the final Technical interview after they review what i built. Great so another 17+7 days of my fucking time wasted.
OH and they also told me to send them THE WHOLE GITHUB REPOSITORY AND TRANSFER OWNERSHIP TO THEIR COMPANY'S OWNERSHIP. once you do this you cant have your repository back. WTF? WHY CANT YOU JUST REVIEW THE CODE FROM MY PUBLIC REPOSITORY? That was so weird but what can i fucking do argue with these dickheads?
After a week of them not answering i contacted them via email. They forgot and apologized. Smh. Then they scheduled an interview within 3 days. Great more of my time wasted.
During interview i was on a google meets with their lead engineer, 1 backend java spring boot engineer and 1 angular frontend developer. They were milking me dry for 1 whole fucking hour.
They only pointed out the flaws in what i built, which are miniscule and have not once congratulated me on the rest of the good parts. I explained them i had to rush those parts so the code may not be perfect. I had other shit to do in my life and not work for your shitty project for $0/hour for 10 days you fucking dickriders.
So they quickly ran over to theory. They asked me where is jwt token stored. Who generates it. How the backend knows to authenticate user by it. I explained.
What are solid principles. I said i cant explain what is it but i understand how it works, why its needed and how to implement it (they can clearly see in the project i just build that i applied SOLID principles everywhere) - but i do admit i dont know the theory behind it 100% clearly.
Then they asked me about observables and promises in angular. I explained them how they work and how subscribe method is used (as they can clearly see that i used it in the code). Then they asked me to explain them under the hood of how observables work. The fuck? I dont know and dont care? But i can learn it as i work there?
Final result: after dragging this for 1 fucking month for miserable $1500/month they told me: we can either hire you now but for a much lower salary which you probably wont be happy with, or you can study more these things we discussed "and know why the car leaks oil" and reapply back to us in 2-3 months!23
After 'Dev' deployed a service using Azure ServiceBus, a particular queue/client was receiving errors.
Dev: "Looking at the logs, client is getting faulted."
Me: 'What is the error being logged?'
Dev: 'Client is faulted'
Me: 'No, that is our error when the client is either unable to connect or there is an exception in the middle of sending a message. What is the exception from Azure?'
Dev: 'Client is faulted. That's it. I'm going to have to re-engineer the code to implement a retry policy.'
<OK, I smell someone cooking up some solution finding, so I dig into the logs a little further>
Me: "Looks like an invalid connection string. The actual exception being thrown and logged is from the Azure client connection string builder. The value cannot be null."
Dev: "No, I'm looking right at the connection string in the config. Looks fine."
Me: "Looks correct on your machine, but what is actually being deployed to the server?"
<I could tell he was getting agitated>
<Dev clicks around, about 10 min. later>
Dev: "Aha!..I found it. The connection string in the config on the main branch is wrong, in fact, the entry is missing."
<dev fixes, re-deploys, life is good, I document the error and the root cause>
Boss: "Great job Dev."
*sigh* ..go teamwork?3
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9
In a morning 'stand up'.. (SM = Scrum Master, PO = Product Owner)
SM: "Sprint item 42399 ... Did you work with Ken on getting the price service ready for deployment?"
Me: "No, I worked with Dave on the service bus queue changes. Its there in the notes"
SM: "Ha ha...no...right there...it reads working with Ken."
Me: "Those are your notes. You re-assigned the ticket to yourself yesterday."
SM: "Oh...um...you told me you were working with Ken when I asked."
Me: "I'm really sorry, I don't remember you asking or me saying anything about changes to the price service. All the documentation I have is for the service bus."
PO: "I'm so confused, Ken was pulled off another project to work on the Price service for you guys."
Me: "I never talked to Ken, I have no idea whats going on. Did you tell Ken he had to make changes to the Price service?"
SM: "No..I never...um...well....yea...this card was blocked and the service needed to be approved and deployed."
Me: "Ken's changes were for the purchasing service two weeks ago and already deployed. The card is already marked as Done"
<PO rubs his face>
PO: "Good god...do I still need to be here?"
<PO walks out>
Me: "What changes did you tell Ken to make?"
SM: "Whatever the card says...see the price service."
Me: "Scroll down...see..price related to the service bus, not price service."
SM:"Work with Dave on getting this card closed, OK?"
Good fracking grief. Your ego is so brittle and so eager to look like a boss.
I did my job, you fracking kiss ass. I'm fracking sure when you re-assigned the ticket you told my boss you "had to" because I was falling behind in the sprint.3
You guys, I think I know what is it....I think I know why I wanted to be a developer.
It started off innocently enough. I was a young lad in IT. Wide-eyed. Absorbing anything and everything I could. Then, the asshole clients came.....
I would put on my best customer service face on, and address the client as calmly and as respectfully as I could. Reminding myself that their frustration is understandable.
To deal with the increased time dealing with clients took, I developed scripts to help me handle maintenance and keep my head above water. I developed scripts to streamline equipment provisioning for big deployments. I developed scripts to handle other technicians who didn't log-off the phone queue and fucked up our on-call flow. I put in place email rules to sift through the bullshit and time wasters.
I became a developer to streamline and make myself as efficient as possible. But the clients keep nagging. The bullshit keeps coming. The other players get in your fucking way.
There is no end you guys.... THIS IS ONLY TUESDAY. I can't script the passage of time. I'm....I'm.... I need a fucking nap.1
Today my grandmother called and told me she wasnt able to login to her account for her ISP. Alright, maybe shes confused about the passwords as we had to change it recently. No, turns out they still have this "oh sorry you typed your password incorrect three times, so we will lock your account and your granny have to do the 2 hour telephone queue"
You and your fucking outdated auth practise can go and kindly fuck yourself. Fix this shit before I get real mad.5
Dreading the long queue at immigration line at the airport, i saw this ad. Reminded me so much of our avatars , i had to post7
That feeling when you spend the day fearing a ticket in your queue and when the moment comes and you try to reproduce it, you discover that it was actually resolved the whole time..2
> Scammer calls me.
> I answer and robot puts me in queue.
> PlEaSe WaIt, yOuR CaLl Is vERy iMpOrtAnt To uS!
> 6 minutes later it literally says “Goodbye!” And Hangs up.
Algorithms real life implementation
On the way to your college canteen? -> A* search
Waiting in line in the canteen? -> Queue
Notice that girl standing in front? -> Linear search
Searching for her dad in the phone book? -> Binary search
Stupid! Google it! -> Trie
Search for her on Facebook! -> Depth-first search
Found her! Friend request? Accepted! Send a Hi! -> Graph
Writing her a secret love letter? -> Caesar cipher
Uploading your first date pic on fb? -> Image compression algorithms
Looking through her Whatsapp messages? -> KMP algorithm
She found out and had your first fight? -> Start over with some gifts! Backtracking
Got her list of items to buy? -> Array
Too many items! Low on cash, maybe? -> Priority queue
Making her play treasure hunt for her gifts? -> Linked list
Wait! Go back! Is that a ring? -> Stack
Girl’s family not agreeing to your proposal? -> Divide and conquer
Got married? Congrats! Going for your honeymoon? -> Travelling salesman problem
Your mom packing luggage for you? -> 0/1 Knapsack problem
She packed your favorite pickles? -> Hash table
Driving to the airport? -> Breadth-first search1
I really enjoy my old Kindle Touch rather than reading long pdf's on a tablet or desktop. The Kindle is much easier on my eyes plus some of my pdf's are critical documents needed to recover business processes and systems. During a power outage a tablet might only last a couple of days even with backup power supplies, whereas my Kindle is good for at least 2 weeks of strong use.
Ok, to get a pdf on a Kindle is simple - just email the document to your Kindle email address listed in your Amazon –Settings – Digital Content – Devices - Email. It will be <<something>>@kindle.com.
But there is a major usability problem reading pdf's on a Kindle. The font size is super tiny and you do not have font control as you do with a .MOBI (Kindle) file. You can enlarge the document but the formatting will be off the small Kindle screen. Many people just advise to not read pdf's on a Kindle. devRanters never give up and fortunately there are some really cool solutions to make pdf's verrrrry readable and enjoyable on a Kindle
There are a few cloud pdf- to-.MOBI conversion solutions but I had no intention of using a third party site my security sensitive business content. Also, in my testing of sample pdf's the formatting of the .MOBI file was good but certainly not great.
So here are a couple option I discovered that I find useful:
Solution 1) Very easy. Simply email the pdf file to your Kindle and put 'convert' in the subject line. Amazon will convert the pdf to .MOBI and queue it up to synch the next time you are on wireless. The final e-book .MOBI version of the pdf is readable and has all of the .MOBI options available to you including the ability for you to resize fonts and maintain document flow to properly fit the Kindle screen. Unfortunately, for my requirements it did not measure-up to Solution 2 below which I found much more powerful.
Solution 2) Very Powerful. This solution takes under a minute to convert a pdf to .MOBI and the small effort provides incredible benefits to fine tune the final .MOBI book. You can even brand it with your company information and add custom search tags. In addition, it can be used for many additional input and output files including ePub which is used by many other e-reader devices including The Nook.
The free product I use is Calibre. Lots of options and fine control over documents. I download it from calibre-ebook.com. Nice UI. Very easy to import various types of documents and output to many other types of formats such as .MOBI, ePub, DocX, RTF, Zip and many more. It is a very powerful program. I played with various Calibre options and emailed the formatted .MOBI files to my Kindle. The new files automatically synched to the Kindle when I was wireless in seconds. Calibre did a great job!!
The formatting was 99.5% perfect for the great majority of pdf’s I converted and now happily read on my Kindle. Calibre even has a built-in heuristic option you can try that enables it to figure out how to improve the formatting of the raw pdf. By default it is not enabled. A few of the wider tables in my business continuity plans I have to scroll on the limited Kindle screen but I was able to minimize that by sizing the fonts and controlling the source document parameters.
Now any pdf or other types of documents can be enjoyed on a light, cheap, super power efficient e-reader. Let me know if this info helped you in any way.4
"Yeah, I got your e-mail, I see the subject. Oh no, dude, it says urgent so it went straight to the URGENT queue. Yeah? Ah. Sure, I'll get to it as soon as I get through the ASAP, NOW and YESTERDAY queues. Well, if you wanted me to read it right away you should've say there's NO HURRY - I read only one no-hurry e-mail a day but there's currently 0 tasks on that queue."
Today I build a queue to spread the load of the 300.000 daily caculations. To prevent slow server response time from to many analist calculating at the same time.
First run on the server I managed to get the server load to 120% and get us offline for 30 minutes.
Accepation environment and production are on the same hardware.
Today was not a good day.4
TL;DR: Printers suck. MS-Word sucks.
Yesterday I wanted to print a few participation certificates for my blender project students.
*Turns on printer, runs downstairs, gets paper, runs upstairs, puts paper in*
So I tried to print in word. Nothing happened. Printer was online. I checked queue: Nothing.
*a couple of tries later*
Okay, fuck it! I export it as a pdf and open it in edge (8 times. 8 documents. Edge is a neat pdf-viewer, fight me). I press print on one. It works. I print the others and check: They look shit. The images look like 25% resolution and 50% jpg compression. I check word.
It by default exports in low quality. Yea, thanks for asking me. I export pdfs again and check "high quality". Open them, print. Done.
These were like 30 wasted minutes and print color. And paper.
Btw they look fucking neat. I can't show them right now but gradient text headline, project name is a rendered and edited 3D object :D4
My company decided to reinvent the wheel by writing its own queue system instead of using the existing message queue service.
And it uses plain PHP with exec() to run the workers.
Where do we store the job? We use mongoDB which is already used in our existing projects. We can query the collection/table each time the queue service start, execute the jobs, and let it exit if there's no job anymore. Don't worry, systemd will start the queue service again once it exits.
How to monitor the workers? Yep, we use ps and grep to check if the worker's PID still exists in the OS.
What about error stack traces? Nice question, we redirect the stdout and stderr when exec()-ing into a file.
What about timeout? We don't need it, let's just assume no one is going to write while(true).
It works flawlessly! /s8
Please understand that the reason I have hired you is so I could offload fairly marginal tasks and projects to someone else so that my work queue stops being a constipated mess of things that need done. HOWEVER, if you continue to freaking need constant hand holding I'll do the damn project myself. STOP ASKING ME EVERY 30 SECONDS IF I HAVE AN OPINION ON WHAT FUCKING TEXT EDITOR YOU SHOULD BE USING.
Good help is so hard to find.
Building a pull request on our Build Server takes 14 hours, it can do about 10 builds at a time and there are already 26 builds in the queue and it isn't even 10am.
I've been waiting for a build since I queued it on Friday - because the queue is actually a stack.
And management / senior developers are like...7
Want to make someone's life a misery? Here's how.
Don't base your tech stack on any prior knowledge or what's relevant to the problem.
Instead design it around all the latest trends and badges you want to put on your resume because they're frequent key words on job postings.
Once your data goes in, you'll never get it out again. At best you'll be teased with little crumbs of data but never the whole.
I know, here's a genius idea, instead of putting data into a normal data base then using a cache, lets put it all into the cache and by the way it's a volatile cache.
Here's an idea. For something as simple as a single log lets make it use a queue that goes into a queue that goes into another queue that goes into another queue all of which are black boxes. No rhyme of reason, queues are all the rage.
Have you tried: Lets use a new fangled tangle, trust me it's safe, INSERT BIG NAME HERE uses it.
Finally it all gets flushed down into this subterranean cunt of a sewerage system and good luck getting it all out again. It's like hell except it's all shitty instead of all fiery.
All I want is to export one table, a simple log table with a few GB to CSV or heck whatever generic format it supports, that's it.
So I run the export table to file command and off it goes only less than a minute later for timeout commands to start piling up until it aborts. WTF. So then I set the most obvious timeout setting in the client, no change, then another timeout setting on the client, no change, then i try to put it in the client configuration file, no change, then I set the timeout on the export query, no change, then finally I bump the timeouts in the server config, no change, then I find someone has downloaded it from both tucows and apt, but they're using the tucows version so its real config is in /dev/database.xml (don't even ask). I increase that from seconds to a minute, it's still timing out after a minute.
In the end I have to make my own and this involves working out how to parse non-standard binary formatted data structures. It's the umpteenth time I have had to do this.
These aren't some no name solutions and it really terrifies me. All this is doing is taking some access logs, store them in one place then index by timestamp. These things are all meant to be blazing fast but grep is often faster. How the hell is such a trivial thing turned into a series of one nightmare after another? Things that should take a few minutes take days of screwing around. I don't have access logs any more because I can't access them anymore.
The terror of this isn't that it's so awful, it's that all the little kiddies doing all this jazz for the first time and using all these shit wipe buzzword driven approaches have no fucking clue it's not meant to be this difficult. I'm replacing entire tens of thousands to million line enterprise systems with a few hundred lines of code that's faster, more reliable and better in virtually every measurable way time and time again.
This is constant. It's not one offender, it's not one project, it's not one company, it's not one developer, it's the industry standard. It's all over open source software and all over dev shops. Everything is exponentially becoming more bloated and difficult than it needs to be. I'm seeing people pull up a hundred cloud instances for things that'll be happy at home with a few minutes to a week's optimisation efforts. Queries that are N*N and only take a few minutes to turn to LOG(N) but instead people renting out a fucking off huge ass SQL cluster instead that not only costs gobs of money but takes a ton of time maintaining and configuring which isn't going to be done right either.
I think most people are bullshitting when they say they have impostor syndrome but when the trend in technology is to make every fucking little trivial thing a thousand times more complex than it has to be I can see how they'd feel that way. There's so bloody much you need to do that you don't need to do these days that you either can't get anything done right or the smallest thing takes an age.
I have no idea why some people put up with some of these appliances. If you bought a dish washer that made washing dishes even harder than it was before you'd return it to the store.
Every time I see the terms enterprise, fast, big data, scalable, cloud or anything of the like I bang my head on the table. One of these days I'm going to lose my fucking tits.10
Quick backstory. I've negotiated with our customers to drop IE11 support (happiest day of my life) and decided to also refactor and update our webpack configuration. I asked a bunch of questions about a few exclusions we had for JS processing and received a reply of: I don't know if we need these anymore. Queue a snippet of my response in a meme format on how I wish to proceed with the change done by our tech lead.
Recently I launched the minimalistic online drawing app https://okso.app. I wanted it to be a place where people could do fast, ad-hoc, napkin-based-like explanations of any concept as if you are sitting with your friend and trying to explain him/her something during lunch. Don't ask me why it is needed, I was just experimenting.
So, the first concept I've tried to explain with sketches was the Data Structures. Without further ado, here is the interactive ✍🏻 https://okso.app/showcase/... showcase that you may play with.
Of course, not all data structures are covered. And of course, this is not comprehensive material, but rather a cheatsheet that would create visual hints and associations for the following data structures:
- Linked List
- Doubly Linked List
- Hash Table (with hash collision resolution)
- Tree (including the Binary Search Tree)
- Heap (including Mean Heap and Max Heap)
Each box on the sketch is clickable, so you may dig into the data structure you're interested. For example `Heap → Max Heap`, or `Heap → Min Heap`, or `Heap → Array Representation`.
The sketches are split into so-called Pages just to make it easier to grasp them, so the users stay focused on one concept at a time, they see the relationship between the concept, and thus, hopefully, they are not getting overwhelmed with seeing a lot of information at the same time on one drawing/page.
The full list you may find in the ✍🏻 https://okso.app/showcase/... showcase.
I hope you find this showcase useful and I hope it will be a good visual cheatsheet-like complement to your data structure knowledge.12
Here is another rather big example of how C++ is WAY slower than assembler (picture)
Sure - std::copy is convenient
but asm is just way faster.
This code should be compatible with EVERY x86_64 CPU.
I even do duffs device without having the loop:
the loop happens in the rep opcode which allows for prefetching (meaning that it doesnt destroy the prefetch queue and can even allow for preprocessing).
BTW: for those who commented on my comment porn last time: I made sure to satisfy your cravings ;-)
To those who can't make sense of my command line:
To those who tell me to call clang with -o<something>:
1) clang removes the call to copy on o3 or o2
2) the result isnt better in o1 (well... one second but that might be due to so many other things, and even if... one second isn't that much)25
In vulkan we don't say it works we say
VUID-vkAcquireNextImageKHR-fence-01287(ERROR / SPEC): msgNum: 207921847 - Validation Error: [ VUID-vkAcquireNextImageKHR-fence-01287 ] Object 0: handle = 0xe7e6d0000000000f, type = VK_OBJECT_TYPE_FENCE; | MessageID = 0xc64a2b7 | vkAcquireNextImageKHR(): VkFence 0xe7e6d0000000000f is already in use by another submission. The Vulkan spec states: If fence is not VK_NULL_HANDLE it must be unsignaled and must not be associated with any other queue command that has not yet completed execution on that queue (https://vulkan.lunarg.com/doc/view/...)
 0xe7e6d0000000000f, type: 7, name: NULL
VUID-vkAcquireNextImageKHR-swapchain-01802(ERROR / SPEC): msgNum: 1050126472 - Validation Error: [ VUID-vkAcquireNextImageKHR-swapchain-01802 ] Object 0: handle = 0xcb3ee80000000007, type = VK_OBJECT_TYPE_SWAPCHAIN_KHR; | MessageID = 0x3e97a888 | vkAcquireNextImageKHR: Application has already previously acquired 1 image from swapchain. Only 1 is available to be acquired using a timeout of UINT64_MAX (given the swapchain has 2, and VkSurfaceCapabilitiesKHR::minImageCount is 2). The Vulkan spec states: If the number of currently acquired images is greater than the difference between the number of images in swapchain and the value of VkSurfaceCapabilitiesKHR::minImageCount as returned by a call to vkGetPhysicalDeviceSurfaceCapabilities2KHR with the surface used to create swapchain, timeout must not be UINT64_MAX (https://vulkan.lunarg.com/doc/view/...)
 0xcb3ee80000000007, type: 1000001000, name: NULL
and I think that's beautiful10
Whelp. I started making a very simple website with a single-page design, which I intended to use for managing my own personal knowledge on a particular subject matter, with some basic categorization features and a simple rich text editor for entering data. Partly as an exercise in web development, and partly due to not being happy with existing options out there. All was going well...
On my TODO-list: Comment and/or upvote system, spoiler tag, GDPR compliance (if I ever launch it haha), data-limits, a simple user action log for admins/moderators, overall improved security measures, refactor various controllers, clean up the code...
It STILL uses a single-page design, and the amount of feature requests (and bugs) added to my Trello board increases exponentially with every passing week. No other living person has seen the website yet, and at the pace I'm going, humanity will have gone through at least one major extinction event before I consider it "done" enough to show anyone.
I was talking to my non-tech gf about how a colleague of mine didn't understand priority queue and show led her an example, during explanation fucked up the example and duplicated priorities of 2 values but they came up in the unexpected order. She wanted to find the logic in it and blamed the computer for being dumb, but it has been ~45 minutes, she has Wikipedia about binary trees & linked list open as well as simple graphs visualising both + armed with pen and paper trying to understand how it all all works..
P.S I am either creating a monstrosity (Frankenstein style) or recruiting a fresh mind to our ranks, either way I am proud af 😢😊😍8
When your Boss openly refers to projects as Micro-sites to the client, devaluing the scope of work, and being completely unaware of the actual scope of work, which is essentially a twitch platform, to be built on wordpress, with integration to Power Point Dock, and a live chat queue5
Damn, I hate waiting in the queue when all the sleep servers are full! Get off already! I dont want to suffer from insomnia anymore!4
Here is another Tester story for you!
Tester: We have a problem with the application and it says that we cant process the queue to store the objects in the database.
Me: Can we reproduce it easily?
Me: Ok, I'll add some debug for you so that you can see the error and the worker status more easily.
<10 minutes later>
After adding the debug output and installing it on his test cluster this happens...
Me: The debug version is installed.
Tester: Ok, great!
Me: How fast does it take to reproduce?
Tester: Well... It happened this morning at 9
Me: Ok..? But are you able to reproduce the issue at all?
Tester: No... i don't think so...1
The most annoying hack I've had to deal with was back when I did IT support, actually. Level 1 call center tech at the time. Apparently someone fell for a phishing email and gave out his outlook credentials. The phisher used that email account to send out another phishing email to roughly 1800 employees.
Security Operations noticed, because this guy's job didn't generally involve sending out mass-communication emails. They investigated, figured out what had happened, and opted for the nuclear option: they reset the password for EVERY SINGLE ACCOUNT that received the email. All 1800 of them. Over the weekend.
I walked into the call center Monday morning and checked the call stats, then did a double-take. There were over 300 people waiting in the queue. I almost left and called in sick. Turns out it wasn't that bad though. Annoying to reset so many passwords and having no downtime due to the full queue, but on the other hand my stats were better that day than any other, since every call was a 5-minute password reset.1
The amount of sass I give people from other departments at work that think that they can just walk all over my guys is something to write books about.
Someone already tried pulling some shit with me and the hod, so what did I do? I fuckd her app up and moved her dumbass down to the bottom of the queue, now she gets to do manual paperwork for here till I get tired of it. Again, that is what your dumbass gets for harrasing my guys ...1
Holy retarded internet company. The fiber cable that comes from the power pole lost its connection to the building I live in. So the fiber was laying on the ground in the parking lot. The upside is it is still working. The problem is people are going to run over the fiber and break it. So I sent an email to the ISP on Thursday. They didn't create a ticket all day on Friday. By the time I got home they were not open. I called their tech support number and pressed 0 until I got a real person. I explained they need to fix this soon or it will get broken. They said "I understand" and then proceeded to create a ticket for fucking wednesday next week! I told them it will damaged by then. They said "I understand". Then I get a text saying they will do this wednesday. No you stupid fuckers, you do not understand!
Queue the McGuiver music:
I got out some steel wire I use to fix stupid shit like this. I made a hook to connect the steel cable holding the fiber. This hook will go around some exposed electrical conduit. Then I got a board to lift it up high (no ladder and 5 inches thick of ice on ground). I cannot balance wire hook on board and get it to slip down. So I got a steel pole I have and attached another hook with electrical tape. As I passed the hook over the conduit I used other pole to grab bottom of hook and pull it down to keep a hold of the conduit. Now the fiber is up in the air again above the parking lot. I hope this stupid hack works until wednesday. My right arm hurts like hell cause the strain of holding the fiber taut while I pulled the hook down. It strained my right hand.
Worst customer service on the planet with Century Stink. They fucking make it harder than hell to get help and it seems they take almost a week to fix shit.4
Wrote a crawler and now has 18 million records in the queue. About 500.000 files with metadata.
1 month until deadline and we have to do shit many things.
Now we discover we have a flaw in our crawler ( I don't see it as a bug ).. We don't know how much metadata we missed, but now we have to write a script that scrapes every webpage that we've already visited and get that metadata..
What's the flaw you ask? Some people find it funny to put capital letters in their attribute names.. *kuch* Microsoft.com!! *kuch*
And what didn't we do? We didn't lower case each entire webpage and then, only then, search the webpage for data..5
Jason arrived at the front of the queue, approached the restful priest, hands open.
The priest said, "body of request"
FUUCCKKKK!! I need to hit smth. Or rant..
So that flaky ec2 issue.. These ec2s act as a shared environment for multiple apps. Our app is one of them. I have no access to those ec2s at all.
What I have access to is my app and some monitoring. Now the app randomly starts lagging while nearly idling. At the same random times monitoring stops completely and doesn't come back up. This happens to random app instances at random times.
Reached out to infra support, managed to get attention from the big boys [mgmt]. Today we got the fix deployed. I test it out -- problem persists.
I find this behaviour somewhat familiar. Managed to get some server stats from infra folks. Apparently cpu% is high as well as load avg [cpu queue]. Bingo! I know how to fix it!
So I write a long comment w/ all the commands and all the 'if that, do this'. Send it to one of the infra technitians
and I get a reply: 'we will apply cpu usage limitations to fix the issue'
wait... Cpu% limitations will do nothing but highlight the underlying problem...
'no, instances have high cpu utilisation which is causing those lags. We will limit cpu resources and it will be fixed'
oh ffs... Cpu utilization and cpu queue are VERY different things.. I tried explaining that to them like 7-9 times. And all I get is:
'yes, cpu utilization is the problem. We will limit it and solve the problem'
I would surely escalate all of this through higher channels if only I could get my hands on those ec2s and have a proof. But that is not happening and I'm forced to sit back and watch them break things even worse until they are out of options and mark my query as 'wont fix'....
Fuck that's frustrating....
*thinking to myself* so I've read about that new vulnerability 2 days ago that allows one to escape from docker container to the host... What if <...>4
Spotify app for Android got an update. In the old version, there was a dedicated button to show the queue so you could reorder it. Now, it's hidden in a menu and takes 2 clicks to see you queue. What the fuck guys.1
All you fucking dumwits boarding planes.. If the airline starts boarding starting with the seats further in the back and ask only passengers sitting there to queue and board then don't try to jump the fucking queue and board if you have a seat in the front.
I remember a certain prank that amuses me till today....
Just add some devices to monitoring and the notification queue of the build chain / ... ...and wait patiently.
I still cry tears remembering an manager screaming what the hell "the poop train clogged the drain" means and why this is a critical system failure.
(Notice: next time check the mailing aliases of mailing aliases)
Although I can only recommend this if you know your team well. In my case we had a whole lot of fun after I got my head chewed off. XD (got an earful, but in the end he laughed his ass off)1
When you learn in school that a Stack is LIFO and a Queue a FIFO, and then find this:
Just spent 8 hours debugging an issue that had been sitting in my issue queue for a week. WooCommerce was claiming transactions were failing, but going through in the background anyway.
Can’t share any more specifics here, but the gist of it is that the server the code was developed on was set to PHP version 7.1, while the server the dev site was on was set to version 5.6 (which I didn’t even think was still installed, never mind the default...).
So yeah, fun times over a trivial fix.1
Making calls, meetings, and "brainstorming" half-baked features or designs or any other slop bullshit for 12 hours a day?
Wow, you are an impressive "startup bro"!!!
Coding, testing, running emulators, tests, reading technical documentation, ensuring product success in the real world, and implementing efficient full stack software for 12 hours a day?
These are the expectations of management. Just remember, what they do is "extremely difficult", but you are simply just a resource queue that takes input and converts it to real-world implementation.
Give me a fucking break
Right.. I spent the hours leading up to the year change by adding a YouTube to MP3 downloader into my Telegram bot. After a bit of fiddling it turned out okay, and the commit for it was mentioned to the last for the year 2020.
I mentioned this in one of my chats, and users came in with more issues. Told them it's the last commit for the year and I'll keep myself to it. I did adjust the code a bit though to fix those issues, awaiting a commit after midnight.
Midnight passes and 2020 turns into 2021.
I commit the new features, and quickly implemented another one I already thought of as well, but needed its own commit.
Quickly afterwards it turns out that the /mp3 feature actually breaks the bot somewhat, especially on long tracks. Users add a slew of 10h songs into what essentially became a long queue of single-threaded bot action (or rather lack thereof).
I made the /mp3 command accessible to myself only like I did with some other administrative commands already. Still no dice, the bot rejected the commands but executed part of the /mp3 command anyway.
I look a bit further into the code and it turns out that while I was restructuring some functions, I forgot to make the admin() function exit the script after it sends the rejection onwards. This was a serious security issue and meant that all authentication was void. Fortunately the chat did not realize this - one of the commands that became available as a result was literally a terminal on the bot's system.
I fix the issue in 7 commits after midnight total, 3 of which were related to /mp3 and admin(). We're now 1 hour after midnight.
Happy New Year everyone... :')6
Here's a peek at the current state of the service that I'm developing as a side project(plenty of time meanwhile searching for job).
It's a renting service, more automated and with more(and better, imo) search criterias. By automated I mean that I don't have to scroll through search results half backed with poor filters. You create a search, the search will iterate as soon as there is process power in the queue of the searches, and when it's done it will notify you(in different ways(communication channels) and different times, all setup by the user)
.NET Core 2 is the reference framework for the backend; HTML5,Razor, SCSS,JS for front-end.
What do you think about?
(https://thepra.github.io/previewRen... for more pictures)2
A time I (almost) screamed at co-worker?
Too many times to keep up with.
Majority of time its code like ..
using (var connection = new SqlConnection(connectionString))
// data access code that does stuff
catch (Exception e)
// Various ways of dealing with the error such as ..
ShowMessage("An error occured.");
// or do nothing.
Range of excuses
- Users can't do anything about the error, so why do or show them anything?
- I'll fix the errors later
- Handling the errors were not in the end-user specification. If you want it, you'll have to perform a cost/benefit analysis, get the changes approved by the board in writing, placed in the project priority queue ...etc..etc
- I don't know.
- Users were tired of seeing database timeout errors, deadlocks, primary key violations, etc, so I fixed the problem.
On my tip of my tongue are rages of ..
"I'm going to trade you for a donkey, and shoot the donkey!"
"You are about as useful as a sack full of possum heads."
I haven't cast those stones (yet). I'll eventually run across my code that looks exactly like that.1
Oh god where do I start!?
In my current role I've had horrific experiences with management and higher ups.
The first time I knew it would be a problem: I was on a Java project that was due to go live within the month. The devs and PM on the project were all due to move on at the end. I was sitting next to the PM, and overheard him saying "we'll implement [important key feature] in hypercare"... I blew my top at him, then had my managers come and see if I was OK.
That particular project overran with me and the permanent devs having to implement the core features of the app for 6mo after everyone else had left.
I've had to be the bearer of bad news a lot.
I work now and then with the CTO, my worst with her:
We had implemented a prototype for the CEO of a sister company, he was chuffed with it. She said something like "why is it not on brand" - there was no brand, so I winged it and used a common design pattern that the CEO had suggested he would like with the sister company's colours and logo. The CTO said something like "the problem is we have wilful amateurs designing..." wilful amateurs. Having worked in web design since I was 12 I'm better than a wilful amateur, that one cut deep.
I've had loads with PMs recently, they basically go:
PM: we need this obscure set up.
Me & team: why not use common sense set up.
PM: I don't care, just do obscure set up.
The most recent was they wanted £250k infrastructure for something that was being done on an AWS TC2.small.
Also recently, and in another direction:
PM: we want this mobile app deploying to our internal MDM.
Us: we don't know what the hell it is, what is it!?
PM: it's [megacorp]'s survey filler app that adds survey results into their core cloud platform
Us: fair enough, we don't like writing form fillers, let us have a look at it.
*queue MITM plain text login, private company data being stored in plain text at /sdcard/ on android.
Us: really sorry guys, this is in no way secure.
Pm: *in a huff now because I took a dump on his doorstep*
I'll think of more when I can.
After a management meeting about the companies first e-commerce initiative which I proposed and protocol-typed with assistance from internal and 3rd party resources, I returned with my boss to her office feeling on cloud nine as everything had been accepted / approved and the project was green lit!!!
She turns to me and says “I’m going down to the local sex shop and buying the largest dildo, strap it on, and then they will listen to me too”... I just sat, staring at the floor ...
Queue the crickets...4
have a queue of rants that will sit on the app to be added once the 2 hours is up.7
The graphic cards supply is completely madness. Even after the crypto crash it is not possible to buy RTX cards at price any close to MSRP.
But today my jaw drop when I saw auction on popular online portal where some guy was selling a place in a queue in another store. The title was "Rights to buy RTX 3080" and for 400$ you could potentially buy a GPU for the price close to MSRP. I think this was too much and after a few hour the advert was took down.5
While calling a tech company:
10 *music starts playing*
20 "You're second in queue"
30 GOTO 10
Is it so fucking difficult to let the music continue so I won't have to hear the same 10 seconds of the beginning of this already annoying song?!
When I finally get connected they tell me my order won't be in stock for another month... I just want my beautiful monitor 😭1
I'm currently between jobs and have a few rants about my previous job (naturally). In retrospect, it's somewhat therapeutic to range about the sheer brainfuckery that has taken place. Enjoy!
First, let me set the scene: legacy B2B web app made with LEMP stack and sencha ext.js 3 + 4 (don't ask) and a lot of madness. Let's call that app "Alpha".
Alpha is a self made CMS build for typical ERP stuff. Yes, a self made CMS: entities are containers, containers have types and fields and values. Like so many legacy PHP apps, it does not have a dedicated FE: the HTML is rendered on the server and then spewed out to the browser.
Easy right? Coding like it's 1999! But there was a twist: Because everything is basically a container, the HTML-templates are saved in the DB. Along with the nessary JS and the CSS. And the translation variables. Why? Because fuck you! That's why. Who needs a git history anyways.
For some reason, Alpha was kinda slow.
There was also an editor, that allowed you to modify templates (web, mail, pdf) on the fly in prod. Because templates contain repeating data (header/footer), one template could contain additional templates. Much confusion. You could change templates via migration (slow, boring) or just ctrl-c/ctrl-v that sucker (fast, much excitement).
Did I mention Alpha was slow?
On with the rant: e-mails! How do they work? Noone knows. How to send mails asynchronous in PHP? Witchcraft is the only possible answer to that riddle. Here is your enterprise™ solution:
1. create mail
2. insert mail into DB
3. WAIT UP TO 59 SECONDS FOR A FUCKING CRON TO SEND MAIL
Why? "Because that way, we can resend mails in case the network is down :)"
Same procedure for the SOAP-API (db-queue + cron). You read that right: all requests to various other systems are processed once a minute.
Alpha was only one of several systems. Imagine a bunch of monolithic php apps, interconnected via SOAP, REST and GraphQL like a godamn intergalactic orgy. Image having to debug that cluster fuck.
Let's say there is a bad request. These things happen. No biggie. Remember the db-queue? Let's try to send the bad request a second time! And a third time! Still no luck? How odd. Let's create a specific file in a specific directory: a LOCK-file. Now, "the db-queue is on hold and no request gets processed :)"
Golly gee thanks Alpha.
Anyhow, did you know that MySQL has a join limit of 61 tables?3
I took a certification test today that has an accumulative checkpoint score every 15 questions. I needed a 74 to pass the test... Here is a rough timeline of checkpoint scores and my thoughts:
64 - rough start I can recover
71 - OK, still failing but at least the score went up
63 - what the hell??
67 - OMG I am failing this test.
71 - You know, I don't need this job. I can find plenty of other work.
71 - This fucking test is brutal and I hate everyone. OMFG I only have an hour left!
Queue total internal meltdown. My job really depends on this certification.
73 - screw it. I failed. I am guessing from here on out.
77 - Holy shit I have a chance!! Only 25 questions to go. DONT SCREW THIS UP!
77 - YESSSSS My score didn't go down. 10 questions to go.
76 - Holy shit. After 6 month of studying, I passed the most brutal test of my life. ..... Barely.
In the last 24 hours I have been handed 3 tasks that are to be done on priority.
While my current queue will take upto a week to clear of, nobody thought of it.
When I'll present my time estimate for the completion of the new priority tasks, and when the deadline for the remainder of the tasks will be pushed back, I'll be asked a very simple question.
"WHY IS IT TAKING SO LONG?"
How to avoid death from Covid 19 and vaccines, a hypothesis to explain my near death experience and what to expect for the future, by a concerned citizen.
The important variables at play:
My weight = 220lb, overweight by 50lb say.
My muscle mass = very low, I can lift 25lb.
My age = 50+
Blood pressure = High, but not quite high enough to need treatment, on the edge.
Diabetic condition = Not.
Now lets introduce 3 Covid 19 vaccinations.
1st, no real effects to worry us.
2nd, no real effects to worry us.
3rd... bad effects..
I ponder, was the 3rd shot, maybe from a more potent batch, hadn't deteriorated in transit as much as the previous 2 ?
Did I also catch another version of Covid 19 at the same time ?
Was my fairly rare variables the result of which I now appear to have diabetic symptoms..
Has this damaged me enough that it won't just get better on its own, and my options are to, lose weight, gain muscle mass, and perhaps try a fasting diet ( Shown to work in mice.. ) in an effort to regrow my insulin-producing cells ?
So for those of you out there like me, suggestions:
Gain muscle mass.
Self isolate 4 weeks before vaccine, and 4 weeks afterwards.
Try to be at the back of the queue for vaccines so yours has aged a bit and isn't quite so potent.
In my current org we had a AWS SES event processor written in node js, it was struggling everytime we had more than 1000 messages in queue. It looped over every single message made some db calls then processed the next message. At one point we had to run 300 comatiners of this thing to clear out the queue.. It was still horribly slow.
I rewrote it in Golang with channels and goroutines now we need to run a single comatiner to handle upto 100k messages in queue. Used 10 goroutines to pull 10 messages constantly and put them in a channel, then spawned 1 goroutine per message to process them quickly. I'm so proud of this solution, we then brought this workflow to many other event processing services. 😎4
Monday morning we found out our main event queue hadn't processed since late Wednesday afternoon. Shit was hitting the fan and we were stumped. What had changed?!?. Why wasn't the queue processor running?!?
Turns out a server restart had killed the job (no worries there, surely?!) but turns out the job checked for a system flag on disk to stop it running multiple instance or in this case as the flag was still present any instance at all. Got to love the little things that really screw you over.6
Logger class would block the caller, lock a mutex, call CreateFile(), write a single line to the file, unlock the mutex and return.
Added two logging queues and created a thread that will periodically lock one queue and write it to the disk, around 500 entries at a time, while new entries are being inserted into the other queue. Kinda like a bed pan or urine bottle. While emptying one bottle, the logs go into the other one. Added fatal exception handlers so that the log queues are dumped when the application is crashing. When the exception handler is triggered, logging method does not return so that the application STOPS working to make sure there are no "not logged" activities.7
Manager said we need to use Queue. Several meetings after then I looked at prototype by 6 senior devs:
A QueueListener connects to RabbitMQ check for payload then *disconnects*;
A TaskProvider in ASP.Net.MVC.Core(whatever it is) listening http and dependency inject that QueuePoller;
A Visual Cron timer calls that http url every 5 minutes.
Wait for it: a set of database tables to store messages for another MessageProcessor.
It’s a XML to CSV file conversion project consists of 43 unique projects under a solution. I did it within 500 lines of Node with ElasticSearch and told we don’t use fancy new stuffs here.1
Im putting together a new stack (i do it every 8-10 months). Queue the dramatic music, its not java this time. So far i got Python Flask and maybe React but im not sure yet. Question is, what db should i use? Ill probably go for a json one, thinking about rethinkdb for now, but if anyone has a better idea, please share.16
Last week my PM scheduled a meeting for the whole team of 14 devs to talk about our tasks, how we can improve our workflow, so he's up to date on daily stuff nad sprint progress. After an hour and a half of lots of brainstorming i just asked
- what exactly do you want to achieve with all these changes?
- basically i would like on overview of current progress on each task
And he proposed couple of different meetings during the sprint, which would waste dev time. He proposed to apoint one person reaponsible to keeping him informed during each sprint. He proposed we change our meetings, our process, all of it.
So I just sat with my laptop during the same meeting and I prepared a jira board with swimlanes, filters, etc. Where you can sort by priority, size, what is blocked, what is, waiting in queue, what is being currently developed, what is being tested, what's ready for deployment, etc. Easy. 5-10mins of work.
- does this solve your problem?
- you have everything here
-... What if someone doesn't update the ticket status?
- we check everything during our dailies, so, worst case scenario is the status is not update for 24h
-... Umm.. Yeah.. I think thats it. Thank you.
So, we basically wasted 20+ man-hours on another bullshit meeting because the guy thats supposed to be using these tools doesn't know them at all. After working here for 6 months.
I just lost it when I found out THERE ISN'T EVEN A QUEUE. WT-ACTUAL-F15
Why is it some people can't figure out a queue/line? It's like all these fucking people are standing in series just for their fucking health.3
I've decided to switch my engine from OpenGL to Vulkan and my god damn brain hurts
Loader -> Instance -> Physical Devices -> Logical Device (Layers | Features | Extensions) | Queue Family (Count | Flags) -> Queues | Command Pools -> Command Buffers
Of course each queue family only supports some commands (graphics, compute, transfer, etc.) and everything is asynchronous so it needs explicit synchronization (both on the cpu and with gpu semaphores) too4
I called the hack "blow up bunny", was in my first company.
We had 4 industrial printers which usually got fed by PHP / IPP to generate invoices / picking lists / ...
The dilemma started with inventory - we didn't have time to prepar due to a severe influenza going round (my team of 5 was down to 2 persons, where on was stuck with trying to maintain order. Overall I guess more than 40 % ill, of roughly 70 persons...)
Inventory was the kind of ultimate death process. Since the company sold mobile accessoires and other - small - stuff.
Small is the important word here....
Over 10 000 items were usually in stock.
Everything needed to be counted if open or (if closed) at least registered.
The dev task was to generate PDFs with SKUs and prefilled information to prevent disaster.
The problem wasn't printing.
The problem was time and size.
To generate lists for > 10 000 articles, matching SKUs, segmented by number of teams isn't fun.
To print it even less. Especially since printers can and will fail - if you send nonstop, there is a high chance that the printer get's stuck since the printers command buffer get's cranky and so on.
It was my longest working day: 18 hours.
In the end "Blow up bunny" did something incredibly stupid: It was a not so trivial bash pipeline which "blew up" the large PDF in a max of 5 pages, sent it to one of the 4 printers in round robin fashion.
After a max of 4 iterations, bunny was called.
"bunny" was the fun part.
Via IPP you can of course watch the printer queue.
Check if queue was empty, start next round with determined empty printer queues.
Not so easy already. But due to the amount of pages this could fail too.
This was the moment where my brain suddenly got stuck aft 4 o clock in the morning in a very dark and spookey empty company - what if the printer get's stuck? I could send an reset queue or stuff like that, but all in all - dead is dead. Paper Jam is paper jam.
So... I just added all cups servers to the curl list of bunny.
Yes. I printed on all > 50 printers on 4 beefy CUPS servers in the whole company.
People were pretty pissed since collecting them was a pita... But it worked.
And in less than 2 hours, which I would have never believed (cannot remember the previous time or number of pages...)1
Because promises can be retained after they settle, and handlers attached thereafter are pushed on the microtask queue, a promise rejection can't be asserted to be unhandled until the promise in question is GC'd.
Of course this is nuts so engines will conclude that a promise rejection is unhandled if there are no handlers at the moment of rejection.
I hate this language.10
> Rental agreement ending this summer
> Sign up for apartment in rent controlled country with 10+ years in queue
> Be told I might have to relocate anyway because dropped clients
> Say yes, that'd be cool
> Apply for apartments in new location
> Get offered one in this city
> Get offered one in other city
> Have <1 week to sign
> Declining would mean no first hand contract ever in that city
> Contact boss man to know where I can work
> On vacation until end of June
I learned very quickly that magic globals are baaaaad.
I mean, it's easier than using a queue for passing data between threads, right?
I got a phone interview!!! Hope it goes better than my last one :') that one was for a web developer position and they asked me about stack vs queue and memory allocation. Idk why but I sure as shit didn't get the job.2
Today I have created a server application on Python Tornado which can forward TCP Packets directly to HTTP request queue without any intermediate caching.
Our remote IOT devices (microcontrollers with sensors attached) send sensor reading over TCP Socket to our server and all the connected web applications can show the data instantly using long polling and the above mentioned technique.1
So yesterday I installed Arch. Well, sort of. So far the GUI isn't configured so it's literally less convenient than an equally unconfigured TTY. But I'm getting there, today I connected to a secure Wi-Fi network. Tomorrow I expect to install something for power efficiency and start configuring stuff/creating a proper DE. Last time, when I stripped down Ubuntu and installed i3wm there, the first thing that bothered me was the lack of a wallpaper so I never got to issues like the keyring not unlocking, the x11 default font being two physical pixels tall, or added peripherals not being handled. This time my plan is to solve every issue as soon as I get there. For this reason I'll use a queue for managing my tasks rather than a stack like Google Keep.11
Anyone else hate the phrase "as soon as possible" with a passion from the mouth of a client? I feel like saying it'll be f*cking done when it's done. Yes you're important but so is everyone else. Be patient, you only asked me to do it 3 hours ago. Just because of that, you've now gone to the back of the queue.4
Having to work for clients sucks. They are so rude. "We sent an issue over yesterday and it's still not fixed". You think you're our only customer? You think this shit is automated and takes no time to fix? You think you have resources working on you stuff 24/7. You don't man. Get in the queue and be grateful a load of time and effort goes in to your website. Sit down and stfu. Ahhh... that's better.1
Have you been using node js for a while now? Are you aware of how things work internally in node js? the queues in node js? Doesn’t matter if your answer is yes or no, I will let you in on one little secret which will clear all your doubts regarding how node js works asynchronously under the hood.
Read the following article to know more
I wish I were a super hero who's special powers were development related. Like being able to change a person's pointer to point to null or being able to cast a Queue as a Stack so I can go first.
What's worst than waiting in a queue inside a mall in the middle of Christmas last minute shopping spree?
Low connectivity when the only thing I want is reading some devRant post 😱😓1
So the other day I was talking to my gf about how it was crowdy in the metro area and how big the queue was for ticket, she said 'You should never say it was a big queue but it was a long queue' and I said 'It wasn't a big queue but it was a double queue' and I started laughing.
My gf being from a non technical background didn't understand why I was laughing so much.2
YouTube Music is so fucking shit
No continue playing on refresh. Queue / Currently playing gets cleared (Wtaf?)
No logical playlist sorting by alphabet
Alphabetical order seems to restart several times and gets fucky with mixed starting letters towards the end
Absolutely no sorting options by any attribute
No continue listening on another device
No song search ability in playlists (Excuse me but what the fuck?)
SS attached shows how playlist goes from W -> Y -> axbyz2
Love it when the maintainer of an open source project you contribute to runs a linter over the whole codebase and force pushes the changes to origin master so now all the Pull Requests in the queue have to be rewritten and have tons of merge conflicts to resolve. Awesome! 😠2
When you bust your ass developing a site for a client, bend over backwards with changes - pushing the rest of your extremely large queue further and further behind, just to come in to a cancellation request from someone else at said company. 😡 We had really good rapport and the site looked amazing, and all they give me is "we're going in another direction". 😡 Why do people so this when the site is already finished?!? So rude! Before you comment telling me to charge upfront next time or whatever I work for a huge company so none of that is in my control.
I’m a homebody anyway and never want to leave the house. Now I have a valid excuse for not leaving the house. Feeding toxic and unhealthy behaviors? Yes. Is right now the time to care? Probably not. Queue bingeing 12 hours a day of Udemy courses.6
JIRA queue just dropped into the single digits for the first time in weeks. It's getting me right in the feels.
I was waiting in a queue for Adobe support for over an hour, decided to go for a smoke. I come back, and a representative had entered the chat and closed it because I didn't reply within like 2 minutes ... FU
Okay, so, my company does some stuff around blockchain. I had source for smart contract prepared before and it was on 'todo' queue. So, time for it, time to deploy on Kovan, time to test it on actual chain. Riiiight? Okay compiled no problem, deployed, no problem, i plug into several gui's ABI provided by compiler, and... Well..
I still do not understand why each and every gui prompted me to send view transactions (external view), instead of, well, eval them locally, i checked the ABI manually, it is correct, i stripped it down, it is correct, all up to spec.
I try older version of offline MEW, to have older web3.js with no success that thing works properly.
Web3.js based client
And none behaved correctly.
I would, like, understand, if I didnt use official compiler, but official compiler should for F sakes be compatible with official client.
Today this stole 6 hours of my life, I didnt manage to solve it, and I am legitmitely pissed.
Im getting close to re-implement segment of web3JS to be able to do the tests I need to do.
Its not like I havent done it before....
Friends, gather round for a story of "the user".
Two days ago I assisted a friend in reviving their scammed Instagram account with final confirmation it was back in their possession yesterday. I stated "make sure you clean out phone numbers, emails and change the password. WHATEVER YOU DO DON'T USE THE SAME PASSWORD"....I bet you know where this is going....
Queue 6:45am: "HELP! THEY DID IT AGAIN! THEY TOOK MY FACEBOOK THIS TIME TOO!" as a safety measure, I told her to link them for recoverability.....not thinking you just created a bridge to the facebook...
Now We're going through EVERY account BY HAND and changing EVERY password for EVERY service and enabling MFA. We've also learned the power that the forgot password button wields for everyone.
ProTip: If your friend was "hacked" be patient, friendly and soft to get every detail...sometimes you learn more and can position them better.
Now I'm upset with myself because I couldn't save their accounts and at this point we've lost the only footing we had to them. Social Media is a curse.1
Actually finish something dev-related outside of my classes. I've picked up a lot of unrelated project ideas and every time I find a new one, it gets pushed on top of the stack instead of at the end of the queue.1
I’m in Cardiff watching Wales Play Scotland in the Six Nations. It’s half time and I’m in a huge queue for the toilet, how long does it take to whip your chap out, have a piss, and put the little fella away again?7
During these past few COVID year, I've (so far) managed to not actually get the 'rona (not as far as I know anyway).
You know what this whole mess HAS gotten me though?
Just over 200 movies in a queue to watch.
I'm gonna need another pandemic and lockdown just to get through all that shit! Which of course won't work because it just keeps growing now, never shrinks.
...which makes me think I've discovered a new virus: streaming movies... they sure as hell seem to replicate like a virus, don't they?3
I regret ever picking my CS major every time I stare at my VS Debugger and am stuck reading the values stored in a List<Int>. Why, List<Int>, as the backing for my shortest path, do you not have the proper values after I walk my tree.
I have lovingly set up my Priority Queue. I have followed the class notes and lectures.
Oh why, my List, have your forsaken me?
It's a recursion bug. I'm not updating nodes properly.
I'm a dumb ass.2
const topic = 'Laravel'
const subtopic = 'Queues'
Have you used Redis? Have you used it as your Queue driver? Is it cool? Are there better alternatives?5
You might think that getting your work done super fast is a good idea but it's really not. It takes QA awhile to test your tickets and give feedback. If you clear your sprint board, PMs will add more assignments... Then on top of that extra work, QA will give you feedback from your previous work. You now will be super stressed to get all of this done by the end of the sprint.
It is best to take your time and get it right the first time... I've also learned to make a buffer... which is tickets in my queue I've already completed but did not say I've competed yet. This way I can take extra time on tickets that need TLC and the PM team won't surprise you with backlog tickets.
when that time comes, and I have an empty queue, I'll spend the day on desktop doing: right click - refresh..
it's been a while since checked what my background looks like!1
Just learnt that some people in the access admin team intentionally back log their tickets just to tell people how busy they are.
But most request you raise in their queue doesn't get resolved unless you show up at their desks.2
GoDaddy. Is. The. Worst.
I'm working on an SSL cert domain verification for a client. The chat support tech at GoDaddy has no freaking clue what she's doing. She keeps telling me to follow the same help article I already knew about the first second I heard I needed to do this job. It didn't work. But she keeps going back to it, sure that I'm just a complete and utter moron who doesn't read. Never mind that I have screenshots to prove everything she's telling me is 100% wrong according to every error message this process is generating.
Now she's checking with the "SSL team". Which is code for "I have absolutely no idea what I'm doing and I'm frantically searching the FAQ database to figure out what this SSL thing even is."
That's what the last hour of my life has been. And 20 minutes of that was waiting in the chat queue.5
Today I spent a long hour working out how to assign a lead to a queue in apex (salesforce).
You can't just assign it, you need go make a setup entry in the database first to mark the group as a queue.
But wait, you can't actually do that in the same context as making the group, so you have to make a subprocess, and mark it as a queue in that.
None of this is documented.
Screw you, SalesForce.2
Writing my 13th tech book... which is nice and all... but this pandemic, plus absolute shit weather for weeks, is hammering my motivation. All I want to do is sit on the couch under a blanket and hammer my Netflix queue. But, I signed a contract, I have deadlines, so gotta get my ass moving (and fight to ensure this lethargy doesn't show up in the prose). As my daughter says: the struggle is real.4
I kind of dislike how few posts are on this app/site. I end up having to switch it to algorithm instead of new due to running out of posts to read. I like to look at this while waiting to queue in apex legends lol.3
Our site has a feature where if a user changes some parameters in his profile, his plans on the site are updated in accordance with the change.
It took me a 2 weeks to implement a proper queue based updating mechanism.
My manager : "What's taking so long? Why not implement it in a recursive loop of all the users in the database?"
I could only stare with my mouth open.
For a moment I thought I was living in a crazy world..
Then I realised I was..
So.. let me get this right, a huge digital library of text, can only let one person at a time, look at a copy they have..
I can't for the moment, think of a more absurd thing !
"You are number 1,392,293,943 in queue to read the book you have requested, estimated time for delivery is 134 years, 3 months, and 4 days, do you wish to continue waiting ?"
It's going back to the old days, when I'd order a book at the library, and wait 2 years to get to read it..
Your kidding me right !
No, I think this is real, and I guess one of the conditions for it being available online..
I did ponder this kind of crazy idea myself a few years ago, but everyone else said it would never work..
But I had in mind to have more than just one copy available for folk to view..
I mean, if you own 10 physical books, you can lend them out to 10 different people at once.
So, if you have 10 physical books, and one digital scan, then you should be able to lend out 10 digital scans at once right ?
That was the idea..13
Wouldn't be node js a good fit for a performant message queue, I mean it's async from the bottom up, a low memory footprint and good rx support? Or what specific does a good mq require?1
Worst support experience so far: German ISP sent their cheap default router which I opted for, hoping that I didn't need to rent a costly FitzBox. Provider activates the connection, everything fine, but slow and unstable on my Linux laptop only. Try using their website, their support chat etc. as they made it very hard to even open a support ticket. I gather all the information, ping, traceroute, netstat, logfiles, router settings, broadband measurement etc. and finally manage to open a support ticket of my issue adn they say they will send an engineer to my place in about 4 days. I stay at home that day and wait for the whole day, nothing happens!
I get back to them, even get a phone call after waiting about 1h in the waiting queue, only to listen to someone tell me that the appointment had been cancelled as the ticket had already been closed. WTF! They said they measured my connection and could not reproduce any error. Did not even mention my lengthy log files etc. It took my own research and another hint that there is an incompatibility with that specific router and some specific devices so I should really replace their cheap router with a FritzBox device. What they also did not tell, that you dont need to rent their branded FritzBox, there are cheap second hand models from another ISP that you can reconfigure by simply chosing another ISP in a dropdown list that contains every popular German ISP. But why are they popular? You can only choose between the different bad ones, that's why they don't seem to make an effort.3
The spanish word for queue is "cola" wich is a synonim for ass, so putting things in a queue can have some unintended meaning here.6
GitHub now offers unlimited private repos for its free plan users...
Max contributors for those repos will be 3 which is expected.
Queue Microsoft Haters 😂
TELEKOM ARE YOU RETARDED? although paying for a business contract we were a whole day without internet - a technician was sent between 17:00 - 20:00 and never rang the doorbell. Also, I spent a sum of about 2 hours (!!!!!!!!) Just In the queue (¡!!¡!!!¡¡¡!!!) Of the hotline. It shouldn't be called TELEKOM - TELLEFUCKOFF would suit better! MAGENTA MY ASS SUCKERS!3
My current project, it's been a 4 month slog working with a client service team who said they read the spec but didn't, said they reviewed the wireframes but didn't , let us work for 2 months off course ( ignoring our nightly builds links and logins all the while but acting as though all was GREAT) before sending us a series of what I can only describe as 'WTF is this?' emails, this wasn't what we expected.... *Queue wind blowing and tumbleweed moments*.. A serious left turn and some back and forth trying of gently ( but eventually 'less' gently) educating them on what processes are, and why we have them... We're now at Beta day T-7 days somehow nearing stable and ... Today.... Today I get an email with another 4 weeks worth of change requests .... Using rage trigger classics like " maybe we forgot to mention... " And " didn't we discuss X?...." The hardest part is trying g to keep my team's morale up, nothing worse than having you deadline victory shot dead with " it's not quite Carling though is it?"
Add on too they failed to send us any content until a month ago ( 3 months late).... Yeah, this one has had me closer than ever to the edge of the cliff...2
A week of vacation has begun, and every time it feels like I'm joining the Nights' Watch:
"Night gathers, and now my watch begins.... the watch to see how long it is before I actually WANT to go back to work. Tuesday? Wednesday? How long IS my Netflix queue anyway? Ugh, can't go anywhere, COVID done fucked that all up, so me and the couch are on a first-name basis again. Shit, should I check email, like, just quick, so I don't have thousands to go through next Monday? Oh, maybe I should spend some time prototyping that new screen... no, gotta keep from thinking about work! Oh, there's a big list of home repairs I need to do, now I have time... no, fuck that, that shit sucks. Hmm, maybe I should start that game project I was excited about a week ago? Nah, I'm not really excited by it now, never mind. I guess I could play some Halo again... no, that's boring. I wonder if my team managed to do the deployment today, and how those tickets I Ieft them are coming... ah shit, I want to go back to work ALREADY!"
That's how George R.R. Martin wrote it, right??
So I've been a developer at my current job for about 12 years. I am the most senior level developer at my job. Let me state that I am a backend developer although I did frontend development off and on as well for the first 5 years of my career. However I have done no major frontend development for around 7 years now.
Effectively our frontend developer of 6/7 years just left.
We had an existing project in the queue and my boss expected me to do frontend development for this project which I did just to help out, but I am not getting any extra pay for this and I absolutely hate doing it. The only thing I was paid for was I overtime for completing the project quicker. With that being said I feel like I should be paid substantially more since I am doing double work and since they are not paying for a frontend developer. I'm literally doing her job and doing a better job than she did mistake wise doing her job.
Additionally many things have changed over the past 6/7 years and they have it in their minds since I did it in the past it should be the same now which isn't the case. So there are things in my project queue right now for future projects that they think I know how to do and I don't. It isn't that I couldn't eventually figure it out. It is just that I have zero desire to learn it .I just absolutely hate styling websites.
I'm ok with doing minor frontend things for projects but not entire websites
I literally develop the backend off all the sites we build setup Google tag manger tags/triggers, Google analytics, search console, Google looker studio, dns, site updates, manage all out Linux servers, do seo for content and sites. I can't handle something else on my plate. I'm currently having to rewrite a ton of code as well due to upgrades for our sites.
How do I respectfully tell my boss I refuse to do frontend work going forward or pay me substantially more on another project and that he needs to hire someone else without damaging our relationship?
I like my boss and my coworkers as people a lot outside of work, but I feel like I'm being taken advantage of financially and I'm honestly tired of it. As a developer for 12 years I'm honestly ready to just go elsewhere.
My professor just asked the students "so what is a queue?"
Some dude answered "First in last out"
Profesor says "Nope, a queue is a list" (as in a linked list)
Also he said no very bitchy which pissed me off... I mean a queue can be an array, a list is just one implementation?
Hate it when they blatantly simplify something (and outright butcher it) to make explaining it easier5
Sydochen has posted a rant where he is nt really sure why people hate Java, and I decided to publicly post my explanation of this phenomenon, please, from my point of view.
So there is this quite large domain, on which one or two academical studies are built, such as business informatics and applied system engineering which I find extremely interesting and fun, that is called, ironically, SAD. And then there are videos on youtube, by programmers who just can't settle the fuck down. Those videos I am talking about are rants about OOP in general, which, as we all know, is a huge part of studies in the aforementioned domain. What these people are even talking about?
Absolutely obvious, there is no sense in making a software in a linear pattern. Since Bikelsoft has conveniently patched consumers up with GUI based software, the core concept of which is EDP (event driven programming or alternatively, at least OS events queue-ing), the completely functional, linear approach in such environment does not make much sense in terms of the maintainability of the software. Uhm, raise your hand if you ever tried to linearly build a complex GUI system in a single function call on GTK, which does allow you to disregard any responsibility separation pattern of SAD, such as long loved MVC...
Additionally, OOP is mandatory in business because it does allow us to mount abstraction levels and encapsulate actual dataflow behind them, which, of course, lowers the costs of the development.
What happy programmers are talking about usually is the complexity of the task of doing the OOP right in the sense of an overflow of straight composition classes (that do nothing but forward data from lower to upper abstraction levels and vice versa) and the situation of responsibility chain break (this is when a class from lower level directly!! notifies a class of a higher level about something ignoring the fact that there is a chain of other classes between them). And that's it. These guys also do vouch for functional programming, and it's a completely different argument, and there is no reason not to do it in algorithmical, implementational part of the project, of course, but yeah...
So where does Java kick in you think?
Well, guess what language popularized programming in general and OOP in particular. Java is doing a lot of things in a modern way. Of course, if it's 1995 outside *lenny face*. Yeah, fuck AOT, fuck memory management responsibility, all to the maximum towards solving the real applicative tasks.
Have you ever tried to learn to apply Text Watchers in Android with Java? Then you know about inline overloading and inline abstract class implementation. This is not right. This reduces readability and reusability.
Have you ever used Volley on Android? Newbies to Android programming surely should have. Quite verbose boilerplate in google docs, huh?
Have you seen intents? The Android API is, little said, messy with all the support libs and Context class ancestors. Remember how many times the language has helped you to properly orient in all of this hierarchy, when overloading method declaration requires you to use 2 lines instead of 1. Too verbose, too hesitant, distracting - that's what the lang and the api is. Fucking toString() is hilarious. Reference comparison is unintuitive. Obviously poor practices are not banned. Ancient tools. Import hell. Slow evolution.
C# has ripped Java off like an utter cunt, yet it's a piece of cake to maintain a solid patternization and structure, and keep your code clean and readable. Yet, Cs6 already was okay featuring optionally nullable fields and safe optional dereferencing, while we get finally get lambda expressions in J8, in 20-fucking-14.
Java did good back then, but when we joke about dumb indian developers, they are coding it in Java. So yeah.
To sum up, it's easy to make code unreadable with Java, and Java is a tool with which developers usually disregard the patterns of SAD.
So let's break this down: it's now 2017, the world of development is overflowing with flexible systems written in dynamic coding languages running on powerful hardware. A great deal of which is available to use for free.
This morning I FINALLY got one member of our "R&D" team at work to implement a proper logging system in one of our numerous Java apps... So she adds "log4j-1.2-api.jar" to her project.
I'm still (3 years down the line) trying to convince them to let me rewrite their build scripts to integrate some sort of dependency management system, since they still use the default generated build for Ant as provided by Netbeans.
There is one bright side though: we're so-fucking-close to being able to ditch MS VSS!
*queue slow clap*
At this rate, how long do you think it will be before we can finally get away from using JDK 1.6 for everything?3
In hospital today and the queue is too long, all I see are the help desk computers restarting cause the on board application software isn't running, sometimes a manual paper system > shoddy computerised system
Fucking IT bloggers be telling you about how to deploy scalable hype meta monad 420 doritos bacon containers. Forget those hipsters.
The only developer blog you need is ACM Queue.
I am unlucky, because electricity in my area just goes down just before I hit the cltr+s....
I am unlucky, because the last person get the product before is goes out of stock is the person just standing in front my me in queue.....
I am unlucky, because my water tank run out of water not just before I go to bath but in the middle of my bath.....
But Still I think I am lucky because I can loop in one line in python, and the nested loop also.......2
I need a task queue for my life. A 'The Sims' style set of icons om desktop OS that breaks down into details, checklists, related pages I've visited/researched. cross platform so I can keep track on my phone.
I'm not to big to admit I need skynet to keep me on the tracks
Remember the old Battlefields like 1942 I think it was, the demo version, how easy it was to just jump in and play against AI bots.
2042 I hear has AI bots..
So far I can't easily figure out how to play solo against them..
Lets ignore the near hour it took to, no wait, 2 hours it took to download and install the latest patch, and then like treacle work our way into the game, and actually start playing..
Can you imagine of video arcades was like that, queue for 2 hours before you do anything enjoyable !
So, its got AI bots right ?
So.. how do I start a game with just AI bots ?
Of course, if I had ordered it in physical form, it would have come with a manual right..5
i thought of a way to implement a stack using two queues, but then i searched on the internet and, as always, found a better version there - using a single queue... will there ever be a day when i can actually think and write those efficient algorithms myself, without looking on the internet? :(2
I wanted to buy a 50 inch LCD 4K TV for my room to wall mount it in my room as third display for coding and monitoring.
I went to a TV store and already saw 4 people in a Queue waiting to buy a OLED TV for 3000 $.
Currently I dont understand, why a lot of people are hiped for OLED TV's.
For me a OLED on anything with a batterie is the better option, but not on a stationary monitor.
Sure OLED got the deeper black, but on a stationary Monitor you want the best colors and for that there's LCD.
But OLED TV's are selling triple the price of a LCD and people buy it like it's the best shit ever. WTF!1
Currently there are 1273 plugins awaiting review after submission to WordPress plugin server. Nearly as much as the 1345 open "type: bug" issues in WordPress/gutenberg on GitHub. Reminds me of "Suggested edit queue is full" on StackOverflow. Either too many people contribute to open source, or too little seniors willing and able to review, or our workflows don't work well enough. But good to see that there is still stuff going on in communities and not everyone just playing around with AI tools or uploading social media content all the time.1
Level 1 support moron dishing out bad instructions from his flowchart.
Wanted me to edit config files for a production setup, which would've killed shipping for all stations, in the middle of our shipping rush.
Fixed the problem while in the escalation queue for level 2. L2 confirms the fix, and bemoans the shit documentation L1 provided.
If its a business class (mission critical) system, hire decent support staff! You might try testing people for reading/listening comprehension, and then paying them a decent wage! This isn't good for my blood pressure...
I am laravel developer who just started to explore advanced part of it. I have a confusion with topics events and queues. Events are call when an action is performed in the application where as queues are job for repeated and long tasks. My question is when to use both of them? Can we use a queue inside an event?2
I made a launcher for dungeons & dragons online.
to do that i had to re the login,server list and server queue to get it to launch
Then i added a gui using pyqt51
I’ve trying to find out why VM restart is causing the service bus queue messages to get stuck and my dearly beloved manager is doing nothing but undermining my work that I haven’t found it already. It’s only been a day I started looking into this. Fucking shit.
Unit tests pass locally but fail on the pipeline. After 3rd re-queue, pipeline tests pass. I am so over this bloody week.11
I'm taking a class in my university about Cloud computing. In 2 weeks we made a simple web app to upload videos and then a simple job that converts all videos to mp4.
Now we took the app to the Cloud using AWS. We created different instances for the web servers, we changed the database to NoSQL, used SQS to queue the convert videos jobs to the different workers instances, used SES, S3, CloudFront, ElastiCache. All that stuff.
And all that is worthless because I cannot get my Ubuntu instance to run a fucking command on reboot. I don't really know how and I feel that all my work was wasted.
Feels bad man2
Making distributed scheduler that queue and run tasks on containers or other executors in future and also pulls new tasks from defined git repositories.
Tasks are added based on simple yaml configuration.
Need that for my side projects that gather data from multiple sources from time to time.
k8s looks to heavy for that and airflow can’t be configured like I want it to be so I started writing my own on Monday.
Nearly finished poc version.2
Almost all of the issue trackers
Why can't any of them just decide to be good for one kind of process. Trying to fit in support for all of them just makes the products worse.
If you really want to cater to every style of issue tracking/work queue just make a low code platform from the start instead of the unholy mess that is jira1
Make an Async task (Java) and...
DONT use a loop to iterate though a time series collection. Don't linear search that shit.
DO use a queue and pop() it like its hot. Check that shit to see when it needs to be used instead of searching.
DO assert that your time series data is in order (Predication mother fucker).
DO throw an exception that you data is all fucked when it's all fuck up.
Stay sexy and use a fucking queue man.5
Airflow… airflow… I hate you so freaking much, you are a bloated piece of software that packages wayyy too much and increase the complexity of any solution we built on top of you. Plus unit-testing and integration tests are wayyy too difficult with you. But man… your recent UI changes are a massive welcome.
A year ago I was tasked with either upgrading airflow to version 2 or to migrate the code to another tool. Naively I thought “well might as well upgrade to avoid a rewrite”. Little did I know that the reason airflow didn’t scale out well for us, was due to people over the years not having a grasp on airflow primitives like “pools”, “workers” and “operators”. Ended up refactoring the entire codebase for both infra and DAGs anyhow AND upgrading the beast AND lower cost by a factor of 2 (from $100-$150 daily to $50-$70 daily).
But seriously feels like I could’ve solved the scheduling issue with literally any message queue+decent library (like celery or Faust) and I’d have half the headache.3
Reading the source of a message queue system I'm planning on extending.
I don't see myself as a rockstar programmer or anything but the construction of arrays from hash tables, sorting those arrays and then a nested for loop to find matches really irks me. Luckily not on the critical message processing path but the stats collection thread. There are mutexes in play though that would probably delay processing a little bit when stats are collected.
Wow, yesterday was fun!
I had a rather buggy piece of code, it was bad when I first wrote it, and then I fixed it up, and it was still bad. Now I rewrote almost all of it, and it's much better.
Bad? How? Well, it was in Go, and it's basically an agent meant to execute tasks one at a time, and report the results back to home (live). Now while it worked, it was really flimsy, race conditions, way to much blocking, bad logic, and some very bad bugs.
So I had to rewrite it. Time for a quick primer on the design of this: you have a queue, a task gets add to the queue, the task manager runs the task. In the mean time, the agent is polling the host with the latest output from the task, and also receives new tasks to run (if there are any).
Seems like something that's for a messaging queue, you ask? Well, that would be true if each task was able to run on any random agent, but each task is only meant to run the agent it's tasked to (the tasks are of administrative nature al la apt-get), so having a whole separate service is a tad overkill.
So rewriting required rethinking how the tasks are executed by the task manager. I spent a day on this, it was fun, I ended up copying go contexts (very simple model, very useful). Why copy and not reuse? Because this is meant to be low memory code, so any extra parts are problematic, and I didn't really see a use for having a whole context, I just needed a way to announce that a task is done.
Anyways, if you're interested to see how the implementation worked out: https://github.com/chabad360/covey/...1
Do you think, that its a good idea, to add FP-features like Map,Filter,Reduce to Stack or Queue datastructures, in the way, that they pop all elements?6
Team Lead (not my team, thankfully) sends outs a team-wide message (in their exact words):
"please DM me with the task link if you are adding any new tasks in Jira. This is to make sure that i am aware of any ad-hoc task coming up in the jira queue and also to make sure that all the task are following a common template."
Interpretation : "I'm just too lazy to look at each jira issue after the last one that I followed up on (which is my job BTW). So I'll add some extra work for you to explain everything to me on DM"
Way to go for killing productivity. ¯\_(ツ)_/¯
Thankfully, this is not my team. If they were my team lead, I'd be super furious. I'd even report it to upper management. I'd even offer to do their job and let them do mine. I think their job just got so easy if everyone was to go report to him like that.3
When it comes to dev tools, It seems like everywhere you turn these days all you get is a rabbit hole trip to GitHub's issue queue WTF! Oh, and there are so many tools out there so we all now need to have a task management tool which just add to the complexity of local dev development, fuck that! To make matters more absurd, those who write them tools think that it is a great idea to rename commands between each minor release because why not after all machines know how to decipher changes right? Wrong, last I checked, machines rank high on the autism spectrum and won't find a command unless you lead them directly to its file system location. The command fuck you could not be found are you sure you spelled it correctly, or did you mean fuck me? is all that it's capable of. Sigh...4
Hello there been long, apparently done with exams and vacation(two-week vacation) and now students which make up the total population comes back, at first I wanted to rant about how the internet in my country was bad but to make it worse, during the vacation, when a huge majority of the school(university) population was forced to go home
Now the fastest you can get here is about 150Mbps(School restricted it for no fucking reason), and that is with the school's WiFi, mobile data is at most 30Mbps
BUT when the school population increases, the WiFi becomes 400Kbps and Mobile Data, pray it even works for a day
Also let me get this, I am an undergraduate, they haven't shown us any of the things that make computer science an undergraduate course: data structures, compilers, research on programming language, etc and finally at my final year, I wanted to make a kernel and be done with this school suddenly all the supervisors reject such project and rather look for a project that require a year to completeb ut the school reduces the time for a semester from 20 weeks(including exams and mid semester exams and break) to 10 weeks(without mid semester exams) and my supervisor just accepted my project,
Now I have 6 weeks to learn about AI and also make a working AI for queue selection and I am dying to finish some part for this week
People making features that has not been asked for and not going to be used, just in case we need it in future.
In this case making a new message queue for deleted audio and putting messages on said queue for every time we delete audio. Not enough with we don't have any uses for it. We also have to pay money for these messages in azure.
Build stuff when you need it. Not when you think you might need it...
I always put my work and tasks in a queue..
But with time that queue becomes Priority Queue with elements of my choice only.
Fuckin bullshit happen always
Is there any advantage of spending more effort and time on an opensource image annotation application?
I've just done with imglab v2. Two reasons I've developed it is to use it without installation (on web) and integration with open libraries (face++ currently) for fast annotation.
It has more features than above 2 and many are in queue. But as their are many annotation library already available, I'm not able to decide if it is worthy to spend more time on this.
What do you suggest?
Is it me or is this code seem unnecessarily complicated?
This is a queue I have used myself:
This is a queue I ran across:
I understand the second link shows a queue that does a LOT more than the first example. It supports multiple produce/consumers for instance. It is also lock free. However, it seems really complicated to me. I was always under the impression that the more code you write the harder it is to maintain.2
Anyone have experience / opinions on Kafka? We currently don't have a messaging system like this, and I'm thinking it would be the best choice for things like providing webhooks because its persistent nature, instead of having a "synchronous" message queue that I push into and hope it gets handled. Might also want to store attempted webhook calls in a db but I don't know if that's overkill and could be done with just transforming messages (if they fail) and trying to handle them again.3
So we have this cycle of releases once every month for the products I work on at my company. Yesterday we started deploying a new version of one of our products on azure. Surprisingly it seems like none of the new features are working, and after two days of tweaking the code, deleting, moving, and re-publishing azure web jobs, rechecking the test environments, making sure every queue was used by the right webjobs… It turns out someone had published said webjob in 15 instances on a resource that we barely use and so the azure queue was being used by these outdated webjob instances…
Motherfucker, two days wasted for that :(
Long time no rant.
Spent the last two days trying to figure out why a legacy app that I adopted (was a surprise considering I'm a database developer not c#).
Long story short horrendous view causing issues retrieving data in an app that is slow enough as it is.
I may have suggested starting a proper product roadmap and using sprint's etc for managing development of said app. And the boss agreed, currently the process is someone asks for a feature and we drop everything and develop it so things get forgotten/pushed to the back of the queue.
So to cut to the chase, can anyone suggest any places I can read up about managing this properly?
First assignment of the algorithms, data structures and computability module Im doing for my degree.
Priority queues can all eat a bowl of dicks.
It’s just an insert method, I can insert a node into an empty queue, I can insert a new node at the start of the queue.
But trying to insert a node into a specific place in the queue is making my brain hurt.4
Oh come the fuck on.
I’m trying to build a SwiftUI app and I can’t decrypt a video while it’s buffering using DisptchQueue? Wtf do you mean “UI must live on the main queue?” I AM running it on the main queue and it fucking crashes!!!
Please, if anybody knows how to use DispatchQueues correctly in Swift, HIT ME UP! I NEED SERIOUS HELP IN THIS BITCH
A new version of a service request queue processor was deployed to test. It was supposed to have a performance boost compared to the previous version. The performance is so good that the new transactions are still locked when SRQP attempts to process their workload, so it ends up issuing empty transactions in another module. Artificial delay time...
I have attended some interviews and have solved problems related to tree, queue and what not. But after joining bo matter what never worked on any of them as such. The only place I have worked on them is open source. Not really sure why the interviewers go through the process of asking them. And in lots cases as they have just copied these from net they even don't know any alternative answers or understand them. Quite shitty.
Ugh I was looking into React Native Expo and build an app fairly quicky, everything was going well! I just finished a poc and wanted to build it. Well I have build two times before on Expo Cloud. Took like 10 minutes in total. I submited my build and bam 2 hours free plan queue. Motherfuckers! Sucking my dick for the first 2 builds and than asking for the money. When I want to have priority queue I have to pay 99$ per month or 1$ per build wtf is that?? See I get that I should not have expected much from this free service but be upfront with me pls.
Than I tried building the app locally on my MacBook but ofcourse that's always a pain in the ass and after staring at an error for half an hour and trying to fix it with minimal google search results, I gave up for now. Now I'm looking at the fucking downtime timer of 60 minutes before my mini app get's build and oh if it fails I'll have a mental breakdown
The more I learn, the more easily I get triggered at little things.
Read heapq python documentation to implement a min priority queue
Intuitively wrote heapq.push and heapq.pop in my code
Got to know that it's actually heapq.heappush and heapq.heappop
Do you guys read any journals (like ACMs "Journal of Experimental Algorithmics" or ACMs "Queue") or technical magazines (like Oracles "Java Magazine" or "Arstechnica")? If so, which is your favorite or which do you recommend? Curious to hear your suggestions 😉5
Okay so Ive been working on a custom queueing system
basically the system generates ticket numbers for checked in paients and then assigne them to a room when it's their turn to be attended to
so I'm having some challanges with the database when the patient finishes their session with the Dr the admin can remove them from the queue and is supposed to reset the room.state = 0 //which means room in unoccupied
this is proving to be problematic coz it's not even finding the room
😕 😕 😕 😕1
Any good tuto sharing about dispatch queue on swift 4? Have already googled the subject, but any real experience will be greatly appreciated.
Question directed to devs who know a bit about setting up middle sized architecture.
Prestory: Joined into development of a middle sized online game. Figured they created a monolith over the last 6 years up to a point where nothing works properly and nothing can be changed without wrecking the whole system. Figured a monolithic approach isn't such a great idea.
Current Situation: In a different, same scale online game development team, game itself working but team is struggling with architecture.
My job is to come up with an approach on how to set up masterserver/matchmaking/database etc. Reading through various articles about common principles (SOLID etc.), i figured that a microservice+event-/servicebus architecture may work for that kind of project.
The idea would be to have a global interface in which microservices can be hooked. So a client registers to a client handler on startup, then starts to queue for a game, the client handler throws an event on the bus to register the user to matchmaking. The matchmaker happens to listen to those events (Observer Pattern) and adds him to matchmaking, when a match is found it throws an event on the bus to connect the user to the server, etc. One can easily imagine a banhandler throwing in a veto to cancel such an action, metrics and logging is fairly simple to add (just another service listening to all events), additionally Continuous Delivery, FRP and such are also beneficial advantages and it is said to scale well.
The question is, would you do the same, is there maybe something i might be overlooking? Do you have better ideas?
Keep in mind that we are not too experienced and are bound to different languages (python, C++ and java mostly) and are a small (4 Devs) Team with different strengths.
Thank you for your feedback and criticism!1
As I understood the Adapter pattern, you start with two given (!) interfaces that are incompatible, create a class that implements one interface, and has the second interface as a property. Then the methods of the implemented interface wrap the calls to the interface referred to from the property.
Everything is fine with that.
Now I wonder, why every other class in our code base is suffixed with "Adapter". There is some external thing to be used, like a file storage, a message queue, an email service or just something outside of the system. But the class that makes use of that external interface is made up on our own, no interface given.
So I think Adapter is a misnomer, because we do not adapt thing A to thing B, we just use thing B and call it from some class.
What are your thoughts on that?5
Hey, God bless the pamac devs -
I'm not constantly trying to queue packages for install when others are already installing niw, since it's all locked until the first install is finished
felt compelled to write about this idk
Genuine rant 😫
Volley library the heck.
The request that is added to the request queue is being executed on Android 7.0 and above but is not executed in any API level below that.
Try and help me please.
When you code during an interview using a coding platform like HackerRank out even on a whiteboard, do you spend time memorizing the actual the import statements?
When I usually code, and I need to use like a Queue, when the IDE asks which to import, all I do is look for java.* rather than an external lib. Or for Date, util.* Not sql.*
After you expected to know the full paths?1
I suppose I become a victim of office politics. I was working on new project and one more new project having e-commerce aspects was in queue. But my ex-manager went to the boss and asked him to assign me to her :( No more chance to work on e-commerce :( again have to work some geo-location services. Feel like fu*ked up ..2
- Have the app running perfectly on heroku.
- App does some serious calculations which, depending on amount of data, takes a long time to process
- Heroku timesout after request takes longer than 30 secs...
- Need to move from heroku to aws... No devops experience...
- Damn... 🙃
Any suggestions? The procedure cannot be put into a worker queue so thats out of the equation.2
Just cut down registration from 5s api response (because its sending email confirmation) into 70ms using rabbitmq (emails are now delegated in rabbit queue and sent whenever the queue takes place)
But still around 70ms to register which is great and fast (because it also generates jwt token and returns the whole user object + jwt) so its difficult to keep this at 7-9ms response time
Is this normal and is it fine to leave it at 70 or can this be optimized (or should it be)?7