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 - "metrics"
-
My company just fired 20 people, and the next day instuted a program so salaried employees have to clock in and out. Of course not to effect our pay, just to keep their paranoid asses breathing down our necks. Also, no clocking in remotely so all the work I do from home won't be taken into account. Fucking micromanaging, ball-licking, scum-fuck, MBA, morons couldn't run a company if their lives depended on it. When will these soul-less, suit-wearing, shit-scarffers learn that treating your employees with respect and valueing actual work over bullshit metrics, is a better business strategy than treating them like fucking sheep to the slaughter. Fml, I gotta find a new job...33
-
Customer: IT is completely useless! I’m getting PORN ADS on my work computer!? This is ridiculous!!!
Friend: Oh that’s not good, perhaps your computer has a virus of some sort let me take a look!
Friend takes a look and sees that the porn ads were all provided by google ad service, they weren’t related to a virus.
Friend: so, you don’t have a virus, but so that you know google gathers metrics on the sites you visit so that it can target ads at you better. Looks like that’s what’s happening here.
Customer: .............11 -
Write a small js function using setInterval to fire a request every second ... then copy paste the code 450 times (literally, not an exaggeration) into a massive file to create a load test script.
This load test script also had no means to gather metrics or test response times or anything useful. It was literally a “did the server crash” test.9 -
Dear Telegram, the fact that you're using a service which provides app usage/metrics/analytics kind of is not nice.
"But they've got the right to!"
Of course they do. But, when you advertise yourself as a messaging app focused on privacy, I expect you to behave that way.
And yes, we know your crypto is broken as fuck but that's not the point right now.
Oh and yeah, the next blog item will probably be about Telegram and how not-privacy friendly it is.22 -
Every Windows update be like:
Please reconsider using Edge over _, it has Webkit now!
Please reconsider reenabling Cortana.
Please reconsider using Bing.
Please reconsider reenabling sharing all metrics with us.23 -
!!pointless story
Bug report comes in from a coworker. "Cloudinary uploads aren't working. I can't sign up new customers."
"I'll look into it" I say.
I go to one of our sites, and lo! No Cloudinary image loads. Well that can't be good.
I check out mobile app -- our only customer-facing platform. None of the images load! Multiple "Oops!" snackbars from 500 errors on every screen / after every action.
"None of our Cloudinary images load, even in the mobile app," I report.
Nobody seems to notice, but they're probably busy.
I go to log into the Cloudinary site, and realize I don't have the credentials.
"What are the Cloudinary credentials, @ceo?" I ask.
I'm met with more silence. I use this opportunity to look through the logs, try different URLs/transforms directly. Oddly, everything seems fine except on our site.
I check Slack again, and see nothing's changed, so I set about trying to guess the credentials.
Let's see... the ceo is basically illiterate when it come to tech, so it's probably not his email. It's a startup, and custom emails for things cost money, and haven't been a thing here forever, so it's probably oen of the CTO's email aliases. he likes dots and full names so that narrows it down. Now for the password.... his are always crappy (so they're "easy to remember") and usually have the abbreviated company name in them. He also likes adding numbers, generally two-digit numbers, and has a thing for 7s and 9s. Mix in some caps, spaces, order...
Took me a few minutes, but I managed to figured it out.
"Nevermind, I guessed them." I reported.
After getting into Cloudinary, I couldn't find anything amiss. Everything looked great. No outage warnings, metrics looked fine, images all loaded. Ex-cto didn't revoke payment or cancel the account.
I checked our app; everything started loading -- albeit slowly.
I checked the aforementioned site; after a few minutes, everything loaded there, too.
Not sure what else to do, and with everything appearing to work, I said "Fixed!" and closed the issue.
About 20 minutes later, the original person said "thanks" -- never did hear anything from the ceo. I've heard him chatting away in the other room the entire time.
Regardless, good thing for crappy passwords, eh?15 -
worst experience with a manager was the (female) one who got away with harassing a female employee for YEARS and thought it was ok because she thought they were friends.
She also retaliated (in ways that were hard to prove), played favorites, didn't know metrics or general business sense, couldn't do her employee's jobs but loved to tell them how they were wrong all the time, and then when she was fired, after the female coworker finally reported the ass slapping and the harassment based on disability, she went back into employee only areas with client personal information and thought taking selfies was ok (she was very quickly corrected and had to wipe her phone and memory card to ensure she hadn't been doing it when she wasn't caught, which cameras later proved she had been).
(I only sound calm. I will take a needle to her probably fake boobs and deflate them with glee if I ever see her again)4 -
Let's see here, we have:
🤡 Creepy Cackle Guy: watches videos all day and cackles like a hyena, plus constantly farts, and complains a lot. He gets everyone gassed up, no pun intended.
😤Bitchy PM: argues with you about every little thing, lies to pad her metrics while screwing the dev's metrics over. Also lies about what clients say to force launch or what she feels client should do. Rude to clients & co-workers. Runs and tattles to higher ups when people call her out on her shit. Nobody can stand her, she get's the entire office upset.
🙉Darth Vader: I don't think this one needs explaining. He breathes SO freaking loud you can hear it across the room. He also won't talk to anybody. Ever.
🤐The Non-Stop Flapper: nice person, but chats you non stop about their mundane life events, even when your status is set to busy or they know you're swamped. Asks irrelevant questions all day, every day. Heart of gold but needs to reel in the chatting.
🤬 Mr.Rage: whines about EVERYTHING. I mean everything. Has also thrown his food on me once over a joke about pizza. Wants to move up to programming but cant program.
---
So between them all, I scream on the inside daily. 🙊😫😢13 -
Bus-Factor: A new metric to describe how well kowledge is distributed among the team members by calculating how many of your team members can be run over by a bus without killing your project!6
-
Agile in practice.
I finished my story with 3 days left in our 2 week sprint.
Me: What story should I pull in next?
PM: Story <number> to add <new feature>
Me: ok, sounds good
PM: Will you finish it before our sprint ends?
Me: No, probably will take me 5-7 days.
PM: But it can't spill over, it will make our metrics look bad.
Me: I can't finish it in 3 days.
PM: ....
Me: Can't you just explain the spillover as us working ahead?
PM: It will look bad on our <automated-report>
Me: ....
Me: So don't want me to get started on <new feature>?
PM: ....
Me: <internally sighing> What do you want me to do?
PM: Maybe you can pair program with <Overpaid-Idiot-Programmer> to help finish their story
Me: ....
Me: feelsbadman.jpg14 -
Boss: We need health data for this iOS app.
Me: Cool, so we'll use apples HealthKit.
Boss: No that requires the user agrees to it.
Me: ... well yeah ... its private data.
Boss: No we need it to work regardless. If the user says no to HealthKit, just give them textfields for all the metrics HealthKit has and they can enter manually.
Me: .... but ... eh ....
Boss: and we'll partner with some companies and support their devices.
Me: ... see, the thing is ...
Boss: We also need to store it locally and then sync it to the cloud app. What do you think?
Me: ... ... ... no2 -
I hate bullshit metrics, they are everywhere.
- 90% unlimited downloads (not unlimited then is it, dickface)
- you are 53% more likely to be noticed with a pro account (yeah, because you fucked with the algorithms)2 -
Not only do I write software, but now I help the managers view and understand our analytics, just like in kindergarten.
Now I'm forced to help them essentially fake data so investors are satisfied 🤡🔫
"Delete metrics X, Y, and Z for now, we don't want anyone to see them!"
"Change the label of this metric to 'unique user' views! (not total!)"
"Set all charts to cumulative so it looks like they are all up and to the right!"
Sigh.
This isn't what I signed up for.17 -
Visual Studio Code.
I've tried you because of hearing a lot of good stuff about you. I'd switch back to netbeans regardless because I love netbeans and I always try to use as little as possible from companies like Google/microsoft/facebook (and others) but what you're pulling right now is un-fucking-believable.
I've disabled ANY AND EVERY form of calling home I could (find) in your settings. Crash reports, automatic updates, metrics, you name it. I've searched all the fucking settings but I can't find any other home calling thing that's enabled and yet:
I'm monitoring every goddamn DNS request (through my own DNS server) and I'm still seeing calls to a Microsoft owned domain. Closed all my browser sessions and you as well and it stopped. Started browser again but not you, nothing.
Started you again: BAM. Calls to that damned Microsoft owned domain again.
If you can't honour my decision for disabling any form of home calls, go fuck yourself.
Netbeans, I'm back, I've missed you 💜35 -
Mgmt: We need performance metrics' comparison for those 2 tests ASAP, we'll ping you every 5 minutes
AWS Cloudwatch: *unusually slow - takes ~2 minutes to add/remove a metric or change the timeframe*
Me: *fuck*
AWS Autologout: "Let me just intervene here right before you take that screenshot that took you 1.5 hours to filter out..."1 -
No, I do not wish to work on your Scrum-managed project.
I do not wish to contribute to the Taylorism of my profession.
I do not wish to be an interchangeable cog in your software sausage machine.
I do not wish to be tracked by some pointless metrics like a call-centre worker.
I do not wish to bust my tight, cute ass to sprint after some idiotic management request that could have been factored in earlier.
I do not wish to obtain some piss-ant qualification that "authorises" me to do my job.
I do not wish to be party to your lie that technical debt will be avoided by refactoring---whatever the cost.
I do not wish to contribute to the death of software engineering to have it replaced by software development.
Agile? Sure. I can pick up the phone and talk to the client, users and fellow devs. After all, that's what it FUCKING MEANS. Communi-fucking-cation.
See that burndown chart? See your anus? Know what's happening next?
Fuck Scrum and every fucking bottom-feeder that is scamming a living by promoting it. You're killing this business.
Hugs and kisses,
Platypus15 -
PORTFOLIO INFLATION
when every junior is writing algorithms, the next step up, the only way to keep up is writing apps. When every junior is writing apps, the next leg up is writing an entire SN.
Eventually junior full stack devs are writing microservice streaming cloud backend content delivery optimized social networks wrapped in virtualization with load balancing, proper CI, public accessible analytics apis, written in custom webaseembly compiled scripting backend utilizing both the latest graphql and every single feature of postgres, while also being a web site builder, an in browser app, mobile optimized, designed to transmogrify your asset pipelines linearflow functional-oriented modular rust cratified turbencabulator while cooking your turducken with CPU cycles, diffusing your gpt, and finetunning your llama 69 trillion parameter AI model to jerk you off all at the same time.
And then the title "wizard" becomes a reality as the void of meaning in our lives occupied by the anxiety of trying to reduce the fear of rejection in job hunting, is subsumed by the brief accidental glance into the cthulian madness-inducing yawning abyss of the future which is all the rest of our lives we have to endure existing for until at last sweet sweet death consumes us and we go to annihilation never having to configure one more framework or devops deploy of another virtual environment.
And it dawns on us that we no longer develop or write code at all. No, everything has become a "service" in this new hellscape future. We slowly come to the realization that every job is really just Costco greeter, or eventually going to be reduced to something equivalent, all human creativity, free will and emotions now taken care of by the automation while we manage the human aspects, like sardines pushing against one another not realizing their doom has been sealed along with the airless can they have been packed into, to be suffocated by circumstance and a system designed to reduce everything to a competition of metrics designed by the devil, if the metrics were misery", and "torture", while we ourselves are driven by this ratfuck wheel to turn endlessly toward social cannibalism, like rats eating their babies, but for the amusement of wallstreet corporate welfare whores who couldnt turn a dime if it wasnt already stolen.
And on our gravestones, those immortal words are carved, by the last person who gave up the ghost, the last whose soul wasnt yey shovelled onto the coal fires driving the content machine consuming the world:
Welcome to costco. I love you.12 -
Rant against useless metrics:
No, your bootup time is not from when you hit the power button, until the moment the login screen shows up.
It's from when you hit the power button, until the moment when you can actually use your computer, e.g. the web browser or IDE is running and responding to input. -
When your laravel (PHP) project's GitHub metrics ends up like this, you question yourself "Am I doing it right?"1
-
I just had a chat with the CEO (I'll call him John) of the company I work at. I was trying to get a real alignment on what I need to do to be a valuable resource to this company. They promoted me (without a raise in pay) to a different (management) role, and I do not know what I need to do to be the best in this role.
During the discussion, the CEO failed to provide any usable metrics, or a way to track those, except for phrases like "higher productivity" and "higher quality". How to track? No idea.
So, at this point, me being the idiot I am, wanted to make things explicit:
*Me: Okay, so what if I request for a 20% raise six months from now, what metrics will you look at to decide whether to give me the raise.
(My last raise was a big one, more than 100% or so, more than a year ago. That was a dev role, and I was paid 2 cents earlier, so the doubling to 4 cents wasn't really a big deal.)
John went on a long rant on how people just expect raises every year, inflation, etc. All good and fine.
But then he mentioned something strange.
*John: ...and you know, for the last three years, there has been a race to retain resources. During this race, many companies, including us, had to pay people WAY MORE THAN THEIR VALUE to retain them. These people are going to be the first to be fired during cost-cutting as they are the most expensive resources at the company without any proven value. These people should not expect raises to come soon, and if they do expect that, they need to prove the value themselves.
Now, I, being a simpleton, am wondering how is it fair for an organization to pay someone "more than their value" to retain them once so that they can just be fired two years later. How did the company decide the value of such employees to begin with?
And all this is ignoring the fact that in the company there are no metrics, no KPIs, and performance of a person is how much the CEO likes that guy. How TF the people who joined a year ago and never interacted with the CEO prove their worth?
Developers are building PowerPoints and configuring JIRA/Confluence/Laptops of Sales team, project managers are delegating management to developers and decision-making to the CEO, Technical architect is building requirements documents, Business Analyst is the same person as the QA team lead (and badly stretched), and the Release Manager is the Product Technical Admin that cannot write one sentence in English. And then we got 3.8 hours in meetings every DAY. Why TF are Dev Managers in "QA KPI Meeting"? Why are "developers" writing documentation on "How to create meeting notes at <company>"?
And, in this hell-storm, how does one really demonstrate one's value?14 -
SLOC is the shittiest metric to exist.
If you're in software management, know that any of the numbers you've ever received (from me or anyone) for SLOC count are totally worthless.
"How many lines of code do you think you'll need to write to finish those features"?
"100000000000000"13 -
Today was a day at work that I felt like I made a significant contribution. It was not a lot of code. Actually it was a difference of 3 characters.
I am developing an industrial server so that my employer can provide access to their machines to enterprise industrial systems. You know, the big boys toys. Probably in fucking java...
Anyway, I am putting this server on an embedded system. So naturally you want to see how much serving a server can serve. In this case the device in more processor starved than memory starved. So I bumped up the speed of the serving from 1000mS to 100mS per sample. This caused the processor to jump from 8% of one core (as read from top) to 70%. Okay, 10x more sampling then 10x approx cpu usage. That is good. I know some basic metrics for a certain amount of data for a couple of different sampling rates.
Now, I realized this really was not that much activity for this processor. I mean, it didn't seem to me that it "took much" to see a large increase of processor usage. So I started wondering about another process on the system that was eating 60 to 70 % all the time. I know it updated a screen that showed some not often needed data from its display among controlling things. Most of the time it will be in a cabinet hidden from the world. I started looking at this code and figured out where the display code was being called.
This is where it gets interesting. I didn't write this code. Another really good programmer I work with wrote this. It also seemed to be pretty standard approach. It had a timer that fired an event every 50mS. This is 20 times per second. So 20 fps if you will. I thought, What would happen if I changed this to 250mS? So I did. It dropped the processor usage to 15%! WTF?! I showed another programmer: WTF?! I showed the guy who wrote it: WTF?! I asked what does it do? He said all it does it update the display. He said: Lets take to 1000mS! I was hesitant, but okay. It dropped to 5%!
What is funny is several people all said: This is running kinda hot. It really shouldn't be this hot.
Don't assume, if you have a hunch, play with it if its safe to do so. You might just shave off 55 to 60 % cpu usage on your system.
So the code I ended up changing: "50" to "1000".16 -
The GitHub graphql API is pretty neat, mostly because it's a great example of a product where graphql has advantages over REST. As a code reviewer for repos with hundreds of simultaneous PRs, I use it to filter through branches for stuff that needs my attention the most.
NewRelic's NRQL API is also quite nice, as it provides an unusual but very direct interface into the underlying application metrics.
I'm also a big fan of launchlibrary, purely because I love spaceflight, and their API is an extremely rich and actively maintained resource. This makes it a great data source for playing around with plotting & statistics libraries — when I'm learning new languages or tools, I prefer to make something "real" rather than following a tutorial, and I often use launchlibrary as a fun and useful data backend. -
You probably know the "marshmellow experiment": have one marshmellow now, or delay the gratification by some time, then get two. What the experiment is supposed to measure is something like intelligence or impulse control.
Hot take: what it also measures, and much more so when it comes to reality, is trust. If I don't trust the other side to be both able and willing to deliver on the promise later, I will rather secure the smaller reward right now.8 -
Just released version 1 of my first API! For this project I did everything the way I wanted to, no shortcuts! I documented the shit out of every endpoint and parameter. Everything is throughly tested and it’s dockerized. I also have metrics for each endpoint (with Grafana in the frontend, which I love) as well as alerts in case it would go down for some reason.
I prepared all of this before deploying it out into the wild and damn, it feels so good. Probably no one will use it but I don’t care. It’s one of those projects where you have to force yourself to go to bed at 2 AM.
Just some thoughts. Don’t really have any techie friends so figured maybe someone here recognizes that feeling. Also I wrote it in Python, such a pleasant language.11 -
PM: we need to show some progress, lets build a dashboard to display metrics.
Me: what metrics do we use ? The current period?
PM: No, those aren't good. Use math to show we made progress *wink*
Me: .......1 -
**Ahem**
https://google.com/search/...
"Never assume that data useless to your application is useless to all others - we are asking it different questions"
Privacy is dead because we could disseminate valuable data from crap if our lives depended on it, discarding simple key values for over analysed crap metrics every time.
Oh, and it's also screwing us over... if your keen know more about getting fucked go take a look at @linux 's rant about the matrix.org hack
- https://devrant.com/rants/2061177/...15 -
Found out today that the company wants to hire the consultant that thinks that unit testing is a waste of time, CI and code coverage metrics are useless, DI is mumbo-jumbo. But 500+ line procedural methods are fine, you just start the method with a small essay of a comment on what it does...6
-
Teaching my homeschooled son about prime numbers, which of course means we need to also teach prime number determination in Python (his coding language of choice), when leads to a discussion of processing power, and a newly rented cloud server over at digital ocean, and a search of prime number search optimizations, questioning if python is the right language, more performance optimizations, crap, the metrics I added are slowing this down, so feature flags to toggle off the metrics, crap, I actually have a real job I need to get back to. Oooh, I'm up to prime numbers in two millions, and , oh, I really should run that ssh session in screen so it keeps running if I close my laptop. I could make this a service and let it run in the background. I bet there's a library for this. He's only 9. We've already talked about encryption and the need to find large prime numbers.3
-
I gave up on learning math as a young person because no one was ever interested in teaching it in a way that made sense to me.
But as I’ve gotten older, I’ve started working on a pet projects that require understanding of (what I would consider) fairly advanced geometry, which as it turns out is called computational geometry. And it’s fun.
I just look back at the time I was afraid of this stuff with regret. All because my teachers weren’t terribly interested in teaching, but more interested in fulfilling useless metrics that only make it look like students are learning when they’re actually not.12 -
This whole corporate numbers game is killing me. I know I'm getting paid to do what I'm asked, I know. But the metrics are so one dimensional
You fixed the data of 20 tests? Doesn't count because you didn't code
You implemented a function to reduce recurrent failures in the future? Doesn't count because those already pass with time consuming workarounds
You spent half a day communicating and coordinating across teams to fix an issue? That's 1 test, this other person changed 1 line in 5 files, you're 4 tests behind4 -
Pissed off. Planning on imposing a company wide hook that prevents you checking in code with a @Generated annotation. Seriously, never even heard about it being used outside of auto generated code until some bozos here seem to have started using it to silently drop complicated classes from test coverage metrics. Is this a thing with new coders these days, or are my lot just cowboys?!
No more, anyway. Sometimes it's convenient to be able to pull rank.8 -
These script kiddies fuck with my error metrics! I want 0 !
I swear I'll find them! Even enabled IP log for every request contain “.php”.
Needless to say, app is not even in PHP and PHP isn’t even present on server12 -
Problems with redis... timeout everywhere...
30k READs per minute.
Me : Ok, How much ram are we actually using in redis ?
Metrics : Average : 30 MB
Me ; 30 MB, sure ? not 30 GB ?
Metrics : Nop, 30 MB
Me : fuck you redis then, hey memory cache, are you there ?
Memory cache : Yep, but only for one instance.
Me ok. So from now on you Memory cache is used, and you redis, you just publish messages when key should be delete. Works for you two ?
Memeory cache and redis : Yep, but nothing out of box exists
Me : Fine... I'll code it my selkf witj blackjack and hookers.
Redis : Why do I exist ?2 -
tl : "hey dotenv, we have a presentation with VP tomorrow, do you want to present any of your achievements in product?"
me: "umm, what achievements ?"
tl : "you know, something that you added in app which made a good impact to various metrics like DAU, MAU, less bad reviews etc"
me: "umm... i coded the tasks and features created by you folks. they got shipped at some point of your liking, and are now being tracked by you for its success failure. So i am not sure what to take credit for"
TL: "no, no.. i mean like any bugs or issues that you fixed outside of your daily jira tasks which you tracked to be a sucess"
me: "well as far as tracking is concerned, then neither i know how to track them nor i did. but yea, i identified a bug where an outdated payload was generating bad request and giving a silent failure instead of success which recently got shipped. maybe its helping users get actual response instead of "we will get back to you in some time" , so this might get considered?
TL : "oh that? that we have already added as one of the team's achievements (=PM+TL's achievement) and have tracked it to be a succes"
me : "what th- okay. then how about that api failure which was identified by AVP as "something is not right" in which the api was intermittently taking a long time to respond. he tagged me and i set up logs to identify which type of users got that issue and the actual cause of that api failure. that was definitely a good fox for app as we ended up with good reviews on playstore for our new release?"
TL : "oh that? how can you take credit for that fix? it was identified by AVP, you just added similar logs that we were using for tracking errors and implemented a fix when it came to you as a sprint task? its a team achievement"
me : "but you guys didn't identified the cause through your logs!? my log was more granular. and even if that's the case, we aren't allowed to pick any task just as is, without getting it added to sprint , right?"
TL : "nah, that was a team win"
*6 months later, during appraisal time"
TL : "Hey dotenv, you haven't displayed any leadership skills and haven't gone put of the box to improve the product. Here's your peanut appraisal 🗑️"
me : 🥲🔫🤯🪦
------------
fuck this stupid neaurocrst structure. i hate being a selfish prick than a team player, but either give credits as well as punishment to the team or gove credits as well as punishment to the single person. but wtf is thos culture of giving reward to team and punishment to individual? fckin communists
------ -
I really like this book on the basis of the philosophy overall, no this doesn’t solve all problems but it’s a good baseline of “guidelines/rules” to program by. Good metrics or goals to architect and design software projects high and low level projects.
Fight Software Rot
Avoid duplicate code
Write Flexible, dynamic, adaptable code
Not cargo cult programming and programming by coincidence.
Make robust code, contracts/asserts/exceptions
Test, Test, and TEST again and Continue testing.. this is a big one.. not so much meaning TDD.. but just testing in general never stop trying to break your software.. FIND the bugs.. you should want to find your bugs. Even after releasing code the field continue testing.24 -
When I was in college OOP was emerging. A lot of the professors were against teaching it as the core. Some younger professors were adamant about it, and also Java fanatics. So after the bell rang, they'd sometimes teach people that wanted to learn it. I stayed after and the professor said that object oriented programming treated things like reality.
My first thought to this was hold up, modeling reality is hard and complicated, why would you want to add that to your programming that's utter madness.
Then he started with a ball example and how some balls in reality are blue, and they can have a bounce action we can express with a method.
My first thought was that this seems a very niche example. It has very little to do with any problems I have yet solved and I felt thinking about it this way would complicate my programs rather than make them simpler.
I looked around the at remnants of my classmates and saw several sitting forward, their eyes lit up and I felt like I was in a cult meeting where the head is trying to make everyone enamored of their personality. Except he wasn't selling himself, he was selling an idea.
I patiently waited it out, wanting there to be something of value in the after the bell lesson. Something I could use to better my own programming ability. It never came.
This same professor would tell us all to read and buy gang of four it would change our lives. It was an expensive hard cover book with a ribbon attached for a bookmark. It was made to look important. I didn't have much money in college but I gave it a shot I bought the book. I remember wrinkling my nose often, reading at it. Feeling like I was still being sold something. But where was the proof. It was all an argument from authority and I didn't think the argument was very good.
I left college thinking the whole thing was silly and would surely go away with time. And then it grew, and grew. It started to be impossible to avoid it. So I'd just use it when I had to and that became more and more often.
I began to doubt myself. Perhaps I was wrong, surely all these people using and loving this paradigm could not be wrong. I took on a 3 year project to dive deep into OOP later in my career. I was already intimately aware of OOP having to have done so much of it. But I caught up on all the latest ideas and practiced them for a the first year. I thought if OOP is so good I should be able to be more productive in years 2 and 3.
It was the most miserable I had ever been as a programmer. Everything took forever to do. There was boilerplate code everywhere. You didn't so much solve problems as stuff abstract ideas that had nothing to do with the problem everywhere and THEN code the actual part of the code that does a task. Even though I was working with an interpreted language they had added a need to compile, for dependency injection. What's next taking the benefit of dynamic typing and forcing typing into it? Oh I see they managed to do that too. At this point why not just use C or C++. It's going to do everything you wanted if you add compiling and typing and do it way faster at run time.
I talked to the client extensively about everything. We both agreed the project was untenable. We moved everything over another 3 years. His business is doing better than ever before now by several metrics. And I can be productive again. My self doubt was over. OOP is a complicated mess that drags down the software industry, little better than snake oil and full of empty promises. Unfortunately it is all some people know.
Now there is a functional movement, a data oriented movement, and things are looking a little brighter. However, no one seems to care for procedural. Functional and procedural are not that different. Functional just tries to put more constraints on the developer. Data oriented is also a lot more sensible, and again pretty close to procedural a lot of the time. It's just odd to me this need to separate from procedural at all. Procedural was very honest. If you're a bad programmer you make bad code. If you're a good programmer you make good code. It seems a lot of this was meant to enforce bad programmers to make good code. I'll tell you what I think though. I think that has never worked. It's just hidden it away in some abstraction and made identifying it harder. Much like the code methodologies themselves do to the code.
Now I'm left with a choice, keep my own business going to work on what I love, shift gears and do what I hate for more money, or pivot careers entirely. I decided after all this to go into data science because what you all are doing to the software industry sickens me. And that's my story. It's one that makes a lot of people defensive or even passive aggressive, to those people I say, try more things. At least then you can be less defensive about your opinion.53 -
2020 seems to be the year of the "dev who has never seen scale."
TypeA -> "Here's a reasoned explanation for a change I think we should make. Here is the current deficiency analysis, here is the desired resolution, here is the course of action and all calculations leading to the resolution + data. This will have x,y,z beneficial result according to our operational metrics."
TypeD -> "Those were words. Why do you need that? Change is bad, learning is worse. This will just slow me down, development speed is all that matters; there is no chance that a poorly considered/factored/checked design could ever require a ground up rewrite or fuck us utterly in the long term. Why do you make my life harder? We could x -> y -> zBUTI haven't done the math and I really don't see the benefit in x, so z is pointless. What even is scale?"
The consequences of the war caused by the ever-widening gap between engineers and developers is low key terrifying.12 -
When the pull request
1. has 100s of files with commit messages that make a very little sense
2. has the source files sprinkled with duplicate looking code having enough differences to screw my visual diffing ability
3. has too many changes combined when they can be independently reviewed and merged
4. includes me as the sole approver when I don't have enough context on the changes
5. includes references to tickets without any description, justification for the change, testing methodologies, test results, performance metrics comparison, etc. Literally none. It is as if the developer wants me to work with them from the Beginning1 -
Product and Design have a common enemy. Yes, you guessed it right, Engineering.
The former aim to solve user problems and focus heavily on aesthetics most of the time. While the latter actually does it.
As a Product guy, I admit that I absolutely hate the role these days because all that are asked to focus on is engagement retention conversion and other fancy metrics. Community has missed the entire point of why the fucking role exist.
On the other hand, engineering always asks the best questions. Focuses on performance and scale while periodically checking on tech debt. Yes, they suck at business or sales but when the solution works, things automatically make money.
I DON'T FUCKING CARE HOW BEAUTIFUL YOUR APP IS, IF IT DOESN'T SOLVE MY PROBLEM THEN IT'S RUBBISH.
Functionality and UX matters to more than colour scheme or fonts. Reason why Amazon is a huge. They are functionally solving a great problem while constantly improvising UX and not giving a rat's ass on UI.
Another down side to your fancy design is that the UI elements make things heavier. No wonder engineers have always been the best problem solver.
We lost our way. Tech world needs to go back a decade or two to fix the tech debt.8 -
This is the third part of my ongoing series "The Ballad of the Six Witchers and the Undocumented Java Tool".
In this part, we have the massive Battle of Sparks and Storms.
The first part is here: https://devrant.com/rants/5009817/...
The second part is here: https://devrant.com/rants/5054467/...
Over the last couple sprints and then some, The Witcher Who Writes and the Butchers of Jarfile had studied the decompiled guts of the Undocumented Java Beast and finally derived (most of) the process by which the data was transformed. They even built a model to replicate the results in small scale.
But when such process was presented to the Priests of Accounting at the Temple of Cash-Flow, chaos ensued.
This cannot be! - cried the priests - You must be wrong!
Wrong, the Witchers were not. In every single test case the Priests of Accounting threw at the Witchers, their model predicted perfectly what would be registered by the Undocumented Java Tool at the very end.
It was not the Witchers. The process was corrupted at its essence.
The Witchers reconvened at their fortress of Sprint. In the dark room of Standup, the leader of their order, wise beyond his years (and there were plenty of those), in a deep and solemn voice, there declared:
"Guys, we must not fuck this up." (actual quote)
For the leader of the witchers had just returned from a war council at the capitol of the province. There, heading a table boarding the Archpriest of Accounting, the Augur of Economics, the Marketing Spymaster and Admiral of the Fleet, was the Ciefoh Seat himself.
They had heard rumors about the Order of the Witchers' battles and operations. They wanted to know more.
It was quiet that night in the flat and cloudy plains of Cluster of Sparks and Storms. The Ciefoh Seat had ordered the thunder to stay silent, so that the forces of whole cluster would be available for the Witchers.
The cluster had solid ground for Hive and Parquet turf, and extended from the Connection River to farther than the horizon.
The Witcher Who Writes, seated high atop his war-elephant, looked at the massive battle formations behind.
The frontline were all war-elephants of Hadoop, their mahouts the Witchers themselves.
For the right flank, the Red Port of Redis had sent their best connectors - currency conversions would happen by the hundreds, instantly and always updated.
The left flank had the first and second army of Coroutine Jugglers, trained by the Witchers. Their swift catapults would be able to move data to and from the JIRA cities. No data point will be left behind.
At the center were thousands of Sparks mounting their RDD warhorses. Organized in formations designed by the Witchers and the Priestesses of Accounting, those armoured and strong units were native to this cloudy landscape. This was their home, and they were ready to defend it.
For the enemy could be seen in the horizon.
There were terabytes of data crossing the Stony Event Bridge. Hundreds of millions of datapoints, eager to flood the memory of every system and devour the processing time of every node on sight.
For the Ciefoh Seat, in his fury about the wrong calculations of the processes of the past, had ruled that the Witchers would not simply reshape the data from now on.
The Witchers were to process the entire historical ledger of transactions. And be done before the end of the month.
The metrics rumbled under the weight of terabytes of data crossing the Event Bridge. With fire in their eyes, the war-elephants in the frontline advanced.
Hundreds of data points would be impaled by their tusks and trampled by their feet, pressed into the parquet and hive grounds. But hundreds more would take their place. There were too many data points for the Hadoop war-elephants alone.
But the dawn will come.
When the night seemed darker, the Witchers heard a thunder, and the skies turned red. The Sparks were on the move.
Riding into the parquet and hive turf, impaling scores of data points with their long SIMD lances and chopping data off with their Scala swords, the Sparks burned through the enemy like fire.
The second line of the sparks would pick data off to be sent by the Coroutine Jugglers to JIRA. That would provoke even more data to cross the Event Bridge, but the third line of Sparks were ready for it - those data would be pierced by the rounds provided by the Red Port of Redis, and sent back to JIRA - for good.
They fought for six days and six nights, taking turns so that the battles would not stop. And then, silence. The day was won, all the data crushed into hive and parquet.
Short-lived was the relief. The Witchers knew that the enemy in combat is but a shadow of the troubles that approach. Politics and greed and grudge are all next in line. Are the Witchers heroes or marauders? The aftermath is to come, and I will keep you posted.4 -
Can somebody please explain to my boss that using a progressive loading bar when you've got no metrics to base the progression on is stupid. Pls.3
-
Dev: We have a data quality problem. Combined with data silos, we can't trust the numbers. We need to agree on metric definitions as a company.
CTO: (Points a PM)Help him on the metrics he has defined. We'll discard any other alternate definitions inside the company.
PM: You can start with these. (Throws a bunch of metrics without their definitions. Doesn't respond to questions regarding definitions.)
After a week of generating aggregates,
PM: The numbers seem wrong.
Fuck I know the numbers will be wrong. Because you didn't give me the definitions and I'll have to deduce them myself.
Seriously guys, how do you deal with PMs who don't cooperate in the requirement analysis?8 -
TDD has not been proven in studies to provide substantial reduction in cyclomatic complexity or other metrics of software development.17
-
Thoughts on forced emergency support?
I am with a company I generally like a lot but there are some things I generally despise about it. Like forced emergency support.
I am not good at it, I don't claim to be.. I generally struggle with anxiety, stress and depression, I specifically avoid roles that require on-call service .. I'm a senior level software engineer.
I find it very frustrating to be expected to be on-call from 7-7 in support of infrastructure I did not architect, did not code and basically know nothing about. They provided me with a ten minute discussion about ops genie and where to find internal support articles for my training and that's about it.
Last night I received an ops genie alarm and acked it as I was instructed to do, I went around the system looking for the alarm cause and basically had no idea what to do except watch our metrics graphing praying there wouldn't be an outage. Fortunately the alarm was for our load balancer scaling operation, it was taking a bit longer than usual ... Sigh of relief. Stay up til 6am and fall asleep..
Wake up to a few messages from various people asking why I didn't do this and that and it took me every inkling of my being to remain cordial and polite but I really just wanted to scream and say a bunch of shit that would probably get me fired.
What the actual fuck?
Why expect someone that has no god damn clue what they are doing to do something like this? Fuckin shit training and no leadership to mentor me and help me get better at this role, no shadowing, no regiment ..
#confused and #annoyed
Thoughts? Am I a bitch? Is it unreasonable for me to expect my job duties stay in line with what I'm actually good at!?
Thanks.15 -
I recently tried to apply the same data analytics rationale that I use at work to my personal life. This is not a rant, it is more like an data storytelling of an actual use case I would like some input on.
I set a goal - gotta thin up a bit and calm down my ticker - and got a (almost unreasonably expensive) field expert consultant to yell at me about it for a couple hours.
I unravel the metrics - there is like a million weight-related KPIs and most say nothing at all. I have never seen an non-infrastructure measurable subject that could not be resumed to 2-5 performance metrics. I got overall weight, how well my nine-years-old business suit fits me, heart rate, and day-after relative muscle pain (it will make sense soon).
Then its data-pipeline time. I bought a cheap weight scale and smartwatch, and every morning I input the data in an app. Yes, I try to put on the suit every morning. It still does not fit.
After establishing a baseline, I tried to fit different approaches. Doing equipment-free exercises, going to the gym, dieting. None was actually feasible in the long run, but trying different approaches does highlight the impacts and the handling profile of each method.
Looking at the now-gathered data, one thing was obvious - can't do dieting because it is not doable to have a shopping list and meals for me and another for the family.
Gym is also off the table - too much overhead. I spend more time on the trip there and back than actually there.
And home exercise equipment is either super crappy or very expensive. But it is also the most reasonable approach.
So it is solutions time. I got a nice exercise bycicle (not a peloton), an yoga mat (the wife already had that one) and an exercise program that uses only those two resources. Not as efficient without dieting, not as measurable and broad as the gym, but it fits my workflow. Deploy to production!
A few months pass and the dataset grows. The signal is subtle but has support - it works! The handling, however, needs improvement, since I cannot often enough get with the exercise program. Some mornings are just after some hard days.
I start thinking about what else I can improve in the program, but it is already pretty lean and full of compromises.
So I pull an engineer and start thinking about the support systems and draft profile. What else could be draining my willpower and morning time?
Chores. Getting the kids ready for school, firing up the moka pot, setting the off-brand roomba, folding the overnight-dried clothes, cooking breakfast, doing the dishes, cleaning the toilets. All part of my morning routine. It might benefit from some automation.
Last month I got that machine our elders call "wasteful" and "useless crap lazy entitled Americans invented because they feel oh-so-insulted for simply doing something by hand like everyone always did" - a "dish-washer".
Heh, I remember how hard was to convince my mother-in-law that an remote-controled electric garage door would not make she look like an spoiled brat.
Still to early to call, but I think that the dishwasher just saved me about 25 mins every morning. It might be enough to save willpower for me to do more exercise.
This is all so reflective of all data analytics cases really are out in the wild - the analytics phase seems so small compared to the gathering and practical problem-solving all around. And yet d.a. is what tells you that you are doing the wrong thing all along. Or on what you should work next.7 -
Epic code fight broke out today when one developer fronted himself for leader due to having beat all the metrics by a factor of ten. Claimed he could replace the entire department based on LOC alone.
Another developer told him to fucking zip it.
After almost coming to blows someone managed to explain to him that he had to put his code into a compressed archive.
As it compressed to ten times smaller than the next smallest contribution he declared victory because his compressed better. Another developer joked better call bomb squad.6 -
2 hour meeting to brainstorm ideas to improve our system health monitoring (logging, alerting, monitoring, and metrics)
Never got past the alerting part. Piss poor excuses for human being managers kept 'blaming' our logging infrastructure for allowing them to log exceptions as 'Warnings', purposely by-passing the alerting system.
Then the d-head tried to 'educate' everyone the difference between error and exception …frack-wad…the difference isn't philosophical…shut up.
The B manager kept referring to our old logging system (like we stopped using it 5 years ago) and if it were written correctly, the legacy code would be easier to migrate. Fracking lying B….shut the frack up.
The fracking idiots then wanted to add direct-bypass of the alerting system (I purposely made the code to bypass alerting painful to write)
Mgr1: "The only way this will work is if you, by default, allow errors to bypass the alerting system. When all of our code is migrated, we'll change a config or something to enable alerting. That shouldn't be too hard."
Me: "Not going to happen. I made by-passing the alert system painful on purpose. If I make it easy, you'll never go back and change code."
Mgr2: "Oh, yes we will. Just mark that method as obsolete. That way, it will force us to fix the code."
Me: "The by-pass method is already obsolete and the teams are already ignoring the build warnings."
Mgr1: "No, that is not correct. We have a process to fix all build warnings related to obsolete methods."
Mgr2: "Yes. It won't be like the old system. We just never had time to go back and fix that code."
Me: "The method has been obsolete for almost a year. If your teams haven't fixed their code by now, it's not going to be fixed."
Mgr1: "You're expecting everything to be changed in one day. Our code base is way too big and there are too many changes to make. All we are asking for is a simple change that will give us the time we need to make the system better. We all want to make the system better…right?"
Me: "We made the changes to the core system over two years ago, and we had this same conversation, remember? If your team hasn't made any changes by now, they aren't going to. The only way they will change code to the new standard is if we make the old way painful. Sorry, that's the truth."
Mgr2: "Why did we make changes to the logging system? Why weren't any of us involved? If there were going to be all these changes, our team should have been part of the process."
Me: "You were and declined every meeting and every attempt to include your area. Considering the massive amount of infrastructure changes there was zero code changes required by your team. The new system simply worked. You can't take advantage of the new features which is why we're here today. I'm here to offer my help in any way I can with the transition."
Mgr1: "The new logging doesn't support logging of the different web page areas. Until you can make that change, we can't begin changing our code."
Me: "Logging properties is just a name+value pair dictionary. All you need to do is standardize on a name and how you add it to the collection."
Mgr2: "So, it's not a standard field? How difficult would it be to change the core assembly? This has to be standard across all our areas and shouldn't be up to the developers to type in anything they want."
- Frack wads smile and nod to each other like fracking chickens in a feeding frenzy
Me: "It can, but what will you call this property? What controls its value?"
- The look I got from both the d-bags I could tell a blood vessel popped.
Mgr1: "Oh…um….I don't know…Area? Yea … Area."
Mgr2: "Um…that's not specific enough. How about Page?"
Mgr1: "Well, pages can cross different areas, and areas cross different pages…what do you think?"
Me: "Don't know, don't care. It's up to you. I just need a name."
Mgr2: "Modules! Our MVC framework is broken up in Modules."
DevMgr: "We already have a field for Module. It's how we're segmenting the different business processes"
Mgr1: "Doesn't matter, we'll come up with a name later. Until then, we won't make any changes until there is a name."
DevMgr: "So what did we accomplish?"
Me: "That we need to review the web's logging and alerting process and make sure we're capturing errors being hidden as warnings."
Mgr1: "Nooo….we didn't accomplish anything. This meeting had no agenda and no purpose. We should have been included in the logging process changes from day one."
Mgr2: "I agree, I'm not sure why we're here"
Me: "This was a brainstorming meeting as listed in the agenda. We've accomplished 2 of the 4 items. I think we've established your commitment to making the system better. Thank you all for coming."
- Mgr1 and 2 left without looking at me or saying a word.1 -
Man I am tired of my company's dogshit software release process.
We have to commit to fucking estimates for 6 months (2 quarters), SQA shadowing dev by 2 weeks, and freaking estimates and work done at the end are not even close. And then we call it a minor release. These shitty estimates are based on requirements that basically say "we want feature x, plz make it work". It's some fucked up agilefall garbage that does not work for shit.
We rush like motherfuckers during the final weeks because estimates are bullshit but we are still expected to be done with every story points which somehow are days instead of other better metrics.
I swear this fucking bullshit has been designed by the board so they could plan their money entries based on the software release.
The only reason this company actually still holds itself up is because the engineers are good at their job.
Go fuck yourself high management. -
"You can Download Sublime Merge, and try it for yourself - there's no time limit, no accounts, no metrics, and no tracking. The evaluation version is fully functional, but is restricted to the ***light theme only.***"
In your butt light theme haters ;)4 -
A few days ago I decided to install Windows 7 on a VM (bad idea as it turned out). All fine and dandy and I ran Windows Update a few times to get it at least as up-to-date as it'll get.
I noticed that out of the 4GB RAM I had allocated, an svchost process responsible for the updates was gobbling up all the available memory, just leaving 82MB for everything else. The process itself was as you might imagine consuming over 3GB RAM just for itself. That's how an OS should work right after installation, I'm sure you'll agree.
So I complained about it. Haven't used Windows anywhere for a while so I wasn't used anymore to this level of efficiency. Disk activity went through the roof, though to be fair the underlying disk wasn't an SSD (qcow2 on ZFS on a spinning drive). RAM consumption is something I already covered. CPU temperature shot up to 95C.
So as any idiot would do, I disabled the service related to that process (the svchost process for wuauserv) and the problem went away. But I complained of course, saying that such amazing system utilization metrics wasn't something I expected. I mean for 4GB allocated, having as much as 82MB usable to get stuff done with! 95C on the CPU, on a lot of chips that's the junction temperature! Absolutely beautiful.
When I complained I heard that I had to replace the thermal grease. I do that twice a year. I wrote a custom fan driver for my system that works absolutely great. It was obviously shit. I must be a horrible sysadmin for solving a problem by eliminating the cause, and companies hiring me must be ashamed of themselves. My hardware must be shit (that's a common one with Windows users) despite being a business laptop and the guest system being a VM. Oh and I'm an idiot of course for complaining about such amazing system metrics in Windows.
I love Windows and its community...8 -
It's obvious that a lot of product managers need to take basic stats classes. Your metrics are pointless and lack direction. 🖕2
-
@dfox @trogus would you guys mind sharing some statistics on devRant? I've been very curious about the following metrics:
- Daily active users
- Weekly active users
- All time rants count
- Monthly comments count
- Total users count
Thanks for reading and thanks even more for making this beautiful platform 😃9 -
Applying Occam's razor and I might be wrong..
Hiring a candidate and job hunt, both are fucking exhaustive process.
We, as a human race, have aimed for Moon and Mars but are unable to solve the problem at hand which can save millions of hours each year reflecting in immediate cost savings.
Here's my (idealistic) solution:
A product to connect job seekers and recruiters eliminating all the shitty complexities.
LinkedIn solved it, but then hired some PMs who started chasing metrics and bloated the fuck out of the product.
Here are some features of the product I am envisioning:
1. Job seeker signs up and builds their entire profile.
2. Ability to add/remove different sections (limited choices like certifications, projects, etc.), no custom shit allowed because each will have their own shit.
3. By default accept GDPR, Gender Identity, US equality laws, Vetran, yada yada..
4. No resume needed. Profile serves as resume. Eliminate the need to build a resume in word or resume builders.
5. Easy updates and no external resume, saves the job seeker time and gives a standard structure to recruiters to scan through eliminating cognitive load.
6. Recruiters can post their jobs and have similar sections (limited categories again).
7. Add GDPR, Vetran, etc. check boxes need basis.
8. No social shit. Recruiters can see profiles of job seekers and job seekers can see jobs. Period.
9. Employee working in Google? Awesome. Will not show Google recruiters thier profile and employee such job posts.
10. No need to apply or hunt heads. System will automatch and recommend because we are fucking in AI generation and how hard it is to match keywords!!
11. Saves job seekers and recruiters a fuck ton of time hunting the best fit.
12. This system gets you the best job that fits your profile.
Yes, there are flaws in this idea.
Yes, not all use cases are covered.
Yes, shit can be improved and this is hypothetical.
But hey! Surely doable with high impact than going on Moon or Mars right now.
Start-up world has lost its way.12 -
I wonder if there are any metrics to support sites that implement the "don't leave" modal when the mouse leaves the page.
Or is it just a genuine desperate attempt?
I cannot rationalize it.5 -
Listen, i really understand you want to know how much a certain resource is downloaded/viewed and so on. But what gets on my nerves is to sign up my email address every fucking time i want to see your semi-tech-but-actually-selling-you-a-pile-of-sperm-fermented-shit whitepaper . yes i know there is something called disposable email adresses and such... But if stuff is 'free' as you say you have, then make it available free!
Every time i think 'hey, this is actually relevant to my interests, let me read up more on that...' i hit the fucking 'insert your email for a free download'
Fuck off! Put your fucking form in the pits of hell and seal it in a fucking fucking dome next to fucking research subject akira with 99 fucking layers of fucking nuclear blast proof wall domes! I dont want you to fucking send me your fucking spam mails about every ideafart your sales dept has fired becausz they were high on computer cleaner spray tubes and thought 'let's trick those stupid people into our marketing scheme', go and fucking jump into a barrel of highly concentrated radioactive waste!
The only thing you manage to do for me like that is to fucking close the tab i had a slight interest in and never look back again!
Am i the only one getting angry about this?undefined always a fucking catch fuck your metrics when free isn't free signup for free stuff is bollocks2 -
wtf...
Ones of the best bugs I love the "most" are the ones where the fix is counter-intuitive, e.g. making smth seemingly incorrect to rectify the issue.
Like today, I crafter an SQL query to fetch some PG metrics. And postgres-exporter refused to accept it until I added an excessive comma [,] at the end of the SELECT block (right before FROM).
Like.. wtf...12 -
So the project I work on basically has to talk to a 3rd party plugin, through a 3rd party framework. The 3rd party plugin is a black box. This conversation happened:
Software guy: so we aren't sure what is breaking the thing. It's either us or the plugin, but it's probably both.
Systems guy: well then if we aren't sure then why are we writing an issue for it.
SWG: because we aren't sure but we know we are doing at least something that contributes. We read int X from a table and put it into a float. X doesn't perfectly represent in a float. It comes out X.0001. Then they take it and when it comes back it comes back as Y.0001. We cram it into an int so it becomes Y, we compare it to X which is really X.0001 and it comes back invalid.
SG: well as long as we are sending them the right number . . .
SWG: but we aren't sending them the right number. They are expecting X not X.0001. Then they send us back Y.0001 but it should be X so it's wrong.
SG: so they're giving us the wrong return value.
SWG: yes, but because we're giving them the wrong number.
SG: well not exactly . . .
SWG: yes exactly. It is off by .0001 because of floating point math.
SG: well . . .
Me: look it doesn't matter how it's breaking. But it IS broken. Which is why we're filling out the damn problem report. THEY ARE EDITABLE. We talked to the customer and gave them the risk assessment. They don't care. It happens rarely any way.
SG: then can we lower the severity?
Me: no. Severity doesn't relate to risk. That is a whole different process. Severity assumes it has already happened. It's a a high severity.
SG: but the metrics.
Me: WE GIVE THE METRICS TO THE CUSTOMER. WE TALKED TO THE CUSTOMER. THEY DON'T GIVE A SHIT.
And that was how I spent Wednesday wondering how a level 4 lead systems engineer got his job. How many push ups did he do? What kind of juice did he drink?2 -
aagh fuck college subjects. over my last 4 years and 7 sems in college, i must have said this many times : fuck college subjects. But Later i realize that if not anything, they are useful in government/private exams and interviews.
But Human computer Interaction? WHAT THE FUCK IS WRONG WITH THIS SUBJECT???
This has a human in it, a comp in it, and interaction in it: sounds like a cool subject to gain some robotics/ai designing info. But its syllabus, and the info available on the net , is worse than that weird alienoid hentai porn you watched one night( I know you did).
Like, here is a para from the research paper am reading, try to figure out even if its english is correct or not:
============================
Looking back over the history of HCI publications, we can see how our community has broadened intellectually from its original roots in engineering research and, later, cognitive science. The official title of
the central conference in HCI is “Conference on Human Factors in Computing Systems” even though we usually call it “CHI”. Human factors for interaction originated in the desire to evaluate whether pilots
could make error-free use of the increasingly complex control systems of their planes under normal conditions and under conditions of stress. It was, in origin, a-theoretic and entirely pragmatic. The conference and field still reflects these roots not only in its name but also in the occasional use of simple performance metrics.
However, as Grudin (2005) documents, CHI is more dominated by a second wave brought by the cognitive revolution. HCI adopted its own amalgam of cognitive science ideas centrally captured in Card, Moran & Newell (1983), oriented around the idea that human information processing is deeply analogous to computational signal processing, and that the primary computer-human interaction task is enabling communication between the machine and the person. This cognitive-revolution-influenced approach to humans and technology is what we usually think of when we refer to the HCI field, and particularly that represented at the CHI conference. As we will argue below, this central idea has deeply informed the ways our field conceives of design and evaluation.
The value of the space opened up by these two paradigms is undeniable. Yet one consequence of the dominance of these two paradigms is the difficulty of addressing the phenomena that these paradigms mark as marginal.
=============================7 -
Being asked to produce a graph for metrics a, b and c and then being invited to the two hour "a, b and c" meeting to explain what they mean to the people that asked me to graph them. That's rapidly becoming my "job description"...
-
<rant>
I'm getting so sick of people bitching about their privacy and apps (looking at you gdpr).
They want full anonymity and share 0 data... well fine but then pay me 2.99 a month to use my service... oh you don't want to spend money well ok then, ill use some of your metrics and share them with advertisers so you can keep using the service at no cost... oh you don't want us to collect the data you are already spewing around on every online platform? well then we cant have you using our service because you are costing us money... what? the gdpr is forcing us to keep providing you with the service... but... who is going to pay for resource costs?!
arrghh!!
</rant>
ps: the gdpr is so full of loopholes, half the arguments you "nerds(be honest you read it on facebook that we have to delete you data...haha..)" use for how great it is are...well... moot
pps: with you nerds I don't mean the readers of this13 -
In my experience, any BE dev or old architect/lead programmer that says they “can do frontend” does shit like writing Ajax calls in script tags directly in the html. They are the ones who add style attributes directly in html. They are the ones who google how to center a div and they still use float positioning because all of them are old, arrogant BE devs who get caught in a single framework who convince themselves they are an expert. They can’t give any good UX advice. They don’t know how to use a screen reader. They don’t know what WCAG means. They don’t constantly keep up to date on what browsers are supporting and what’s being released in the unstable versions. They don’t know what a web component is. They don’t know what a closure is. They don’t know anything about optimizing web perf metrics. They couldn’t tell you what web crawlers look for. They couldn’t tell you anything about design principles and anti-patterns. They don’t know how to manage a web application that will be seen by millions AND keep it nice, shiny, and refactorable on the code side. What do they really fucking know? how to write an MVC app? How to connect APIs and integrate code that other people wrote? I do full stack all day and writing anything not-client-facing is super easy.
Take that stick out of your ass and get over yourself you asshole. You haven’t written anything close to amazing even though you constantly act like you’re a god-tier programmer and your shit doesn’t stink.
Hit the books like the rest of us you fuck.
The Frontend is anything but fucking easy.25 -
My boss is being a stupid cunt. To give you a background we were facing issues with our Collections system. First week December 2019, I and a colleague of mine came up with a new efficient collections architecture. My colleague and I started to Code and create automation scripts mid December and completed it in First week of Jan 2020. This PoC version was supposed to be just between the Dev team(App Dev and Back end, also one from the Ops side to verify the data). I did not receive any feedback on the actual collections system and the data integrity but during this time all they’ve done is take meetings with no real outcome. I raised this and the only email I got is data is looking fine when I know it is not.Now in First week of Feb, he is stressing us to go ahead and deploy the architecture in Production and we have not done any Code Review, Static Code analysis, any real tests on Code and deployment scripts. Have not discussed any metrics for our dashboard and alerting. I have no idea how to handle this cunt. I have even asked for resources to atleast productionalize the code and move ahead the deployment and still no out come. I’ll go in a meeting with him in an hour, I will be very blunt and tell him that whatever he is doing is a foolish way and maybe resign in couple of weeks6
-
I fucking hate foglight!
Fucking piece of over bloated shit software that can't do anything right!
This pile of harkonnen vomit is such a source of stress and frustration.
Can you believe that a monitoring tool, that needs to monitor 550 agents (host,dB's, webservices,whatever) needs a whopping 20+GB ram and 4vcpu's just to receive metrics and sent it to the main server, for just being a middleman???
Fucking piece of shit.
And worse of it all, due to some fuckery at mgmt-customer relationship level, they want to I stall MORE of this shit
Fucking shit
Quest software, never engage with them. You'll lose equal amounts of money as for dynatrace but be very bad off1 -
When IT is like : hey our new grafana is at this place "some URL"
I submit a bug ticket: "I can't see metrics about this server that has been running for a while"
Their comment on the ticket : the URL to the old grafana -
The Odyssey of the Tenacious Tester:
Once upon a time in the digital kingdom of Binaryburg, there lived a diligent software tester named Alice. Alice was on a mission to ensure the flawless functionality of the kingdom's latest creation – the Grand Software Citadel.
The Grand Software Citadel was a marvel, built by the brilliant developers of Binaryburg to serve as the backbone of all digital endeavors. However, with great complexity came an even greater need for meticulous testing.
Alice, armed with her trusty testing toolkit, embarked on a journey through the intricate corridors of the Citadel. Her first challenge was the Maze of Edge Cases, where unexpected scenarios lurked at every turn. With a keen eye and a knack for uncovering hidden bugs, Alice navigated the maze, leaving no corner untested.
As she progressed, Alice encountered the Chamber of Compatibility, a place where the Citadel's code had to dance harmoniously with various browsers and devices. With each compatibility test, she waltzed through the intricacies of cross-browser compatibility, ensuring that the Citadel would shine on every screen.
But the true test awaited Alice in the Abyss of Load and Performance. Here, the Citadel's resilience was put to the test under the weight of simulated user hordes. Alice, undeterred by the mounting pressure, unleashed her army of virtual users upon the software, monitoring performance metrics like a hawk.
In the end, after days and nights of relentless testing, Alice emerged victorious. The Grand Software Citadel stood strong, its code fortified against the perils of bugs and glitches.
To honor her dedication, the software gods bestowed upon Alice the coveted title of Bug Slayer and a badge of distinction for her testing prowess. The testing community of Binaryburg celebrated her success, and her story became a legend shared around digital campfires.
And so, dear software testers, let the tale of Alice inspire you in your testing quests. May your test cases be thorough, your bug reports clear, and your software resilient against the challenges of the digital realm.
In the world of software testing, every diligent tester is a hero in their own right, ensuring that the digital kingdoms stand tall and bug-free. -
Spent the last year coding on ACA eligibility metrics and end of year tax 1095c automation for the company's employees. Just now getting around to doing my own taxes.
-
Billing by hourly rates is like getting paid by lines of code: the worst coders will get the highest scores.5
-
Hello everyone, once again I’m asking for your help, for the first time I’m working as a counterpart for an external development company, this project already has a few months of work but there are not any technical documentation or quality metrics.
Would you suggest to ask all the necessary stuff with times, quality and requirements or it’s already impossible to do that?5 -
New bossman is looking for KPIs.
We're an agile team who build a back end system for a large corporation. Specifically the system we build is used by the sales guys when they are putting through a sale. I have no idea where to start with KPIs.
Can't measure number of sales as that's down to the salesmen. Can't measure speed of sale as again that's down to the salesman and how much they chat.
Any ideas?8 -
Oddly enough, i have simultaneously been less busy and more productive since working 66% remotely.
I find myself with more time that feels "wasted" or not busy, but my metrics show that I have more production, better results, and far nicer documentation. A bunch of us also sat down and did a bunch of coursework on really putting together a domain script library for one click onboarding of new servers or new client setups. We spun up a bunch of new virtual environments that literally solved headaches that had existed for years that never got dealt with because of too many other tickets.
Some of our web clients freaked out at us because the business is moving away from doing maintenance of legacy web work (small to midsize businesses). But it didn't matter. Rather than respond with a "make them happy," the response was "well, we will get rid of them as clients. We need to focus our energy on the essential service sectors we support."
Hell, we even got an automated test that has been broken apparently since 2018 to work again.
Granted, the incoming workload has slowed down. But it's still interesting to me to see that despite the slowdown, there isn't any concern; its still paying the bills and we are getting rid of technical debt everywhere. Tbh, this has really been a good reality check.1 -
Over the last few years, i explored the DMZ between dev's world and customer's world. It is a DMZ where both are in contact, ones trying to convince the others to invest on them, and i was just shocked !
People are so stupid and Elitist, they think that an ultimate great godly dev exist !
It is totally fake for sure, they image that a good have to know absolutely everything about all the damn languages (while everyone googles every single comment received, even the most "advanced" dev)
I am shocked to see how people apply their everyday life metrics to the dev's world, i mean, there are a lot of devs around, everyone coding his way to self-improvement, we are all different, we have trends, and we can definitly define groups of developers and types of developers, but people think that a good dev have to come from silicon valley ! Does it means that a dev coming from Vladivostok is less worth ? even he is more dynamic in his approach ? even if he yields more results in terms of solutions ? (SV devs tends to be too much technical, while russians tends to be in the heart of action directly).
Common people shouldn't mess with what they know nothing about, and stay at their "Consumer" position. -
Name two production service, metrics and logging included, after a famous woman and an armored vehicle.
Dude, no. When those services go down in the middle of the night some poor soul on call duty will have to handle it without the faintest idea wtf is going on.1 -
I’m trying to update a job posting so that it’s not complete BS and deters juniors from applying... but honestly this is so tough... no wonder these posting get so much bs in them...
Maybe devRant community can help be tackle this conundrum.
I am looking for a junior ml engineer. Basically somebody I can offload a bunch of easy menial tasks like “helping data scientists debug their docker containers”, “integrating with 3rd party REST APIs some of our models for governance”, “extend/debug our ci”, “write some preprocessing functions for raw data”. I’m not expecting the person to know any of the tech we are using, but they should at least be competent enough to google what “docker is” or how GitHub actions work. I’ll be reviewing their work anyhow. Also the person should be able to speak to data scientists on topics relating to accuracy metrics and mode inputs/outputs (not so much the deep-end of how the models work).
In my opinion i need either a “mathy person who loves to code” (like me) or a “techy person who’s interested in data science”.
What do you think is a reasonable request for credentials/experience?5 -
Recruiters often tell you to use numbers to highlight your successes. For example, "I did Programming Task ABC and increased sales of widgets by 1,000%". I'm curious how many of us actually have had access to and/or kept track of those kinds of success metrics in our prior jobs. I find myself guessing and even just making up numbers that nobody's going to have even the slightest possibility of verifying.6
-
The CloudWatch API is an awkward piece of shit.
No convenient way to just ask for the latest value of a metric. Gotta supply a time window and hope metrics were actually reported within that window.
Oh and make sure your timestamps are in ISO 8601 or the request will fail (but the SDK does zero validation so a unit test won’t catch it of course).
Oh and you have to assign an arbitrary ID to each metric query in your request even if you don’t care about mapping the results back to the queries. And the regex for the ID is just fussy enough to be mildly irritating.1 -
Wanted to try a new alerting based on a new Prometheus metric we added. To trigger an alert we killed the dev stage db of the service. Alert didn't get triggered. The reason was that the metrics endpoint suddenly needs exactly 60s for a response if the db is killed and prometheus timeout is 20s.
And to top it off, this behavior happens for each service we developed (that has a db) .
Well at least the new alerting already helped find a bug.2 -
@dfox - yall should publish some metrics on devrant, maybe a punchcard graph for rants per minute? think it would be kind of cool to see how rapidly the community is growing2
-
So they asked if we want a wallboard or not and we answered with a NO. As you already guessed we still got a wall mounted LG TV with a small linux box.
So I started to tinker with the wallboard and created a horrible python -> HTML5/JS stuff which crawls the data worth to show and creates static pages with html5 canvas for graphs.
Later I found atlasboard which is a discontinuated dashboard from Atlassian so started to learn nodejs and rebuilt and added new widgets to show our smoketests, our mssql server metrics from zabbix, our sprint from Jira and some other servers' status.
Then I created the essential metrics again but in Vice C64 emu, I collected and exported the data in python created a PETSCII compatible .prg file and the **** Dasboard 64 **** loaded and created graphs in the emu every minutes.
That was awesome! BASIC V2 is slow as hell but still awesome.3 -
2014
I did some cool projects with node JS.
We had this project where we had several embedded sensor box components communicating via a node js server backend with some fancy visualization.
And one of the guys was a total idiot. His part was to write some embedded code for a sensor box. He also wrote some data receiver in C# which was a totally over patterned mess and nothing worked.
For some unknown reason this guy made me his arch nemesis. He also never liked the team. While the rest of the team actually was super cool.
So in the final presentation out of a sudden in his part of the presentation (He had a Mac and had his slides done in some nasty whatever incompatible format) he pulled out some slides with code metrics. The best part was where he compared the embedded C code with my js code in terms of cyclomatic complexity. I will never forget this moment. Some nice bar chart.
Good I loved that guy for this moment.
And that made my year! -
Any advice on how to deal with gatekeeping developers? How to deal with red tape?
I work with people that are resistant to code and process change. Continuous pedantic pushback on nearly anything; one raised a fuss over metrics not being satisfactory at a 5% threshold for alerting stating that 4.99% metrics variance wouldn't trigger an alert.
It's genuinely as though my coworkers are all scared of code based on the way they behave. They don't seem to code very often either.
I'm someone that codes quickly but I have to constantly write proposals for quite literally any change to the codebase. Even IF there were issues we could always rollback (and even then we have metrics, alerts, canary rollouts, feature flags, etc etc). As a quick aside, my pace isn't related to the pushback nor experience/skill level. Just affects my morale and mental heth to be blocked.
I can communicate effectively and I try to be as clear as possible in my proposals but this is absolutely driving me up the wall and killing my motivation.
This is a faang-level company and I would've expected better.
Any advice on how to best navigate this? Is this the norm???4 -
At what point do you say a junior dev is no longer a junior? What metrics do you use? Like scope of knowledge, impact on team / code decisions, years experience, management skills, etc.?
I feel I'm qualified as a mid level developer now despite only being a junior for a little over a year. I had tons of internships in college and was kind of placed in a role where growing fast was required.
I broke a sweat for most of that ~1 year I worked as a junior and my contributions to my project aren't insignificant
I don't say that to toot my own horn here, I really do want to ground myself in reality. But I don't know if my standards are too low or my organizations standards are too high. FWIW, other devs on my team have commented privately / informally that the junior title isn't super fitting.
I'm still pretty dependent on my boss but that's more for final say of things. He'll often have some input to my work but I'll also be involved with design discussion and take up a large chunk of work without question. On light sprints I'm knocking out 20+ taskhours of work, going closer to 30/40 when things pick up. Not uncommon to kill 10 user stories in a sprint.
I don't know, what do you guys think?8 -
Compromise.
I think that sums up development pretty much.
Take for example coding patterns: Most of them *could* be applied on a global scale (all products)… But that doesn't mean you *should* apply them. :-)
Find a matching **compromise** that makes specific sense for the product you develop.
Small example: SOLID / DRY are good practices. But breaking these principles by for example introducing redundant code could be a very wise design decision - an example would be if you know full ahead that the redundancy is needed for further changes ahead. Going full DRY only to add the redundancy later is time spent better elsewhere.
The principle of compromise applies to other things, too.
Take for example architecture design.
Instead of trying to enforce your whole vision of a product, focus on key areas that you really think must be done.
Don't waste your breath on small stuff - cause then you probably lack the strength for focusing on the important things.
Compromise - choose what is *truly* important and make sure that gets integrated vs trying to "get your will done".
Small example: It doesn't really matter if a function is called myDingDong or myDingDongWithBells - one is longer, other shorter. Refactoring tools make renaming a function an easy task. What matters is what this function does and that it does this efficiently and precise. Instead of discussing the *name* of the function, focus on what the function *does*.
If you've read so far and think this example is dumb: Nope... I've seen PR reports where people struggled for hours with lil shit while the elephant in the room like an N+1 problem / database query or other fundamental things completely drowned in the small shit discussion noise.
We had code design, we had architecture... Same goes for people, debugging, and everything else.
Just because you don't like what weird person A does, doesn't mean it's shit.
Compromise. You don't have to like them. Just tolerate them. Listen. Then try to process their feedback unbiased. Simple as that. Don't make discussions personal - and don't isolate yourself by just working with specific persons. Cause living in such a bubble means you miss out a lot of knowledge and insight… or in short: You suck because of your own choices. :-)
Debugging... Again compromise: instead of wasting hours on debugging a problem, ASK for help. A simple: Has anyone done debugging this before or has some input for how to debug this problem efficiently?... Can sometimes work wonders. Don't start debugging without looking into alternative solutions like telemetry, metrics, known problems etc.
It could be a viable, better long term solution to add metrics to a product than to debug for hours ... Compromise. Find a fitting approach to analyze a problem instead of just starting a brute force approach.
....
Et cetera et cetera. -
Half a day wasted. FUCK!
I use grafana loki and mimir/prometheus for telemetry. A few days ago I queried loki to see if logging is still working. Yesterday I changed the datasource to mimir, changed the query parameters to get metrics from another env, ran the query, and... Querier [mimir] crashed.
Wtf.
Error says it got too much data to chew on.
So I spend 4 hours playing with the querier and grpc limits, balancing between limit errors and OOMKills [2G ram].
I got suspicious about oomk. Why would it...
Then I tried to shrink the timeframe to 15min. Still oomk. Down to 5min -- now it worked. But the number of different metrics returned was over 1k
then I look once again at the query. And ofc it is ´{env="prod"}´
turns out, forgetting that you're querying metrics with a logs' query is an expensive and frustrating mistake. Esp. at 3am.
idk why it even returned me anything...7 -
Storytime.
Our prometheus node, one of your oldest systems (somehow fits the Titan reference..), is about to be relieved of its duties after several years of loyal services to the crew.
We decided to run with another Prometheus node in the ring, that will run simultaneously with the old one, so that the new one can start to collect metrics that we need for alerting (some historic metrics are needed too..). sort of an Prometheus cluster, without the cluster fun and with 2 different Prometheus versions.
The problems with this? Well it's not the new node or the latest shit versions of Prometheus per se.
1: The node exporter.
those dudes decided to make some breaking changes in a minor update, so that you will need to run with some magic bullshittery, that the latest Prometheus can make something out of the old metrics provided by the old node exporters.
The other one is the related puppet code.
The node definitions for Prometheus were built via exported resources on the target nodes.
The code worked like a charm with only one Prometheus node, but try that with two instances in the same way.
Still WIP, but some targets are already included in the new Prometheus instance.
alerting works so far.
Can't wait to close this ticket for good.. -
I walk by our devops dashboard several times per day. It keeps track of key metrics for all our live services. I noticed an interesting trend the last few weeks.
3 weeks ago: all metrics green
2 weeks ago: 1 metric red
1 week ago: 1 metric still red
this week: 1 metric still red but covered with a post it note -
Storytime.
The Prometheus tales
Part IV - A new FUBAR.
A new and very fascinating problem emerged a few days, after feeding some node definitions to the new titan instance.
It's a storage fuck-up. A major one.
If I'm informed correctly, the latest prometheus should have the same (or even better) log compression algorithms for metrics, as the old one - because these fuckers are so damn good at what they are doing: compress some fucking logs.
The new instance is agregating metrics as planned. Grafana work's like a fucking charm.
Nethertheless, because of very fascinating but unknown reasons, the new instance creates 50GB of metrics in under 4 fucking hours.
Am I missing something here? Some magic parameter that has to be passed to the titan, that enables the hardcore compress-them-fuckers-feature?
Debugging session is tomorrow.
To be continued. -
Nothing much to ready today, keep scrolling..
I just asked you to keep scrolling, I am using this space to think out loud...
Damn you bloody rebel.. whatever..
Finally after a rough week, festivals, interviews, work stress, and pending tasks, I got a free weekend for myself to be with myself.
I managed to do bare minimum at work. My new line manager isn't quite pleased with how team and I am functioning but whatever.
On Fridays, I usually end the day early and start with personal tasks. I managed to finish some long pending activities.
Today, I was able to do a deep cleaning of digital housekeeping. Sorted some clashes with parents. manage to de-stress and relax my stiff neck muscles.
Apart from that I guess, I am all prepared to interview and get hired for a company on foreign land. I am confident that I can relocate to EU.
And for now, I am actively pursuing two of my hobbies, Music and Finances. I love managing my finances and learning more about technical aspects of audio and listening to more and more music.
I feel happier, relaxed, and calm. Having things under control is such a wonderful feeling.
And I am slowly building a framework to earn, manage, invest, and grow my finances. It's turning out really well. I have setup the base infrastructure.
For music, I have figured the fundamentals and now I will go out buy myself an DAC/AMP to build a portable rig.
This shit is so awesome and makes me happy. I am able to socialise at the end of each day so that keeps me going during the lock-down phase.
I have figured the top key and important things to do at work for my profile and I actually enjoy those.
1. Product discovery - talking to users/customers and finding their pain areas and opportunities to build the solution
2. Product vision/strategy - Dreaming on how the product would evolve and laying out a solid plan to materialise those dreams.
3. Roadmap and prioritisation - this should be self explanatory
4. Success metrics - I really want to get into data and I am getting opportunities to do so. This is super fun. This will help me analyse and show the impact of the what we are building and measuring it while making sure that LT recognises my and my teams' efforts.
I want to and I will excel these 4 keys skills of my profile and be more efficient at my job.
This will give me more time to pursue my hobbies (which will change over time and want to enjoy them the most while I am at them).
Guys, after a rough 2021, the end of the year seems promising with a lot of leaves and short vacation coming up.
Apart from all this, what is more important here is that I got the career and life clarity that I was struggling with for past few months.
For whoever has read till here, YOU ARE BLOODY AWESOME and thank you from the bottom of my heart for being there for me always.
I am grateful to be a part of this community and have awesome friends like you all who have been with me though my ups and downs since 2016.
LOVE YOU ALL :)3 -
so i'm sitting here staring inwardly at the learning rate optimizer...
i think it works
but i find myself wanting to scream at the nuances of the method being hidden from me
I know its probably fairly simple.
i want to write my own.
i want to plot neat graphs that give me metrics at the learning results for each epoch showing how much closer the values are getting to the training data some neat spiral of values and lines and flashy too.
but i feel.
...welll
strangely lackluster and a tad paralyzed for some reason. partly because it feels like i've done this all before... sigh.
on the topic of things I already did.
https://en.wikipedia.org/wiki/...
can you believe they made this bullshit into A TV SHOW ? IN THIS WEIRD ASS HYPERSENSITIVE ENVIRONMENT ? THIS RAPE WEIRDOS WET DREAM ? 5 SEASONS AT LEAST.
GOD WHAT IS WRONG WITH THIS COUNTRY ? ITS EITHER ADULT MEN WATCHING RUGRATS OR THIS SHIT !2 -
Wanted to add alerting for systemd services in Prometheus today, which spontaneously turned out to be a huge pain in the lower human backend.
For some reason, on Ubuntu 16.04 systemd adds services without unit files for software, that isn't even installed on the damn server (in this case for mysql-server / mysql-common and mysql-client are installed) and lists them as "not-found" and "inactive". The prometheus node exporter that we use, has a little bug in the systemd collector that makes sure that the states of *all* services are collected - even those without a unit file.
so those metrics are pulled by prometheus and now I have to take with those faulty metrics in the condition logic of the alert, because I'm trying to trigger that one on a service which is listed with state "active" = 0 or "failed" = 1.
now guess. right! If the unit file doesn't exist, the regarded systemd service is marked as "inactive", which is another possible state of the metrics in the node exporter. the problem is that the value 1 for state "inactive" means, that "active" has the value 0 (not even wrong) and the alert is triggered.
so systemd fucks up somehow, the node exporter collector fucks up because systemd fucked up and I have to unfuck this with some crazy horse shit logic. w.t.f. to that.
the only good news is, that it works like a charm on Ubuntu 18.04, as far, as I can tell.
while writing this little rant, I thought of a solution.
I could try to change the alert condition to state "active" = 0 AND "failed" = 1.. but that will wait till tomorrow.
one does not simply patch monitoring conditions at midnight..3 -
Just a quick rant to express my distaste that the AWS ALB ingress controller for Kubernetes doesnt expose any useful metrics. I just wanna know the target response latency is that too much to ask?1
-
when you get a set of metrics from another dev, on a database you don't know, to add to a BI dash and the next week their manager changes the metrics (for consistency) and the other dev is unavailable.
-
Question for the frontend devs:
When you build the front end of the website, do you keep PageSpeed Insights or Lighthouse analytics in mind,
or is it more of a "I'll deal with that later" kinda deal?
Little backstory to this - Our management wants these analytics to be close to 100% and one of the metrics is Largest Contentful Paint which is 3.2 secs, and I have no idea what that is.12 -
Just discovered wizzy ... Wow, freaking sweet!
https://github.com/utkarshcmu/wizzy
I like it for many reasons, just started playing with it, therefore #1 reason so far is saving dashboards and having them in a git version control, yay!!!
Also, if you're not familiar with Grafana, let me blow your mind: http://grafana.org4 -
* Canonical Data Models for Metrics and Reporting
* ETL, Table, and API designs to blend Legacy data into Cloud data via said Canonical Models
* Teaching n-Tier and Domain Driven Development models
Welcome to the Office of the CIO. -
The feeling when eventual consistency is unacceptable for your use case and you suggest making a call synchronous only to be told it can't be synchronous and the clients need to introduce an arbitrary wait time.
Apparently our latency metrics are more important than being correct.2 -
Honest question. When do you consider yourself a "Big data engineer"?
Today I managed to create a system that collects historical metrics from monitoring tools every 5 minutes and do all sorts of crazy transformations to make them ingestible by grafana Mimir in OTLP protocol. Doing 600gb a dat, millions of active time series, .... And I still feel it's, "small"
Thoughts?5 -
What do you use for performance monitoring on your infrastructure?
My company uses zabbix, OpenNMS and Nagios to monitor different parts of our infrastructure (from shared web hosting to OCCAS to IPTV to FutureVoice to Atlassian servers) but has no real-time performance checks.
I’ve set netdata master with prometheus backlog and grafana dashboards to monitor different metrics, however I am not sure whether any better approach could be done. Any suggestions?2 -
Most of the product managers seem to explicitly mention user metrics with unique. Say # of unique users for the day, # of users ordered and so on. While being explicit is good, I'm wondering is there any metric that doesn't require unique counts?1
-
One of the things that gives me a lot of satisfaction is doing integrations. One customer has a good architecture, and they chose to put their metrics database with billions of records in Apache Cassandra. Which is pretty cool! A business consultancy that is helping them grow a lot, has implemented PowerBI and the dashboards are really good, but the most important reports will be based on this gigantic Cassandra database. We just delivered a quick integration using Apache Spark. Small project, fast delivery and everyone happy. Is so good. Mission accomplished feeling.1
-
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 -
so here's a rant/question
So I'm having an issue with vertical-metrics in a font I'm using which results in mac aligning it in the middle and windows aligning it at the bottom. I tried re-converting it for webfont (fixing vertical metrics in fontsquirrel) but not luck so far,
any ideas?
PS vertical-align don't work either3 -
How is it that years of development are not enough for NewRelic to add native support of mssql metrics in their unholy newrelic nodejs agent.????!?!?11!
On the other hand "important" databases like PostgreSQL are having native support.
Excuse me... WTF!!!!2 -
I just want to test my PHP code using phpunit on GitLab, what am I doing wrong?
image: php:latest
before_script:
# Install & enable Xdebug for code coverage reports
- pecl install xdebug
- docker-php-ext-enable xdebug
# Run our tests
# If Xdebug was installed you can generate a coverage report and see code coverage metrics.
test:
script:
- phpunit Test.php4 -
I've been studying a bit about business analytics and intelligence to diversify a bit from dev.
After a lot of looking around I've found it's all just glorified jargon which basically enables your decision to have backing of facts and logic. It sounds as if it's a great coverup tool but don't know if it actually helped decision-making.
Why does researching the market/competition need to have a thousand breakdowns/categories/focus areas.
I feel like an interpretation of business analytics is a very simple and intuitive solution but there is just too much random and wasteful metrics attached to it.
I believe it's just my nascent knowledge and experience speaking, but I never felt the same way about software development, financials, etc2 -
Say I wanted to characterize motion in a video and derive a frequency of that motion, and the extents of the motion?
For instance: walking, jumping, running, punching, dancing, etc. The view might vary and be further away or closer to where it is harder to make out features.
I am assuming I would use some sort of AI to identify objects and perhaps bone structure. Then compare against a model to determine motion type, and then attributes. I have seen cameras get bone structure, but I think it required 2 views. Such as the cheap motion capture systems.
Could this be done in real time of video playing? Or would this need to preprocess and use the info created during playback of the media?
I really don't know much about AI models. I have been curious about how it can be used with video.3 -
Any good recommendations on how to gather user metrics/instrumentation and visualize data?
The program is a WPF application with not internet connection so logging to file and get file is probably the only solution.
I've played a little with Serilog to file and trying to import the log into elastic search and visualize data with Kibana. -
In the ever-evolving landscape of business operations, efficiency stands as a cornerstone for success. However, traditional reporting methods often entail a cumbersome and time-consuming process that drains resources and stifles productivity. Enter company dashboards https://cobit-solutions.com/en/ – the dynamic solution revolutionizing the way organizations monitor and analyze data, effectively replacing tedious reporting practices with streamlined, real-time insights.
Gone are the days of painstakingly compiling data from disparate sources, only to present it in static, outdated reports. Company dashboards offer a comprehensive and interactive approach to data visualization, empowering stakeholders to access critical information at their fingertips. Whether it's sales figures, marketing metrics, or financial performance, these dashboards provide a centralized hub where data is aggregated, analyzed, and presented in a user-friendly format.
One of the key advantages of company dashboards is their ability to automate reporting processes, significantly reducing the time and effort required for manual data collection and analysis. With customizable features and intuitive design, users can effortlessly generate reports tailored to their specific needs, eliminating the need for repetitive tasks and allowing teams to focus on strategic initiatives.
Moreover, company dashboards promote transparency and collaboration within organizations by facilitating data sharing and cross-departmental communication. By granting stakeholders access to real-time insights, decision-making becomes more informed and agile, enabling swift responses to changing market dynamics and emerging opportunities.
Another noteworthy benefit of company dashboards is their scalability and adaptability to evolving business needs. Whether a startup or a multinational corporation, organizations can customize dashboards to align with their unique goals and objectives, ensuring relevance and effectiveness across different departments and functions.
Furthermore, the adoption of company dashboards fosters a data-driven culture within organizations, where decisions are driven by empirical evidence rather than intuition. By democratizing access to data and empowering employees at all levels to leverage insights, companies can foster innovation, drive performance, and gain a competitive edge in today's fast-paced business environment.
In conclusion, company dashboards represent a paradigm shift in how organizations approach reporting and data analysis. By replacing tedious and time-consuming processes with dynamic, real-time insights, these tools enable businesses to operate more efficiently, make better-informed decisions, and ultimately achieve their strategic objectives. As technology continues to advance and data becomes increasingly abundant, the role of company dashboards will only become more integral in driving success in the digital age.3