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 - "users"
-
User: *Clicks on staging environment*
Giant Warning Dialog: YOU ARE CURRENTLY ENTERING THE STAGING ENVIRONMENT
Users: Ok
App: *Completely different colour, I’m talking bright unsightly yellow*
User: Ok
Giant Yellow and Red Flashing Banner at the Top of the Screen: WARNING YOU ARE CURRENTLY USING STAGING, THIS AREA IS FOR TESTING ONLY
User: The production environment sure is acting strange today. It’s a weird colour and I don’t recognize any of the data, it’s all just dummy filler data. I better create a ticket for the dev team to check o—….. no wait I’ll send an email CC everyone including the CEO and sound the alarm production is currently down and filled with giant warning messages.
Manager: OH MY GOD PRODUCTION IS DOWN DID YOU HEAR ABOUT THIS??? WHAT THE FUCK COULD THESE WARNING MESSAGES BE THAT’S ONLY SUPPOSED TO HAPPEN ON STAGING! THE CEO IS BREATHING DOWN MY NECK YOU NEED TO GET THIS FIXED IMMEDIATELY!!!!!!!
Dev: …14 -
Be more passive
I always get involved in everything, at every company. Not to further my career through ass-kissing and overperforming.
I regularly piss off people. When C-level has a discussion about strategy, I'm usually ahead of them, ask too many questions, criticize every detail they've missed, cause frustration by making them look incompetent.
Can't help it, when I see retards destroy a great product I have to intervene.
Some people appreciate it. I often defend both devs and end users, when others don't dare speak up.
But fuck it, I'm getting older. I'm gonna coast a bit more. Sit back, relax.
If a product manager doesn't prepare enough tasks — that's cool, I still have a Factorio savegame to work on.
If another team designs an incredibly stupid feature — they'll discover the issues eventually by themselves. Maybe I'll warn once, just to be nice.
*Pours another chocolate milk*
Also gonna spend at least 4h/d with my daughter. She's a better human than most of my coworkers, and the work we do using her Legos is honestly more important for humanity than the Jira backlog.20 -
Interviewer: So are you familiar with our company and what we do?
Dev: I looked at your website, looks like you build tools for managing restaurants.
Interviewer: No. That’s not even close.
Dev: ?
Interviewer: What we do is create an ecosystem of integrated data centres all orchestrated for immediate stakeholder utilization.
Dev: But the product itself…. it’s a user interface for tracking inventory. Of like…. burgers…. and bottles of wine.
Interviewer: It’s not a product! It’s a data……habitat!!
Dev: …
Dev: So does that make your users animals?
Interviewer: 😡. Unfortunately it looks like you do not see our vision and would not be a good fit for this role.
Dev: Agreed.28 -
I’m surrounded by idiots.
I’m continually reminded of that fact, but today I found something that really drives that point home.
Gather ‘round, everybody, it’s story time!
While working on a slow query ticket, I perused the code, finding several causes, and decided to run git blame on the files to see what dummy authored the mental diarrhea currently befouling my screen. As it turns out, the entire feature was written by mister legendary Apple golden boy “Finder’s Keeper” dev himself.
To give you the full scope of this mess, let me start at the frontend and work my way backward.
He wrote a javascript method that tracks whatever row was/is under the mouse in a table and dynamically removes/adds a “.row_selected” class on it. At least the js uses events (jQuery…) instead of a `setTimeout()` so it could be worse. But still, has he never heard of :hover? The function literally does nothing else, and the `selectedRow` var he stores the element reference in isn’t used elsewhere.
This function allows the user to better see the rows in the API Calls table, for which there is a also search feature — the very thing I’m tasked with fixing.
It’s worth noting that above the search feature are two inputs for a date range, with some helpful links like “last week” and “last month” … and “All”. It’s also worth noting that this table is for displaying search results of all the API requests and their responses for a given merchant… this table is enormous.
This search field for this table queries the backend on every character the user types. There’s no debouncing, no submit event, etc., so it triggers on every keystroke. The actual request runs through a layer of abstraction to parse out and log the user-entered date range, figure out where the request came from, and to map out some column names or add additional ones. It also does some hard to follow (and amazingly not injectable) orm condition building. It’s a mess of functional ugly.
The important columns in the table this query ultimately searches are not indexed, despite it only looking for “create_order” records — the largest of twenty-some types in the table. It also uses partial text matching (again: on. every. single. keystroke.) across two varchar(255)s that only ever hold <16 chars — and of which users only ever care about one at a time. After all of this, it filters the results based on some uncommented regexes, and worst of all: instead of fetching only one page’s worth of results like you’d expect, it fetches all of them at once and then discards what isn’t included by the paginator. So not only is this a guaranteed full table scan with partial text matching for every query (over millions to hundreds of millions of records), it’s that same full table scan for every single keystroke while the user types, and all but 25 records (user-selectable) get discarded — and then requeried when the user looks at the next page of results.
What the bloody fucking hell? I’d swear this idiot is an intern, but his code does (amazingly) actually work.
No wonder this search field nearly crashed one of the servers when someone actually tried using it.
Asdfajsdfk.rant fucking moron even when taking down the server hey bob pass me all the paperclips mysql murder terrible code slow query idiot can do no wrong but he’s the golden boy idiots repeatedly murdered mysql in the face21 -
Data scientist: we need to whitelist a pod to connect to a database
Me: Whitelist? We don't use whitelists on private databases
DS: It's the new data warehouse database
Me: is it on <X> VPC?
DS: I'm not sure what that means but its ip is <real world ipv4>
Me: Are you hosting a publicly accessible database with all our end users information?!
DS: ...
Me: There goes our SOC2 audit controls...
DS: how long until you can white list it?
Me: I won't be whitelisting it. You need to put it on a private VPC and peer with the cluster, you'll have to rebuild all the Terraform and redeploy
DS: We didn't use Terraform because it takes too long, just white list the pods IP.
Me: No. I'm contacting the CISO and CTO...20 -
*PM on drugs*
PM: The destination list on our Infinity Rider app is not updating even after the user changes their pickup location.
Me: ???
PM: Infinity App not updating after pick up point change.
Me: Not really sure what you mean... Can I get a screen record?
PM: {{sends screen record}}
PM: You see it's showing results of old search. Not good!!!
Me: {{Watch media half way through and saw the obvious}}
Me: Results on available destination are relative to the user's current location and not the pickup address.
PM: Why would that be? Not good enough!
Me: You actually requested that implementation after I had previously made the destination recommendation list relative to selected pickup address.
PM: Please revert immediately!!!
Me: Hmmm... You told me the reason why that implementation was needed was to prevent users from selecting interstate addresses because they could.
PM: Ooh true. You can leave as is.
PM: {{proceeds to delete all older messages but last}}
Me: (⊙_⊙)
{{ 4 hours later }}
PM: I think we need to look into this implementation a second time.5 -
Oh boy, the startup managers are writing a roadmap today. Can't wait.
5 mIlLiOn DaIlY aCtIvE uSeRs By EnD oF Q1! (2022!!!)
1 MiLlIoN dAiLy ReVeNuE bY tOmOrRoW!
zErO bUgS aNd KnOwN iSsUeS iN sYsTeM bY 5Pm ToDaY!
tHoUsAnDs Of NeW cUsToMeRs WiThIn ThE nExT hOuR!6 -
Literally all they see is design.
Users can't make or receive payments across the entire app? Ah, who cares! Much more important is the color and fading animation on that button!!!!
Absolute clowns, I swear.
🤡4 -
Yesterday,
I was a bit drunk.
But I wanted to improve security of the company. So, I went in Azure and activated “Security defaults” which forces MFA for all users in the company. (Because RH always forget to enable MFA for new employees, and I actually care about security)
Then I went in office 365 management and instead of resetting MFA for all users (Forcing everyone to redo MFA setup), I (by mistake) clicked on reset all passwords.
I tested my own account it was fine and went to sleep.
Got a call from CEO at 7am, all 30 employees cannot login in, cannot work.
What a shit show I made…
I have a call with CEO in about 2 hours, I don’t even know how to justify myself…
So children: don’t activate company wide options while drunk. Ever.23 -
Company: We were able to save a couple of dollars by purchasing an entire fleet of ipads instead of iphones through our supplier!
Dev: Our users walk around an industrial facility carrying things all day, how will they carry these devices now that they no longer fit in their pockets.
Company: We can get them backpacks!
Dev: …
Dev: did you at least buy protective cases for them?
Company: We have to save money! Don’t worry we told the users not to drop them. Plus none of the old iphones were ever broken so this is a non-issue.
Dev: The iPhones are in cases, they drop them quite a bit.
Company: Oh, well they shouldn’t be doing that!
** They proceeded to buy the cheapest knockoff cases I’ve ever seen. At least one ipad is smashed a week now, backpacks aren’t used because of lack on convenience. All this in the name of seeming to shave off a couple bucks for a one time purchase that didn’t even need to be made, iphones were working perfectly fine. Meanwhile there are glaring issues at the company getting ignored because they get themselves continually distracted by unhelpful pet projects that address things that are not broken and often make them worse.8 -
The worst part about being a web developer is when clients ruin a perfectly good website by asking for dumb things, even though you told them it's either:
a) near impossible
b) not useful/helpful to users
c) deprecated/no longer used code/techniques
e) will harm performance and SEO
d) just plain stupid8 -
What an absolute fucking disaster of a day. Strap in, folks; it's time for a bumpy ride!
I got a whole hour of work done today. The first hour of my morning because I went to work a bit early. Then people started complaining about Jenkins jobs failing on that one Jenkins server our team has been wanting to decom for two years but management won't let us force people to move to new servers. It's a single server with over four thousand projects, some of which run massive data processing jobs that last DAYS. The server was originally set up by people who have since quit, of course, and left it behind for my team to adopt with zero documentation.
Anyway, the 500GB disk is 100% full. The memory (all 64GB of it) is fully consumed by stuck jobs. We can't track down large old files to delete because du chokes on the workspace folder with thousands of subfolders with no Ram to spare. We decide to basically take a hacksaw to it, deleting the workspace for every job not currently in progress. This of course fucked up some really poorly-designed pipelines that relied on workspaces persisting between jobs, so we had to deal with complaints about that as well.
So we get the Jenkins server up and running again just in time for AWS to have a major incident affecting EC2 instance provisioning in our primary region. People keep bugging me to fix it, I keep telling them that it's Amazon's problem to solve, they wait a few minutes and ask me to fix it again. Emails flying back and forth until that was done.
Lunch time already. But the fun isn't over yet!
I get back to my desk to find out that new hires or people who got new Mac laptops recently can't even install our toolchain, because management has started handing out M1 Macs without telling us and all our tools are compiled solely for x86_64. That took some troubleshooting to even figure out what the problem was because the only error people got from homebrew was that the formula was empty when it clearly wasn't.
After figuring out that problem (but not fully solving it yet), one team starts complaining to us about a Github problem because we manage the github org. Except it's not a github problem and I already knew this because they are a Problem Team that uses some technical authoring software with Git integration but they only have even the barest understanding of what Git actually does. Turns out it's a Git problem. An update for Git was pushed out recently that patches a big bad vulnerability and the way it was patched causes problems because they're using Git wrong (multiple users accessing the same local repo on a samba share). It's a huge vulnerability so my entire conversation with them went sort of like:
"Please don't."
"We have to."
"Fine, here's a workaround, this will allow arbitrary code execution by anyone with physical or virtual access to this computer that you have sitting in an unlocked office somewhere."
"How do I run a Git command I don't use Git."
So that dealt with, I start taking a look at our toolchain, trying to figure out if I can easily just cross-compile it to arm64 for the M1 macbooks or if it will be a more involved fix. And I find all kinds of horrendous shit left behind by the people who wrote the tools that, naturally, they left for us to adopt when they quit over a year ago. I'm talking entire functions in a tool used by hundreds of people that were put in as a joke, poorly documented functions I am still trying to puzzle out, and exactly zero comments in the code and abbreviated function names like "gars", "snh", and "jgajawwawstai".
While I'm looking into that, the person from our team who is responsible for incident communication finally gets the AWS EC2 provisioning issue reported to IT Operations, who sent out an alert to affected users that should have gone out hours earlier.
Meanwhile, according to the health dashboard in AWS, the issue had already been resolved three hours before the communication went out and the ticket remains open at this moment, as far as I know.5 -
I'm fixing a security exploit, and it's a goddamn mountain of fuckups.
First, some idiot (read: the legendary dev himself) decided to use a gem to do some basic fucking searching instead of writing a simple fucking query.
Second, security ... didn't just drop the ball, they shit on it and flushed it down the toilet. The gem in question allows users to search by FUCKING EVERYTHING on EVERY FUCKING TABLE IN THE DB using really nice tools, actually, that let you do fancy things like traverse all the internal associations to find the users table, then list all users whose password reset hashes begin with "a" then "ab" then "abc" ... Want to steal an account? Hell, want to automate stealing all accounts? Only takes a few hundred requests apiece! Oooh, there's CC data, too, and its encryption keys!
Third, the gem does actually allow whitelisting associations, methods, etc. but ... well, the documentation actually recommends against it for whatever fucking reason, and that whitelisting is about as fine-grained as a club. You wanna restrict it to accessing the "name" column, but it needs to access both the "site" and "user" tables? Cool, users can now access site.name AND user.name... which is PII and totally leads to hefty fines. Thanks!
Fourth. If the gem can't access something thanks to the whitelist, it doesn't catch the exception and give you a useful error message or anything, no way. It just throws NoMethodErrors because fuck you. Good luck figuring out what they mean, especially if you have no idea you're even using the fucking thing.
Fifth. Thanks to the follower mentality prevalent in this hellhole, this shit is now used in a lot of places (and all indirectly!) so there's no searching for uses. Once I banhammer everything... well, loads of shit is going to break, and I won't have a fucking clue where because very few of these brainless sheep write decent test coverage (or even fucking write view tests), so I'll be doing tons of manual fucking testing. Oh, and I only have a week to finish everything, because fucking of course.
So, in summary. The stupid and lazy (and legendary!) dev fucked up. The stupid gem's author fucked up, and kept fucking up. The stupid devs followed the first fuckup's lead and repeated his fuck up, and fucked up on their own some more. It's fuckups all the fucking way down.rant security exploit root swears a lot actually root swears oh my stupid fucking people what the fuck fucking stupid fucking people19 -
Today I saw a code written by my junior. Basically excel export. The laravel excel package provide great ways for optimization.
My junior instead did 6 times loop to modify the data before giving that data to the export package. We need to export around 50K users.
When I asking him why this ? He said it works and it's fast so what the issue ???
Noob , you have only 100 users in the database and production has 10 million.
Sometime I just want to kill him.15 -
I gave you one instruction: don't share your password. We control the server, we can have as many users as we want. Opsec is hard when the users are stupid.2
-
God damn fucking Windows bullshit.
Why is the fuck does Microsoft HATE its users?
Latest updates, and no fuck Windows 11, completely BREAKS all of my WSL environments.
Home directories are gone, or the environments are corrupt and won't even run.
99% of the issues these dense shit-fucks cause are because they RaNdOmLy reboot for their dumbass updates instead of scheduling them with the end user. During these rebots, do you thing they wait for everything to shut down?
HELL NO!
They just shut that shit down like they fucking own it. Editors? Gone. Browsers? Gone. WSL Consoles? Gone. Docker containers? Gone. IEdge? Hey, we have great news, we made IE your default browser again! BTW, your upgrade to Windows 11 is free until we force you to upgrade!
I'm so fed up with it.....so fucking tired of it...
The only reason why I even use WSL these days is to ssh into my Linux devices or run some quick dev tests in containers. Why not use PuTTY for SSH? Because it fucking SUCKS that's why.
I'm feeling so many emotions right now over bullshit that shouldn't even be happening. I'm literally at the point that I'm just going to install Linux on this device and just create a Windows VM on one of my hosts so I can still do "work" things that involve leadership.19 -
Story of a penguin fledgling, one of my end users whom I migrated from Win 7 to Linux Mint. She had been on Windows since Win 98 and still uses Windows at work.
Three months before. Me, Linux might not be as good, but Win 10 is even worse. User, mh.
Migration. User, looks different, but not bad.
One month later. User, it's nice, I like it.
Three months later. User, why does Windows reboot doing lengthy stuff?
Six months later. User, I hate Windows. Why is everyone using this crap?
One year later. Malware issues at work. User to IT staff, that wouldn't have happened with Linux. Me, that's the spirit!31 -
Hi everyone, long time no see.
Today I want to tell you a story about Linux, and its acceptance on the desktop.
Long ago I found myself a girlfriend, a wonderful woman who is an engineer too but who couldn't be further from CS. For those in the know, she absolutely despises architects. She doesn't know the size units of computers, i.e. the multiples of the byte. Breaks cables on the regular, and so on. For all intents and purposes, she's a user. She has written some code for a college project before, but she is by no means a developer.
She has seen me using Linux quite passionately for the last year or so, and a few weeks ago she got so fed up with how Windows refused to work on both her computers (on one of them literally failing to run exe's, go figure), that she allowed me to reinstall both systems, with one of them being dualbooted Windows 10 + Linux.
The computer that runs Linux is not one she uses very often, but for gaming (The Sims) it's her platform to go. On it I installed Debian KDE, for the following reasons:
- It had to be stable as I didn't want another box to maintain.
- It had to be pretty OOTB, as first impressions are crucial.
- It had to be easy to use, given her skill level.
- It had to have a GUI abstraction to apt, the KDE team built Discover which looks gorgeous.
She had the following things to say about Linux, when she went to download The Sims from a torrent (I installed qBittorrent for her iirc).
"Linux is better, there's no need to download anything"
"Still figuring things out, but I'm liking it"
"I'm scared of using Windows again, it's so laggy"
"Linux works fine, I'm becoming a Linux user"
Which you can imagine, it filled me with pride. We've done it boys. We've built a superior system that even regular users can use, if the system is set up to be user-friendly.
There are a few gripes I still have, and pitfalls I want to address. There's still too many options, users can drown in the sheer amount of distro's to choose from. For us that's extremely important but they need to have a guide there. However, don't do remote administration for them! That's even worse than Microsoft's tracking! Whenever you install Linux on someone else's computer, don't be all about efficiency, they are coming from Windows and just want it to be easy to use. I use Mate myself, but it is not the thing I would recommend to others. In other words, put your own preferences aside in favor of objective usability. You're trying to sell people on a product, not to impose your own point of view. Dualboot with Windows is fine, gaming still sucks on Linux for the most part. Lots of people don't have their games on Steam. CAD software and such is still nonexistent (OpenSCAD is very interesting but don't tell me it's user-friendly). People are familiar with Windows. If you were to be swimming for the first time in the deep water, would you go without aids? I don't think so.
So, Linux can be shown and be actually usable by regular people. Just pitch it in the right way.11 -
A brief, and biased opinion of what love is in the dev world:
Love is my employees bringing me something to eat when they know I stay back so that they can all go out do whatever they can do.
Love is my CMS admin getting his ass up and walking all the way to my office when the director walks in to say some STUPID FUCKING SHIT to me that he(CMS Admin) knows would have me 2 fucking seconds away from getting out of my chair and drop kicking the fuck out of him.
Love is the rest of my employees getting up to follow along in case(certainly) one dude is not able to hold me down.
Love is them knowing that I know that their mere presence there will make me chill the fuck out and not choke the fucking director
Love is the CMS Admin proof reading every email I send to a bitch that was trying to get smart, to make sure that I was not being agressive.
Love is said CMS Admin bringing me coffee or a coke congratulating me on listening to him about X email not being aggressive (there is no passive in my vocabulary, just balls out "isn't this your fucking job" aggressive)
Love is my lead developer showing to work after medical treatment fucked up as all hell because he knows that if he is not there I will do a billion things myself in order to give him some rest.
Love is taking my CMS admin and lead dev out to eat when a major stakeholder shits on something I damn well know it took them a while to finish. Love is also letting me open up to said stakeholder to tell them how much of a fucktard they are, sometimes they let me loose, and I appreciate that.
Love is every small person in the company approaching you to tell you of their issues, becuase they care more about the productivity they give to their users, rather than the bullshit numbers their managers care about.
Love is the staff of other places taking care of you because you are not a VP dickhead that treats them like shit.
Love is the HR reps sending you personal e-mails asking you for help because their shitbag of a boss does not count for help and leaves them in the blank with shit software, for which said HR go above and beyond for you later on even though said shitbag manager said no.
Love is your team getting angry and responding respectfully at people when they talk shit about their manager on their emails (manager being me)
Love is your employees closing your door for you when they know you are overwhelmed and you need a quick second to pull yourself up.
Love is not wanting to leave this miserable place because you know some dickweed will be left in charge of the people that care for you, trust you, work for you regardless of the date, and confide in you.
They got me locked in, this shitty institution, for now. Until I find a way to bring my entire team with me.8 -
Got a complaint from users of my project. It’s finally happened: people give a shit to tell me I’m doing a bad job. Let’s fucking gooooo3
-
Boss: Our app is to memory consuming and heavy weighted. We to do something because we will have hunsdrets of thousands of users.
Dev: Yes, there are a lot of legacy parts which leave plenty of space for optimization. Every query have to be carefully analyzed. Some can be avoided at all.
Boss: We pay externals to do some clustering with our app.5 -
Useless feature I've built?
Too many to mention. Here's #25.
Modified an existing "Are you sure..?" dialog pop-up (Yes/No buttons) to Yes/No/Cancel. Why? Managers claimed users were "accidentally" clicking 'Yes' when they should have clicked 'No' and causing all kinds of chaos, costing the company money, etc. Managers believed giving the user two chances instead of one would make it easier to avoid the problems they caused.
The meeting:
Me: "Users can click 'No', hit the 'Esc' key, or click the close 'X' button on the window, how will an extra button make it more foolproof?"
Mgr1: "It just will. Andy accidentally deleted inventory and when I asked him if an extra button would have saved them a days worth of re-counts, he said yes."
Mgr2: "Barb accidentally credited a customer $1,500. She promised me she clicked 'No', but the system credited the account anyway. An extra button would have saved us thousands of dollars!"
Me: "Um...these sound like training issues, not an extra button issue."
MyMgr: "PaperTrail, how hard is it to add an extra button?"
Dev1: "Oh yea, adding buttons is easy."
Dev2: "I can do it 5 minutes"
Dev3: "We'll save the company thousands and thousands of dollars!"
<lots of head-knodding and smiles>
MyMgr: "That settles it. PaperTrail, add the extra button!"
Users still screwed things up, but at least they couldn't blame it on not having an extra button.24 -
A conversation that me and my boss had this week:
Boss: "Hey, why is this not progressing"
Arcsector: - "We're waiting on system users to move their destinations"
"We need the system in the database in order to move it"
- "Okay awesome - let's move it, oh wait, I can't do it because I don't have access, here's the stuff that needs to be done: a, b, and c"
"Oh I'm actually not able to help with that"
- "So then how are we supposed to get it done?"
"idk but also this other issue is something missions are complaining about"
- "oh I already am talking to them about it and it should be remedied by the team creating the problem because it's a false positive"
"Well we need to solve it still"
- "We would've solved it already but it has dependencies with other projects that we're still working on because we don't have enough people"
"We cant get you more people because we don't have the budget"
- "Then this stuff will have to wait"
"Get it done"
ACTUALLY SCREAMING! Why cant people understand that there are conesequences for their actions??!!1 -
I am mentally burned out from web development.
Physically I'm fine, but it's getting more difficult each day to open my laptop and write code, documentation or do code reviews.
Web development just seems so meaningless, where my day to day job has me trudging through one web form after another. I'm sick of implementing business logic on the backend and tired of listening to the product owner bitch about users who are demanding.
My productivity has fallen to the level where I'm feeling guilty for spending my time on nothing!
Don't give me advice, I know I need a change of scenery.
I just need to find the motivation to work on another hiring test which has nothing to do with the actual job.8 -
At my first big boy job at a start up with only 50 users, we noticed we had cloud cost spikes about 20x larger than we were expecting. I remember spending all night debugging it, checking the requests as they go through.
The culprit? Someone left an async on a UseEffect with a variable that was regularly updated as a parameter.
In other words: every time a request was fired, the variable would change… so the function would sense the variable changed and fire it again, and so on.
Felt like a total hero. -
a small local social network i made around 2008 as a replacement for the original which the owner closed down.
i missed the people from there, so it motivated me to make a replacement in a week, while learning html+php+mysql+js.
it worked for about 3 years and i redid it from scratch 3 times as i gradually learned more.
it was cool to be basically a host of a community i've come to like in the years before, and it was basically the only project i felt, really felt, had meaning, a point. people were grateful that i made a replacement for the original closed-down site, and i was grateful that they were using it and that i could keep talking to all of them on it.
at the height of its popularity it had about 1500 registered accounts, 150 daily logged in ones, and about 30-40 very active ones.
it was also the place where i went to implement all the cool stuff i learned and came up with.
it had a pretty cool questionnaire creator (originally just a test of how deppressed users are, but then i thought "why not let people make their own tests/questionnaires?"), which tracked people's results over time and showed them on a cool interactive flash-based chart.
also a whole forum system made from scratch, wysiwyg article editor, later seamlessly integrated admin controls for those who had privileges, like, not a separate admin ui, but the admin buttons right on the site, later even a realtime chat persistent across page reloads where you could put special links which, on click, would highlight site elements/buttons, or even complete step-by-step path to them if it was more clicks. would highlight the first step, after clicking would then highlight the second one, and so on...
it was pretty cool stuff for 2008, and afaik it basically landed me my first two full-time jobs with almost no actual job interview, basically just "we looked at the site, interesting stuff, tell us how you did x and y and z on it, okay, hired"
back then i kinda felt i have a bright future ahead of me =D1 -
*During a walk around to check on the users*
Dev: *Watching worker laboriously dragging pallet jack with one wobbly wheel and another wheel practically seized*
Dev: Hey that looks broken, can’t you swap it out in the maintenance building?
Worker: If you do that management will give you one that’s worse.
Dev: …This fucking company
** Worker later threw out his back, company’s corrective action was to send out notice reminding employees to stretch before doing physical tasks19 -
Stakeholder: In user profiles, I want users to be able to renew gift memberships for their giftee.
Me: ???
SH: For example, if I buy a gift membership for you and it expires or is about to expire, then I want to be able to renew it for you.
Me: Typically, gifts aren’t the gifter’s responsibility to manage. There’s no reason for you to be able to manage my membership from your account, even if just to renew. You’re opening up Pandora’s box here. If you let users renew for giftees, you’ll eventually have a user ask if they can cancel the giftee’s membership because they got into a fight and want to stick it to the giftee.
SH: But our users aren’t using the gift membership sales flow correctly. That results in all sorts of data issues for our reporting services and we spend so much time fixing it by hand.
Me: Your sales flow is confusing. The website asks users to verify membership for a giftee in case the giftee has or had a membership. How it the gifter supposed to know that? You’re trying to make things easier for you, but you’re expecting the user to know that and comply. That’s unrealistic.
SH: But there must be a something you can do.
Me: No.9 -
Client: Too many of our business processes take place on excel and paper! We need to modernize our business processes. Build an app that can do the main things we do with excel and paper in app form.
Dev (4 months later): Here it is
Client: Ok some of our users want to still use excel and paper so build the ability to print the app and export/import to excel so they can continue working the way they always have alongside our new app.
Dev: …6 -
In the Vietnam War, soldiers called M16A1 "Mattel 16" because of its plastic parts and it being notoriously unreliable.
Though, Eugene Stoner didn't design a bad weapon. M16A1 passed the test phase perfectly, but it was tested by experienced marine soldiers who knew what they were doing. Eugene and Armalite didn't realize that even though the weapon worked reliably for marines didn't mean it would still be reliable in the hands of inexperienced privates.
This is why you should always account for proficiency and experience of your users.8 -
My level of frustration with Microsoft is growing to a point that I'm unable to contain it.
They buy Github, it was a great tool for developers because is FUCKING WORKED! New features were never beta tested on users unless they requested it.
Why in the absolute fuck am I getting all these new experimental bullshit features that literally make it harder for me to do my god damned job?
They provide me NOTHING but grief and sleepless weekends while I fix the god damned pipeline that's worked perfectly fine for YEARS.
Your business model is bad and your products are SHIT.
Fuck you Microsoft, I cannot even stress it enough. If I had a time machine that could go back 5 years and my options were: Tell the world about Covid, make sure Trump never became president, or stop the Github purchse. I would hunt down and brutally attack the team of executives that decided to buy Microsoft.
Words cannot adequately describe how much I want Microsoft to fuck off. If the company was a person and they died in a house fire it wouldn't be enough.
I just want a VCS that does what it's supposed to do. I don't need pipelines, I don't need image repos, I don't need static code analysis.
I JUST NEED A FUCKING VCS THAT CONTROLS VERSIONS OF SOFTWARE YOU IGNORANT FUCKS.20 -
Last week in dR Hunger Games...
▶ https://youtu.be/Aj97BNLuhZI
Watch as 24 tributes from the number of devRant users beat each other in this violent simulation. Introducing the 2nd week of craziness, now in entertaining video form! 🤣51 -
Worst collaboration experience story?
I was not directly involved, it was a Delphi -> C# conversion of our customer returns application.
The dev manager was out to prove waterfall was the only development methodology that could make convert the monolith app to a lean, multi-tier, enterprise-worthy application.
Starting out with a team of 7 (3 devs, 2 dbas, team mgr, and the dev department mgr), they spent around 3 months designing, meetings, and more meetings. Armed with 50+ page specification Word document (not counting the countless Visio workflow diagrams and Microsoft Project timeline/ghantt charts), the team was ready to start coding.
The database design, workflow, and UI design (using Visio), was well done/thought out, but problems started on day one.
- Team mgr and Dev mgr split up the 3 devs, 1 dev wrote the database access library tier, 1 wrote the service tier, the other dev wrote the UI (I'll add this was the dev's first experience with WPF).
- Per the specification, all the layers wouldn't be integrated until all of them met the standards (unit tested, free from errors from VS's code analyzer, etc)
- By the time the devs where ready to code, the DBAs were already tasked with other projects, so the Returns app was prioritized to "when we get around to it"
Fast forward 6 months later, all the devs were 'done' coding, having very little/no communication with one another, then the integration. The service and database layers assumed different design patterns and different database relationships and the UI layer required functionality neither layers anticipated (ex. multi-users and the service maintaining some sort of state between them).
Those issues took about a month to work out, then the app began beta testing with real end users. App didn't make it 10 minutes before users gave up. Numerous UI logic errors, runtime errors, and overall app stability. Because the UI was so bad, the dev mgr brought in one of the web developers (she was pretty good at UI design). You might guess how useful someone is being dropped in on complex project , months after-the-fact and being told "Fix it!".
Couple of months of UI re-design and many other changes, the app was ready for beta testing.
In the mean time, the company hired a new customer service manager. When he saw the application, he rejected the app because he re-designed the entire returns process to be more efficient. The application UI was written to the exact step-by-step old returns process with little/no deviation.
With a tremendous amount of push-back (TL;DR), the dev mgr promised to change the app, but only after it was deployed into production (using "we can fix it later" excuse).
Still plagued with numerous bugs, the app was finally deployed. In attempts to save face, there was a company-wide party to celebrate the 'death' of the "old Delphi returns app" and the birth of the new. Cake, drinks, certificates of achievements for the devs, etc.
By the end of the project, the devs hated each other. Finger pointing, petty squabbles, out-right "FU!"s across the cube walls, etc. All the team members were re-assigned to other teams to separate them, leaving a single new hire to fix all the issues.5 -
My gym decided to adopt a fitness app so members could sign up for classes. Their onboarding was terrible (to be nice about it). I really hate when businesses don’t understand the technology they want to use.
Me: I downloaded the app, but all the classes say to call the gym.
Gym: Are you using the email that’s on file for your apartment?
Me: Yes, I am because I read the gym’s instructions for using the app.
Gym: …
Me: I think the issue is I had an existing account on the app before the gym decided to use the app for its business.
Gym: Then that’s the problem. Delete your account and sign up for a new one.
Me: WTF 🤬 I am not deleting an account that I’ve had FOR YEARS just because you can’t figure out technical issues with the vendor. How did it never occur to you that gym members might already have accounts for a fitness app that’s been around for years and used by other businesses? Besides, this app doesn’t let users delete accounts from the app so I don’t know where you’re coming from with telling me to delete my account. -
Smartphone and Android OS users in 2013:
“I wonder which features they will add this time!”
Smartphone and Android OS users in 2022:
“I wonder which features they will remove this time!”8 -
I do not like the direction laptop vendors are taking.
New laptops tend to feature fewer ports, making the user more dependent on adapters. Similarly to smartphones, this is a detrimental trend initiated by Apple and replicated by the rest of the pack.
As of 2022, many mid-range laptops feature just one USB-A port and one USB-C port, resembling Apple's toxic minimalism. In 2010, mid-class laptops commonly had three or four USB ports. I have even seen an MSi gaming laptop with six USB ports. Now, much of the edges is wasted "clean" space.
Sure, there are USB hubs, but those only work well with low-power devices. When attaching two external hard drives to transfer data between them, they might not be able to spin up due to insufficient power from the USB port or undervoltage caused by the impedance (resistance) of the USB cable between the laptop's USB port and hub. There are USB hubs which can be externally powered, but that means yet another wall adapter one has to carry.
Non-replaceable [shortest-lived component] mean difficult repairs and no more reserve batteries, as well as no extra-sized battery packs. When the battery expires, one might have to waste four hours on a repair shop for a replacement that would have taken a minute on a 2010 laptop.
The SD card slot is being replaced with inferior MicroSD or removed entirely. This is especially bad for photographers and videographers who would frequently plug memory cards into their laptop. SD cards are far more comfortable than MicroSD cards, and no, bulky external adapters that reserve the device's only USB port and protrude can not replace an integrated SD card slot.
Most mid-range laptops in the early 2010s also had a LAN port for immediate interference-free connection. That is now reserved for gaming-class / desknote laptops.
Obviously, components like RAM and storage are far more difficult to upgrade in more modern laptops, or not possible at all if soldered in.
Touch pads increasingly have the buttons underneath the touch surface rather than separate, meaning one has to be careful not to move the mouse while clicking. Otherwise, it could cause an unwanted drag-and-drop gesture. Some touch pads are smart enough to detect when a user intends to click, and lock the movement, but not all. A right-click drag-and-drop gesture might not be possible due to the finger on the button being registered as touch. Clicking with short tapping could be unreliable and sluggish. While one should have external peripherals anyway, one might not always have brought them with. The fallback input device is now even less comfortable.
Some laptop vendors include a sponge sheet that they want users to put between the keyboard and the screen before folding it, "to avoid damaging the screen", even though making it two millimetres thicker could do the same without relying on a sponge sheet. So they want me to carry that bulky thing everywhere around? How about no?
That's the irony. They wanted to make laptops lighter and slimmer, but that made them adapter- and sponge sheet-dependent, defeating the portability purpose.
Sure, the CPU performance has improved. Vendors proudly show off in their advertisements which generation of Intel Core they have this time. As if that is something users especially care about. Hoo-ray, generation 14 is now yet another 5% faster than the previous generation! But what is the benefit of that if I have to rely on annoying adapters to get the same work done that I could formerly do without those adapters?
Microsoft has also copied Apple in demanding internet connection before Windows 11 will set up. The setup screen says "You will need an Internet connection…" - no, technically I would not. What does technically stand in the way of Windows 11 setting up offline? After all, previous Windows versions like Windows 95 could do so 25 years earlier. But also far more recent versions. Thankfully, Linux distributions do not do that.
If "new" and "modern" mean more locked-in and less practical and difficult to repair, I would rather have "old" than "new".13 -
Twitter should be connected to a health tracking device so that users would only be able to reply to tweets as long as their pulse and blood pressure is still on a relaxed level. This could prevent dysfunctional "social" media "discussions" a lot.12
-
This rings true even if the customer is internal. Built a feature and provided documentation on how to use it and one of the end users still used it wrong.
It was a simple validation process too. Input the member ID then click validate, the app then checks if the person is in the system and fills in some other fields and does some other backend stuff. How could you get that wrong?! 🤔7 -
Wanna know why Windows sucks so much? It's because of the Windows users. No, really!
Windows user: But but but I can't switch away from Windows because MIMIMI!
Microsoft: Ah, is that so? Then why should we even try to make (and pay for) an effort?5 -
Consumers ruined software development and we the developers have little to no chance of changing it.
Recently I read a great blog post by someone called Nikita, the blog post talks mostly about the lack of efficiency and waste of resources modern software has and even tho I agree with the sentiment I don't agree with some things.
First of all the way the author compares software engineering to mechanical, civil and aeroespacial engineering is flawed, why? Because they all directly impact the average consumer more than laggy chrome.
Do you know why car engines have reached such high efficiency numbers? Gas prices keep increasing, why is building a skyscraper better, cheaper and safer than before? Consumers want cheaper and safer buildings, why are airplanes so carefully engineered? Consumers want safer and cheaper flights.
Wanna know what the average software consumer wants? Shiny "beautiful" software that is either dirt ship or free and does what it needs to. The difference between our end product is that average consumers DON'T see the end product, they just experience the light, intuitive experience we are demanded to provide! It's not for nothing that the stereotype of "wizard" still exists, for the average folk magic and electricity makes their devices function and we are to blame, we did our jobs TOO well!
Don't get me wrong, I am about to become a software engineer and efficient, elegant, quality code is the second best eye candy next to a 21yo LA model. BUT dirt cheap software doesn't mean quality software, software developed in a hurry is not quality software and that's what douchebag bosses and consumers demand! They want it cheap, they want it shiny and they wanted it yesterday!
Just look at where the actual effort is going, devs focus on delivering half baked solutions on time just to "harden" the software later and I don't blame them, complete, quality, efficient solutions take time and effort and that costs money, money companies and users don't want to invest most of the time. Who gets to worry about efficiency and ms speed gains? Big ass companies where every second counts because it directly affects their bottom line.
People don't give a shit and it sucks but they forfeit the right to complain the moment they start screaming about the buttons not glaring when hovered upon rather than the 60sec bootup, actual efforts to make quality software are made on people's own time or time critical projects.
You put up a nice example with the python tweet snippet, you have a python script that runs everyday and takes 1.6 seconds, what if I told you I'll pay you 50 cents for you to translate it to Rust and it takes you 6 hours or better what if you do it for free?
The answer to that sort of questions is given every day when "enganeers" across the lake claim to make you an Uber app for 100 bucks in 5 days, people just don't care, we do and that's why developers often end up with the fancy stuff and creating startups from the ground up, they put in the effort and they are compensated for it.
I agree things will get better, things are getting better and we are working to make programs and systems more efficient (specially in the Open Source community or high end Tech companies) but unless consumers and university teachers change their mindset not much can be done about the regular folk.
For now my mother doesn't care if her Android phone takes too much time to turn on as long as it runs Candy Crush just fine. On my part I'll keep programming the best I can, optimizing the best I can for my own projects and others because that's just how I roll, but if I'm hungry I won't hesitate to give you the performance you pay for.
Source:
http://tonsky.me/blog/...13 -
#fuckapple for holding back the open-web. Most folk don't know that Chrome on iOS is just Safari with a skin; neither Google or Apple want you to know that.
If you hate web-apps on iOS, that is Apple's intentional doing. Apple cannot allow a bug-free and modern browser to run on their iOS devices, else they lose their 30% tax + dev fees cut. There are literally so many crippling bugs in iOS Safari that it HAS to be intentional.
There are email exchanges between Phil Shaffer and Steve Jobs from years past, where Phil didn't believe Apple could continue to gouge users 30%. He argued the open-web would make native apps largely redundant, and so to stay competitive, they'd need to drop the store fees to something reasonable. I suppose Steve Jobs saw a different solution -- just impede browser development.
As someone who develops free and open-source apps, I believe I am doing the world a favour by not supporting a native iOS app. When users complain about missing features in the web-app version, I tell them to take it up with Apple or buy an Android. Guess what? They sometimes actually do just that.
Join me if you have the balls. Tell Apple to FUCK OFF the only way they understand -- threaten their bottom line. At the very least, you'll never need to touch XCode again if you do. If time is money, that alone will make you wealthy.10 -
I'm having an existential crisis with this client.
We are spending millions of $s every year to make sure the product's performance is perfect. We are testing various scenarios, fine-tuning PLABs: the environment, application, middleware, infra,... And then we provide our recommendations to the client: "To handle load of XX parallel users focusing on YY, yy and Zy APIs, use <THIS> configuration".
And what the client does?
- take our recommendations and measure the wind speed outside
- if speed is <20m/s and milk hasn't gone bad yet, add 2x more instances of API X
- otherwise add 3xX, 1xY and give more CPUs to Z
- split the setup in half and deploy in 2 completely separate load-balanced prod environments.
- <do other "tweaking">
- bomb our team with questions "why do we have slow RTs?", "why did the env crash?", "why do we have all those errors?", "why has this been overlooked in PLABs?!?"
If you're improvising despite our recommendations, wtf are we doing here???
One day I will crack. Hopefully, not sometime soon.3 -
Funfact:
The last 8 days 330 rants were posted.
And 1785 comments were posted.
And all this from 312 "unique" users.
"unique" because who knows how many "unique users" are from Jase.15 -
At a large enterprise-sized company, you are protecting the code and product from outside / bad actors constantly trying to break in. (🧠)
At a medium or small-sized company, you are protecting the code and product from clueless customers or users who can potentially break things for themselves. (🧠🧠)
At a sTaRtUp, you are protecting the code and product from being destroyed by the incompetent owners themselves. (🧠🧠🧠+)4 -
"There are only two industries that call their customers 'users': Illegal drugs and software. "
- Edward Tufte
How true is this?6 -
Fucking React Scripts, "yOu hAvE mUlTiPlE VErSiOnS oF bAbEL-JeSt, Use nPm Ls Jest To TrACk It Down"
Ok you dumb fucks:
npm ls babel-jest
react-typescript@1.0.0 /Users/chris/Downloads/8sleu4
└─┬ react-scripts@4.0.3
├── babel-jest@26.6.3
└─┬ jest-circus@26.6.0
└─┬ jest-runner@26.6.3
└─┬ jest-config@26.6.3
└── babel-jest@26.6.3
OH LOOK THEY ARE BOTH IDENTICALLY 26.6.3 STOP BUILDING AN OPINIONATED PILE OF GARBAGE IN YOUR COCONUT TREE FUCKED UP FALSE PARADISE YOU CALL SILICON VALLEY!!!!!!! I'VE NEVER SEEN SUCH A BUNCH OF GARBAGE!!!! I'D PREFER A TOOL WRITTEN BY KINDERGARTNERS IN CRAYON!!!!! AAAAAAAAAAAAAAAA
EVERY
SINGLE
TIME
REACT SCRIPTS
BREAKS2 -
Just let me be a programmer. Why do I have to learn yaml and deploy an app with 100 lines of code to a kubernetes cluster with literally 0 users?
Scale sucks.8 -
Ever dealt with people who don’t understand a damn thing they’re coding and just copy and paste stuff around and say that it works? It’s amazing how long people can skate by with only knowing 50% of how what they’re working on works.
We had some dumb know it all on our team who would regularly ship half-done stuff to production and then scramble to fix it after the users bitched about how it didn’t meet the requirements.
This stupid person changed an else to an if having no idea what any of the logic did in this section of code, didn’t adequately test it, and it somehow made it through code review because the better devs were out of office.
This bullshit goes to production, fucks up 200,000 records, and users start complaining about it. Shitty developer refuses to revert the offending code until multiple people on the team overrule them. They spend the next week unfucking the data and decides to just take a day off on Wednesday because it’s been “too much mental energy to fix.” The shit wasn’t even fully resolved yet.
Some people seriously do not belong in this industry. This person’s thought process was:
“Changing an else to an if can’t possibly have significant consequences. Let’s just change this so my code change executes to see what happens.”
Still not sure how they weren’t fired when this happened. They unfortunately got to quit on their own two months later.4 -
If you can be locked out of it remotely, you don't own it.
On May 3rd, 2019, the Microsoft-resembling extension signature system of Mozilla malfunctioned, which locked out all Firefox users out of their browsing extensions for that day, without an override option. Obviously, it is claimed to be "for our own protection". Pretext-o-meter over 9000!
BMW has locked heated seats, a physical interior feature of their vehicles, behind a subscription wall. This both means one has to routinely spend time and effort renewing it, and it can be terminated remotely. Even if BMW promises never to do it, it is a technical possibility. You are in effect a tenant in a car you paid for. Now imagine your BMW refused to drive unless you install a software update. You are one rage-quitting employee at BMW headquarters away from getting stuck on a side of a road. Then you're stuck in an expensive BMW while watching others in their decade-old VW Golf's driving past you. Or perhaps not, since other stuck BMWs would cause traffic jams.
Perhaps this horror scenario needs to happen once so people finally realize what it means if they can be locked out of their product whenever the vendor feels like it.
Some software becomes inaccessible and forces the user to update, even though they could work perfectly well. An example is the pre-installed Samsung QuickConnect app. It's a system app like the Wi-Fi (WLAN) and Bluetooth settings. There is a pop-up that reads "Update Quick connect", "A new version is available. Update now?"; when declining, the app closes. Updating requires having a Samsung account to access the Galaxy app store, and creating such requires providing personally identifiable details.
Imagine the Bluetooth and WiFi configuration locking out the user because an update is available, then ask for personal details. Ugh.
The WhatsApp messenger also routinely locks out users until they update. Perhaps messaging would cease to work due to API changes made by the service provider (Meta, inc.), however, that still does not excuse locking users out of their existing offline messages. Telegram does it the right way: it still lets the user access the messages.
"A retailer cannot decide that you were licensing your clothes and come knocking at your door to collect them. So, why is it that when a product is digital there is such a double standard? The money you spend on these products is no less real than the money you spend on clothes." – Android Authority ( https://androidauthority.com/digita... ).
A really bad scenario would be if your "smart" home refused to heat up in winter due to "a firmware update is available!" or "unable to verify your subscription". Then all you can do is hope that any "dumb" device like an oven heats up without asking itself whether it should or not. And if that is not available, one might have to fall back on a portable space heater, a hair dryer or a toaster. Sounds fun, huh? Not.
Cloud services (Google, Adobe Creative Cloud, etc.) can, by design, lock out the user, since they run on the computers of the service provider. However, remotely taking away things one paid for or has installed on ones own computer/smartphone violates a sacred consumer right.
This is yet another benefit of open-source software: someone with programming and compiling experience can free the code from locks.
I don't care for which "good purpose" these kill switches exist. The fact that something you paid for or installed locally on your device can be remotely disabled is dystopian and inexcuseable.16 -
Our team really needs some workflow arrangement, and this time it was me who screwed up.
So we have to push an update to the Play Store and the App Store the Friday, the app is well tested on test environment then production environment, we got the ok so I uploaded a build, the app management team then continued the process of publishing..
During the weekend the app was approved and live to almost 500k user that can receive the update.
I got a phone call from the Project Manager at almost midnight, the time was really suspicious so I answered.
- Me: Hello.
- PM: Hi, sorry to call you now but the app is live and we have a problem.
- Me: what kind of problem? Let me check.
So I updated the app on my phone and opened it while I am on call.. I almost had heart attack!! WE PUBLISHED A VERSION POINTING TO THE TEST ENVIRONMENT. Holly shit
- Me: shit call the app management team NOW.
Eventually we removed the app from sale (unpublished it) and we submitted a new version immediately, once it was approved the next day we made the app available again (so for those who didn’t update yet, there will be no update to a faulted version, and no new users landing to a version with test data), I received one or two calls from friends telling me why the app is not on the store (our app is used nationally, so it’s really important).
Thank God there was no big show on twitter or other social media.. but it’s really a good lesson to learn.
I understand this is totally my fault, thankfully I didn’t get fired 😅4 -
Dear customer, disregarding the bullshit your agency has dumped into Figma, I hereby deliver a clean, minimalist, and usable website without carousel sliders, chatbots, call-to-action teasers for newsletter signup, and muted auto-play videos consuming your end users' bandwidth.
One day you will understand and be grateful, too!3 -
I used to work for a company that had a main website and a lightweight app. LW app was distributed to partners and added to other sites using an iframe.
Someone decided a requirement was to retain the shopping cart for anonymous users. Some dev thought the best way to do that was to issue auth cookies to anonymous users.
The auth cookie issued by the LW app was actually for the main site. A few users for LW app decided to just come to main site to make a purchase. Since they already had an auth cookie (issued from LW app), they were never prompted to log in, create an account, or use guest checkout on the main site. They were still able to complete their order and we had their shipping address, but we didn’t have their email address so we couldn’t contact them about their order.
Customer service had no way to email customers if something went out of stock or if there was a product recall. CS would have to call these customers and ask for email addresses. Good luck getting anyone to answer or return a call nowadays. Customers were asking where their confirmation email was. The admin website was polluted with “users” that had the placeholder email for non-logged in users.
This happened because of a combination of an understaffed and overextended engineering department. Of course when something goes bad it’s going to be bad. -
Today a grown up sys admin restarted our softwares docker container just to see which URL will not work anymore to know if they installed it on the right machine. Without warning their users about the downtime.
This is so absurdly unprofessionell i could never make this up.8 -
I’m LOLing at the audacity of one of our vendors.
We contract with a vendor to build and maintain a website. Our network security team noticed there was a security breach of the vendor’s website. Our team saw that malicious users gained access to our Google Search console by completing a challenge that was issued to the vendor’s site.
At first, the vendor tried to convince us that their site wasn’t comprised and it was the Google search Console that was compromised. Nah dude. Our Search Console got compromised via the website you maintain for us. Luckily our network team was able to remove the malicious users from our search console.
That vendor site accepts credit card payments and displays the user’s contact info like address, email, and phone. The vendor uses keys that are tied to our payment gateway. So now my employer is demanding a full incident report from the vendor because their dropping the ball could have compromised our users’ data and we might be responsible for PCI issues.
And the vendor tried to shit on us even more. The vendor also generates vanity urls for our users. My employer decided to temporarily redirect users to our main site (non vendor) because users already received those links and in order to not lose revenue. The vendor’s solution is to build a service that will redirect their vanity urls to our main site. And they wanted to charge us $5000 usd for this. We already pay them $1000 a month already.
WTAF we are not stupid. Our network service team said we could make the argument that they do this without extra charge because it falls in the scope of our contract with them. Our network team also said that we could terminate the contract because the security breach means they didn’t render the service they were contracted to do. Guess it’s time for us to get our lawyer’s take on this.
So now it looks like my stakeholders want me to rebuild all of this in house. I already have a lot on my plate, but I’m going to be open to their requests because we are still in the debrief phase.2 -
I'm 2 months into my first dev job. Today, I was working on upgrading one of our products to React 18. Had a feeling my UI changes weren't being pushed to AWS so I wanted to test that. Changed all labels from ".. filter users..." to "shmilter shusers". Committed, then nearly pushed those changes for a PR. There are multiple lines of defence and only a 5% chance that no one would spot it but as soon as I realized that there's a small possibility that our customers would suddenly see "shmilter shusers" on their instances, I had an absolute fit. Maybe it's a "you had to be there" kind of thing but I don't remember the last time I laughed this hard.3
-
Operations: Can you exclude some user records for the website? These are obsolete and we don’t want users to access these anymore.
Me: So what are you using to indicate the record is obsolete?
Ops: We changed the last name field to say “shell record - do not use.” Sometimes it’s in the first name. Actually, it gets truncated to “shell record - do not u”.
Me: A…text field…and you’re totally ok with breaking user accounts…ok ok cool cool
Not cool 😳😬🤬 I’m not causing more chaos because your record keeping has gotten messy12 -
Static HTML pages are better than "web apps".
Static HTML pages are more lightweight and destroy "web apps" in performance, and also have superior compatibility. I see pretty much no benefit in a "web app" over a static HTML page. "Web apps" appear like an overhyped trend that is empty inside.
During my web browsing experience, static HTML pages have consistently loaded faster and more reliably, since the browser is immediately served with content useful for consumption, whereas on JavaScript-based web "apps", the useful content comes in **last**, after the browser has worked its way through a pile of script.
For example, an average-sized Wikipedia article (30 KB wikitext) appears on screen in roughly two seconds, since MediaWiki uses static HTML. Everipedia, in comparison, is a ReactJS app. Guess how long that one needs. Upwards of three times as long!
Making a page JavaScript-based also makes it fragile. If an exception occurs in the JavaScript, the user might end up with a blank page or an endless splash screen, whereas static HTML-based pages still show useful content.
The legacy (2014-2020) HTML-based Twitter.com loaded a user profile in under four seconds. The new react-based web app not only takes twice as long, but sometimes fails to load at all, showing the error "Oops something went wrong! But don't fret – it's not your fault." to be displayed. This could not happen on a static HTML page.
The new JavaScript-based "polymer" YouTube front end that is default since August 2017 also loads slower. While the earlier HTML-based one was already playing the video, the new one has just reached its oh-so-fancy skeleton screen.
It would once have been unthinkable to have a website that does not work at all without JavaScript, but now, pretty much all popular social media sites are JavaScript-dependent. The last time one could view Twitter without JavaScript and tweet from devices with non-sophisticated browsers like Nintendo 3DS was December 2020, when they got rid of the lightweight "M2" mobile website.
Sometimes, web developers break a site in older browser versions by using a JavaScript feature that they do not support, or using a dependency (like Plyr.js) that breaks the site. Static HTML is immune against this failure.
Static HTML pages also let users maximize speed and battery life by deactivating JavaScript. This obviously will disable more sophisticated site features, but the core part, the text, is ready for consumption.
Not to mention, single-page sites and fancy animations can be implemented with JavaScript on top of static HTML, as GitHub.com and the 2018 Reddit redesign do, and Twitter's 2014-2020 desktop front end did.
From the beginning, JavaScript was intended as a tool to complement, not to replace HTML and CSS. It appears to me that the sole "benefit" of having a "web app" is that it appears slightly more "modern" and distinguished from classic web sites due to use of splash screens and lack of the browser's loading animation when navigating, while having oh-so-fancy loading animations and skeleton screens inside the website. Sorry, I prefer seeing content quickly over the app-like appearance of fancy loading screens.
Arguably, another supposed benefit of "web apps" is that there is no blank page when navigating between pages, but in pretty much all major browsers of the last five years, the last page observably remains on screen until the next navigated page is rendered sufficiently for viewing. This is also known as "paint holding".
On any site, whenever I am greeted with content, I feel pleased. Whenever I am greeted with a loading animation, splash screen, or skeleton screen, be it ever so fancy (e.g. fading in an out, moving gradient waves), I think "do they really believe they make me like their site more due to their fancy loading screens?! I am not here for the loading screens!".
To make a page dependent on JavaScript and sacrifice lots of performance for a slight visual benefit does not seem worthed it.
Quote:
> "Yeah, but I'm building a webapp, not a website" - I hear this a lot and it isn't an excuse. I challenge you to define the difference between a webapp and a website that isn't just a vague list of best practices that "apps" are for some reason allowed to disregard. Jeremy Keith makes this point brilliantly.
>
> For example, is Wikipedia an app? What about when I edit an article? What about when I search for an article?
>
> Whether you label your web page as a "site", "app", "microsite", whatever, it doesn't make it exempt from accessibility, performance, browser support and so on.
>
> If you need to excuse yourself from progressive enhancement, you need a better excuse.
– Jake Archibald, 20139 -
My boss has zero emotions and empathy. How ironic for someone into product management!
He is 100% logical, maybe more. He is smart that way and yes, that is a skill to learn from him. He has good product management hard skills.
But, he is an emotional void. Zero humane feelings. He treats everyone like a machine. He is overly obsessed with documentation and wants every single word to be his way.
My writing and communication skills are his pet peeve.
Last Monday, our CTO was in office and he wanted to meet me. I was working remotely, so leads notified me. Even though our CTO runs a monkey business, I was eager and excited to meet him.
This week, my boss will be in office. He texted me to catch-up on coming Monday. I am anxious and worried even though my boss has great skills in our work function.
Furthermore, I find my boss overly critical about everything I do. Maybe it's not me and he does it with everyone, because I haven't been part of a group connect, so no idea. But dude.. give me a break.. give me some room to breathe..
What I heard from another junior, who joined us last month, is that one of the folks who resigned in past was because of my boss.
Feel like that I will move on from my dream organisation as soon as I complete little more than one year.
And apart from that, I scratched my eye glasses, Reddit permanently banned my account for no fault of mine, wanted to catch-up with a cousin, who is going through a rough phase, to cheer up the lad, but he won't answer our calls.
What a shitty weekend.
And yes, my boss is a hipster in the way he dresses and thinks.
He literally keeps saying that we need to use dark patterns like click baits, incite FoMo in our app users, add feedback loops, etc.3 -
De-duping drama continues. Background: stakeholder marked a bunch of records as “do not use” and didn’t realize/didn’t care about the impact on other systems. Many of those are active user accounts.
Stakeholder: What if we ask the user to create a new website account?
Me: they can’t register a new account of the email was used already. Are you expecting me to delete all those web accounts so the users can start over with their current email? Or are you saying you’re going to email 400 people and tell them to get a new email address and create a new account? Don’t force users to do extra steps to fix your mess.
Continued from: https://devrant.com/rants/5403991/...3 -
Windows is so bad, their users are actually upset instead of happy with every new software update. What kind of masochistic shit is this?12
-
Recently I launched the minimalistic online drawing app https://okso.app. I wanted it to be a place where people could do fast, ad-hoc, napkin-based-like explanations of any concept as if you are sitting with your friend and trying to explain him/her something during lunch. Don't ask me why it is needed, I was just experimenting.
So, the first concept I've tried to explain with sketches was the Data Structures. Without further ado, here is the interactive ✍🏻 https://okso.app/showcase/... showcase that you may play with.
Of course, not all data structures are covered. And of course, this is not comprehensive material, but rather a cheatsheet that would create visual hints and associations for the following data structures:
- Linked List
- Doubly Linked List
- Queue
- Stack
- Hash Table (with hash collision resolution)
- Tree (including the Binary Search Tree)
- Heap (including Mean Heap and Max Heap)
- Trie
- Graph
Each box on the sketch is clickable, so you may dig into the data structure you're interested. For example `Heap → Max Heap`, or `Heap → Min Heap`, or `Heap → Array Representation`.
The sketches are split into so-called Pages just to make it easier to grasp them, so the users stay focused on one concept at a time, they see the relationship between the concept, and thus, hopefully, they are not getting overwhelmed with seeing a lot of information at the same time on one drawing/page.
Each page has a link to the source-code examples that are implementing the data structure on JavaScript.
The full list you may find in the ✍🏻 https://okso.app/showcase/... showcase.
I hope you find this showcase useful and I hope it will be a good visual cheatsheet-like complement to your data structure knowledge.12 -
You think jQuery would finally have died after the IE era? Or that it would only be used to still pander to IE users?
Well... nope: https://w3techs.com/technologies/... says jQuery 3 has overtaken jQuery 1, which was the only version to even polyfill IE.
WTF is wrong with web devs, just WHY?! jQuery's use cases are shit that would be simpler and with less code without jQuery, shit that should be done in CSS instead, or shit that doesn't belong on websites to begin with.42 -
Stakeholder: Users are connecting invalid memberships to their web accounts. They shouldn’t be able to do that.
Me: Their memberships were valid when they set up the account. Your team’s record de-duping project is the issue here. You decided to mark those memberships as invalid.
I’m real tired of this stakeholder acting like this is a website issue or user error. Plus, this chaos could have been avoided if they and other involved stakeholders had just cc’d me on this de-duping project. I would have said their approach was not a good idea. But they didn’t because they want to do what’s convenient for them. If they want to be a reliable source of truth for our data, then they need to be responsible with how they’re handling that data.devrant why are you so irresponsible with our data this is not user error i’m real tired of this stakeholder2 -
Startup-ing 101, from Fitbit:
- spy on users
- sell data
- cut production costs
- mutilate people's bodies, leaving burn scars that will never heal
- announce the recall, get PR, and make the refund process impossibly convoluted
- never give actual refunds
- claim that yes, fitbit catches fire, but only the old discontinued device, just to mess with search results and make the actual info (that all devices catch fire) hard to find
- try hard to obtain the devices in question, so people who suffered have no evidence
- give bogus word salad replies to the press
This is what one of the people burned has to say:
"I do not have feeling in parts of my wrist due to nerve damage and I will have a large scar that will be with me the rest of my life. This was a traumatic experience and I hope no one else has to go through it. So, if you own a Fitbit, please reconsider using it."
Ladies and gentlemen, cringefest starts. One of fitbit replies:
"Fitbit products are designed and produced in accordance with strict standards and undergo extensive internal and external testing to ensure the safety of our users. Based on our internal and independent third party testing and analysis, we do not believe this type of injury could occur from normal use. We are committed to conducting a full investigation. With Google's resources and global platform, Fitbit will be able to accelerate innovation in the wearables category, scale faster, and make health even more accessible to everyone. I could not be more excited for what lies ahead".
In the future, corporate speech will be autogenerated.
(if you wear fitbit, just be aware of this.)15 -
Pull-to-refresh in mobile web browsers is useless and annoying.
In mid-2019, the #disable-pull-to-refresh-effect option was removed from chrome://flags on Chrome for Android (version 76) for no apparent reason. The top answer in the Google product forum was to beg for this option to be reinstated through the browser's feedback form ( http://web.archive.org/web/... ). Needless to say, that has been futile.
Why is that a problem? The pull-to-refresh gesture not only is unnecessary due to the quickly accessible refresh button in the menu right next to the URL bar, but also causes unsolicited refreshes when quickly scrolling to the top of the page. This drains both the battery and the mobile data plan, in addition to adding an annoying delay.
I would like to use my web browser like a web browser, not a social media app. Besides, the Twitter web app has its own pull-to-refresh implementation in the notification feed.
Without pull-to-refresh, the user has the freedom to scroll up quickly without risking inadvertently reloading the page. If media was playing while an unwanted pull-to-refresh occurs, the user needs to seek for the last playing position, which could take upwards of a minute if the last position is unknown.
Imagine a desktop/laptop web browser reloading because you scroll against the top. Imagine you reach the top of the page but you have not stopped turning the scroll wheel yet, and then a white circle with a blue spinning refresh icon appears at the center top of the window and the page, and then you have to wait for the page to finish loading, and you also need to seek the last playing position of a video or audio track. Wouldn't that be ridiculous?
Any web browser vendor that enforces pull-to-refresh on its users basically begs users to seek an alternative.7 -
Fuck first level support.
Usually the users are the problem because they don't know how to reboot or they delay software updates to infinity if you give them the option.
Additionally, having to log in on a user's computer, I always feel like I'm entering a messy's appartment. How can they live like that?
Fucking imbeciles.3 -
dR Community Server Showcase is open for suggestions! From devRant users, for devRants users. 🔗 https://devrant.com/collabs/3221539
You will find: guides, videogames, software w/ source available, useful web extensions, gamedev assets, and other stuff.2 -
I despise it when software developers remove features because "too few people use them".
Is this what those shady telemetry features are for? So they can pick which useful features to get rid of because some computer rookies whined that it is "feature creep" rather than just ignoring it?
Now I have to fear losing useful (or at least occasionally convenient) features each time I upgrade, such as Firefox ditching RSS, FTP, and the ability to view individual cookies. The third can be done with an extension, but compatibility for it might be broken at some point, so we have to wait for someone to come up with a replacement.
Also, the performance analysis tool in the developer tools has been moved to an online service ("Firefox profiler"). I hope I don't need to explain the problems with that.
But perhaps the biggest plunge in functionality in web browser history was Opera version 15. That was when they ditched their native "Presto" browsing engine for Chromium/Blink, and in the process removed many features including the integrated session manager and page element counter.
The same applies to products such as smartphones. In the early 2010s, it was a given that a new smartphone should cover all the capabilities of its predecessors in its series, so users can upgrade without worrying a second that anything will be missing. But that blissful image was completely destroyed with the Galaxy S6. (There have been some minor feature removals before that, such as the radio and the three-level video recording bitrate adjustment on the S4, but that's nothing compared to what was removed with the S6.).
Whenever I update software to a new version or upgrade my smartphone, I would like it to become MORE capable, not LESS (and to hell with that "less is more" nonsense).15 -
Follow up to: https://devrant.com/rants/5047721/....
1- The attacker just copy pasted its JWT session token and jammed requests on the buy gift cards route
2- The endpoint returns the gift card to continue the payment process, but the gift card is already valid
3- Clients wants only to force passwords to have strong combinations
4- Talk about a FIREWALL? Only next month
5- Reduce the token expiration from 3 HOURS to 10 minutes? Implement strong passwords first
6- And then start using refresh tokens
BONUS: Clearly someone from inside that worked for them, the API and database password are the same for years. And the route isn't used directly by the application, although it exists and has rules that the attacker kows. And multiple accounts from legit users are being used, so the person clearly has access to some internal shit7 -
Seriously, fuck Discord's new community guidelines! They now think they even own you outside of ther shady app:
"We may consider relevant off-platform behavior when assessing for violations of specific Community Guidelines."
Addressing harmful off-plattform behavior:
https://discord.com/blog/...
"When we talk about off-platform behaviors, we’re referring to any behaviors taking place outside of Discord, either in other digital spaces or in a physical community. If we become aware of specific off-platform, high-harm behaviors with credible evidence committed by a person with a Discord account, we will take the off-platform harmful behavior into consideration when assessing whether that account has violated a specific Community Guideline."
"We are applying this off-platform behavior consideration only if we become aware of highest-harm threats, including using Discord for organizing, promoting, or supporting violent extremism; making threats of violence; and sexualizing children in any way."
Yeah, suure...
Why does every fucking internet company think that they own their users?15 -
🪙 The golden age of tech is coming to an end. We currently live in a world of tech built by engineers and great minds; both Windows and Linux are great in their own ways. PCs are the peak of engineering, both desktops and laptops because of how versatile, powerful and universal they are. They serve engineers, designers and end users. You can do anything you can imagine; because the great people who built it, did it in such way that they themselves could use and enjoy it.
📱 The tech of the future will become ever more limited. The next generation of humans will use Chrome OS gladly and not even feel limited because they never experienced the freedom provided by a true personal computer device. Android OS is already getting ever closer to restricting 3rd party APK installers. Big tech will do everything they can to limit freedoms and make everyone use cloud, where they can charge $ for every damn click.
☎️The consumer-facing tech will become increasingly dumbed-down over time. The programmers and engineers will be still able to use "true" tech, but only for work. In everyday life, they will have to be content with the dumb limited tech.
And there is nothing we can do to stop it.9 -
Dev team: This part of the app has a shitty ux. We want to fix it after we finish this feature.
Business: hey guys we think we lack data so we got some users to check our page with shitty ux and see if they think it is shit
User: yeah it’s shit
Great use of resources you chucklefucks6 -
This new trend of platforms spamming with content discovery fucking suck. Nobody wants to follow multiple profiles with the exact same fucking content, especially when most of them are just people jumping on the bandwagon with more generic content and nothing to make it distinguishable. Also if 10 million people saw something on your platform, the it's pretty fucking sure already been posted and shared on every single platform out there, why the fuck would you still keep recommending it weeks or even months later?
I know spamming users with random (statistically more engaging) content leads to improved customer engagement as people sooner or later click these thing out of curiosity or boredom, but eventually they get tired of it altogether and leave for good. What happened to Netflix will also happen to YouTube, Instagram, and all other platforms unless they significantly improve the balance between content discovery and content continuity (i.e. the content each user follows and is coming back for).4 -
Anyone reading these emails we are sending?
I work at a small place. A few users are using an application at our place that I develop and maintain. We all work remotely.
I announce by email to these few users a new version release of said application because of low level changes in the database, send the timeline for the upgrade, I include the new executable, with an easy illustrated 2 minutes *howto* to update painlessly.
Yet, past the date of the upgrade, 100% of the application users emailed me because they were not able to use the software anymore.
----------------
Or I have this issue where we identified a vulnerability in our systems - and I send out an email asking (as soon as possible) for which client version users are using to access the database, so that I patch everything swiftly right. Else everything may crash. Like a clean summary, 2 lines. Easy. A 30 second thing.
A week pass, no answer, I send again.
Then a second week pass, one user answers, saying:
> well I am busy, I will have time to check this out in February.
----------------
Then I am asking myself:
* Why sending email at all in the first place?
* Who wrote these 'best practices textbooks about warning users on schedule/expected downtime?'
*How about I just patch and release first and then expect the emails from the users *after* because 'something is broken', right? Whatever I do, they don't read it.
Oh and before anyone suggest that I should talk to my boss about this behavior from the users, my boss is included in the aforementioned 'users'.
Catch-22 much ? Haha thanks for reading
/rant7 -
Samsung apparently thinks they are doing us users a favour with their "genius" TV block feature.
Let the following be clear: I will never get a television which can be remotely disabled by ANY one, even if allegedly for my benefit.
In fact, I'd be happier with 768p "HD ready" garbage from 2005 that at least works reliably than a shiny "QLED+" Samsung TV that can fail without warning at the press of a button at some giant corporation's headquarters.
Remember the May 2019 Firefox incident?
"We can remotely disable your TV, but it's just for your protec...." Get lost.10 -
Http/2 server push is really cool. Like, really fucking cool. Those researchers at google really got this right. I hate how they handle their users but I have to say they really make good use of the money they get by selling us for kettle.2
-
We have Jira to keep track of bugs and allow users to inform issue with our in-house software. One fucker created ticket, "Hi Guys, I cannot sign-in to Skype business". He even put the screenshot.
What the fuck he expected us to do. Everyday have to deal with low mentality peasants.3 -
So you heard from that awesome tool that apparantly everybody uses.
Go to the web page:
One single continuous page in 90ies style with random blahblah targetting expert users and various edge cases without context. Some lines about arcane build commands in an unfamiliar language.
Not even a single, comprehensive line, what it does, what it is good for, no minimal example or hint even how to run it.
So you write thousands of lines of dense code, but are not able to drop some first lines of plain, understandable english for people just visiting the first time? How hard could it be? Fuck you, srsly.4 -
Integer range is 2,147,483,647. Facebook has 2.96B users. Facebook is the only company that graduated from int to unsigned int, which is 4,294,967,295.
And you're using bigint as an id for the “users” table. I just laugh.11 -
Markdown. It is now used by MDN Web Docs and supported by Google Docs. End users will slowly pick up. Then even more (proprietary) flavors of markdown and their accompanying JS-frameworks will follow. All with good intentions, but it can only to end in a big mess and confusion like USB or USB 3.2 Gen 1.5
-
Goodbye Duckduckgo, DuckDuckGo’s CEO Gabriel Weinberg announced on Twitter that his privacy first search engine will be manipulating its search results to only show users what the company deems not to be “disinformation” about the Russia-Ukraine conflict.36
-
A few Challenges at my job:
- a CEO with zero tech skills and zero memory.
- a sysadmin with literal brain damage and epilepsy (but he's great, we just have had to learn how to deal with it)
- another (volunteer) sysadmin who we call @God on Slack and who usually only shows up in extreme crises.
- the budget of a tiny organization, the web traffic of a huge site.
- incoherent business logic subject to the whims of volunteers and the loudest users
- a main revenue stream that contradicts our main mission.
it's fun! woot.1 -
Management: Our internal app must be 100% rigid so that we users follow predefined process flows exactly so no mistakes are made while also being 100% flexible so that users are free to go about their business in whatever way they feel is appropriate for their own unique needs. These are the requirements!
Dev: …7 -
I'm learning today from the big brain managers that elements on our mobile app are "clickable".
Truly amazing, I wonder which of our users are plugging a mouse into their phones and using it to click around.
incompetent 🤡3 -
I have a confession to make.. I have sin.. after 8 years of coding in the dark I've joined the light..
How did this happen? Well whenever I would decide to change my dark theme to another dark theme in VSCode, normally I would arrive at the light themes in the list, and for some reason the reading felt more pleasing to my eyes, so I started researching as to whats the best theme for the eye, and why does the light theme feel "more right"?
So it turns out that there isn't any difference for the eye, but that maybe because of the white paper black letters the eye finds it easier to focus on the letters rather than visa versa.
And here I am coding in the light for a month now and it feels great I guess?
Keep in mind I was one of those that would see light theme users as mudbloods and muggles. But I can't deny that the light theme + blue filter makes my eyes more rested.9 -
Longest I've worked without rest + why?
Over 24 hours. Why?
In our old system, the database had fields, for example, a customer like Total97, Total98, etc. to store values by year (or some date-specific value).
Every January 1, we had to add fields to accommodate the upcoming year and make the appropriate code changes to handle the new fields.
One year the UPS shipping rates changed and users didn't want to 'lose' the old rates, so they wanted new fields added (Rate98, Rate99, etc) so they could compare old vs. new. That required a complete re-write of most of the underlying applications because users wanted to see the difference on any/all applications that displayed a shipping rate. I'll throw in asking 'why?' was often answered with "because we pay you to do what we say". Luckily, we had already gotten to work on a lot of this before January 1st, so we were, for the most part, ready.
January 1st rolls around (we had to be in the office at 3:00AM), work thru changes, spend some time testing, and be done before noon. That didn't happen. The accounting system was a system that wasn't in (and had never been) in scope, and when we flipped the switch, one of the accountants comes into the office:
E: "Guys? None of our Excel spreadsheets are working. They are critical to integration with the accounting software"
Us: "What? Why would you be using Excel to integrate with the software instead of their portal?"
E: "We could never figure it out, so we had a consultant write VBA scripts to do the work."
Us: "OK, a lot of fields changed, but shouldn't be a big deal. How many spreadsheets are we talking about?"
E: "Hundreds. We have a separate spreadsheet for every integration point. The consulting company said it scalable, whatever that means."
Us: "What?! Why we just know hearing about this!?"
E: "Don't worry, the consultant said making changes would be easy, let me show you, just open the spreadsheet..click here..<click><click><click>...ignore that error, it always happens...click that <click><click><click>.."
Us: "Oh good lord, this is going to take hours"
E: "Ha! Probably. All this computer stuff is your job and I've got a family to get to. Later"
Us: "Hey 'VP of IS', can we go home and fix these spreadsheets as-needed this week?"
VP-IS: "Let me check with 'VP-FS'"
<few minutes later>
VP-IS: "No, he said Excel is critical to running their department. We stay until Excel is fixed."
Us: "No, no...its these spreadsheets. I doubt FS needs all of them tomorrow morning."
VP-IS: "That's what I said. Spreadsheets, Excel, same thing. I'll order the pizza. Who likes pepperoni!?"
At least he didn't cheap out on the pizza (only 4 of us and he ordered 6 large, extra pepperoni from one of the best pizza places in town)
One problem after another and we didn't get done until almost 6:00AM. Then...
VP-IS: "Great job guys. I've scheduled a meeting at 8:00AM to review what we did so we can document the process for next year. You've got a couple of hours. Feel free to get some breakfast and come back, or eat the left over pizza in the breakroom fridge. There is a lot left"
Us: "Um...sorry...we're going home."
VP-IS: "WHAT!!...OK...fine. I'll schedule the meeting for 12"
Us: "No...we're going home. We'll see you tomorrow." -
Another member of the team updated the production JSON configuration of the project with a missing comma, this broke a system that's not yet live and where there aren't any real users (only used for demos/testing).
Instead of having a good laugh about how silly this was, the CTO/CEO removed their write access to production..3 -
I have been keeping this inside for long time and I need to rant it somewhere and hear your opinion.
So I'm working as a Team Lead Developer at a small company remotely based in Netherlands, I've been working there for about 8 years now and I am the only developer left, so the company basically consists of me and the owner of the company which is also the project manager.
As my role title says I am responsible for many things, I maintain multiple environments:
- Maintain Web Version of the App
- Maintain A Cordova app for Android, iOS and Windows
- Working with pure JavaScript (ES5..) and CSS
- Development and maintenance of Cordova Plugins for the project in Java/Swift
- Trying to keep things stable while trying very hard to transit ancient code to new standards
- Testing, Testing, Testing
- Keeping App Stable without a single Testing Unit (sadly yes..)
- Just pure JavaScript no framework apart from JQuery and Bootstrap for which I strongly insist to be removed and its being slowly done.
On the backend side I maintain:
- A Symfony project
- MySQL
- RabbitMQ
- AWS
- FCM
- Stripe/In-App Purchases
- Other things I can't disclose
I can't disclose the nature of the app but the app is quite rich in features and complex its limited to certain regions only but so far we have around 100K monthly users on all platforms, it involves too much work especially because I am the only developer there so when I am implementing some feature on one side I also have to think about the other side so I need to constantly switch between different languages and environments when working, not to mention I have to maintain a very old code and the Project Owner doesn't want to transit to some more modern technologies as that would be expensive.
The last raise I had was 3 years ago, and so far he hasn't invested in anything to improve my development process, as an example we have an iOS version of the app in Cordova which of course involves building , testing, working on both frontend and native side and etc., and I am working in a somewhat slow virtual machine of Monterey with just 16 GB of RAM which consumed days of my free time just to get it working and when I'm running it I need to close other apps, keep in mind I am working there for about 8 years.
The last time I needed to reconfigure my work computer and setup the virtual machine it costed me 4 days of small unpaid holiday I had taken for Christmas, just because he doesn't have the enough money to provide me with a decent MacBook laptop. I do get that its not a large company, but still I am the only developer there its not like he needs to keep paying 10 Developers.
Also:
- I don't get paid vacation
- I don't have paid holiday
- I don't have paid sick days
- My Monthly salary is 2000 euro GROSS (before taxes) which hourly translates to 12 Euro per hour
- I have to pay taxes by myself
- Working remotely has its own expenses: food, heating, electricity, internet and etc.
- There are few other technical stuff I am responsible of which I can't disclose in this post.
I don't know if I'm overacting and asking a lot, but summarizing everything the only expense he has regarding me is the 2000 euro he sends me on which of course he doesn't need to pay taxes as I'm doing that in my country.
Apart from that just in case I spend my free time in keeping myself updated with other tech which I would say I fairly experienced with like: Flutter/Dart, ES6, NodeJS, Express, GraphQL, MongoDB, WebSockets, ReactJS, React Native just to name few, some I know better than the other and still I feel like I don't get what I deserve.
What do you think, do I ask a lot or should I start searching for other job?23 -
Product owner (who is also the application administrator): please build feature to allow administrators to create automatic alerts to be sent to application users
Me: ok
Feature gets built, tested and deployed to production
Two months later:
PO: I've noticed in our monitoring tool that there haven't been any alerts sent out to users. What's going on??
Me: well have you created any automatic alerts?
PO: umm, no. How do we do that?
Me (inside): 🤦2 -
Built a whole test suite around our Laravel app which has been pointed out to exec as slowing down CI and yielding no value to the user.
Arguing it’s ensuring something our users is using doesn’t accidentally break just gets brushed off as incompetence.
Oh well, I’ll just skip tests in CI and continue writing and running tests on my own as I don’t feel confident just cowboy fixing things.2 -
New office saga continues... SE1E05
I transitioned from a B2B to B2C role. Now the company and the product is entirely consumer facing.
Many or rather all are actively engineering the product to be more and more dystopian in nature.
Using concepts like FoMo, social validations, and other techniques to get users to spend more into consumerism in the name of building better experience.
It's the darkest shit I have seen so far. And this company is ethically a great one. I can only imagine how pathetic Meta and others would be.
I hate ny role. I hate how I have to do this for a living. Knowingly or unknowingly, I got myself here and absolutely hate where we are headed as a human race.
I don't like it anymore and I am only doing it as a job. No longer proud or excited of my job profile.
Fuck the impact, technology will be a catalyst for human extinction.
And with that, I found a good solution to my Mac 😏
Do check: https://reddit.com/r/Unexpected/...7 -
It powers nodejs.org. It has 7.8k stars on Github.
It was installed 5x as much on NPM in the last 4 months as it was in the previous 5 years. https://metalsmith.io
I've been doing a lot of outreach to individual users, websites, and related Github projects, yet community involvement is hard to get by. If you value copy-left or free open-source software and are interested in bloat-free nodejs static site generation or build pipelines, please reach out.
I have a full-time job and am thankful for any help, be it feedback on the Gitter chat: https://gitter.im/metalsmith/... maintaining one of the 15+ core plugins, creating starters or writing blog posts.1 -
Epic labels from managers crack me up.
They're so generic and undescriptive.
"Focus on users"
"Prioritize ABC"
"Increase XYZ"1 -
A long long time ago ( 2007 I think ) I worked for a company that made landing sites, so basically an email campaign would go out, users would be sent to a 1 page website with a form to capture their data, ready to be spammed even more. You know how it was back then.
So I worked with a guy who we had just hired, I didn't do the hiring but his CV checked out, so I gave him one of my tasks. Now most pages were made with js and html, with a PHP backend ( called with Ajax). Now this guy didn't know PHP so I was like all good, ASP works too at the end of the day we don't judge, we do like 2 or 3 of these a day and never look at them again. So he goes of and does is thing.
3 weeks later, the customer calls up to me they still haven't received their landing page. Ok so he probably forgot to email the customer np, I tell him to double check he has emailed the customer. Another week goes by end the customer calls back, same problem. At this point I'm getting worried, because we're days away from the deadline and it was originally my task.
So I go back to the guy and I tell him I want that landing page so I can send it myself, half thinking to myself that we had a freeloader, that guy that comes in to companies for 3 weeks, doesn't work, but still cashes his pay. But no, this was much worse.
So he tells me he has finished yet. I ask him why, what's the blocker ? You had 4 weeks to tell me you were blocked and couldn't progress. And his answer was simply, because I wasn't blocked I have been working on it this whole time. So I tell him to zip his project up and email it to me. We didn't do SVN or git back then, simply wasn't worth it. So he comes back to me and says the email server is telling him attachments can't be bigger then 50mb. At this point I'm thinking he didn't properly sized the art or something, so I give him a flash drive to put it on.
When I then open the flash drive, the archive is 300mb, thinking to myself, the images weren't even that big to begin with.
So I open it up, and I don't even find any images, just a single asp page. About 500mb. When I opened that up and it finally loaded, I saw the most horrendous things ever.
The first 500 lines was just initializing empty vars. Then there was some code that created an empty form with an onChange event that submits the form. After that.. it was just non stop nested if's. No loops, no while, for, foreach, NO elseif's, just nested if's, for every possible combination of the state the form could be in. Abou 5000 of them, in a single file. To make matters worse, all the form ( and page ) layout was hardcoded in the if's. Includes inline css, base64 encoded images, nothing but as dynamic, based on the length of the form he changes the layout, added more background etc. He cut the images up for every possible size of the page and included them in the code.
I showed it to my boss, he fired the guy on the spot. I redid the work from scratch, in under 4 hours. Send it to the client. they had no ammends to make, happy as Larry. Whish I kept the code somewhere.
Morale of the story, allways do a coding test on interviews, even if small things just to sanity check.3 -
Point out that removing a "include charger" option from the new iPhone package is not appealing to users with conservative spending habits (me) and users who plan to transition from android to IOS.
"AhaHah you must be poor, poor ppl can't afford to consoom new products every year, I don't care about no chargers AhaAha"
"It'S JuST $30 jUst Buy One @ the StOre"
This is why apple users get a bad rep, apparently not tossing a perfectly functioning phone into a landfill every year makes you poor. My phone doesn't use the new chargers because I actually made a good purchase that has lasted for around 4 years and the only other apple product I own is a macbook, people like these (ain't a few), make me ashamed to be an "apple user" whatever the fuck that means.12 -
Hey guys! lambda is amazing! Docker containers! They said the whole amazing point with containers is that they run the same everywhere! Except not really, because lambda 'containers' are an abomination of *nix standards with arbitrary rules that really don't make sense! That's ok though, you can push your shit to fargate, then it will work more like those docker containers you know and love and can run locally! Oh wait! fargate is a pain in the ass x 2 just to setup! You want to expose your REST api running on a container to the world? well ha, you'd better be ready to spend literally 2 weeks to configure every fucking piece of technology that every existed just to do that!!!! it's great, AWS, i love it, i'm so fucking big brained smart!!!
give me a break.... back in my day you'd set up an nginx instance, put your REST / websocket / graphQL service whatever behind it, and call it a day!!!!!!!
even with tools like pulumi or terraform this is a pain in the ass and a half, i mean what are we really doing here folks
way too complicated, the whole AWS infrastructure is setup for companies who need such a level of granularity because they have 1 billion users daily... too bad there are like 5 companies on the planet who need this level of complexity!!!!!!!
oh, and if your ego is bashed because of this post, maybe reread it and realize you're the 🤡
i'm unhappy because i was lied to. docker containers are docker containers, until they aren't. *nix standards are *nix standards, until they aren't
bed time.13 -
So.. how does being in a company makes you a better engineer?
For eg, this year my team shipped these 2 interesting features (among other things) that were never part of our product.
these were crazy ideas, that got liked by our users, and might have impacted the finances of company positively.
However the engineers (not me, i worked on them even less) that worked on it, did they got their knowledge growth? they just analysed the old codebase, its shitty architecture and drawbacks, and added the feature around it in a similar manner. so basically it was building debris over the debris
but is this growth? if that engg was me, would my experience in dealing with debris and building debris over it (that somehow works) be helpful for any other organisation?
And number (2) : is my organisation even a good one if its allowing to build debris over debris and not leaving a space for discussion or cleaning the mess or thinking about better architectures, data structures for scalability and robustness?
An engineer's growth should be made by giving them a chance to explore new and best solutions and not the best hacks i guess1 -
Users running Linux on laptops with Intel processors should avoid Linux Kernel 5.19.12 due to an error that might physically harm the display. Fortunately, kernel 5.19.13 has already fixed the issue. Versions 6.0 and 6.1 have also begun rolling out with many significant changes.4
-
today, we're going to learn how to make web dev complicated and how to annoy users with a simple technique. learn by example2
-
Funny how everything that seems like an almost general truth about the computer users is conditioned only but the phrase "..excepting Linux users" 🤔
No one randomly recommands operating systems ... excepting Linux users!
No one needs to know how to do <complicated hilly-billy technology> in order to use <generic simple software>!
It seems that we (the Linux users) are all rebels without a cause😅2 -
Creating a stripped down version of a product is a big red flag to me (e.g. "easy/light mode").
It means the main product is too complicated; it handles too many things. Instead, shift the focus back to the core of the product by removing features.
In the our day-to-day it is completely normal to stumble upon things that used to work but now have been changed: they have been deprecated.
Deprecating and removing features should be added to any product iteration. Thus being "normal" and a common occurrence in any changelog; just like features and bug fixes.
This gives non-tech product owners "permission" to remove bloat. Devs stop whining about "the big rewrite". And end-users don't suddenly have to learn yet another tool with "basic" features missing.
I think the best example is google (https://killedbygoogle.com/) and the worst is the amazon shopping website (what a mess!).3 -
Never tell 60 users on a demo to "click on this button" at the same time.
Infra went "poof". No time to auto scale in this scenario.
Usual usage of app : 4 to 5 personns who do actions in the windows of 2 seconds.8 -
snapd and flatpak, are more harm than use. popularizing bloatware junk in a fairly clean ecosystem like linux, is neither good for devs nor users. linux distributions are already a mess for desktop use, let's not make it worse.18
-
Records Person: Can you look at this member renewal issue for system A? It’s happening on the website you maintain. Here are some recent errors to debug.
Me (web developer): I can’t reproduce the error your reporting. Is there something I’m missing? And is there an example for the staging environment?
RP: There’s another team that will manually reconcile the records in system A if they don’t match what’s in system B. So this gives users two active memberships when it should only be one.
Me: 😑 So you already know the issue is human intervention messing with the records and causing the renewal issue. This is not a website issue. It’s a data issue.1 -
Last year, my company has added the functionality for users to reset their passwords.
The company was then 5y old and already had to reset thousands of passwords. Oh well...1 -
Yeah, it's just a website....hosting 3B active users...
That's like a 3 person job, at most, right?11 -
At work I inherited some databases, were most of the tablecolumns are all varchar. No ID's, and everything is in one table. No relation tables no reference data. Because "we don't trust the users who fill the tables to understand relationships". And.. wtf.4
-
First, we could really use a 'thats cool' category.
Second, a guy uses stylegan and open AI to generate pottery glazes that don't exist. Then he generates glaze recipes that don't exist.
Then he sets up a model to generate glazes tht don't exist *from* recipes that don't exist (again, generated with stylegan).
Posts it to a pottery site called Glazy, where users share *real* glaze recipes and results, and where our guy got his original training data.
And what happens next? Users start making samples of his AI generated glazes, like, in the real world.
And I am just blown away at the very idea.
You can read about his awesome work here:
https://thisvesseldoesnotexist.com/...1 -
Assumptions are a terrible idea, yet I find myself making them all the time about other people. I am finding the very sobering reality about people who use technology vs people who create technology. The users have zero intellectual interest in how the technology accomplishes a task. While the creators get absorbed into the details and often relish in being able to maximize capability.
A point of frustration for me is users who are in a semi technical field yet take zero time to learn how to configure a piece of tech. They get a plug and play attitude and seek in panic when things don't work. The work is semi technical because they need to understand some of the fundamental physics involved to assess things using instrumentation. Yet when asked about a system they actively modify as to how it is normally setup they are clueless. Me, who helps write the software to control these devices, is stumped that they have zero interest (or capacity?) to understand how the system is normally configured. This is not the first time I have made assumption about what they know in technical contexts. I have run into this before with managers, but not with technicians.
How do you manage your expectations with people who won't invest any time into how their equipment actually works? How does someone operate that way to begin with? Where is their curiosity about how things work?
On the flip side, I swear at my fucking phone because I don't care how it works, but I just want it to stop doing everything besides being a phone... Fuck you, we are not the same, I think...4 -
MySQL 5.5 end of life’d in 2010. In 2021 my company started an upgrade to 5.6. The outdated dependencies meant we needed 25 engineers for 2 months full-time to make the upgrade as invisible to users as possible. We still took about 90 minutes of downtime on cutover day. Not upgrading MySQL on time meant we paid way more in terms of engineering hours. The reason we call it debt, is because you pay interest when you don’t tKe care of it right away.4
-
There are a couple:
A system that updates user accounts to connect them into our wifi system by parsing thousands of processing files written in Clojure. The project was short lived and mainly experimental, It has complete test cases and the jar generated from it is still purring silently on the main application. It was used to replace an $85k vendor application that made no fucking sense. The code has not been touched in 2 years and the jar is still there. The dba mentioned the solution to the vendor, the vendor tried buying it from me, but being that it belongs to the institution nothing was touched, still, it got the VP's attention that I can make programs that would be bought for that level, it caught his attention even more when I showed him the codebase and he recognized a Lisp variant (he is old, and was back in the day a Fortran and Cobol developer)
A small Python categorical ML program that determines certain attributes of user generated data and effectively places them on the proper categories on the main DB. The program generates estimates of the users and the predictions have a 95% correctness rate. The DBA still needs to double check the generated results before doing the db updates. I don't remember how I coded it because I was mostly drunk when I experiment on the scenario. It also got the attention of the VP and director since the web tech manager was apparently doing crazy ML shit that they were not expecting me to do, it made them paranoid that I would eventually leave for a ML role somewhere, still here, but I want more moneys!!
A program that generates PDF documentation from user data, written in Go, Python and Perl (yes Perl) I even got shit from the lead developer since I used languages outside of their current scope of work. Dude had no option but to follow along with it :P since I am his boss
Many more. I am normally proud of my work code. But my biggest moment is my current ntural language processing unit that I am trying to code for my home, but I don't have enough power to build it with my computers, currently, my AI is too stupid, but sometimes it does reply back to my commands and does the things I ask it to do (simple things, opening a browser, search for a song etc) but 7 times out of ten it wont work :P -
MICROMANAGEMENT
I got assigned a milestone we had delayed twice already. It needs to be ready for tomorrow, it's harsh but doable.
Guy from another team, looks at my folder system during the presentation, something like
"src/views/users/view-all/view-all.template.html" and starts whining "hurr durr this isn't good tho, you should have chosen a significant name, it's impossible to understand what this file does".
Honest thought: if you can't navigate through folders, you shouldn't be writing code in the first place.4 -
WTF is going on with twitter?!
- Yesterday I've Installed the app and tried to signup
- I've entered my birthday
- Entered phone number
- Wait for SMS...no SMS
- Tap resend...no SMS
- Wait half an hour...no SMS
- Tried few times...Started getting error: This number cannot be registered..
- Today I've tried again
- Phone number accepted
- Wait for SMS...no SMS
- Tried adding my number to a friend's twitter account...Received SMS code..
- Tried again signing up with my phone number, got error: This number cannot be registered..
- Tried from web, getting error: You reached your SMS limit try again in 24h...
How can I reach my f***** limit when I haven't even received a mail!
I've been trying to signup to twitter for 2 f**** days now with no luck, wtf is happening? it's a major social network for f*** sake.
And what's worse there is no way to send support mail, their "Contact US" page only has options for existing users..8 -
Software developers be like: “Let's remove useful features that I'm sure no one will mind being revoked!”
Also software developers: “WHY, OH WHY WON'T USERS UPDATE THEIR SOFTWARE???? WHYYYYY????? :'-CCCCCC ”3 -
Probably everyone at least once had situation when they receive a meaningless screenshot with 500 page, a message "Application doesn't work fix it" and 0 info whatsoever.
Here is my tip that saved me a lot of trouble.
I display error id in the center of the screen, large enough so no matter how small and blurry the image is (yes users, send us photos of theirs displays) , It is always easy to ready it so we can start investigation without talking to those monkeys.3 -
A colleague came to me ranting about some feature marketing wants.
"Save whether the user accepted, rejected or ignored the TOS." They have to accept the privacy agreement first, so this feature is most likely about annoying users who rejected the TOS. Totally justified. Fuck that marketing team.6 -
[CMS of Doom™]
Imagine creating a CMS so bad that you let the owner (who I work for) define in a simple input field what email address is used as the sender address for the welcome email of newly registered users.
Basically they filled in a personal email of the company some 3 years ago AND of course the person with said email address left the company a few months later thus for some 2-3 years newly registered users received a welcome email with a sender address of an unavailable user.
And I thought I've seen it all in this CMS...3 -
Software runs fine on several in-house instances. First time customers hosting it themselves. Runs fine. Users start using. Server need absurdly high processing power and fucks up. I can not access customers Server to debug. Only hope, get copy of their images to reproduce their setup. And have *** one single fucking hour *** to go into it before having to tell in emergency meeting if we can fix it or they would blew the project.
I didn't expect, but found the cause, a single very badly written query. Written by myself years ago I have to admit.
They also gave me one hour to produce a patch. I did but but lost so many hair.4 -
Getting past my impostor syndrome
Finishing a project
Having a few hundred users on my projects
Having fun in the mean time. -
I've been working on this fucking instagram connector for 4 weeks now, mainly due to idiotic red tape
Now the time has come to get it approved. I'm supposed to let them know how to test the connector with a test user. but FUCKING facebook's test users don't even work as test users! their own spam catcher identifies their own test users as bots!!!!
I mean what the fuck!!!! HOW AM I SUPPOSED TO GET THIS APPROVED IF YOUR TEST USERS DON'T FUCKING WORK AS PART OF THE TESTS
AAAAAAAAAAAAA THIS IS FUCKING INFURIATING3 -
Ready for another look into my JIRA life?
Ticket Title: "The 'Selected photos' setting will result in users being able to select only one photo at a time."
Ticket Description: "This is not directly a bug, because this problem is caused by the selected setting. Here one would have to consider to give this option no more and/or with an error message the user on it to make attentive, how he can change the attitude."
I don't even have to worry about NDA in this one because it makes absolutely no sense.
BTW, we don't have a single text in the app with the words "selected photos"
99% sure the creator of this ticket wrote it when they were high, drunk, or bothrant no pride in our work what is the english language? fuckall end my existence please jira not needed4 -
Internal users are the worst. They act like you owe them the world. STFU and read the goddamn documentation.4
-
Update on my devRant client SwiftUIRant:
I’m experimenting with some UI changes compared to the official app.
* vote buttons are laid out horizontally and placed above the rant to not waste space on the left side.
* comments count shows 0 comments instead of disappearing.
* rants are not cut off but visible in full length (I plan to add a toggle setting for that)
* creation date/time is present in the feed
* date/time formatter uses the current system region and the language english. So no more awkward American dates for non American users.
What do you think?17 -
Stakeholder: We have users who are putting like “John and Mary” on their membership’s first name field. Can we restrict that field so they can’t do that?
Me: But what if that user does identify as “John and Mary”?
Besides, what’s to stop any user from taking out the “and” and making it “John Mary” so they can get around input validation for words like “and”?9 -
Dear Apple, You made an amazing UI but Windows sure does beat you in terms of ease of use.
So my company provided us with Macbooks, I've been a windows users for almost 7-8 years now.
The thing I want to rant about is how we cannot switch between same application windows in full screen.
In Windows, you press tab, voila, the other full screen window. For instance, I want to use 2 google chrome "full" size windows, I cannot just press tab and view the other one, Like whaaaat!
There should be a provision to use the other window of the same application.
The same thins is so easily done in windows machine.11 -
Can people stop using Kubernetes and over engineering shit for services which get like, 10 users at most ? Thank you.19
-
Some older woman in my building tried to cyberbully me. She found a back door because the building’s online message board emails everyone in the building and those emails have a link to email the author.
You bet I snitched on her to building management after she continued to email me after I had asked her to stop and told her that her email was offensive. I don’t tolerate people who make assumptions about my ethnicity and use that as a reason to send me demeaning messages.
And you bet I contacted the developers of the building’s message board about the backdoor. And of course they implied that I could have prevented this and sent me instructions. No, I could not have prevented this and those instructions they sent me would have never applied to my comment on the message board.6 -
I had a half our discussion the other day with a projectmanager about the menu. He wanted to have both inpage anchor links as well as normal links in the main navigation. I found it completely stupid and didn’t get why you would want this. It’s totally unexpected behaviour from a users perspective and tried for 30 minutes to convince him of his stupidity.
Afterwards i gave in, sure, i’ll make it your stupid way. The actual pages that are there now won’t be visible anymore but if this is what you reallllllly want: sure.
Yesterday he came with a remark: the pages that used to be there can’t be reached anymore.
Always trust your developer -
I’ve never bothered to try Linux as past experiences with it is not as amazing as people say. What advantages does Linux have to Windows? And it terms of real life usage, such as developing software or websites for a local company, why choose Linux over Windows when the majority of the companies users would use Windows anyway?
All I can think is that I should have a computer specifically for Linux so I can still test things on a Windows computer.19 -
Seen some screenshots of Notion. It's like airtable meets wiki, without dealing with markup.
It's very clean, and their use of templates is very intuitive, as is creating new templates.
Their offerings, even for new users, are also very generous.
Anyone used notion and if so, what did you think of it?3 -
I don't care about market cap. Stick your hype-driven business practices up your ass. Infinite growth doesn't exist. I won't read your fucking books and attend your fucking bootcamps and MBAs. You don't have a business model. Selling data is not a business model. Fuck your quick-flip venture capital schemes, and especially fuck your “ethics”.
I will be the first alt-tech CEO. I only care about revenue. The real money, not capitalization bubble vaporware. You don't need a huge fleet of engineers if you're smart about your technology, know how to do architecture, and you're not a feature creep. You don't need venture capital if you don't need a huge fleet of engineers. You don't need to sell data if you don't need venture capital. See? See the pattern here?
My experience allows me to build products on entirely my own. I am fully aware of the limitations of being alone, and they only inspire lean thinking and great architectural decisions. If you know throwing capacity at a problem is not an option, you start thinking differently. And if you don't need to hire anyone, it is very easy to turn a profit and make it sustainable.
If you don't follow the path of tech vaporware, you won't have the problems of tech vaporware, namely distrust of your user base, shitty updates that break everything, and of course “oops, they raised capital, time to leave before things go south”.
A friend of mine went the path I'm talking about, developed a product over the course of four years all alone, reached $10k MRR and sold for $0.8M. But I won't sell. I only care about revenue. If I get to $10k MRR, I will most likely stop doing new features and focus on fixing all the bugs there are and improving performance. This and security patches. Maybe an occasional facelift. That's it. Some products are valued because they don't change, like Sublime Text. The utility tool you can rely on. This is my scheme, this is what I want to do in life. A best-kept secret.
Imagine 100 million users that hate my product but use it because there are no alternatives, 100 people in data enrichment department alone, a billion dollars of evaluation (without being profitable), 10 million twitter followers, and ten VC firms telling me what to do and what data to sell.
Fuck that. I'd rather have one thousand loyal customers and $10k MRR. I'm different, some call it a mental illness, but the bottom line is, my goals are beyond their understanding. They call me crazy. I won't say it was never about the money, of course it was, but inflating your evaluation is not “money”. But the only thing they have is their terrible hustle culture lives and some VC street wisdom, meanwhile I HAVE products, it is on record on my PH. I have POTDs, I have a fucking Golden Kitty nomination on health and fitness for a product I made in one day. Fuck you.6 -
Forgive me Linus for I have sinned. It has been since the dawn of time since my last confession.
I hardcoded naming conventions for file names into a script that is used to remove incorrect lines of text that are created during our process to create the files that we send out so that healthcare claims get paid correctly and copy and pasted the code for each new state’s health plan since the users(who are supposed to be technically inclined as they’re in IT as support analysts) can barely figure out how to set up the excel file to remove the lines. There are now 18 files of the same python script with different US States’ names.2 -
The Zen Of Ripping Off Airtable:
(patterned after The Zen Of Python. For all those shamelessly copying airtables basic functionality)
*Columns can be *reordered* for visual priority and ease of use.
* Rows are purely presentational, and mostly for grouping and formatting.
* Data cells are objects in their own right, so they can control their own rendering, and formatting.
* Columns (as objects) are where linkages and other column specific data are stored.
* Rows (as objects) are where row specific data (full-row formatting) are stored.
* Rows are views or references *into* columns which hold references to the actual data cells
* Tables are meant for managing and structuring *small* amounts of data (less than 10k rows) per table.
* Just as you might do "=A1:A5" to reference a cell range in google or excel, you might do "opt(table1:columnN)" in a column header to create a 'type' for the cells in that column.
* An enumeration is a table with a single column, useful for doing the equivalent of airtables options and tags. You will never be able to decide if it should be stored on a specific column, on a specific table for ease of reuse, or separately where it and its brothers will visually clutter your list of tables. Take a shot if you are here.
* Typing or linking a column should be accomplishable first through a command-driven type language, held in column headers and cells as text.
* Take a shot if you somehow ended up creating any of the following: an FSM, a custom regex parser, a new programming language.
* A good structuring system gives us options or tags (multiple select), selections (single select), and many other datatypes and should be first, programmatically available through a simple command-driven language like how commands are done in datacells in excel or google sheets.
* Columns are a means to organize data cells, and set constraints and formatting on an entire range.
* Row height, can be overridden by the settings of a cell. If a cell overrides the row and column render/graphics settings, then it must be drawn last--drawing over the default grid.
* The header of a column is itself a datacell.
* Columns have no order among themselves. Order is purely presentational, and stored on the table itself.
* The last statement is because this allows us to pluck individual columns out of tables for specialized views.
*Very* fast scrolling on large datasets, with row and cell height variability is complicated. Thinking about it makes me want to drink. You should drink too before you embark on implementing it.
* Wherever possible, don't use a database.
If you're thinking about using a database, see the previous koan.
* If you use a database, expect to pick and choose among column-oriented stores, and json, while factoring for platform support, api support, whether you want your front-end users to be forced to install and setup a full database,
and if not, what file-based .so or .dll database engine is out there that also supports video, audio, images, and custom types.
* For each time you ignore one of these nuggets of wisdom, take a shot, question your sanity, quit halfway, and then write another koan about what you learned.
* If you do not have liquor on hand, for each time you would take a shot, spank yourself on the ass. For those who think this is a reward, for each time you would spank yourself on the ass, instead *don't* spank yourself on the ass.
* Take a sip if you *definitely* wildly misused terms from OOP, MVP, and spreadsheets.5 -
Computer science vs software engineering?
Software engineering is all about people. You have to communicate with the business, realizing their needs, figuring out their processes, optimizing them, all this before the first line of code is written. Then, you have to manage your direct reports, and if you have none, write code with people in mind, people who will read it after you. As they say, code is for people, not for computers. Then, you have to improve the app listening to users, again, people.
I can’t assign a software engineer a role higher than middle if they’re bad with people.
If you wanna do cool stuff with computers and be a misanthrope, do computer science! It’s a very prestigious field where you are left alone with scary math and fundamental concepts. If you’re successful there, you’ll have a mad asocial scientist card, and no one will ever insist to you that people is important. They will just accept that they shouldn’t annoy you, and you are “allowed” to yell at them because you’re “special” and a “genius”. You can hate them 24/7.2 -
Me: You decided some records in system A should be obsolete, but the records are tied to active user accounts on the website. Now, I have users emailing and asking why their profile’s last name field says “shell record - do not use.”
Stakeholder: Oh…can’t you stop those profiles from loading? Or redirect the users to the right record in system A? In system A, we set up a relationship between the shell record and the active one.
Me: 😵 Um, no and no. If I stop a user’s profile from on the website, that’s just going to cause more confusion. And the only way to identify those shell record is to look at the last name field, a text field, for that shell record wording. Also, the website uses an API to query data from system A by user id. Whatever record relationship you established isn’t reflected in the vendor’s API. The website can’t get the right record from system A if it doesn’t have the right user id.7 -
Lessions I learned so far from my first big node/npm project with tons of users:
1) If you didn't build something for a while, expect 3 hours of resolving version conflicts for every two weeks since the last build.
2) Even if the tests pass, run the containers on your own machine and make sure that the app doesn't randomly crash before deploying
3) Even if the app seemed to work on your own machine, run the tests again in an environment mimicking prod at most 15 minutes before replacing the running containers.
4) Even if all else indicates that the app will work, only ever deploy if you expect to be available within the 4 hours following a deployment.
5) Don't use shrinkwrap for anything other than locking every version down completely. A partial shrinkwrap will produce bugs that are dependent on the exact hour you built the app _and_ the shrinkwrap file, and therefore no one will ever have seen them other than you.
6) Avoid gyp, and generally try not to interface too much with anything that doesn't run on node. If parts of your solution use very different toolchains, your problems will be approximately proportional to the amount of code. And you'd be surprised just how much code you're running. (otherwise it's more logarithmic because the more code the less likely a new assumption is unique)
7) Do not update webpack or its plugins or anything they might call unless you absolutely need to
8) Containers are cool but the alpine ones are pretty much useless if you have even just one gyp module.
9) There's always another cache. To save yourself a lot of pain, include the build time in every file or its name that the browser can download, and compare these to a fresh build while debugging to assert that the bug is still present in the code you're reading
+1) Although it may look like it, SQLite is far from a simple solution because the code and the bindings aren't maintained. In fact, it'll probably be more time consuming than using a proper database.3 -
Old old organization makes me feel like I'm stuck in my career. I'm hanging out with boomer programmers when I'm not even 30.
I wouldn't call myself an exceptional programmer. But the way the organization does it's software development makes me cringe sometimes.
1. They use a ready made solution for the main system, which was coded in PL/SQL. The system isn't mobile friendly, looks like crap and cannot be updated via vendor (that you need to pay for anyway) because of so many code customizations being done to it over the years. The only way to update it is to code it yourself, making the paid solutions useless
2. Adding CloudFlare in the middle of everything without knowing how to use it. Resulting in some countries/networks not being able to access systems that are otherwise fine
3. When devs are asked to separate frontend and backend for in house systems, they have no clue about what are those and why should we do it (most are used to PHP spaghetti where everything is in php&html)
4. Too dependent on RDBMS that slows down development time due to having to design ERD and relationships that are often changed when users ask for process revisions anyway
5. Users directly contact programmers, including their personal whatsapp to ask for help/report errors that aren't even errors. They didn't read user guides
6. I have to become programmer-sysadm-helpdesk-product owner kind of thing. And blamed directly when theres one thing wrong (excuse me for getting one thing wrong, I have to do 4 kind of works at one time)
7. Overtime is sort of expected. It is in the culture
If you asked me if these were normal 4 years ago I would say no. But I'm so used to it to the point where this becomes kinda normal. Jack of all trades, master of none, just a young programmer acting like I was born in the era of PASCAL and COBOL9 -
How to reproduce:
- have a single login form for admins and ordinary users
- add a second button right next to 'login' which reads 'login as admin' in order to have a separate login for them
- release a new version of software with this change solely and changelog informing about it
- have customers admin tell you everybody is complaining about not being able to login with thwor admin accounts5 -
Asp.net core. There's a page with the users list and invite form. The invite form opens automatically on page load, if the viewmodel isn't valid. So the invite button opens the quack'th page of the table.
-
when you work for Jira and get assigned in Jira’s Jira to write code in Jira Query Language to query Jira’s Jira so other Jira users can query their Jira better2
-
So are there WhatsApp users who now also would want to migrate after the new terms & conditions to something like Signal, but know that nobody in their contacts will probably migrate as well?
I hate it that you're basically forced to stay on WhatsApp because everybody (at least for me) is using it and 90% of the users probably don't care.
Im gonna try and see whether or not I can 50/50 them, but I'm scared that WhatsApp is simply too big to have people transition... Using it as a safer sms app is quite useless because well, it's basic sms and nobody in my direct contact circles uses texts (neither do I want to do that tbh).21 -
Since when is it possible for other (administrator?) users to edit my questions on StackOverflow? I just got alerted that someone removed a sentence from a post I made there. It's not terrible. I probably should have excluded that sentence myself. But that seems really heavy-handed.13
-
Devs are users too damnit. Stop making bad UX for your tutorials. Bonus bad boy points if you can't write clearly or spread misinformation.2
-
New AltRant update!
This update features a fix for instability issues in the Notifications tab. All users that are in the testing group - please update soon! I am giving you a 3-day update window.1 -
well that's curious... Apparently, when uploading a csv file via bot, Slack now appends a .py suffix to it.
I wonder what's the logic behind it. Trick as many users as possible into executing potentially malicious code?21 -
If you’re ignoring accessibility on the web, you’re making UIs exclusively for American white rich healthy neurotypical straight cisgender male Chrome users with gigabit internet and top of the line computers.17
-
I used to work in project tailored for specific companies used by at most 100 daily users.
Right now I work in a project with 1mln unique daily users. I am on a call where it was decided to scrap one feature because it generates "only" 20k monthly usages. This is more traffic generated then all my provides projects combined :D3 -
"Did you know that this popup saved the life of countless API calls by preventing users from frantically clicking the 'Continue' button?'
Another funny line I added to a dialog in my project today as one of its finishing touches :D -
"hey, you know that help site that our main app users rely on to know wtf is going on?"
"yeah...?"
"let's change the URL without pre-planning or advance warning for any relevant teams, and just tell them afterwards!"
"hell yeah, great idea!"
seems like information here is on a need to know basis, if you need to know then you definitely aren't getting it1 -
- Elon telling Twitter users that the 2-factor authentication microservice isn't working.
- More than half of Twitter not knowing wtf he's talking about 👁️👄👁️4 -
Can we normalize NOT using giant acronyms in GitHub issue threads? Nobody understands what you are saying.
The same goes for you, HackerNews users, we can't psychically jump into your ASCII LOL DDD ABC XYZ brain and automatically know what you mean.8 -
Alright, my very first post here was about this project and I am thinking it out loud again.
I see a problem and I am struggling to find a solution.
Now what I am thinking of is to articulate the problem well and state WHY I believe it needs to be solved. There are some reasons which must be presented in a capitalist way.
Furthermore, I am thinking of doing a market research to understand various demographics, validate the idea, and figure out the product-market fit.
Now, this qualitative research and quantitative data will help me decide whether it is worth putting in the efforts to solve the problem or not.
And since, we have an MVP already (funnily yes, we built it before all of the above), that will help me validate the tangible solution.
Once we get a confidence boost, then it will be time to get that single transaction which has net positive cash flow.
Start scaling to 'next billion users', so a billion transaction with net positive cash flow.
I won't be branching out into multiple verticals before be able to sustainably scale the core USP.
And while the second half sounds like, 'I have a million dollar idea', I am trying to be more and more realistic and rationale instead of falling in love with my idea.
I don't even have an idea (read solution) to fall in love with. Rather I have a problem that is bothering me.
So, yes, I am continuing this journey to solve the problem which started in second year of my hostel room and has evolved over 10 years. -
Stakeholder: Users are unable to buy tickets on the website. IT says Azure’s health check is showing an unhealthy status.
[It’s Sunday. Web Engineering is not on call so no one sees this right away.]
Stakeholder: IT restarted the Azure website twice, but users still can’t place orders.
Me: There was never an issue with the Azure site. That health check is inaccurate. There is a rewrite rule that sends the Azure supplied domain to our custom domain. The Azure health check doesn’t like that so it returns an unhealthy status. The problem is the ticketing server that the website has to communicate with. The ticketing server is overwhelmed and can’t handle more requests. IT should have checked the ticketing server’s logs. This has happened before and it’s never been an Azure issue. It’s a ticketing server issue.
Stakeholder and IT: Oops 😅
—-
JFC. Stop trying to make this web engineering’s problem. Stop trying to make it look like engineering dropped the ball. The ticketing server has experienced this issue multiple times. The ticketing server is maintained by a different team. The website’s symptoms are always the same and there are steps you need to take before you make the decision to restart the website, which will cause the website to show a blue screen of death that says 503 service unavailable for a few minutes. And we have a switch to shut off all transactions. Why do you not want to use it when it’s clear the website can’t process transactions???3 -
How did mid-2000s computer users get along with just 1 GB of RAM or less?
As of today, anything less than 8 GB of RAM seems impractical. A handful of tabs in a web browser and file manager can quickly fill that up.
Shortly after booting, 2 GB of RAM are already eaten up on today's operating systems.
When I occasionally used an older laptop computer with 6 GB of RAM (because it has more ports and better repairability than today's laptops; before upgrading the memory), most of the time over 5 GB were in use, and that did not even include disk caching.
It appears that today's web browsers are far more memory-intensive than 2000s web browsers, even if we do similar things people did in the 2000s: browsing text-based pages with some photos here and there, watching videos, messaging and mailing, forum posting, and perhaps gaming. Tabbed browsing already was a thing in the 2000s. Microsoft added tabs to their pre-installed browser in 2006, back when an average personal computer had 1 GB of RAM, and an average laptop 512 MB!
Perhaps a difference is that people today watch in 720p or 1080p whereas in the 2000s, people typically watched at 240p, 360p, or 480p, but that still does not explain this massive difference. (Also, I pick a low resolution anyway when mostly listening to a video in background.)
One could create a swap file to extend system memory, though that is not healthy for an SSD in the long term. On computers, RAM is king.11 -
First post yay!
I'm a "tech" lead for my team. The "tech" stands for technically, I can go on a whole different rant there but that's not why we're here today.
So we have a new PM on our side and a new PM on the client side. I've been working on this project longer than any of the devs and PMs have.
One of the tasks that my team does is validate and ingest data. It's pretty straightforward and it's fully automated. It takes minutes, and at most an hour, to complete this task. We get these tasks from users randomly and they don't have any schedule to it. It's FIFO basis and we just add it to our current sprint if we have bandwidth or add it to the next one if we don't. Not a big deal, no users have complained about it before, it's just business as usual. And we have a tracker of when we received it, how big it was and when it's been ingested. Super simple.
So now comes in the new client PM. He's been asking us to come up with timelines for these ingestions. My project's new PM is bending over to him and saying okay we'll come up with it, no problem. Well, there is a problem. We don't know that far in advance for when these tasks are coming in. Even if we did, now we're supposed to create timelines for a 10 min task? It literally is uploading a file and our system handles everything and I've explained that to my pm but he still is like well that's what they want. It takes less effort to do the ingestion than to make these timelines. It just means project managers bothering devs about timelines.
Idk how to deal with this. Thoughts? Any similar experiences?5 -
time to go for full snack development
https://youtu.be/h8fh9R4401g
https://youtu.be/y4w5E8W2f0M
started some open source project for discord bot that provides info for some free game users, through scrapping forum and requesting apis
This is kind of going to be a major refactorized second version, that considers all mistakes of a first version. And going to be much more scalable and easy to maintain.6 -
Fuck Apple with two pineapples in the ass. 99€ per fucking year to tell me how the fuck should the access to my app be. I damn require users to sign up. I only need email and country. Not a single other piece of data. My app is not a goddamn catalogue or boutique. No free content, free app but each user needs to Auth themselves. You fucking telling me y pay 99€ so you decide how the access to my app should be?
Cunt Apple should rot in 10 day old humid shit and let devs be owners of their apps and hard work. Clowns.7 -
I’m sooo excited when any new frontend JS framework is available. Angular, React, more recently Vue, Svelte. Bring ‘em on. I wanna try them all.
Just kidding…
As long as the tools at hand allow me to get the job done, keep clients and end users happy, I don’t give a fuck.
This meme is actually the epitome of what I hate with a lot of web developers I’ve encountered2 -
client: "I cannot access the app"
me: "How? Can't install app? Can't login? Any error messages?"
client: Sends picture, one of the screens shows error
I really don't understand some users. How does one connect the dots between "cannot access" and "screen error". -
I really have to say i love and hate dev rant :( Why is the feed so so so so bad. I see almost the same posts everytime/day. Even when i refresh. And its not better when looking at today/week/month/alltime. Is the Devrant just not maintslned anymore or are there just soo few users.
On the other hand though i find it veey enterteining and relateable at times. Much better then some twitter/insta etc .. i hope devrant will get more love from the devs and more user :)4 -
I just released a new version of AltRant for TestFlight users, it’s supposed to fix most issues about the home feed layout. All testers are asked to update and test.
-
Please share your thoughts on Dependabot security alerts on Github, more specifically for NPM packages in package-lock.json.
In 99% of cases I've found them useless as:
- package-lock.json is in the repo, but not in the NPM package (=no value to users)
- most of the updates relate to devDependencies (=no value to users)
- it clutters the git history (and changelog if it is auto-generated) with a batch of patch updates (updated depx to .1, .2, .3) while the only important thing in the next release notes is the delta (updated depx from .1 to .3) (=no value to users)10 -
I hate installing things with pip. It has to be the worst set up for a package installer. About 75% of the time something I'm installing fails and I have to look up why. Coming from npm and yarn where it just works I can't stand the disconnect I get when trying to get into something and I have to configure stuff for the first 3 hours before I can actually do anything.2
-
If you are posting a job and you decide to force candidates to create an account on some third party website just to submit a resume, I hope you only get the least qualified people.2
-
Best:
Seeing ALL the members of my team finally coming into their own. One person tackled our entire not-at-all-simple CI/CD setup from scratch knowing nothing about any of it and, while not without bumps in the road, did an excellent job overall (and then did the same for some other projects since he found himself being the SME). Two of my more junior people took on some difficult tasks that required them to design and build some tricky features from the ground-up, rather than me giving them a ton of guidance, design and even a start on the basic code early on (I just gave them some general descriptions of what I was looking for and then let them run with it). Again, not without some hiccups, but they ultimately delivered and learned a lot in the process and, I think, gained a new sense of self-confidence, which to me is the real win. And my other person handled some tricky high-level stuff that got him deep in the weeds of all the corporate procedures I'd normally shield them all from and did very well with it (and like the other person, wound up being an SME and doing it for some other projects after that). It took a while to get here, but I finally feel like I don't need to do all the really difficult stuff myself, I can count on them now, and they, I think, no longer feel like they're in over their heads if I throw something difficult at them.
Worst:
A few critical bugs slipped into production this year, with a few requiring some after-hours heroics to deal with (and, unfortunately, due to the timing, it all fell on me). Of course, that just tells us that next year we really need to focus on more robust automated testing (though, in reality, at least one of the issues almost certainly would not - COULD NOT - have been caught before-hand anyway, and that's probably true for more than just one of them). We had avoided major issues the previous three years we've been live, so this was unusual. Then again, it's in a way a symptom of success because with more users and more usage, both of which exploded this year, typically does come more issues discovered, so I guess it tempers the bad just a little bit.2 -
I love being a consultant, and I love my job. However, I’ve been working with this client for the past few months and the past few weeks have been so draining. 90% of the people at the client’s side are super nice people, and then there’s this one person that just barks orders at us whenever a tiny thing is broken. Everything is urgent, everything is top priority, and we need to drop whatever we’re doing to fix what they deem urgent. I am currently pretty much the only dev doing both support and feature development at the same time and I am getting mentally very tired.
Whenever something is broken we get shit feedback, but for all our efforts there’s never any positive feedback. Mind you, the project isn’t even publicly accessible yet, it’s in a “alpha” phase where there are only a handful of users testing the program.
How do you guys deal with people like this?3 -
Believe me or not but there are some companies that do test their software on prod and ignoring users complaining.
What you think of this?14 -
This got me wondering...
Was shown a product today, doesn't matter what it was, because that part is irrelevant for question. Just out of unsubstantiated curiosity, I'm curious to hear other opinions .
How do you judge a product during first impressions period? Doesn't matter if it's a piece of software, gadget, food product, or all of the aforementioned at the same time.
As I just said - I was shown a product today, well, okay ... not in-person, and not actually shown, rather, made aware of a product. And after looking at it, I realized, that I can no longer look at a product and not focus on "red flags" or look for "where's the catch?". This product, that I'll just keep referring to as "the product" for the sake of keeping it neutral, was unfamiliar to me - I know nothing of it's manufacturer, so any trust to the brand is non-existant, the product brief on the website only made me question every marketing bulletpoint claim they had listed, aņd it didn't make me interested enough to go look up feedback from other users. This drew my attention to the realization that I do this with everything - I only look for whatever i'm looking for... I no longer pay any attention to discovery or suggestions. If I'm looking for HW, I'll focus on what it can and cannot do for the price and the actual first impression will form from using it, if it's SW - same deal, but actual first impression will form based on cross-platform compatibility, state/quality of documentation. Oppose to me, back in the day, where I'd just pick it up irregardless and "flubbed it" along somehow until it worked out.4 -
Elon permanently suspended me cos I called him out… he claims to have suspended spam accounts. But most users he’s suspending are legit OG accounts.8
-
I find still very funny that Desktop outlook (So Microsoft) doesn't support MFA from Office 365.
I'm kind of tired to tell user go and geerate "app specific" pass which bypasses MFA.
Specially when even default Windows 10/11 mail client supports MFA just fine and fucking faster than outlook.
This is the part of my job I hate : Administrating users, search how to make thier PC/MAC work (Btw Mac client does suppoort MFA ironicly).
Can I just get back to Infrastructure, redis caches, step in Q# ? .4 -
Didn't know how difficult is to work with UDP protocol, doing local tests between two PCs in the same network it works well but, connecting to a public server over the internet has become a PITA, you have to do some shit like hole punching or UPnP(some routers but accoding to some users on the net is not reliable) or some others shit in order to connect it
And all that is because how NAT and UDP works, libs like libtorrent(C++) can connect using NAT-PMP, PCP and UPnP, but nothing in C# that can help with that, this is a game of pure guessing4 -
Any file manager without range selection is basically crippled.
Desktop PC file managers had the ability to select many files at once since at least the 1990s, yet smartphone file managers typically still lack it as of 2022. This means if I want to select a range of files, I have to tap each file individually. That's OK for - like - 20 files, but not for 1100 files. I'd need more time to select those files than the transfer would take, and if I accidentally hit anything that closes the app, I can start all over again. <sarcasm>That is how I wish to spend my day.</sarcasm>
In the early 2010s, ES File Explorer brought a dragless range selection feature, where only the first and last item had to be highlighted and a button pressed. This means over 5000 items could be selected in 10 seconds: tap item A, drag the scroll bar, tap item B, tap range selection icon, then done! But then Google came and said "sorry, you can't have nice things" (not vocally but through actions), and forcibly disabled write access to the microSD card to third-party applications. The only way to evade this restriction was through rooting.
Then, Google "blessed" us with storage access framework and then iOS-like scoped storage "to protect us". https://xda-developers.com/android-... . Oh, thank you for your protection by taking freedoms away!
The pre-installed file manager of Android still lacks range selection THIRTY YEARS after desktop computers came pre-installed with this feature. Shame on you, Google. This isn't innovative.
If Google will implement range selection, I guess they will make it half-assed by implementing drag-to-select, which is hardly more useful than individual tap selection for thousands of files. Then they tell us "you wanted range selection, here you are! Now don't bug us.". Sorry, but users don't want half-assed drag-to-select, but real tap-A-B-selection and a draggable scroll bar.
Some mobile file managers even lack a draggable scroll bar, meaning if I want to go near the center of the list, I have to swipe up like a dog or cat licks water from a bowl.10 -
User: looking up anything in Google Help Center (support.google.com)
Google: (bunch of outdated or misleading answers)
Google: This question is locked and replying has been disabled.
To make it even worse: "Please note that this forum is run by volunteers known as Google Product Experts who are not Google employees and are merely advising on best practices and interpreting Google's policies based on their experience."
So Google uses the free work of volunteers dabbling workarounds for their bugs and misfeatures and, despite Google's reputation as a search engine, fails to present their end users helpful, up to date information.
Dear Google, why not just offer a paid version of your free service where users can actually expect quality of service? I remember the internet before Google and I can't wait for the internet after Google! Seriously!1 -
Docker compose switches users but doesn't update the home directory. Both switching users and not touching envvars are very sensible default behavior, but the result is that the running service has no write access to $HOME - and many programs don't provide sensible error messages for this rather unlikely scenario.2
-
New AltRant release!
Release Notes:
- Transitioned to URLCache-based caching solution for attached images for much faster loading times
- Fixed many layout issues
- Finally added "more info" button in profile screen after 2 years of the feature being absent from the app
- Fixed many different crashes
- Added rant refreshing
- Added double tap to upvote on rants and comments
- Added creation date/time indicators on rants and comments
- Added comment count indicator in post cells in feeds
All users are required to test every aspect of the app.
I worked really hard on all of this to improve every single aspect of this app - from responsiveness to crashes and layout glitches, while also adding many features that were absent for a crazy amount of time! Please enjoy!
The last build will expire in a week from now.4 -
We should rename our "users" table to "losers".
It would be more accurate, plus the added benefit of security through obscurity - we'd be immune to little Bobby Tables.5 -
Guys, if Microspyoft are spying on its users, how bad this can affect your digital life or even ordinary life? what is the worst case in this conspiracy theory10
-
Microsoft, please stop the incomprehensible work vs. school account stuff and if you want to mail me a login code, then please actually do send an email. What's wrong with Microsoft Teams and office always giving its users headaches already when trying to log in?
A customer sent me a "FindTime" link, something like Calendso / Calendly, but "powered" by Microsoft Office. Seems that their power is off again, like ever so often. Microsoft: "can't access your account: You can't sign in here with a personal account. Use your work or school account instead."
Okay, go to bing, and search your error message. Try to use bing page to log in to my account: Microsoft: "We emailed a code." (No you didn't. At least I never received anything. And, yes, I did check my spam folder!) Microsoft: "Other ways to sign in: use Microsoft Authenticator".
me: "dear customer, please feel free to pick any time and date that matches your preference, as the FindTime link has been impossible to use".
How can Microsoft make me feel so dumb again, after more than 20 years as a developer? Have they ever heard about usability?9 -
Why devRant is not open source?
I know that it has a Github issue tracker with a awful amount issues.
Wouldn't it be better if people could work on the platform to improve it since most of the devRant users are developers.
(Just a random thought i had)11 -
Is the search function useless?
I tried it in the official devRant app because I consider adding it to JoyRant.
But it never finds anything relevant for me.
Even if I give it an exact substring of a comment, it doesn’t find it.
It also doesn’t find users (which would be useful)
Does it only work for the text in a rant?
Do you find it useful?6 -
Useless JS library #1 ready:
A paned-tabbed js grid, where cells can be iframes because every grid operation only changes the css and the cell itself is never moved in the DOM. The purpose is to support complete sandboxing of untrusted snippets, so we could even let users pick their own modules if they want extra functionality.
Soon I'll clean up both this and the messaging and put them on github, but to me writing these is a creative process and the working prototype is everything but readable.
In the meantime I put it on
http://test.tardigrade.dynu.com6 -
I am not tired enough to sleep but I am not awake enough to fully concentrate.
It has been going on for 3-4 days. Am I burn out?2 -
#Suphle Rant 3: Road to PHP8, Flow travails
Some primer: Flows is a feature that causes the framework to bypass handling the request now but read it from cache. This cache entry is meant to be populated without warming, based on the preceding request. It's sort of like prefetching but done on the back end
While building Suphle, I made some notes on some chapters about caveats and gotchas I may forget while documenting. One such note was that when users make the Flow request, the framework will attempt to determine who user is, using authentication mechanism defined on the first module (of the modular monolith)
Now, I got to this point during documentation and started wondering whether it's impossible for the originating request to have used a different authentication mechanism, which would result in an empty entry for returning user. I *think* it's possible cuz I've got something else called "route mirroring", where web based routes can be converted to API routes. They'll then return JSON, get served under defined API path, use JWT, all automatically. But I just couldn't connect the dots for the life of me, regarding how any of this could impact authentication on the Flow request
While trying to figure out how to write the test for this or whether it was even necessary (since I had no use case), it struck me that since Flow requests are not triggered by an actual user, any code attempting to read authenticated user will see nothing!
I HATE it when I realize there's ambiguity or an oversight, after the amount of attention and suffering devoted. This, along with a chain of personal troubles set off despondency for a couple of days. No appetite for food or talk. Grudgingly refactored in this update over some days. Wrote some tests, not all passed. More pain. May have to convert them to unit tests
For clarity, my expectation is, I built this. Nothing should be impossible for me
Surprisingly, I caught a somewhat lucky break –an ex colleague referred me to the 1st gig I'm getting in 1+ year. It's about writing a plugin for some obscure forum software. I'm not too excited cuz it's poorly documented and I'll have to do a lot of groping, they use arrays instead of objects etc. There's no guarantee I'll find how to implement all client's requirements
While brooding last night, surfing the PHP subreddit, stumbled on a post about using Rector to downgrade a codebase. I've always been interested in the reverse but didn't have any incentive to fret over it. Randomly googled and saw a post promising a codebase can be upgraded with 3 commands in 5 minutes to PHP 8. Piqued my interest around 12:something AM. Stayed up all night upgrading it, replacing PHPSTAN with Psalm, initializing the guy's project, merging Flow auth with master etc. I think it may have taken 5 minutes without the challenge of getting local dev environment to PHP 8
My mood is much lighter than it was, although the battle is not won yet –image tests are failing. For some weird reason, PHP8 can't read generated test images. Hope I can ride on that newfound lease on life to study the forum and get the features working
I have some other rant but this is already a lot to digest in one sitting. See you in rant #4 -
At old e-commerce job, some orders were coming through with most of the shipping info missing. The only info filled out was the State. When we looked at Heap, we could see the user was filling in those fields. There was both frontend and backend validation for required form data, so the user shouldn’t have been able to checkout without an address.
When I looked at the BE logic, I saw addresses were retrieved from our database by using a method called GetOrCreateDefaultAddress. When the website couldn’t find the address in the db, it created a new one where the only address field that was filled in was the state.
Unfortunately, this default address creation was happening after the submit button had been hit. There was no logic to validate the address this late in the checkout because the earlier form validation in the process should have caught this.
The orders did have email addresses, so customer service did have a way to contact the customer. I have no idea what happened to the user’s address. Was it never saved? Did it get caught up in a cron job to delete old users and addresses from the db??2 -
Got called in to work for a last minute change on a utility, I got sign off 2 months ago.
If you give sign off and don't test it. Why do I suffer for it1 -
which software/research/project you created in your free time as a hobby recently?
I personally created a small widget app that would allow users to create widgets of PDF files on their mobiles.
i have noticed a personal trend : i tend to spend my free time on language/tools/framework that are somewhat different than my daily job. I am a software engineer building sdks in my job that provide a very commercial set of features for android apps, but ended up creating an hobby app that would utilise android's other cool APIs ( storage, file, permission etc) .
before this project too i was exploring backend and web development, creating small react websites in my past time.
do you also spend time exploring outside yhe frameworks/tools used in your work life? or if not, how do you keep yourself motivated? the lateral part os important for me as i am soon going to a job where i might be exploring android APIs in daily work life and therby making android apps will become boring for me .
i remember before joining an SDK making company, i was trying to come up with an SDK myself lol, which at that time was opposite yo rhe work i was doing in the day2 -
You know what, fuck this. I want a functionality that is supported on browser versions back to 2016 of the major browsers... Besides IE, where it isn't supported.
But honestly fuck IE users, they can have invisible characters. Certainly no other people above me in the management structure will be using old computers enough to lose it, or at least the head honcho should be able to overrule, as from past experience if it works on my machine and my boss' boss' machine, my boss' machine doesn't matter.1 -
Not a rant.
I’m tinkering for some months at something . Something that i want to turn into a startup, but i feel a little burned out, i have all this thoughts now that’s a shit idea that no one would even want it , even though i had great feedback and some users are already using it.
How do you guys deal with things like this?5 -
STOP! Look and Listen.
This was an audit, designed to see if you were paying attention. You didn't pass.
Don't worry, we've already handled this post appropriately – but please take a minute to look it over closely, keeping in mind the guidance above.
Seems like StackOverflow is actively training users to become unfriendly gatekeepers by participating in SO's review queues.15 -
We should begin refusing to work for companies who enforce using MS products. Need to buy actual desktop office license because their software doesn't accept web-edited elements? Pass.
Seeing a "are you still there" message in MS teams, or figuring out what other browser to use since you already have several MS accounts? Pass.
Azure devops and no way to expand the code during review?
Yup, pass!
Enough of this BS. People who opt for using MS software don't care about their users nor contractors' experience. We shouldn't care about those people.24 -
Damn Apache Spark. Instead of supporting just one language that works perfectly well, let's support several languages that give users different results! It's so much fun to combine chunks of each language to get a fully working solution!3
-
Once the WebExtensions process of Firefox crashes, one must restart each extension individually.
This means one has to open the add-on manager and double-click these small toggles with the cursor. When one does not double-click fast enough, the listed extension moves from the "enabled" down to the "disabled" section, and the add-on manager lacks a search feature, (Ctrl+F just actuates the "Search addons.mozilla.org" search bar), meaning one has to manually scroll and find it.
It almost seems like it is deliberately designed to annoy users.6 -
Recently, Apple rolled out Push Notifications for PWA websites as a beta feature on iOS 16.4 devices. And let me tell you, it's a game-changer! But, when a client asked me to implement push notifications for their iOS users via web and service worker, I knew it wouldn't be a walk in the park.
Why, you ask? Well, their backend code base was written in Plain F*cking Vanilla PHP, which felt like I had time-traveled back to the 1980s! Plus, since the ios web push feature is still in its early stages, there were hardly any resources to guide me through the process of sending push notifications to Apple WebPush API using plain php.
Despite the obstacles, I managed to successfully send notifications to Mozilla and Google Chrome users. But Safari? Not so much. The client needed the task done within 24 hours, but due to delays, it ended up taking me three days to figure out the kinks. In the end, I had to refund the client, but I'm not one to give up easily.
In fact, I've created a public GitHub repo for a Quotes App in Flutter (https://github.com/GiddyNaya/...) that can send PN to iOS users via web. I'm diving down the rabbit hole to figure out how to make it work seamlessly, and I won't stop until I've cracked the code. Wish me luck!15 -
Product Manager: Is there an event in the staging environment that we can use for testing orders?
Stakeholder: [Out of his comfort zone because he’s taking over tasks that used to belong to his assistant and he doesn’t have a new assistant yet.]There’s an event for 6/9/2022 that still has tickets available.
[Today is 8/24/2022.]
PM: You do realize that the website doesn’t allow users to buy tickets for events that are in the past?14 -
Please don't use OS specific libraries/binaries/build tools...etc
I'm talking to C/C++ users here. once in a while I see something on github maybe im just curios maybe I find your niche code useful but then you use make (who the hell still uses make?) or your library depends on another library than can only be mindlessly installed in a unix environment. and the most obscene of all a solution file...
thank god for rust.14 -
My friends, I got caught by the operating system police and mine isn't PCI compliant so I had to fire those fucks over "gaping cultural mismatch".
Stay tuned to discover if I end up realizing my long term goals or if I starve trying.
God windows users are retards4 -
My site on mobile has long pages, so the menu button that is located in the header becomes difficult to access.
I planned to put an arrow at the bottom to allow users quickly return to the main screen, but this is not a solution to the problem, since not everyone scrolls through the page to the very end.
In theory, I can make a fixed header with the menu button at the top of the page so that the visitors could always see them.
I don't know if it's worth it. What do you think?3 -
Whenever I see an ORM that supports creating and transforming objects in bulk, I can't help but think about the poor misdirected users who forced it to do that. It's an Object-Relational Mapper. It maps objects. The whole concept isn't designed for bulk operations, the point is that you add logic to each and every record and convert your operations to SQL so that you never have to keep a lot of them in memory.4
-
You can make your software as good as you want, if its core functionality has one major flaw that cripples its usefulness, users will switch to an alternative.
For example, an imaginary file manager that is otherwise the best in the world becomes far less useful if it imposes an arbitrary fifty-character limit for naming files and folders.
If you developed a file manager better than ES File Explorer was in the golden age of smartphones (before Google excercised their so-called "iron grip" on Android OS by crippling storage access, presumably for some unknown economic incentive such as selling cloud storage, and before ES File Explorer became adware), and if your file manager had all the useful functionality like range selection and tabbed browsing and navigation history, but it limits file names to 50 characters even though the file system supports far longer names, the user will have to rely on a different application for the sole purpose of giving files longer names, since renaming, as a file action, is one of the few core features of a file management software.
Why do I mention a 50-character limit? The pre-installed "My Files" app by Samsung actually did once have a fifty-character limit for renaming files and folders. When entering a longer name, it would show the message "up to 50 characters available". My thought: "Yeah, thank you for being so damn useful (sarcasm). I already use you reluctantly because Google locked out superior third-party file managers likely for some stupid economic incentives, and now you make managing files even more of a headache than it already is, by imposing this pointless limitation on file names' length."
Some one at Samsung's developer department had a brain fart some day that it would be a smart idea to impose an arbitrary limit on file name lengths. It isn't.
The user needs to move files to a directory accessible to a superior third-party file manager just to give it a name longer than fifty characters. Even file management on desktop computers two decades ago was better than this crap!
All of this because Google apparently wants us to pay them instead of SanDisk or some other memory card vendor. This again shows that one only truly owns a device if one has root access. Then these crippling restrictions that were made "for security reasons" (which, in case it isn't clear, is an obvious pretext) can be defeated for selected apps.3 -
Linux users needing to run literally ANY script again:
⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️...4 -
Classiflying hack tools as virus on windows defender or whatever puts in risk users that want to hack some device but have to disable user defender to use them (and could potentially download malicious software bundled together or inside the hack tool)3
-
Python.... Apparently Python maintainers now want their users to compile Python from source. What the hell? Where are the binary builds??
https://python.org/downloads/...6 -
When Microspyoft will release Windows 12 and Windows 13, Windows 14, Windows 15, I'm sure you know how to count numbers, good keep incrementing, I just feel sad for the miserable users who will use these future versions.6
-
Poorly built software is the other side of the coin of over-engineered software. They both exist because users carelessly use software products. By not exercising the code enough, or system failure not costing the business more penalties than they can bear, incompetent developers will continue to get away with building things haphazardly –not as relates to tech stack, but the nitty-gritty implementation details they gloss over without adequately thinking through
Because of this, there doesn't seem to be sufficient incentive for thorough planning –what could be referred to as over-engineering. Those fancy pedantry in code mostly goes unnoticed by the end user. Of course, this doesn't apply to big corporations in most cases. It's usually unexpected to see elementary bugs in them3 -
I am hearing reports from less computer savvy people that some Apple devices will refuse to charge the battery if updates are not applied. Supposedly as a way to strong arm users to update. I cannot find anything on this when searching.
Has anyone heard of this?9 -
Sorry, I'm very stupid and know nothing about cloud development.
My need: I have a php code I want to put in cloud and launch as a task every N minutes automatically until I decide to stop it.
What is the best solution to do it, do you know some good services that allows me to do it easily, quickly and affordably?
For ex. "Heroku" allows me to do something like that?
Thanks in advance, I would really like to learn this part of software development I never touched in my life.
P.S. It's not a service I want to put online with access for users, it's just a "script" I want to have running on a server until I'm done.6 -
Utility libraries, because I actually get to see my life improve because I have them. Creating new projects becomes easier because I put parts I reuse somewhere else.
There was an old config file generator/manager I kept using for a while, some string conversion libraries between formats, some REST/WebRTC API wrappers, I have a web audio API I create tunes with in various projects. CI/CD scripts for laziness so I never have to know how to set anything up again. Lately the thing I'm most happy about is I turned some free text saving service into a makeshift database and it's been working well for about half a dozen projects now. Wouldn't handle large amount of users but can't beat free and easy.
I also find merit in prototypes/old projects, because I can reference random things I did in them in newer unrelated projects. Things too small to warrant their own utility library, argh! -
Why are apple so fucking back assward and stubborn when it comes to their app review process?
So, at work I made an app. It's a simple one, but it's an app.
It makes it so that the user doesn't have to enter their credentials to sign in to a system developed on our platform.
If you give it a hard oded config it will only connect to that server, if not, it fetches a list of available servers and the user has to select which they want to connect to.
I've uploaded basically the same fucking app thrice, twice with and once without a config.
Two of them when somewhat smoothly through the review, but the last one has been stuck for almost two fucking months! And guess what it's one of the ones with a config!?!
How is that in any way consistent?
They fill us with shit like "your screenshots aren't representative", so I update them.
They go "this is not an AP for the public", I tell them I give less than a steaming pile of fresh dung from a retarded donkey, the intended users are freelancers, so just fucking greenlight it.
Then they go "your screenshots aren't representative", so I tell them to pound sand or specify which screenshot is wrong or what they think is missing.
How are they so fucking inconsistent with their process? Isn't is this process that they used as of defence for their shittastic monopoly, that they don't want to call a monopoly?
I'm so fucking tired.5 -
can you use elastic search as a search engine for your app ?
because i see several weak points in it.
the increased latency after every bulk uploading of docs, meaning u cant ensure fast response time for users
the inability to add synonyms without closing the index ? this is either downtime or ill have to replicate an index to update the original and then switch back to it !!
idk i feel i either must have wrong info or elastic is very inefficient. I might be wrong, not too experienced with it so if I am let me know of some good resources and workarounds that helped you3 -
DRM/licensing scheme
To be fair it was mostly because they never sold that software to a single client... But it was also all written in JavaScript
Would've probably been better off mailing the owning company to let them know one of their software users' usage for a lawsuit on backpay or something. Idk I didn't make the rules. They also messed up the specs for how modular the app needed to be so I had to rewrite the whole thing in 6 months, but this time I took the opportunity to do unit tests so that was nice... -
as my first rant here I thought i'd start with one of my favorite relevant quotes:
"If only it weren't for the people, the goddamned people, always getting tangled up in the machinery. If it weren't for them, earth would be an engineer's paradise."
-Kurt Vonnegut, "Player Piano"1 -
Websites that use a snow effect in Winter, with many little snowflakes moving on screen, needlessly drain the battery of mobile devices. Since batteries in portable electronics are usually not replaceable as of 2022, it also shortens the overall useful life of mobile devices.
If web designers feel the need to appear creative, which the snowflake effect isn't since it apparently existed since the 2000s, they should at least give users an option to turn it off. And that option should be available without logging in. Perhaps this useless effect should be turned off by default for mobile users.8 -
Today Tornado Cash (TC) discord deleted, website deleted, devs got arrested.
Heres my question: although i believe TC didnt have any bad intentions in context of to help people launder money, how come the government can that easily shut down ANY crypto/nft if they really want to?
What exactly is "decentralized" here...?
TC was not made for money laundering, just like onlyfans wasnt made to be pornographic website - the Users are the ones who determined its fate.
If TC had a way to block illegal transactions, then that would be a web2 company and not web3.
And now when TC doesnt block illegal transactions in order to remain "decentralized" and "anonymous", they got arrested and their system got shut down. Ironically, so much for "anonymity" and "decentralization"...
This means the government is able to shut down absolutely any and every crypto, including BTC if they really wanted to. The question now remains is: why are they letting it roll and not shut down the whole of crypto?
What if crypto was a part of the governments plan for a future financial world where they can control, freeze, block or shut down our finances with a click of a button just as easily as they arrested TC founders today?8 -
What is it with UX designers who have no clue about what makes a good, usable, logical and efficient to develop and maintain UI that users will be happy to use?
The profession appeared out of nowhere a few years back and I have yet to meet a single one who has even basic sense of what makes good UX.8 -
Is Apple alone who owns the rights to its systems? Or do users also own the system when they buy the iPhone? What I know is that users have a USER ONLY license, a non-private, limited and revocable license by Apple. And if what I think is true and that Apple owns its systems, then it is a private right for it, isn't that true?. So why are governments such as the governments of the European Union trying to impose laws on Apple and try to impose changes on Apple's systems even though the systems are private and not public or open source? Is this not considered an attack on private property? I don't know, I just want to get your opinion on the matter more..
What I know is that there are options other than Apple's own systems!!. Therefore, if you want to change, take Android instead of forcing Apple to change what Apple does not want to change.9 -
So what about sandboxing wine by executing it and the prefix under a different unprivileged user than your main user account ?
wine shouldn't be able to access your normal users home directory then right ?
I keep seeing goddamn ads for firejail... and then its main site is a wordpress..9 -
Vivaldi browser is shit.
Simple isntructions on how to make most shitty browser ever:
1. Force users to use "really-fucking-long" password that will not match to any of their existing ones.
2. Invent some useless stupid "encryption password" (why does any normal browser work fine without that shit) and most ridiculous - automatically set it to be the same as the main password.
3. Of course you forget the pass you set because you dont remember what symbol you added 5 times in the end of your normal pass to fit their stupid rules.
4. You have to reset it
5. "Encryption password" does not reset with it, so you still dont remember it
6. Sync is not working!
7. If you think this is shitty enought, you are not right - they went futher. To reset that fucking "encryption password" you have to... ERASE ALL YOUR CLOUD DATA.
Fucking retarded piece of shit - never, never trust those morons who made this shit browser to sync any of your sensitive information.17 -
Android users, I have a question.
How many of you do actually use Apple signup on your Android device?
http://www.strawpoll.me/4606572916 -
Fucking taiga wasting my day.
Client asked to set up a private taiga (taiga.io, some open source Jira alternative).
All goes fine and dandy until you need to link domain user creation to taiga user creation.
Seems I have to choose between having public registration (allows to programmatically create users, but also randoms to sign up) or use their private registry API that asks for a fucking token that is supposed to be returned from their membership/invitation API, that, guess what, doesn't return any bloody token. You can only get the token on the Django admin control panel.
Guess I'll have to end setting up LDAP or integrating with their existing gitlab, but this gig is already starting to smell, and we are close to the weekend 😡1 -
hr- "so why are looking to switch from X"
me- "well i currently work in b2b domain amd i really want to work on B2C product where millions of users are being impacted"
hr- "yeah we also have premium companies as users and b2b work is not much different than b2c. what else?"
me- "uh umm, also i saw the opening for a journalism company , so i was very tempted to apply as i always
wanted to work for jo-"
hr- "the opening is for p, a subdomain of our company which is a music player"
me- "umm that's okay. i guess i like listening to music as well 😅 . also i wanted to work nearby to my home"
hr- "yeah that's the real reason. your current company is asking you to come to their city"
me- "no they are still remote!" (they aren't)
hr- "i will connect you with another person. please be negotiable"
🥺😭 mann i am so much out of the game i am embarrassing myself over a phone call. can't even answer a stupid why question4 -
Who the fuck thinks that an private international api should have a limit of 5 tps (transactions per second) lol. Sadly I can't say the name but damn if I have 5 users just browsing our application, it will be throttled.
Mailed the guy why I need a lot more and now its very silent, really hope he can push the limit.6 -
Do you think which GNU Autotools is slow in supporting the compile_commands.json (needed by many C/C++ auto completion systems) because is mostly used by Clang users?2
-
In the end, Subjugation armor is a notable set for magical (prayer) users. You'll be combating some other boss to obtain it, however in case you've been fighting on the God Wars Dungeon already, it's probably a piece of cake: defeat K'ril Tsutsaroth and his bodyguards in this God Wars Dungeon. Take the armor set right after they've been eliminated. You can increase your protection until stage 70.
How a great deal does a RuneScape Membership price? Subscription & advantages defined
If you're planning to spend some time and effort to Runescape and you're the desire to join one of the clubs. This is everything you want to understand approximately the cost of a club membership in Runescape. Runescape is now a powerful MMOPRG due to the fact its Miniclip starting point, and has grown its lore and gameplay exponentially. While the popular Jagex-advanced gaming can nevertheless be performed without cost, there are plenty of sweets you can purchase for buying a club.
RS gold ( Buy OSRS Gold , RS3 Gold ) for sale. Instant delivery, always full stock, 24/7 support Buy RS GP at RSorder - guaranty of the cheapest trade.3 -
It's these individually tiny annoyances in products and software that together form a huge annoyance.
For example, it's 2022 and Chromium-based web browsers still interrupt an upload when hitting CTRL+S. This is why competition is important. If there was no Firefox, the only major web browsers would, without exception, have this annoyance, since they're all based on Chrmoium.
I remember Chromium for mobile formerly locking scrolling and zooming of the currently viewed page while the next page was loading. Thankfully, this annoyance was removed.
In 2016, the Samsung camera software was updated to show a "camera has been opened via quick launch" pop-up window when both front and rear sensors of the smartphone were covered while the camera was launched by pressing the home button twice, on the camera software Samsung bundled with their custom version of Android 6. What's more, if that pointless pop-up was closed by tapping the background instead of the tiny "OK" button or not responded to within five seconds, the camera software would exit itself. Needless to say, this defeats the purpose of a quick launch. It denies quick-launching while the phone is in the pocket, and the time necessary to get the phone out could cause moments to be missed.
Another bad camera behaviour Samsung introduced with the camera software bundled with their customized Android 6 was that if it was launched again shortly after exiting or switching to stand-by mode, it would also exit itself again within a few seconds. It could be that the camera app was initially designed around Android 5.0 in 2015 and then not properly adapted to Android 6.0, and some process management behaviour of Android 6.0 causes this behaviour. But whatever causes it, it is annoying and results in moments to not be captured.
Another such annoyance is that some home screen software for smartphones only allows access to its settings by holding a blank spot not occupied by a shortcut. However, if all home screen pages are full, one either needs to create a new page if allowed by the app, or temporarily remove a shortcut to be able to access the settings.
More examples are: Forced smartphone restart when replacing the SIM card, the minimum window size being far too large in some smartphones with multi-windowing functionality, accidental triggering of burst shot mode that can't be deactivated in the camera software, only showing the estimated number of remaining photos if less than 300 and thus a late warning, transition animations that are too slow, screenshots only being captured when holding a button combination for a second rather than immediately, the terminal emulator being inaccessible for the first three minutes after the smartphone has booted, and the sound from an online advertisement video causing pain from being much louder than the playing video.
Any of these annoyances might appear minor individually, but together, they form a major burden on everyday use. Therefore, developers should eliminate annoyances, no matter how minor they might seem.
The same also applies for missing features. The individual removal of a feature might not seem like a big of a deal, but removing dozens of small features accumulates to a significant lack of functionality, undermining the sense of being able to get work done with that product or software when that feature is unexpectedly needed. Examples for a products that pruned lots of functionality from its predecessor is the Samsung Galaxy S6, and newer laptops featuring very few USB ports. Web browsers have removed lots of features as well. Some features can be retrofitted with extensions, but they rely on a third-party developer maintaining compatibility. If many minor-seeming features are removed, users will repeatedly hit "sorry, this product/software can not do that anymore" moments. -
Hows everyone doing?. This week has been... well let's just say Crazy 😂. Mostly users having after update issues. Like Analysis add in through Excel or SAP log on errors. New Installation packages with defects🤦♂️
-
Tired of having to copy-paste channel names in YouTube stream live chat for proper mentioning? Here's the thing for you.
https://greasyfork.org/en/scripts/...
Use Violentmonkey or Tampermonkey to embed this userscript.
Also, fuck you, YouTube. Fix your shit already! -
Hello everyone! Can anyone please give any tips on creating a feed with customer feedback from my Google business account? I need a clickable feed that can redirect users to my profile on Google.4
-
I rolled out a feature in one of my previous organizations. It looked awesome. I couldn’t wait to receive all the praises and appreciations but instead was bombarded with bugs and issues. Well, I tested the feature on chrome but little did I know that the users used IE and safari. This is where polyfills in javascript step in. Here I've assembled a list of some important polyfills. Do read it and let me know your opinions.
https://readosapien.com/polyfills-o...1 -
for Neovim users.
I tried ecovim <- good but seems to lag in large files, think 35k lOC in a single file.
Now Lunarvim <- smooth like butter.1 -
hey uh, this is a rant about phantom forces, if you don't know what it is, look it up, anyways, that's really it.
so, i've been playing this game very actively called phantom forces and its a good game but its been ruined and the fun has pretty much been taken away. the community is dead and terrible, the developers don't care and the game is just falling off.
what i consider community is the youtube scene, and now as of january 1st, 2022, there's nothing left that's actually interesting besides godstatus and moons fps studio. honestly, its so dry and i'm sick of it.
i'm tired of seeing shitty best setup videos and gun reviews. i hate somesteven and strider and then, there's nothing to actually watch so i just watch brain-numbing shitty videos about stuff.
and then theres the developers, stylis studios is a great development team, i'll give you that but the sheer ignorance of their team is so fucking much.
its kinda obvious they don't really care about adding new features or anything new that isn't guns and its fucking sickening. just to see the same old updates, every fucking month man, its annoying and tiring.
i'm fucking tired of just seeing ape shit guns that are too high for regular players to actually unlock. like i know they're trying to please the growing number of 200+ rank users but its terrible, they haven't done a gun below rank 200 or 100 in forever. the last time they did it was like 6 months ago or something.
we've been asking for shit for years and they haven't given it to us and its fucking tiring. asking for daily quests, new features, more grips, vehicles and shit like that is obviously never gonna happen and thats the fucking problem. they don't care about their community.
but anyways, thats really all i want to say, might make a follow up post later. if you want to add your 2 cents down in the comments, you can do that. bye2 -
So, as per usual, I am not sure what I am doing.
I want to make multiplayer games on the web using web sockets.
But of course I want there to be multiple game servers for horizontal scaling (I'm gonna hit it big)
Specifically for either Node.JS or ASP.Net (or both) how could I manage such a thing where there are 2 servers and 2 users. User A is assigned to server A by load balancer, and user B is assigned to server B. But they play in the same game?
Best I know of so far is to connect both game servers to a redis backing. But this seems like a convoluted way to communicate. I would rather have them both route to the game server (Whichever server the game starts on)17 -
Question about cache (Redis or other distribuated cache).
So I would like to find a solution with “Partioning”. But without code it my self (ofc)
Ok, example :
In the application you have clients, each client has users, each user has role.
So right now it’s in the cache with the keu “User:<userId>” = role
Sometimes, when you change client settings, all entries should be removed.
So what I would love to have :
Client_Id/UsersRoles/UserId as a key
And I would love to be able tp delete “all keys after /” :
Basiclly delete client_id/ would delete everything in cache for this client
Delete client_id/UserRoles will clean up all saved roles.
I’m pretty new working with redis, but it doesn’t seem possible out of the box.
Any reading material I could read ?4