Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "queues"
-
Hey everyone,
For about the last 24 hours, there was unfortunately an issue with the algo feed where scrolling did not show more rants. This has now been fixed.
One of our background queues stopped processing for some reason which caused rants to not properly get marked as read for algo.
If you notice any other issues with this, please let me know. Thanks!11 -
I was in McDonald's and annoyed to see queues for all the self-service machines. I noticed one of them had nobody queueing though. Several people walked up to it, looked for two seconds, then just walk away. So naturally I had a look myself, and I saw that it was just a string displaying a bit wrongly. Hah!
So I walk up, close that order then make my own. Nothing at all wrong with it, people just have no clue about how computers work. Nobody even tried pressing the buttons after seeing that.
Of course I put it back to the broken screen before I left. I like chaos.rant ignorant people save me time mcdonald's literally whole minutes saved definitely won't be updated for ages huge companies screw up strings too7 -
Hey everyone,
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!16 -
Worst fight I've had with a co-worker?
Had my share of 'disagreements', but one that seemed like it could have gone to blows was a developer, 'T', that tried to man-splain me how ADO.Net worked with SQLServer.
<T walks into our work area>
T: "Your solution is going to cause a lot of problems in SQLServer"
Me: "No, its not, your solution is worse. For performance, its better to use ADO.Net connection pooling."
T: "NO! Every single transaction is atomic! SQLServer will prioritize the operation thread, making the whole transaction faster than what you're trying to do."
<T goes on and on about threads, made up nonsense about priority queues, on and on>
Me: "No it won't, unless you change something in the connection string, ADO.Net will utilize connection pooling and use the same SPID, even if you explicitly call Close() on the connection. You are just wasting code thinking that works."
T walks over, stands over me (he's about 6.5", 300+ pounds), maybe 6 inches away
T: "I've been doing .net development for over 10 years. I know what I'm doing!"
I turn my chair to face him, look up, cross my arms.
Me: "I know I'm kinda new to this, but let me show you something ..."
<I threw together a C# console app, simple connect, get some data, close the connection>
Me: "I'll fire up SQLProfiler and we can see the actual connection SPID and when sql server closes the SPID....see....the connection to SQLServer is still has an active SPID after I called Close. When I exit the application, SQLServer will drop the SPD....tada...see?"
T: "Wha...what is that...SQLProfiler? Is that some kind of hacking tool? DBAs should know about that!"
Me: "It's part of the SQLServer client tools, its on everyone's machine, including yours."
T: "Doesn't prove a damn thing! I'm going to do my own experiment and prove my solution works."
Me: "Look forward to seeing what you come up with ... and you haven't been doing .net for 10 years. I was part of the team that reviewed your resume when you were hired. You're going to have to try that on someone else."
About 10 seconds later I hear him from across the room slam his keyboard on his desk.
100% sure he would have kicked my ass, but that day I let him know his bully tactics worked on some, but wouldn't work on me.7 -
A lot of engineering fads go in circle.
Architecture in the 80s: Mainframe and clients.
Architecture in the 90s: Software systems connected by an ESB.
Architecture in the 2000s: Big central service and everyone connects to it for everything
Architecture in the 2010s: Decentralized microservices that communicate with queues.
Current: RabbitMQ and Kafka.
... Can't we just go back to the 90s?
I hate fads.
I hate when I have to get some data, and it's scattered on 20 different servers, and to load a fucking account page, a convoluted network of 40 apps have to be activated, some in PHP, others in JS, others on Java, that are developed by different teams, connected to different tiny ass DBs, all on huge clusters of tiny ass virtual machines that get 30% load at peak hours, 90% of which comes from serializing and parsing messages. 40 people maintaining this nightmare, that could've been just 7 people making a small monolithic system that easily handles this workload on a 4-core server with 32GB of RAM.
Tripple it, put it behind a load balancer, proper DB replication (use fucking CockroachDB if you really want survivability), and you've got zero downtime at a fraction of the cost.
Just because something's cool now, doesn't mean that everybody has to blindly follow it for fucks sake!
Same rant goes for functional vs OOP and all that crap. Going blindly with any of these is just a stupid fad, and the main reason why companies need refactoring of legacy code.12 -
!Rant
Designer decide to have a meeting with stakeholders about UX/UI workflow for control panel of our new embedded system (no framework, no library, gui is bit per bit rendered on frame buffer).
A week later, still nothing on my table, not a mail, not a call. Meanwhile I wrote a framework, the control system, renderer, and messaging queues between tasks.
Wrote some widgets, a layout system and a view swtching mechanism, and a separate stack control to use a "back" button.
Now I am stuck for I do not know what should happen when clicking on various (non obvious) items on the touchscreen.
Fine, I'll ask the designer.
"Oh, I will write the workflow next week" (ETA time, 2 weeks. Seriously? You take a week to draw on Adobe Illustrator 20 screenshot with text and I have another week to write it from scratch in C?)
Ok, while you write it, just tell me what should happen when I click an active item.
"Well, we didn't talk about that. We just decided the colour of the icons on the screen..."
For fuck sake...8 -
I shit you not. This this a job qualifications qualifications entry level on LinkedIn.
7+ years working as part of a development team and with the following technologies:
Node.js Typescript and Java-based, microservice-driven applications using Spring Boot or similar framework
RESTful API design / microservice architectures
MongoDB or any other NoSQL DB
Message queues e.g. RabbitMQ, Kafka etc.
Modern MV*(MVC, MVVM, etc..) frameworks e.g. React, Angular, Vue etc.
JavaScript and design patterns, CSS and HTML
Modern CSS and view libraries e.g. RxJS, Angular Material, Typescript, JS ES6 etc.
Unit and UI testing using third party tools e.g. Jest, Cucumber, Groovy & Spock, etc.
Bachelor's degree in computer science or related field6 -
Damn, how have I only just discovered localstack?
The ability to spin up and use SQS queues, S3 buckets, lambdas, Kinesis streams etc. for development without worrying about bankrupting myself if I screw something up is really quite liberating.4 -
A while ago I was agressively interrupted by a colleague while chatting to another (more sane) colleague as he overheard us merely discussing using message queues to solve some issues we were facing. I was told these decisions were not up to me and had to be "lifted to a higher level and discussed amongst the entire team".
8 months later we all receive an email where the same guy proposes the exact same solution to solve our issues.3 -
I hate time.
Yes, that dimension which unidirectionally rushes by and makes us miss deadlines.
Also yes, that object in most programming languages which chokes to death on formatting conversions, timezones, DST transitions and leap seconds.
But above all, I hate doing chronological things from the point of view of code, because it always involves scheduling and polling of some kind, through cron jobs and queues with workers.
When the web of actions dependent on predicted future and passed past events becomes complicated, the queries become heavy... and with slow queries, queues might lock or get delayed just a little bit...
So you start caching things in faster places, figure out ways to predict worker/thread priorities and improve scheduling algorithms.
But then you start worrying about cache warming and cascading, about hashing results and flushing data, about keeping all those truths in sync...
I had a nightmare last night.
I was a watchmaker, and I had to fix a giant ticking watch, forced to run like a mouse while poking at gears.
I fucking need a break. But time ticks on...2 -
"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."
-
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 -
Bought a new 4TB disk for my gaming rig, pulled out the old 1TB one and plugged it back on my old machine. Installed Ubuntu Server. Instalation went well after I figured I needed the IOMMU turned on.
Later went to play some BfA on the gaming rig and... No boot disk recognized. Ahn?
My SSD is plugged in. SATA cable is well seated. Thing was working not 30min before...
After a loooong time trying to figure out if it was hardware or micro$hit's Windows 10, I finally figured it:
It seems Windows installed its EFI partition on the old HDD. So my SSD is basically a single, large NTFS volume. Now I need to download the Win10 ISO, boot up the install disk and use the cmd prompt to create a new EFI partition on my SSD. Ugh.
Fucking Windows didn't think to install its boot manager on its own disk. "Nah, just gonna use this random magnetic disk here". Why? My login queues are already huge on WoW, why must this wankstain of an OS annoy me even more?3 -
Just had an interview, but since I am a smart ass I decide that half an hour notice before the interview is OK after working the whole day with queues, docker & php multithreading, so we start an interview over Skype and my persona was able to duck up how simple joins work as well as function which is supposed to return the sum of even numbers between 2 and provided argument... I was off by 2..
Lesson learned never get in an interview after a whole day of mindfuckery .. Never -
In love with Laravel events, listeners and mailables. What a beautiful way of doing this. Can't say how much I love this framework. <3
Can't wait to implement redis and queues. Am excited to try this for the first time. Share exp. if you have, pls.4 -
How many of you use the right data structures for the right situations?
As seasoned programmer and mentor Simon Allardice said: "I've met all sorts of programmers, but where the self-taught programmers fell short was knowing when to use the right data structure for the right situation. There are Arrays, ArrayLists, Sets, HashSets, singly linked Lists, doubly linked Lists, Stacks, Queues, Red-Black trees, Binary trees,.. and what the novice programmer does wrong is only use ArrayList for everything".
Most uni students don't have this problem though, for Data Structures is freshman year material. It's dry, complicated and a difficult to pass course, but it's crucial as a toolset for the programmer.
What's important is knowing what data structures are good in what situations and knowing their strengths and weaknesses. If you use an ArrayList to traverse and work with millions of records, it will be ten-fold as inefficient as using a Set. And so on, and so on.31 -
Am I clinically insane for actually enjoying having to make lists/stacks/queues/etc in c++ vs using a language with them built in? Or just young and naive?4
-
We're rebuilding out company's platform from the bottom up, and throughout this process I've learned a lot. However, the stuff I've done lately has fascinated me the most. We're implementing OpenOffice for converting files to PDF. Since I started with this task I've had to implement secure running of OpenOffice by sandboxing and queues, but by far the coolest thing was what I did today. I was trying to implement IPC, and damn was it fun. I actually ended up writing a full parser for raw byte streams, since we had to include some special information. It was fun 😁
-
So I began at my first programming job as an intern and it was as bad as it gets but I kept going, thinking that this was normal. After my internship I continued to work full-time at the same company and was working on new functionality on their legacy product build in ASP Classic and their shitty inhouse front-end framework (which btw used eval to evaluate strings in so called queues). So I was assigned a task to create a module which needed some available data in the database. I was discussing my ideas with my supervisor and she didn't let me finish and began speaking on how I should get the data needed. My approach was much more clean and used only one request and hers used two. So I heard what she had to say and I wanted to finish what I was about to say before she interrupted me but she did it again. I go nervous but let her finish once again. After that she left me to work on my task and I did it the way thought was right (and it was). After she saw my approach she was furious because I didn't talk it over with her and she said that she don't think that we can work together if I continue to work like this. I felt how my head filled with blood but I kept calm. If I had opened my mouth I would surely get fired. But I didn't open my mouth and quit after one or two months. She was a real bitch that day...1
-
Hey guys and girls, quick question.
Im currently writing my own collection-framework in Go.
It has a Collection-Interface, that looks like this:
Clear()
Size() int
ToSlice() []interface{}
Add(...interface{}) error
Remove(...interface{}) error
Contains(...interface{}) (bool, error)
The library should also contains stuff like stacks and queues, so datastructures, that dont fit that interface perfectly.
So should i write a weird implementation of the interface for them, like Remove for stacks (high pitched internal screaming), or should i just say fuck it, and dont implement the Collection-Interface for these specific types ?3 -
Been asked to give a lecture to the freshmen at ye olde alma mater.
They are gonna pay for the air ticket, the shuttle to and from campus and a couple nights at a fairly ok hotel.
Feeling like a fucking rockstar.
...
Gave the lecture. Only half those kids spent the whole time on their phones. My old drinking buddy and now a professor at the school said it was more direct attention than one could expect at a music concert.
...
Feeling kinda scared about how young women dress nowadays, but I do am an old indian dude, so what do I know?
Also, since when is lifting weights and running a half-marathon a requirement for a degree in computer sciences? Turing might have been an Olympian, but I'm pretty sure that since the invention of the integrated circuit my people have spent more time in labs than in gyms. That is not true for those kids.
Maybe it's a freshmen thing, and they will age out of that healthy living nonsense. Maybe the real world will crush it under bills and tuition loan repayments.
...
Tried to ask the university for a refund of the hotel and taxi bills that I've paid out of pocket. Two hours in four different queues and two opposite-sode-of-campus buildings. Suddenly remembered the true meaning of the word "Kafkaesque".
...
Remembering the old uni days with some still-in-grad-school / faculty old friends and getting drunk in the old watering holes? Priceless.2 -
Existing code:
Logger class would block the caller, lock a mutex, call CreateFile(), write a single line to the file, unlock the mutex and return.
Improvement:
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 -
Here's my idea. In light of all the efforts to teach kids how to do programming, why not start with an introduction to discrete mathematics instead? From a lot of the programs I've seen, the kids are taught different structures such as if else, while, and for loops, but they don't attempt to start teaching them about recursive methods or even other structures such as linked lists, queues, dequeues, binary trees, heaps, different sorts, and other things. Am I just not looking deep enough into those programs? Or are the creators of these programs not wishing to cover those things because they feel like children wouldn't be able to comprehend such things?4
-
I was returning something at MicroCenter the other day. The guy in front of me was picking up a laptop be brought in to have fixed. They had replaced the motherboard, and put all his old data on an external drive.
"So what's this?"
"This is an external hard drive. We copied all the data from your laptop onto it and put a fresh install on it."
"So .. how do I get to it?"
"You just plug it in, over USB."
"So how ... how does that work."
This goes on for a while. Shop owner has to start his computer. Plug in the drive. There was a lot of, "So everything that was on here, is now on here?"
The guy had no basic understanding of external hard drives, USB, copying files ... thankfully while the files were copying from the hard drive to his desktop, he said he needed a longer cable to the router so he could put it on the other side of the room. It took the guy behind the desk an unreasonable amount of time to direct him to the isle with the Ethernet cables, but once he did, I was finally able to return my item.
I'm glad I no longer work in desktop support.1 -
Teach data structures by showing how they're used in real life situations. Don't make us do some nonsense puzzle shit. For example, a friend of mine is learning stacks/queues right now and his assignment is to build a simple HTML parsing algorithm to determine whether an HTML file is valid. This shows the student a practical use of the data structure and reinforces that this shit actually does get used in real life.
-
Sooo, turns out, management and senior PMs, technical PMs, service managers and you name it forgot an entire system.
A complete eco-system of applications, queues, services, load-balancers, deploy pipelines, databases, monitoring solutions, etc, etc, that if not handled correctly could effectively put the entire production line to a standstill.
So, waaay too late they make this discovery. In their ignorance. Just utter incompetence. Huge project. Millions of $. And they forget it. Months of meetings probably. Workshops and gettogethers at cozy hotel complex discussing ”the project”? And they do not understand some of the fundamental building blocks…
Basic engineering for these guys must mean something completely different.
I can’t even.
I am so fed up with this organization. It does not stop either.
How is this possible…
Do they even have half a brain? -
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 -
As one of my classmates was translating comments of a function from English to French, she wrote "...puis on multiplie les queues récursivement" which one might understand like "...and we recursively multiply dicks"....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
https://readosapien.com/queues-in-n...rant node-js event-loop callstack nodejs macrotask-queue callback-queue javascript microtask-queue js programming software2 -
Everyone I tell this to, thinks it’s cutting edge, but I see it as a stitched together mess. Regardless:
A micro-service based application that stages machine learning tasks, and is meant to be deployed on 4+ machines. Running with two message queues at its heart and several workers, each worker configured to run optimally for either heavy cpu or gpu tasks.
The technology stack includes rabbitmq, Redis, Postgres, tensorflow, torch and the services are written in nodejs, lua and python. All packaged as a Kubernetes application.
Worked on this for 9 months now. I was the only constant on the project, and the architecture design has been basically re-engineered by myself. Since the last guy underestimated the ask.2 -
so my friend and I are canvassing NLEs for our guys at the Post Production squad in our project (we were in charge in infrastructure). We looked at Premiere since it's kinda ok until we found Black Magic Design's Da Vinci Resolve.
First of all, I was suprised with the price. 299 for the Studio Version? Holy fuck, that's cheap as hell! Then there's a free as in free software version which has the core editing features with 1080p rendering. So we grabbed that and kinda suprised it requires postgres but as seeing Resolve having collab and render queues, it makes sense.
Installed them on the PCs the postprods gonna use, they were amazed. We literally saved 500 bucks for an NLE. When they asked how much is it. Our reply was:
"That's free".
and there was silence...
"And it's also 299 bucks for the cooler version".
And silence still ensued.
Guess our guys wasted alot of money on a pipeline that is cheap as hell but more jam-packed than any other NLE found in the market.
Props to you BlackMagic Design. -
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.
So...
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.
It worked.
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 -
Serverless and death of Programming?!
_TL;DR_
I hate serverless at work, love it at home, what's your advice?
- Is this the way things be from now on, suck it up.
- This will mature soon and Code will be king again.
- Look for legacy code work on big Java monolith or something.
- Do front-end which is not yet ruined.
- Start my own stuff.
_Long Rant_
Once one mechanic told me "I become mechanic to escape electrical engineering, but with modern cars...". I'm having similar feelings about programming now.
_Serverless Won_
All of the sudden everyone is doing Serverless, so I looked into it too, accidentally joined the company that does enterprise scale Serverless mostly.
First of all, I like serverless (AWS Lambda in specific) and what it enables - it makes 100% sense and 100% business sense for 80% of time.
So all is great? Not so much... I love it as independent developer, as it enables me to quickly launch products I would have been hesitant due to effort required before. However I hate it in my work - to be continued bellow...
_I'm fake engineer_
I love programming! I love writing code. I'm not really an engineer in the sense that I don't like hustle with tools and spending days fixing obscure environment issues, I rather strive for clean environment where there's nothing between me and code. Of course world is not perfect and I had to tolerate some amounts of hustle like Java and it's application servers, JVM issues, tools, environments... JS tools (although pain is not even close to Java), then it was Docker-ization abuse everywhere, but along the way it was more or less programming at the center. Code was the king, devOps and business skills become very important to developers but still second to code. Distinction here is not that I can't or don't do engineering, its that it requires effort, while coding is just natural thing that I can do with zero motivation.
_Programming is Dead?!_
Why I hate Serverless at work? Because it's a mess - I had a glimpse of this mess with microservices, but this is way worse...
On business/social level:
- First of all developers will be operations now and it's uphill battle to push for separation on business level and also infrastructure specifics are harder to isolate. I liked previous dev-devops collaboration before - everyone doing the thing that are better at.
- Devs now have to be good at code, devOps and business in many organisations.
- Shift of power balance - Code is no longer the king among developers and I'm seeing it now. Code quality drops, junior devs have too hard of the time to learn proper coding practices while AWS/Terraform/... is the main productivity factors. E.g. same code guru on code reviews in old days - respectable performer and source of Truth, now - rambling looser who couldn't get his lambda configured properly.
On not enjoying work:
- Lets start with fact - Code, Terraform, AWS, Business mess - you have to deal with all of it and with close to equal % amount of time now, I want to code mostly, at least 50% of time.
- Everything is in the air ("cloud computing" after all) - gone are the days of starting application and seeing results. Everything holds on assumptions that will only be tested in actual environment. Zero feedback loop - I assume I get this request/SQS message/..., I assume I have configured all the things correctly in sea of Terraform configs and modules from other repos - SQS queues, environment variables... I assume I taken in consideration tens of different terraform configurations of other lambdas/things that might be affected...
It's a such a pleasure now, after the work to open my code editor and work on my personal React.js app...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 -
I really hate the term fullstack developer. Just call it what it really is. Javascript react developer who dabbles in node occasionally.
If you don't have some knowledge of tuning a database, tuning your runtime, handling issues with networks and latency in your code, dealing with issues with message queues, writing abstraction layers for the database, etc. you aren't a backend developer, sorry to say.
Being able to reason about a mean stack running on digital ocean doesn't not make you proficient in the backend.3 -
I'm going to ask Chat GPT to first take over the role of our current leaders in the company cause they are not leading, and then I'm going to take our "relationship" to the next step and go through all my education and experience gained on the job with it being my best friend, teacher and mentor.
Guaranteed I will progress 3 x as fast since it's explanations make more sense to me, I don't have to worry about social queues, I grasp complex topics in a fraction of the time and it genuinely improves me as a human as well as my communication abilities also teaching me to be more precise, patient and happy to help instead of seeing it as another slosh of information to ingest after a 13 hour day. I understand the concerns with Ai but honestly I think this is an amazing opportunity to have the mentor, teacher and guide I always wanted! I hope to rise with the machine1 -
That feeling when your teacher tells you won't get any extra marks for implementing your own solutions to things (such as queues, stacks or even just using SQL) you can just download a library/module for it.
Wth?! Surely you should get more marks for implementing your own solutions to things like this?!5 -
For me, it was when I was on a team doing government work. We had an entire team devoted to deployments etc which were handled via ansible.
Ansible was fairly new at the time (~2015, they had just been bought by RedHat) but the team was definitely doing a great job picking it up and creating install playbooks for _every_ piece of our distributed infrastructure (load balancers, application servers, queues, databases, everything).
I luckily left before stuff got too hairy, but last I heard they are more than 6 months behind schedule. They STILL can't get a reproducible install process with the ansible playbooks! And it's all due to tech debt ie not giving any time to fix things, so its just band aid after band aid.
It's really sad to hear because the sytem itself was pretty cool, completely horizontally scalable and definitely miles ahead of the program they've been using for the last 20 years. -
I started my coding journey with JAVA ! I l grasped the basic concepts like LOOPS TYPECASTING ARRAYS etc. pretty well but failed to cope up with stacks , queues . So I switched to python and completed the Python Bootcamp from Udemy and now I am pretty confident in python . So should I try to learn Java again ?2
-
I'm doing a project for uni in Omnet (C++ framework that should facilitate working with networks of queues, simulating and displaying statistics).
I needed to retrieve a random value from an exponential distribution, and the function to do so requires a random number generator as input. The framework has 2 implementations of the RNG and I picked the first one.
I spent 3 hours trying every possible thing, using both the exponential() function and its class wrapper (both provided by the framework), it was always returning 0 or NaN.
The RNG was spitting out values correctly, so I thought it was okay.
When I was almost ready to give up, I figured I could try and change to the second implementation of RNG, expecting nothing to change. And it fucking worked.
Zero reports on this behavior on Google, no apparent reason why it would work with one and not with the other when the two RNGs literally implement the same abstract class and spit out the same exact numbers... Just black magic...
Oh and cherry on top, it works with the raw function but not with the class wrapper on that same function... IF YOU GOTTA IMPLEMENT SOMETHING IN YOUR DAMN FRAMEWORK THAT DOESN'T WORK, FUCKING DON'T! 1 combination working out of 4 is not good! Or at least document it!
Sorry just had to share my pain -
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
-
Wtf is wrong with AWS CDK? I add one EC2 instance and it deletes all my queues and api resources, then fails to create my EC2, does some fucking rollback then attempts and fails at some fucking rollback clean up.
So it nuked my entire fucking stack because why?
Because FUCKING WHY JEFF. WHY IS YOUR ROCKET SHAPED LIKE A PENIS AND WHY IS YOUR SHITTY FUCKING DEPLOYMENT SYSTEM FUCKING WITH ME LIKE THIS.
I can’t do this anymore. I’ve been doing this for months now. I really don’t know whether to laugh or have a mental break down.
Complete Disaster Kunt. That’s what I’m calling this shit from now on. I just don’t get how it can fuck itself up so much4 -
Whoops, my head will be squashed tomorrow. Asked to put monitoring in other week by boss, sysadmin been complaining about high CPU, apparently 10 requests (different domains) to the one VM on our servers every 10 seconds is killing it. However this server is being used for MySQL and serving web requests by Apache and PHP. Then also running a few jobs like consuming queues etc.
Wtf do I do? Every time I tell him about more resources (we have decent 2 rack servers just running 20 vms and only 1 VM is for web sites) he says software should be made to work with what we have.1 -
How come if I do something simple in the AWS web console or cli, it takes less than a second, but if I do it in cloudformation, it takes almost precisely 60 seconds?
Is there just a clusterfuck of queues or something in the cfn backend that only get serviced at stupidly slow intervals? WTF AWS!!
Also inb4 terraform (I wish). -
STOP! Look and Listen.
This was an audit, designed to see if you were paying attention. You didn't pass.
Don't worry, we've already handled this post appropriately – but please take a minute to look it over closely, keeping in mind the guidance above.
Seems like StackOverflow is actively training users to become unfriendly gatekeepers by participating in SO's review queues.15 -
Found a bug
- Calling function sent wrong parameter.
- Calling function itself was shit. Changed it.
- Few hours later, revamped whole class, updated all references and pushed to production next day.
Till date that class has not changed and still works flawlessly!
And probably first time I used queues in java. Algorithms FTW -
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
-
So Im still a college student but my worst burnout happened a week before finals this year as a sophomore at DigiPen
On the same week, I had to conduct and submit 10 playtests for my competitive Unity game by Friday, submit said game polished and completed on Sunday, finish and submit my team game project that I've been working on the whole year with 10 other people also on Sunday (which we would discover so many TCR submission issues we ended up finally resubmitting on Thursday the following week).
On top of this I had to write a memory manager for my operating systems class due Thursday, a water retainment assignment involving recursive queues for my Data Structures class due Saturday, and to top it all off that class also had a final Thursday when that memory manager was due :'). I don't know how I managed to get OK sleep.
All stuff was due that week so all game teams could have next week before finals to work on submitting, so some CS teachers also move their finals to before that to theoretically distribute the load (which sucks for people in my major because we're almost a double major for CS and Game Design) However my team wanted to submit early to snatch some bonus points but we ended up having to resubmit late anyways :(. Due to the week of hell we were already burned out when trying fix our resubmission.
I love the school and the people in it but there's a reason why our most heard phrase is "I want to die" and no its not just a millenial thing I swear. -
During the lecture today, our Professor talked about the implementation of nodes as stacks and queues. Looking at the code itself, I thought it is pretty straight forward. But then he threw a curve ball. For excercise we were told to think of special cases. And I was there, frozen, couldn't think of any. Then he gave us some answers on what those special cases are. And there I was, feeling dumb because I failed to think of such simple things.1
-
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