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 - "features"
-
Shopping for fridge with sister in law.
"Yeah that one is nice but it doesn't have an app"
"Why do you need an app for your fridge"
"I don't know, but this other fridge has an app, so I think if it doesn't have an app it's not that good"
"But it's very energy-efficient, silent and spacious. The one with the app is the same size, has a worse energy rating, is noisier and is more expensive as well"
"Yeah I know but if there's no extra features that's kind of boring"
"You are everything that's wrong with modern consumers"28 -
Manager: Feature C doesn’t work
Dev: We never built feature C
Manager: Nonsense, I remember feature C clearly!
Dev: It’s still in the backlog
Manager: But we had many meetings about it
Dev: Never got put on the board
Manager: Feature C is very important!
Dev: It was never assigned to anyone
Manager: What could possibly be more important than Feature C?
Dev: All the other features you placed on the board and assigned up until now
Manager: Well I need Feature C done asap! It should be top priority!
Dev: Ok then next sprint add feature C to the board and assign it to someone
*Next planning session manager leaves feature C in backlog in favour of other tickets*
*2 days later*
Manager: What is the status of feature C?
Dev: You opted to leave it in the backlog
Manager: BUT IT SHOULD BE TOP PRIORITY!
Dev: …9 -
Manager: So great news, we will also be building a new app this year!!
Dev: We only have 2 devs and we already struggling to maintain/build our current portfolio of applications. I don’t think we have the resources to support another.
Manager: Nonsense, this is a very small project management app that was requested by the CEO himself!
Dev: …We already have MS project, why can’t they just use that?
Manager: The executive team isn’t interested in learning MS Project, it’s way too complicated. They want us to build an internal version of MS Project one feature at a time so they can pick it up over time instead of getting overwhelmed with learning MS Project all at once. It also needs to have loads of customizable automation features so leadership doesn’t ever have to get “in the weeds” having to work with it. It needs to basically run itself!
Dev: …What about this is small?
Manager: Well that is the requirement.
Dev: …18 -
!!fml
"Root, go fix this bug. It'll take you two days."
The "bug" is a feature that was never implemented for one particular payment type.
The code in question is two years old, full of typos, smells, junior-isms, and is convoluted AF. The feature's commit touched 190 files and implemented many other features as well. Thus far, I have been unable to narrow down where this particular feature's code lives for the other payment types, nor which code or payment paths lead to it. Burned out, I can barely focus on the screen, let alone follow its many twisting and dynamically-inferred paths. I hint as to the ticket's scavenger hunt nature during standup.
"But I wrote comments on the ticket telling you exactly where to look to fix it," Thundercunt admonishes in front of the team.
"Sure, you did," Root replies. "You reworded what the original dev had said in the comments 20 minutes prior, and agreed with him. His comments were helpful, but it doesn't tell me how any of it works," she continues.
TC scoffs and closes the meeting.
Root stares blankly, seeing neither code nor screen, questions her life decisions, and recalls the previous tickets she has worked on: nearly every one of them busywork, fixing other people's bugs. Bugs she never could have gotten away with if she tried.
"Why do I put up with this?" She asks. "They don't care, and it's killing me."
But the bills remain, and so must she.
"Fuck my life" she finally decides.20 -
!rant
It's been a while since I posted here. My previous workplace was a 101 on how to burn out people.
But now I am working at a place where:
- People are 0 toxic.
- Sprints follow the premise "under promise, over deliver."
- I was having trouble sleeping (for reasons) a couple of months ago, and my boss literally told me, "If you can't sleep at night, take a few days, or if you can fall asleep in the morning, just sleep in the morning until you manage to do otherwise. Talk with your team and rearrange the meetings if you have and rest. "
- All pieces of the company (sales, narketing, product, data, devs) have a clean roadmap.
- Product and bizz understand when something can't be done on the next sprint and why sometimes some features are delayed.
- They pay well, even raising the pay twice to account for inflation.
- Full remote, If I want to go to the office, Its my choice.
I need to keep this job no matter what!10 -
Just read this in LinkedIn:
XYZ is one of our top star developers, with #speed as maybe her strongest super skill. She develops and ships new features at a rapid pace, at any time of the day (and night)…
This sounds super toxic for some reason. I’m triggered11 -
Manager: Alright, we've decided we're gonna just going to accept PayPal and also credit card checkout through PayPal in the next two days!
Dev: ...
Manager: We can achieve this timeline, right?
Dev: ...
Manager: Alright, awesome to see your motivation! Let's do it!
Dev: YOU ANSWER PHONE CALLS, TALK TO PEOPLE AND 'STRATEGIZE' ALL DAY. YOU DON'T HAVE TO RELY ON THOUSANDS OF PEOPLE USING THE APP WITHOUT ERROR. THAT'S ON ME, NOT YOU, SO JUST SHUT THE FUCK UP!!!
Manager: ...
Dev: ...rant i love it everyone loves it great startup we are awesome we love it features without error clueless8 -
Dev: * In the middle of pushing to prod *
Manager: Hey btw I forgot to mention the client asked for these 5 features awhile back as a part of this update and they just reminded me about them, I haven’t created tickets yet or told anyone about this. Will these features be included in the update that’s going out today?
Dev: …9 -
managers: We're all aligned! Let's work as a team and get this started!
devs: ok...
managers and devs meeting to discuss next features: * canceled by managers *
managers: (word for word, can't make this shit up) we cancelled the meeting, we will define the roadmap for everyone
> WE will define the roadmap for EVERYONE
devs: uh wtf???
one hour later, managers: guys we are defining the roadmap can we have a call to discuss?
fucking asshat, insolent, disrespectful pieces of shit3 -
Managers: wE wAnT tO bE LeAn aNd MoVe FaSt As PoSsIBLe wiTh NeW FeAtUrEs
Same Managers: Can you make this icon 2 pixels smaller?! Shift this element left?! Swap out this icon?! Use a different color here?! A perfect feature and design is critical!!!!!!
FullStackClown: You can either be lean and fast, or be fucking nitpicking clowns 🤡 about this stuff and slow us all down. Choose one.
Managers: ...
FullStackClown: Sit down and shut up7 -
I informed the CTO that one of the beta features from our Cloud Provider (that we used for free) was released to the public and now we're supposed to pay US$ 0.65 for each 1 million requests.
In our case, this means we would pay ~US$ 6.50 to support a businesses that receives literally millions in Advertising each month.
Then I was hit with "How can we reduce that cost? It's out of our budget!"
Oh, looks like we have a really small budget, so... Let me help them by announcing that I'll leave by the end of the week because I'm moving to another country \o/7 -
Some 'wk306' highlights from different people:
Walk around the office in his underwear, because he forgot he left his trousers in the bathroom
Run a red light outside the office due to not wearing his required glasses. When questioned by co-workers, replied "I don't follow those facist rules"
Asking if we work less will we get paid more, because the project will take longer to do (while in a startup with no funding trying to secure some)
Tell a senior dev to stop testing in his spare time, as we won't be able to release on time if he keeps finding critical security bugs
Telling me "your timezone is not my concern", when asking for help with new tooling so we don't have to be online at the same time
Blaming my team for requesting too much help, leading to his team missing deadlines, in a meeting with very senior managers. When the reason we were requesting help was the handover doc we were given was filled with lies about features being finished and "ready to ship" and lacking any unit tests
Being accused of bullying and harassment to the CEO, because someone asked "did you follow up with X about the partnership they emailed us about". The person who was responsible, forgot 4 times, and saw it as an "attack" to mention it in team meetings
Telling an entire office/building mid November they've secured funding for at least the next year, then announcing in January after the Christmas break that its cheaper to move to India, so they are closing the office in 30 days2 -
While writing up this quarter's performance review, I re-read last quarter's goals, and found one my boss edited and added a minimum to: "Release more features that customers want and enjoy using, prioritized by product; minimum 4 product feature/bug tickets this quarter."
... they then proceeded to give me, not four+ product tickets, but: three security tickets (two of which are big projects), a frontend ticket that should have been assigned to the designer, and a slow query performance ticket -- on top of my existing security tickets from Q3.
How the fuck was I supposed to meet this requirement if I wasn't given any product tickets? What, finish the monster tickets in a week instead of a month or more each and beg for new product tickets from the product manager who refuses to even talk to me?
Fuck these people, seriously.8 -
Managers: Fullstackclown!!!! When are those features we poorly designed and spec'd going to be released to production!?!?!??!!
Juniors: WE SO DUMB DUMB REEEEEEEEEE HELP FULLSTACKCLOWN!!!!! WE PRODUCE GARBAGE CODE THAT TAKES MORE OF YOUR TIME!!!!!!!!
Designers: Hur dur, how can I export this stuff to png, help us, Fullstackclown!!!
Fullstackclown: * inhales sharply * AAAAAAAAAAAAAAAAAAAAAAAAA7 -
Action takes place during demo to the stakeholders.
Manager : During the demo we will show a working prototype of new functionality. In this sprint we focused on that feature not on UX. Please do not pay attention to UI and focus on business values
*Dev starts sharing screen*
*1 sec after*
Executive : This is unacceptable. It looks gross, why you don't use default controls.
Manager : We did, this is how they look like, but please do not pay attention to UI, it is not finished
*Dev continue presenting*
*1 sec after*
Executive : I see missing comma in that sentence. It is unacceptable to show features in that state, lets move on to another team.
It was really large feature working as a charm, but they focused entirely on unpolished UI :/4 -
Manager: I want the front ends to be more dumb, too much logic is happening on the frontend.
Me: both of the sites are just multi step forms, I’m confused about the complexity part.
Manager: yea but don’t we have a bunch of third party api calls?
Me: we have 4 and they are public facing apis.
Manager: yea, make a new api and move this api calls to the backend and I want both frontend teams to send the same shape payload.
Me: but…
Manager: oh and I don’t like how the business team does the a/b testing and splitting traffic, let’s move that to the backend as well.
Me: but… that a/b testing platform they use in ran by another team and they have a full set of features for business analytics…
Manager: yea let’s just replicate those features and move them to the backend.
Me: but it’s a product!
Manager: look! You are the best backend engineer we got! I know you can do this!
Me: I lead the frontend teams…
Manager: ….
Manger: good news we are giving you a promotion with raise you are now a senior engineer.
Me: I confused but happy… I think..9 -
This happened today...
Manager: how long this is going to take?
Dev: 3 months
M: cool! 3 weeks then
D: no.. This is quite complicated and most of us are unfamiliar with the topics. It'll take us 2 weeks just to get started
M: drop the unit tests then. Just get the features done in 3 weeks. We have customers waiting
D: that's a bad idea. We'll end up with unstable co..
M: oh we also need to complete documentation, release guide, and this [shitty feature no one care about]
D: but that is even more complex. We don't have enough ti..
M: just copy it from stackoverflow. It'll only take 5 minutes guys
Worst part? This guy is technically sound and understands our pain really well. He is just acting dumb and trying to put the blame on us when the higher management asks
Second worst part? The whole team keeps silent when I try to convince him somehow and starts ranting after he leaves the call2 -
Recently, our team hired an arrogant trainee-junior to the team, who turned out to be mean towards the other developers and in a habit of publicly mocking their opinions and going as far as cursing at them. He steals credit and insults others. He openly admits he's an offensive person and not a team player. When someone from the team speaks, he might break into laughter and say demeaning sentences like "that's so irrelevant oh my god did you really say that? hahaha". Our team consists of polite and introverted engineers who cannot stand up to bullies. Normally this kind of behavior won't be suitable even if you work in a burger shop especially not from a trainee. Let alone trainee, the rude behavior of Linus Torvalds was not tolerated, despite him being in the top position and a recognized star talent in the IT field.
I personally no longer feel comfortable speaking up during teams meetings or in the slack team chat. I'm afraid my opinions will be ridiculed or ashamed - likely will be called "irrelevant". I respond only if I'm directly addressed. We have important features coming up, requested by the customer, but I feel discouraged to publicly ask questions - I sort of feel having to regress into contributing less for the product. I also witness that other younger developers speak less now in meetings and team chat. Feels like everyone is hiding under the bed. Our product team used to have friendly working atmosphere but now the atmosphere is a bit like we're not a team anymore but a knot.
Lesson I learnt from here is: There is a reason why some companies have personality tests and HR interviews. Our proud short boarding process was consisting of a single technical interview. Perhaps at least a team interview should be held before hiring a person to the team, or the new hire should at least be posed a question: are you a team player? Technical skills can be taught more easily than social skills. If some youngster is unable to communicate in a civilized manner for even five minutes, it should raise some red flags. Otherwise you will end up with people who got refused from other companies which knew better.24 -
I recently gave an interview in a software company, and was rejected cause I took half a minute to connect my webcam and turn on my video 🤷.
I had just moved into an apartment at that time, so my place was not well managed. I attended the meeting in time but didn't have my webcam turned on. They asked me and it just took half a minute for me to turn on and start the meeting. Everything went well there, and they asked me to complete their coding challenge which was a development task. It was a huge task where I had to build a full-stack app (frontend + backend) with basic crud and auth features. I completed that in 2 days and presented it to their tech lead. He loved my work, he was impressed that I was able to complete their challenge in such a short time.
They said they will get back, and after a few weeks, they said that I was rejected. I reached out to ask for constructive feedback on why I was rejected and they said:
“Communication during the interview - interview
preparation: the video wasn't available at the start and needed to check the headset at the start of the meeting” 🙈7 -
I work for healthcare client project in a start up, worked two years straight without a break.
Client is very inconsiderate about developers work-life balance, he always wants to release every features yesterday.
Never had a reasonable deadline, worked late nights most of the time. No one had backbone to control this client from our side.
Its only developers team, no project management, scrum masters or anything, everything has to be taken care by Dev's.
I decided to take a week break from work.
The first day of my leave he pinged me 3 times to change an "from email" address for notification email which no one give a damn about.
I never replied or did anything. But the part of myself is dying of guilt.
Now I can't relax myself completely.
Re-thinking of my life choices atm.
I loved programming since high school, I can work on computers 24/7 without tired. That's how much I love it. Now I'm just tired of it.
If anyone who read this till here. Thank you.18 -
Electron is a plague, MSN in 2009 had far more features than Discord today but was able to run like a champ on Pentium 4 PCs with 1GB of RAM.17
-
The battle is lost. I'm implementing the mother of all stupid features because the sales team wants it.9
-
Got laid off last week with the rest of the dev team, except one full stack Laravel dev. Investors money drying up, and the clowns can't figure out how to sell what we have.
I was all of devops and cloud infra. Had a nice k8s cluster, all terraform and gitops. The only dev left is being asked to migrate all of it to Laravel forge. 7 ML microservices, monolith web app, hashicorp vault, perfect, mlflow, kubecost, rancher, some other random services.
The genius asked the dev to move everything to a single aws account and deploy publicly with Laravel forge... While adding more features. The VP of engineering just finished his 3 year plan for the 5 months of runway they have left.
I already have another job offer for 50k more a year. I'm out of here!13 -
Hiring process is fucking broken ok?
We all do have something else to do, nobody wants to do "homework" for 4 fucking hours. Which let's be real, isn't 4 hours. It's always more. I try to squeeze it in a least amount of time which means mistakes will be made. I always try to show my knowledge of the language and it's features. But, you didn't do X. That's it, that is a no from us.
Dude, I just wrote a high production grade small project with 90%+ test coverage and you are telling me that those 2 small shit I made is a big deal? Fuck off
Most companies I worked with have a code full of shit and here I present to you, with a poetry and it's a no because of X?
My bet is that if I ever started to work there I would find a code that isn't tested and is in shit state
\rant4 -
If nobody hates you, you're doing something wrong ~ House MD
Tl;Dr : I'm pissing the right people off and my God I like it
That's what I've known and have confirmed doing my current side project with my gf, we are working on a ratemyprofessors clone with extra spicy features, one in particular is so spicy some teachers will be put in a position in which they would rather grind hot peppers with their butt cheeks.
Don't get me wrong, there are good teachers (some of which actually showed support) but some are not good teachers and some aren't good people either; I've decided it's time to stop complaining and take action.
We recently released an alpha and I presented it to a teacher I had this semester (one of the "not so great" kind) as a DB proyect cuz fuck it I'm not doing 2 projects.
This teacher is your run of the mill "I'm lazy and I don't care" teacher and she ran the classroom like a shitty kindergarten, so much so, one of the teams was presenting a buggy admin site as their project and she started talking on the phone! Right up on their faces!!
My turn, I go up and handle her a 30 page printed thesis of my project and said that unlike my mates, I was going to start presenting the idea and then the actual software...why is it printed?, She said; Because I won't be projecting the PDF ma'am, I actually made a professional presentation and that way you can read more technical details while I give a broad overview...
I started talking about the huge issues students face and my research about it, undisciplined teachers, no class structure ~ abrupt interruption ~ "yeah I know like, you are giving so much statistics and numbahs but where is the database?"
I got pissed off because the whole purpose of printing and giving her the docs was for her to ask specific questions AT THE END! So I told her I was getting there and to ask questions at the end...I start showing off the system's sweetest features... everyone got quiet...a girl on the front row kept looking at the teacher and then back to the board with her eyes wide open, the teacher was visibly upset.
I asked someone to please help me by using the site being projected for everyone to see, he searched the teacher's name and it obviously popped up cuz I scrapped the whole teacher index site... some people gasp and others start murmuring.
She freaked and started arguing saying that frontend can't be just HTML and CSS, where did you mentioned x and y feature? admit it's just teacher evaluations! where did you get the teacher names? I want the scripts!....it went on even 10 minutes after class and the next class with a police like interrogation.
So yeah, something tells me I'm not getting an A, but I'm happy after all because that's the kind of reaction I want from those types of professors.
Worth it 😎8 -
If you think meetings are bad.
Have a day full of license renewal and price negotiation talks regarding technical products.
It's funny how you can blatantly say: We don't need feature XYZ, we get it for free via BLA.... Yet they still present it in all glory.
Even better when they don't even know their alternative / competition products...
X: "our tool is better".
Me: "We have tool XY. Doesn't cost a penny, does the same, we don't need your tool".
X: "No it doesn't. Look at all the features we have *screen share presentation* with long explanations".
Y: "Yeah... You've certain additional features, but the basics are all present in the tool that we use, so my statement remains the same".
These meetings are really mind boggling insane.
Even more insane when you get the price offers.
The cloud only madness is absurd.
Sure, we move 50 terabyte plus to the cloud from premise, no problem. *🤡*
Not that we haven't told them explicitly that cloud only isn't possible....
The worst: every motherfucking company does it for every stupid single craptastic product...
You cannot even swoop it up in a single meeting... Every company. Every single product.
*booze liberate me from madness and remove the filthy stain of humanity*9 -
I've told the same story multiple times but the subject of "painfully incompetent co-worker" just comes up so often.
I have one coworker who never really grew out of the mindset of a college student who just took "Intro to Programming". If a problem couldn't be solved with a textbook solution, then he would waste several weeks struggling with it until eventually someone else would pick up the ticket and finish it in a couple days. And if he found a janky workaround for a problem, he'd consider that problem "solved" and never think about it again.
He lasted less than a year before he quit and went off to get a job somewhere else, leaving the rest of our team to comb through his messy code and fix it. Unfortunately, our team is mostly split across multiple projects and our processes were kind of a mess until recently, so his work was a black box of code that had never been reviewed.
I opened the box and found only despair and regret. He was using deprecated features from older versions of the language to work around language bugs that no longer existed. He overused constants to a ridiculous degree (hundreds of constants, all of which are used exactly once in the entire codebase, stored in a single mutable map variable named "values" because why not). He didn't really seem to understand DRY at all. His code threw warnings in the IDE and had weird errors that were difficult to reproduce because there was just a whole pile of race conditions.
I ended up having to take a figurative hacksaw to it, ripping out huge sections of unnecessary crap and modernizing it to use recent language features to get rid of the deprecation warnings and intermittent errors. And then I went through the same process again for every other project he'd touched.
Good riddance. -
So... I'm pretty much dead inside.
But today I laughed in a meeting.
Nearly died of laughter.
We're currently understaffed for various reasons, especially the ongoing migrations etc.
So a lot of projects are currently in "maintenance" mode (e.g. no new features) - cause we lack the necessary man power.
The meeting was more or less:
Team: We had an ongoing discussion in the team regarding logging and possibilities of tracing and XY suggested we implement OpenTelemetry in *all* projects in the next weeks, can we do that?"
Sometimes I'm not sure If I'm in a sitcom for torture experts.4 -
take your fucking feelings out of the equation
AND GET OVER IT
feelings don't get market share, features built, or any growth
so shut the hell up and grow up
AND DO YOUR DAMN JOB
you'll be proud devRant, I've finally decided to leave these clowns. updates to come...
only sad part is my rage posting will likely drop to very low levels, but i guess my own well being is a bit more important than devRant karma :) 🤷♂️6 -
Devs : Lets pick library X, it is well know piece of open source technology, actively maintained by community for over 10 years.
Architect : NAH, it is an overkill to use it in our project , lets build our own solution.
*2 Months later*
The code base is hundreds of thousands lines of code, we basically started to look at library X on GitHub to copy features or get inspiration from that code. In that time we delivered 0 business value, it is horrible to use it and we constantly adding something or bugfixing because no one thought about something in first place.2 -
I’m pissed.
I had previously ranted about being assigned to a very messy project. I spent 3-4 months alone adding features and CLEANING things up.
Recently, there had been talks about a new major development phase on this project. But things lingered and the day before I’m to go on vacation, I get the news that this new phase starts in 2 days. Since I’m going to be on break they’re putting other guys on the project who don’t know anything about it.
Fast forward two weeks later.
I’m back from vacation.
I find out one of the guys has strong opinions about doing things certains ways… but unfortunately they are "ways" of unnecessary complexity, abstraction and verbosity.
After just a couple of weeks I’m already lost in the complexity of his code, which supports features of VERY LOW complexity. Fuck, has he ever heard of KISS? Has anybody heard of it where I work?
Now I have to spend my mental energy trying to make sense of this pile of crap rather than actually spending it getting things done.1 -
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 -
first off, they've defined (just yesterday) FOUR (not ONE) features to be done by the end of the month (yes really no joke, i mean _this_ month, as in october, i.e. they mean by monday)
four of them still have "to be defined" labels
so, what, you guys gonna define those today so we have uh.... all of friday to do them?
🤡🤡🤡🤡🤡🤡4 -
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 -
Is obsidian a fucking joke?
Seriously, is it a joke? Why would you ever care so much about indexing literally everything, if the entire thing crashes and/or takes >5min to LITERALLY just open the fucking directory and/or (so help you) if that directory is full of projects/repos or whatever the fuck and the total size of said directory is like >5GB.
WHY THE FUCK WOULD YOU INDEX EVERYTHING? -- "Ohh obsidian's not supposed to be used a fully fledged IDE, ohh obsidian should just handle MD files and normal sized projects, ohh the plugins and ease-of-use" -- Fuck.
There's no fucking real reason to index everything, BY DEFAULT. You open a directory with Obsidian? Doesn't matter, it's 1 byte, it's 100GB, you get indexed. Deal with it. It will use LITERALLY every resource your computer has. I'm surprised it doesn't go galaxy brain and ping if any other computers/devices are on the network and then attempt to connect and use their hardware (obsidian can be like a node!).
How shit can you be at understanding basic data structures and algorithms, where you just revert to based google-chrome brain and let the FUCKING TEXT EDITOR -- OBSIDIAN IS A FUCKING TEXT EDITOR HOLY SHIT -- hog all conceivable memory.
I swear to <some-deity> if anyone fucking says "Ohhhhhhhh actually, it's not a text editor, it has plugins and features and shit, it does all dis cool stff", OR, "Ohhhhh actually, obsidian indexes things for a very specific/rationale/apt/pragmatic/academic reason" OR "ohhhh, I have 100 iphones, 1000 ipads and a trillion desktop computers that each have 256GB of memory, why you hating on obsidian?" then go kick rocks. The fucking lot of you. Are you fucking kidding me.8 -
My Lazy Habits:
1. Not testing my own code thoroughly... cuz fuck that. That's the tester's/QA's job.
2. I create slack commands to get certain things done, so I dont have to get up and open my laptop each time I receive a ticket.
3. Ask more time for development that I actually need so I can fit in couple naps here and there.
4. Falsely claiming that I am busy when someone invites me over meet or a phone call. Like just text me.
5. Factoring my laziness in when I design features LOL.1 -
Why do my colleagues insist on HOURLY messages like "any update on X?" or "did you fix Y yet?"
REST ASSURED, WHEN IT IS DONE AND READY TO BE DEMOED, I WILL MESSAGE YOU, AS I HAVE FOR ALL PAST FEATURES AND BUG FIXES.
sheesh talk about too much time on your hands...6 -
For the first time I am feeling like.... I hate my job.
Agile and Scrum can be fucked, but at least there is a work methodology. I was hired by a company being run the old school way.
These guys never heard of git??
- Fuck you. We never used git and neither should you.
Client company does not want to give me push/pull access to their gitlab instance??
- Fuck you, you can use our RDP server for that.
Project planning features be damned, they've got email, Teams and videocalls!
Can I develop in peace? Fuck no, I have to give IT support to the guy who hired me.
Our timeline is defined IN A FUCKING WORD DOCUMENT FOR FUCKS SAKE. I can't connect Issues to milestones in a Word doc
Oh, and the customer is running everything on prem. If there is a need to scale up, FUCK ME. I should have specified 20 machines from the get go or gtfo. We're using 2 machines to run 8 different services that are going to be ingesting and computing data.
They want state of the art on a cheapskate.
And I have nothing else lined up at the moment. Although I am soon to renew the contract... This contract binds me with professional responsibility for a project being ran by people who do not give a single fuck about optimizing the work process.3 -
Monday morning: The last straw.
After talking about in a previous rant about how my client wants to fix bugs that keeps popping out after bug fix.
Today I discovered, that all C-levels, worked all Saturday to "fix my code" because it "didn't work" and we "needed bug fixes not pretty things".
The app version I was working on for the last week is gone. Without mentioning that their "CTO" wrote a fucking crappy code to disable features that I added, breaking the build step.
This shit is enough for me, I'm done!3 -
Ok might as well share my misadventure on a phone screen:
It started pretty normal, the guy talks about his background, the position, and asked me about my background.
Move on to the language trivia; I’m not good at memorizing language features, but I guess it’s what people want, so I’ll be working on that down the road… Anyways it didn’t go well, and the guy somehow made me feel like an idiot even on the questions I got right.
It’s really awkward at this point… but let me tell you I was not prepared for what I can only describe as the fucking coding portion of the phone screen…
No computer. No pencil or paper. No whiteboard. Over the phone I’m saying: “class Dog with a capital ‘D’ colon newline tab def space bark open parentheses close parentheses….”
what the actual fuck4 -
#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 -
Most useless feature:
Once we had to create a Learning Manager System to a small university. One of the (useful) features was a "file system" to people upload, organize and share documents (like a Google Drive prototype). This was the "student portfolio".
However, we had to create a page to act as a "cover" to it, that should allow the student to change the background, add exactly 2 images, and up to 9 "post-its". The image shows the notebook of our client while he was thanking us praising it as the greatest innovation of the decade.
The post-its was kinda nice, but what's the point of those images??
Anyway... On the same meeting of that picture the client asked us to include a "canvas" on that same page, so people could draw whatever they want. The words used was "just like [MS] Paint".
We postponed it, hoping he would forget about it, but on the end of the project he was still asking about it.
I found a lib that did the job and integrated with the project, but I also included a long comment for the next devs saying that I'm sorry they would have to support such thing 😅
The client loved but we never knew anyone that really used that Paint3 -
Our boss did always the same thing. When there was a BIG potential customer who indicates a small interest in our software, then he lied constantly about features. After the customer bought our software we got a deadline and should develop the missing features. I could remember two features: The first one was a quote tool for a car transport company. The tool should estimate a price for a transportation from an email with no structure and the other one was an API which should be possible to write dynamicly to MySQL, MariaDB, Postgres, MSSQL, DB2, Mongo or better said any possible dbms. The API should guess the structure of the dbs and offer CRUD actions. The funny thing is must write the api with go. Yeah dynamic and GO.
At some time, we told him we wont make any overtime and if the deadline is not possible we told that immediatly the customers, so that they call him. Thank god I don't work anymore in this company.1 -
that one legendary guy who cranks out code and builds insane features. PMs (product management) love him because he builds features in several months which 10 devs together couldn't have built in the same time (so they say), features that are loved by customers as well, become their new standard and that have saved our company's asses in the past.
features are really awesome, performant and have very few bugs (compared to the rest of the software シ).
but this guy seems to live for this job. he also works at weekends, at unholy times of day and night and even in his holidays (he doesn't care that this is actually illegal, in terms of employee's rights, and he wouldn't listen to his superiors, no matter what they tell him)
so far, so good - except that he will probably die of some stroke or something very soon due to this lifestyle.
but it must be an absolute pain in the ass to work with him, as long as you're a developer (or his superior).
he lives in his own world and within the software, his features are also his own world. since the different modules interact with each other, sometimes you would be assigned a bug that might have its cause in some interaction of your and his module. talk with him about it? forget it. he wouldn't answer most devs who contacted him for some reason. ever. fix it in his module yourself? might happen that he just reverts your changes to his module without comments. so some bugs would lie on your desk forever because theoretically you know what would need to be done but if you cannot reach out into HIS world, there's no way to fix it. also - his code might be good in terms of performance and low bug numbers. but it seems to be hard to work on that code for everybody else but him.
furthermore, he is said to be really rude. he is no team player, but works on a software that is worked on by a huge team.
PMs think he's a genius, just a great dev, but they don't understand that other devs need to clean up the mess behind or around him.
everyone who's been his superior so far recommends to get him fired, but the company wouldn't fire him because they don't want to lose his talent. he can just do what he wants. he can even refuse to work on certain things because he thinks they are boring and he is not interested in them. devs seem to hate him, but my boss said, they are probably also a bit jealous because of his talent. i think, he's not wrong. :)
i haven't actually met him so far or was actually "forced" to deal with him, but i've never heard so many contrastive things about one person, the reputation of his, let's say vibrant personality really hurries ahead. he must be a real genius, after all i've heard so far, like he lives in the code. i must say i'm a bit curious but also somewhat afraid of meeting him one day.
do you also have such a guy at your company?14 -
New AltRant update!
You can join the TestFlight here: https://testflight.apple.com/join/...
New Features:
- Weekly Group Rants are here! Now you can finally receive news about and take part in Weekly Group Rants through AltRant.
Other changes:
- Updated the SwiftRant library to v2.0, an update that was long time coming. Thanks to @Lensflare's contributions and suggestions for the SwiftRant library, both of us improved the quality of the library by a metric fuck ton, and more improvements are still on their way.
Known Issues:
- Downvoting is (still) broken. this issue will be fixed in a later update.
- Some of the layout in the Subscribed feed is a little broken. This will be fixed in a later update.
- The Profile screen's small title flickers in and out of existence under some circumstances. This will be fixed in a later update.30 -
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, 20138 -
Do you ever get anxious and do some work to calm down but then you forget about time and stay up until 6am finishing two features which were due in a month?4
-
I started a side project: a small app for my gf and me.
In the end it should consist of different features I call modules. Right now there is only one module that suggests a movie to watch from our watchlist.7 -
Another day, another shitty set of JIRA tickets.
In this week's edition, we run into an issue you'd think is a meme, something you couldn't even make up: three tickets with IDENTICAL titles, but miraculously, they actually refer to three DIFFERENT tasks! (Also comical, they're not bugs, they're tasks, but mouth breathers don't really know the difference, and at this point I just don't have the energy to attempt to explain what could be explained to elementary school children.)
I present a rare look into our national archives!
This document features two exhibits:
Exhibit A: product owner's original ticket titles
Exhibit B: translated-into-competency-because-i'm-not-mentally-deficient ticket titles
Just more proof that 'product owners' don't own shit, the devs are the real ones who actually know what is going on.
I mean just LOOK at Exhibit A's titles. As a big smart manager, do you write those tickets, smile, and say to yourself "Ah, yep, that's very clear, I'll definitely remember what each of these mean literally 5 seconds from now!"
Is asking for literally 30 seconds more of thought too much to ask for? Apparently.
Just kill me
Happy friday ☠️7 -
I have a sandbox account for a product we are developing and I'm receiving promotional emails.
I could just opt out, but I think it's adorable how they try to surprise me with the new features I created -
Blisk, a browser with multiple device testing for developers, went from free to subscription model.. Time blocking features that they offered before, for free.
That's suicide. That's how you lose your install base...
Just deleted it and went back to http://material.io/resizer.3 -
So it's been awhile since I switched from PHP to Golang.
At first I missed PHP a lot, but golang really has some advantages, so its fine.
But over time, and when the project grows in features, I more and more and more start to miss more and more at least basic classes / inheritance and abstraction friendly stuff from php.
Im finally reaching the point where I start to truly miss php, I can't stop myself after writing a feature to think how much less work that would be in php.
Call me crazy, but damn, it's real.14 -
A few years ago my boss held a brainstorming meeting to go over features for an internal reporting app. I brought up we should have related business news stories scroll on the page header like Fox business or something. He laughed and said sure. Two things happened after that.
1. Found out the marquee tag still works in chrome.
2. Yeah you bet I put that shit in there.
Anyways a meeting was held a few days after where my boss chewed me out for actually doing it. He showed the app to his boss and got laughed at by his leadership team when they saw news headlines scroll over analytics graphs.
After writing this I realize this is more his embarrassment than mine. Have a great Tuesday fam.7 -
Writing an efficient, modern renderer is truly an exercise of patience. You have a good idea? Hah, fuck you, GPUs don't support that. Okay but what if I try to use this advanced feature? Eh, probably not going to support exactly what you would like to do. Okay fuck it I'm gonna use the most obscure features possible. Congratulations, it doesn't work even on the niche hardware that supports that extension
If I sound jaded, ya better believe I f*cking am! I cannot wait for more graphics cards to support features like mesh shaders so we can finally compute shader all the things and do things the way we want to god dammit -
Everyone and their dog is making a game, so why can't I?
1. open world (check)
2. taking inspiration from metro and fallout (check)
3. on a map roughly the size of the u.s. (check)
So I thought what I'd do is pretend to be one of those deaf mutes. While also pretending to be a programmer. Sometimes you make believe
so hard that it comes true apparently.
For the main map I thought I'd automate laying down the base map before hand tweaking it. It's been a bit of a slog. Roughly 1 pixel per mile. (okay, 1973 by 1067). The u.s. is 3.1 million miles, this would work out to 2.1 million miles instead. Eh.
Wrote the script to filter out all the ocean pixels, based on the elevation map, and output the difference. Still had to edit around the shoreline but it sped things up a lot. Just attached the elevation map, because the actual one is an ugly cluster of death magenta to represent the ocean.
Consequence of filtering is, the shoreline is messy and not entirely representative of the u.s.
The preprocessing step also added a lot of in-land 'lakes' that don't exist in some areas, like death valley. Already expected that.
But the plus side is I now have map layers for both elevation and ecology biomes. Aligning them close enough so that the heightmap wasn't displaced, and didn't cut off the shoreline in the ecology layer (at export), was a royal pain, and as super finicky. But thankfully thats done.
Next step is to go through the ecology map, copy each key color, and write down the biome id, courtesy of the 2017 ecoregions project.
From there, I write down the primary landscape features (water, plants, trees, terrain roughness, etc), anything easy to convey.
Main thing I'm interested in is tree types, because those, as tiles, convey a lot more information about the hex terrain than anything else.
Once the biomes are marked, and the tree types are written, the next step is to assign a tile to each tree type, and each density level of mountains (flat, hills, mountains, snowcapped peaks, etc).
The reference ids, colors, and numbers on the map will simplify the process.
After that, I'll write an exporter with python, and dump to csv or another format.
Next steps are laying out the instances in the level editor, that'll act as the tiles in question.
Theres a few naive approaches:
Spawn all the relevant instances at startup, and load the corresponding tiles.
Or setup chunks of instances, enough to cover the camera, and a buffer surrounding the camera. As the camera moves, reconfigure the instances to match the streamed in tile data.
Instances here make sense, because if theres any simulation going on (and I'd like there to be), they can detect in event code, when they are in the invisible buffer around the camera but not yet visible, and be activated by the camera, or deactive themselves after leaving the camera and buffer's area.
The alternative is to let a global controller stream the data in, as a series of tile IDs, corresponding to the various tile sprites, and code global interaction like tile picking into a single event, which seems unwieldy and not at all manageable. I can see it turning into a giant switch case already.
So instances it is.
Actually, if I do 16^2 pixel chunks, it only works out to 124x68 chunks in all. A few thousand, mostly inactive chunks is pretty trivial, and simplifies spawning and serializing/deserializing.
All of this doesn't account for
* putting lakes back in that aren't present
* lots of islands and parts of shores that would typically have bays and parts that jut out, need reworked.
* great lakes need refinement and corrections
* elevation key map too blocky. Need a higher resolution one while reducing color count
This can be solved by introducing some noise into the elevations, varying say, within one standard div.
* mountains will still require refinement to individual state geography. Thats for later on
* shoreline is too smooth, and needs to be less straight-line and less blocky. less corners.
* rivers need added, not just large ones but smaller ones too
* available tree assets need to be matched, as best and fully as possible, to types of trees represented in biome data, so that even if I don't have an exact match, I can still place *something* thats native or looks close enough to what you would expect in a given biome.
Ponderosa pines vs white pines for example.
This also doesn't account for 1. major and minor roads, 2. artificial and natural attractions, 3. other major features people in any given state are familiar with. 4. named places, 5. infrastructure, 6. cities and buildings and towns.
Also I'm pretty sure I cut off part of florida.
Woops, sorry everglades.
Guess I'll just make it a death-zone from nuclear fallout.
Take that gators!5 -
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 -
Senior Tech lead keeps yapping about "we need more comments in the code"... Yeah right...
I reviewed his PR today:
# Get the feature list
builder.get_feature_list()
# Assign the features to the columns
target.columns = features
...
FFS15 -
Just some random thoughts looking at the soon-to-be new filtering feature.
Wouldn't it be nice if DevRant had a QR login like WhatsApp for easy login on desktop?
What about a "top rants" on profiles?
Oh what about an activity mosaic like GitHub's commit timeline?
Just some thoughts I had while punching my punching bag, it can get tedious.5 -
Management (origin India) have been recruiting many developers from my country in Africa so as to facilitate lower pay, amongst other reasons. And today, I was told, in a suggestive but ordering tone, to start getting paid by project done, whereas I’m the head of VoIP and built the infrastructure from ground up prior to app launch.
All features(calls in both directions, voicemails, power and predictive dialer, voicemail greeting, call forwarding, etc) done already.
I was told this by a non-programming personnel.2 -
Years later, I finally understood how to git CLI fully, with most of its advanced features.
Thank you, oh the great creator of this interactive tutorial.
https://learngitbranching.js.org//...2 -
Have you ever worked on a project/app for months adding features to it and then afterwards found out there is this cheap online service that can be used instead of many of the features you added to the app?5
-
Getting in a meeting with 6 people about a new couple of features I have to develop. Nobody can give a clear explanation. Everybody leaves more confused than before.
Every "Does anyone have a question?" just fueled the confusion to the point where nobody wanted to answer that question honestly anymore1 -
Next year I will strive to achieve the best test coverage on all our components and design all our new features using best-practice agile methodology with a realtime user involvement.
Reverend on 7 January: Fuck that, we need to ship this shit to production now. -
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 -
Features of any software product development: there is a catastrophic lack of time to get rid of bugs, but always enough time to make them even more. 🤦♂️
-
macOS facts:
- Darwin core is open-source (https://github.com/apple/darwin-xnu). Not the case with Windows.
- You can use macOS without using any Apple online service like Apple ID, FaceTime or iCloud. Terminal will still work without restrictions, and any app can be installed manually. It's totally different from Google services on Android, without which most of the apps won't work at all.
- macOS updates are trivially to disable. It's a matter of unchecking "Update this mac automatically" checkbox in software update settings. Not the case with Windows, Windows updates are universally hated among developers for intentionally complex UI and update services being very hard to disable.
- Almost every feature or default behavior you dislike can be trivially disabled with one console command. Features won't re-enable automatically like I heard update service does in Windows. The only feature I dislike that I wasn't able to disable was a notification about unsafely unplugging a USB flash drive.
- Out of the box, you get a sophisticated disk manager that allows all kinds of manipulation on drives, just like what you get in Ubuntu.
- Just like on smartphones, you can trivially restrict or provide access to certain features like camera, microphone, etc. on app to app basis. I don't know how to easily do it in Linux, let alone in Windows.
- Apart from mastodons like GIMP, I find open source apps for macOS to have better UI than their Linux alternatives.
- Objective-See offers useful FOSS apps for macOS, they help with privacy and malware detection: https://objective-see.com/products....
I don't want to start a fight. Please, abstain from commenting on one OS being better / worse than the other. Please, don't comment on Mac computers being better / worse than computers of some other vendor. I'm very confused now because of my Dunning-Krueger thing (read my previous rants), so I just want to present the facts about macOS that I think deserve more exposure.28 -
When used properly No-SQL databases are an incredible resource but my employer keeps hammering them in problems which could better be solved by traditional SQL databases in an attempt to be more "hip" and "cool".
This causes huge PITA in making the database work properly with the ORM we're using and waste of time since we're force to emulate basic features which are already exists in almost any SQL database (i.e. relational integrity) using No-SQL storage.1 -
Good morning to everyone, except that one Twitter dev who one day woke up and was like "YOU KNOW WHAT, MY APPLICATION WILL FEATURE BOTH OAUTH1 AND OAUTH2 ENDPOINTS, BUT SOME FEATURES WILL BE EXCLUSIVE TO EITHER OF THE TWO -NOT NECESSARILY THE MOST RECENT, JUST A RANDOM ONE-, AND ALSO THE OFFICIAL TWITTER LIBRARY WON'T COVER ALL THE ENDPOINTS SO PEOPLE WILL HAVE TO RESORT TO RAW HTTP REQUESTS INSTEAD OF USING MY SDK AND ALSO I'MMA MAKE DEVELOPERS FILL 2 VERY DETAILED FORMS, REQUIRING PERSONAL DATA AND ACTUAL REAL PHONE CALLS, JUST TO START DEVELOPMENT WITH 7 DIFFERENT AUTHENTICATION TOKENS, BECAUSE SOME REQUESTS WILL REQUIRE A DIFFERENT AUTHENTICATION METHOD THAN THE OTHER REQUESTS DESPITE ALL OF THEM PERTAINING TO THE SAME FUCKING ENTITY"3
-
Looks like chrome ad block extensions (and many more) gonna have trouble or even completely stop working as of January 2023.
https://theregister.com/2022/06/...
Tldr: google will drop support for its extension platform Manifest v2 (Mv2) and will only support Mv3 which doesn't have webRequest api. It does have an alternative api called declarativeNetRequest but it dowsn't support all of webRequest api features. This will be problem for many content blocking extensions.17 -
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 -
After I finished my probation of 3 months, which was also almost 3 months ago I noticed that Im doing better than half of the team so I asked my manager for a raise of 43 percent. Was given the green light but havent actually received the raise and was being fed excuses and promises . Started applying, got a better offer and gave my notice today. Suddenly hes shitting bricks and wants to talk with me tomorrow and asks me not to accept that offer yet. I smell a counter offer. Fucking lazy cunt couldnt move his ass for 3 months now all of a sudden hes my best friend. Seriously this sounds like a cliche but its surreal to see a respected person do this stuff, I guess all of the managers are the same even if they seem different in the start?
Best part is that Im not even a big contributor or even own some big features in that company. Ive been here 6 months only. He says he sees potential but tbh Im just a regular guy who crunches tasks and asks questions. I come in to the office only twice or three times a month. Seriously idk what he sees in me. Anyways.5 -
Heard of Electron? There is also Electrino, Electron-like stuff that uses your system's browser instead of embedding full Chrome. A “Hello World” app takes 115 MB using Electron, but only 167 kB using Electrino.
Too bad it's still a proof of concept with almost no features.
https://github.com/pojala/electrino28 -
Making calls, meetings, and "brainstorming" half-baked features or designs or any other slop bullshit for 12 hours a day?
Wow, you are an impressive "startup bro"!!!
Coding, testing, running emulators, tests, reading technical documentation, ensuring product success in the real world, and implementing efficient full stack software for 12 hours a day?
Fuck you!!!
These are the expectations of management. Just remember, what they do is "extremely difficult", but you are simply just a resource queue that takes input and converts it to real-world implementation.
Give me a fucking break -
"Here's the sprint, it's well defined. fullstackchris, can you do this in two weeks?"
"Hmmm... nice work, looks well defined. It'll be tough, but sure, I can do it two weeks!"
Two days before sprint ends:
"Can we quickly duplicate n number of features from apps with literal armies of devs like whatsapp, airbnb, and Instagram?!?!?! We NEED these features to be polished and work perfectly!"
Scope creep will be my ONLY feedback in this retro.2 -
Okay, wait, is it a common practice to push changes to master that you KNOW break some other features? I always assumed that that's what branches are for and master should be the "to the best of our knowledge it should be production ready"? But apparently in this company you need to hunt for the right revision, interrogating people why suddenly nothing works on your end and half the time it's "oh, this guy has been working on something and it broke half of the stuff others have been working on and isn't covered in tests yet. Use revision 21xkcd7a"7
-
Why are banks so absolutely archaic and stupid when it comes to tech? I work in a Services based company and currently engaged with a very famous bank to build accounting software for Mutual Funds. The day to day stupidity of this client is driving me absolutely crazy.
They couldn't give us proper requirements, and my company was stupid enough to kickoff the project without official sign off. Not only did they change the requirements, but they added a shit ton MORE features, and essentially bullied us into completing it all in the same timeline. Their attitude is pathetic, they shit talk our dev team, they make us build the worst possible UX, and then complain that it's not looking good and not working well. They have absolutely no idea about any of the technical stuff and think that software is a magic box that will give them what they want.
I swear I have a lot of examples but I'm so angry right now that my words are fumbling and I can't think straight. Stand up is in 45 minutes and I'm just dreading it. Idk how to tell everything, it's just... AAAAAAAAAAAAAAAAAAAA5 -
It's funny how you start feeling bad for the next dev taking over your project because it turned into a total spaghetti code shit show that will be impossible to maintain in the future with new features coming in.
Honestly... if a projects starts out with a certain scope which then gets extended EVERY FUCKING WEEK with requirements that can't even be met in the initial timeframe it's no wonder the code quality will decrease over time.
This just reminds me daily how important good project management (and I'm not talking about suit wearing pain-in-the-ass-managers) and the inclusion of devs in the planning process really is.
It's so fucking crazy that companies run like that with people up front that have NO FUCKING CLUE what they are doing, nor do they understand the mechanics, tech and effort that go into certain features. They're like "beep, boop, it's done by Friday you fuck!".
The funniest part of this stupid charade is that the closer we get to a new "deadline" (we will not meet the deadline anyways) the more nervous the "managers" get. WHY didn't you properly plan this shit in the first place? WHY didn't you care for the last six months where all this fucking bullshit could still have been prevented?
Meanwhile I'm just so sick and tired of this shitty project and this sucky company that I just don't have any motivation left to keep on working. It's so fucking hard and painful to work on projects that suck ass, are poorly designed. I just got to the point where coding is no fun any more. Thank god I'm out of here soon... fml5 -
!rant
I’ve just looked into Rust a bit deeper and was absolutely stunned by how many things it has in common with Swift. The Syntax, the features, the concepts, the "philosophy".
Previously I thought that Kotlin is what comes closest to Swift.
Anyway, Rust seems like a beautiful language and it’s no wonder that it is one of the most loved languages out there!
The compile time index out of bounds errors blew my mind!3 -
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 -
This is so annoying, I had 9 diff. jobs the past 2 years and this is my 10th and if this doesn't change I might reconsider my options again.
I came to work at a company that pays me like a Junior and treats me as an intern. My 20yo "boss" who acts as a project owner/lead dev doesn't want to learn anything new and sees any improvement as a waste of money. The problem is he thinks hes a great programmer but he doesn't know shit. Im mainly working on the Laravel installation because "I claimed I know Laravel". And its absolute garbage. They haven't used a single Laravel features besides routes and everything else is vanilla PHP. They write for loops that loop through $_REQUEST to remove a single character. Write 100 deep nested ifs and they abuse Elasticsearch to the point ES crashes because the program is using 1000 deep multidimensional arrays. Its only a webshop...
Everytime I try to make a suggestion like making the master branch protected, doing code reviews etc etc I get shut down because they are autistic and don't want anything to change.9 -
f it ain't broke, don't fix it!
I feared my Android phone's touchscreen suffered severe damage from using it in the rain, until I discovered that the 3-button navigation stopped working after an Android 12 security update (both in Nova launcher as well as in official Google Pixel launcher). Wasted time drying the unplugged phone and googling for repair options before finally wasting more time changing system settings back and forth, rebooting, changing system settings, rebooting, etc.
Remember those happy times before mobile phones have been invented, which of course I don't really want back either. I just want developers to stop breaking features that used to work. Regression testing outside the happy path, anyone? I mean, it's not a hacked maker project, it's a commercial phone that I bought and intend to use with the latest official software. Don't want to think about the next breaking changes that Android 13 might bring.9 -
New JoyRant TestFlight build 11:
* Posting Rants
* Improved Notifications Category selection UI with unread indicators (screenshot attached)
Posting this rant from JoyRant right now 😄
The app is now in a state what I consider to be the first major milestone.
There are still features missing (see github https://github.com/WilhelmOks/...) but the most important and most frequently used stuff is done.
https://testflight.apple.com/join/...5 -
Update From My now HackProof SocialMedia StarSpace :)
I now introduced themes (for now just StarPurple)
Added Votes, Tags, Mentions, Links and many many more features.
Im gonna release the App to the Playstore this or next Month! For now i created my own "manager" where people can view my apps and update/install them.
can be downloaded from the manager http://stardash.de:4000/ or directly http://stardash.de/download/... if ur interested :)20 -
Does someone know a site where i can get professional level help/guides/tutorials with system architecture questions? Like best practices for implementing common features? (Something like stackoverflow but where u actually get an answer instead of insults)
Googling for tutorials gives very basic/demo level results that might not be great for scale/security in prod env7 -
TL;DR; do your best all you like, strive to be the #1 if you want to, but do not expect to be appreciated for walking an extra mile of excellence. You can get burned for that.
They say verbalising it makes it less painful. So I guess I'll try to do just that. Because it still hurts, even though it happened many years ago.
I was about to finish college. As usual, the last year we have to prepare a project and demonstrate it at the end of the year. I worked. I worked hard. Many sleepless nights, many nerves burned. I was making an android app - StudentBuddy. It was supposed to alleviate students' organizational problems: finding the right building (city plans, maps, bus schedules and options/suggestions), the right auditorium (I used pictures of building evac plans with classes indexed on them; drawing the red line as the path to go to find the right room), having the schedule in-app, notifications, push-notifications (e.g. teacher posts "will be 15 minutes late" or "15:30 moved to aud. 326"), homework, etc. Looots of info, loooots of features. Definitely lots of time spent and heaps of new info learned along the way.
The architecture was simple. It was a server-side REST webapp and an Android app as a client. Plenty of entities, as the system had to cover a broad spectrum of features. Consequently, I had to spin up a large number of webmethods, implement them, write clients for them and keep them in-sync. Eventually, I decided to build an annotation processor that generates webmethods and clients automatically - I just had to write a template and define what I want generated. That worked PERFECTLY.
In the end, I spun up and implemented hundreds of webmethods. Most of them were used in the Android app (client) - to access and upsert entities, transition states, etc. Some of them I left as TBD for the future - for when the app gets the ADMIN module created. I still used those webmethods to populate the DB.
The day came when I had to demonstrate my creation. As always, there was a commission: some high-level folks from the college, some guests from businesses.
My turn to speak. Everything went great, as reversed. I present the problem, demonstrate the app, demonstrate the notifications, plans, etc. Then I describe at high level what the implementation is like and future development plans. They ask me questions - I answer them all.
I was sure I was going to get a 10 - the highest score. This was by far the most advanced project of all presented that day!
Other people do their demos. I wait to the end patiently to hear the results. Commission leaves the room. 10 minutes later someone comes in and calls my name. She walks me to the room where the judgement is made. Uh-oh, what could've possibly gone wrong...?
The leader is reading through my project's docs and I don't like the look on his face. He opens the last 7 pages where all the webmethods are listed, points them to me and asks:
LEAD: What is this??? Are all of these implemented? Are they all being used in the app?
ME: Yes, I have implemented all of them. Most of them are used in the app, others are there for future development - for when the ADMIN module is created
LEAD: But why are there so many of them? You can't possibly need them all!
ME: The scope of the application is huge. There are lots of entities, and more than half of the methods are but extended CRUD calls
LEAD: But there are so many of them! And you say you are not using them in your app
ME: Yes, I was using them manually to perform admin tasks, like creating all the entities with all the relations in order to populate the DB (FTR: it was perfectly OK to not have the app completed 100%. We were encouraged to build an MVP and have plans for future development)
LEAD: <shakes his head in disapproval>
LEAD: Okay, That will be all. you can return to the auditorium
In the end, I was not given the highest score, while some other, less advanced projects, were. I was so upset and confused I could not force myself to ask WHY.
I still carry this sore with me and it still hurts to remember. Also, I have learned a painful life lesson: do your best all you like, strive to be the #1 if you want to, but do not expect to be appreciated for walking an extra mile of excellence. You can get burned for that. -
Unpopular opinion: although Windows 10 improved in the years Windows 7 is still better: Windows Search on 10 is almost useless and the control panel and many “modernised” system utilities often glitches, the system looks cruder and takes way more system resources than 7 without giving significant features in return.
Newer is not always better.6 -
Product manager: When building new features, we find we have bugs that reappear in other parts of the app where the bug was solved before. We have to find a solution to this issue.
Dev: These are called regressions, they happen all the time in software development.
Product manager: ...
Dev: Fuck outta here! Its friday!3 -
In 2015 I sent an email to Google labs describing how pareidolia could be implemented algorithmically.
The basis is that a noise function put through a discriminator, could be used to train a generative function.
And now we have transformers.
I also told them if they looked back at the research they would very likely discover that dendrites were analog hubs, not just individual switches. Thats turned out to be true to.
I wrote to them in an email as far back as 2009 that attention was an under-researched topic. In 2017 someone finally got around to writing "attention is all you need."
I wrote that there were very likely basic correlates in the human brain for things like numbers, and simple concepts like color, shape, and basic relationships, that the brain used to bootstrap learning. We found out years later based on research, that this is the case.
I wrote almost a decade ago that personality systems were a means that genes could use to value-seek for efficient behaviors in unknowable environments, a form of adaption. We later found out that is probably true as well.
I came up with the "winning lottery ticket" hypothesis back in 2011, for why certain subgraphs of networks seemed to naturally learn faster than others. I didn't call it that though, it was just a question that arose because of all the "architecture thrashing" I saw in the research, why there were apparent large or marginal gains in slightly different architectures, when we had an explosion of different approaches. It seemed to me the most important difference between countless architectures, was initialization.
This thinking flowed naturally from some ideas about network sparsity (namely that it made no sense that networks should be fully connected, and we could probably train networks by intentionally dropping connections).
All the way back in 2007 I thought this was comparable to masking inputs in training, or a bottleneck architecture, though I didn't think to put an encoder and decoder back to back.
Nevertheless it goes to show, if you follow research real closely, how much low hanging fruit is actually out there to be discovered and worked on.
And to this day, google never fucking once got back to me.
I wonder if anyone ever actually read those emails...
Wait till they figure out "attention is all you need" isn't actually all you need.
p.s. something I read recently got me thinking. Decoders can also be viewed as resolving a manifold closer to an ideal form for some joint distribution. Think of it like your data as points on a balloon (the output of the bottleneck), and decoding as the process of expanding the balloon. In absolute terms, as the balloon expands, your points grow apart, but as long as the datapoints are not uniformly distributed, then *some* points will grow closer together *relatively* even as the surface expands and pushes points apart in the absolute.
In other words, for some symmetry, the encoder and bottleneck introduces an isotropy, and this step also happens to tease out anisotropy, information that was missed or produced by the encoder, which is distortions introduced by the architecture/approach, features of the data that got passed on through the bottleneck, or essentially hidden features.4 -
Why they are keep assigning tasks (new features as minor fix) till release date. And want me to complete it a week before release date.
HOW?2 -
On the one hand I really wish there was a good open-source self-hosted file sharing and collaboration service which made use of modern web technologies to provide most of its features inline as well and not just through APIs consumed by client applications.
On the other hand, I tried writing a WebDAV server once, and I fully empathize with the people who have to deal with this madness. -
Honestly idk but that one chapter from mythical man month, "Plan to Throw One Away", stuck with me:
"Where a new system concept or new technology is used, one has to build a system to throw away, for even the best planning is not so omniscient as to get it right the first time."
In my current project I've seen this play out, initial development was very prototype-ish and just not well designed but when we got a somewhat decent state we had to continue with it instead of starting again and doing it properly. And now the consequences of that are hitting, progress for new features is incredibly slow, the software is very error prone, a bunch of dead code all around, ...10 -
I have been using android studio for almost 3 years now, and I think I only use 0.00342 of the features1
-
story of a release
v2.1.0 major changes went live : new features, bug fixes, optimisations. also included releases for 2 associated libraries
release process tasks:
- do code
- update test cases
- test sample app
- test on another sample app
- get code reviewed and approved by senior ( who takes his own sweet time to review and never approves on first try)
- get code reviewed again
- merge to develop after 20 mins( coz CICD pipeline won't finish and allow merging before that)
- merge to master after 20 mins( coz CICD again)
- realise that you forgot to update dates in markdown files as you thought the release will be on 10th sept and release is happennig on 12th sept coz of sweet senior's code fucking/reviewing time
- again raise a branch to develop
- again get it a review approval by sr (who hopefully gives a merge approval in less time now)
- again get it merged to develop after waiting for 20 mins
- again get it merged to master after waiting for 20 mins
- create a clean build aar file
- publish to sonatype staging
- publish to sonatype release
- wait for 30 mins to show while having your brain fucked with tension
- create a release doc with all the changes
- update the documentation on a wyswig based crappy docs website
- send a message to slack channels
- done
===========
why am i telling you this? coz i just found a bug in a code that i shipped in that release which still got in after all the above shitty processes. its a change of a 3 lines of code, but i will need to do all the steps again. even though i am going through the same shitty steps for another library version upgrade that depends on this library 😭😭
AND I AM THE ONE WHO CAUGHT IT. it went unnoticed because both of those shitty samples did not tested this case. now i can keep mum about it and release another buggy build that depends on it and let the chaos do its work, or i can get the blame and ship a rectification asap. i won't get any reward or good impression for the 2nd, and a time bomb like situation will get created if i go with 1st :/
FML :/6 -
Go assign a super simple ticket to your "product owner" or "manager" or whoever the hell claims they "work so hard" and "have the vision" or whatever blah blah blah when in reality YOU'RE the one working 12 hour days, completing the features used by THOUSANDS.
Just try it. They'll never complete it. I guarantee it. Here I am looking at one that is three weeks old asking to update the f&*(@#$ credit card credentials for a simple log service to be reactivated.
So sick of this backward world where us devs never get any credit.
Who wants to start a software union with me?2 -
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 -
I'm fully convinced that VS Code is a fork of MS Word. How else could they manage to make their autocompletion features so disgustingly intrusive?
I'm actually surprised that it hasn't tried to capitalize the first letter of each sentence... yet.
I WISH TO END MY HTML TAGS WHEN I FUCKING WANT TO! I WANT TO WRITE A SINGLE QUOTE SIGN IF I WANT TO!
And fuck their fucking "Preferences" menu. Those dropdown boxes are absolute fucking garbage.
Fuck their fucking JSON fuckery. If they cant fit their custom settings into a GUI, it's gonna suck anyway.
Fuck their fucking CPU and RAM requirements. If it manages to lag on a Thinkpad T420, fuck it.
For everything that Microsoft has created, there's an objectively better alternative out there. I'll stick to fucking Atom.4 -
The company I work for now has so much tech debt. When I find an issue, I can’t necessarily fix it right away because I have other priorities. If something isn’t a site-breaking issue, then I only fix it when a user or staff member reports it.
The website is a mess because it was built and maintained by an outside dev agency. It was so expensive to outsource that my employer decided to bring development in-house.
That’s where I came in. I found so many issues. Tech debt. UX weirdness. Newish features that no one seemed to use. It goes on.
So I’m balancing new feature development, fixing bugs, and trying to lessen our tech debt. I’m a team of one.1 -
The new devRant UI is pretty cool and also love the new features in the app.
Good job dfox and trogus.18 -
Dear BOSE, how can you make a "smart" speaker so dumb and complicated? Why require to use an app that needs frequent updates and takes up so much storage space for ... what exactly?
Dear Spotify, why not add features to the web player if your app does not run on older devices? Which native feature would your app need that is missing on iOS 13?
Dear companies making money due to the fact that some real artists make real music that real people love to listen to, how come your apps and gadgets always make me nostalgic about actual records and make me tune in to an actual radio station at the end of the day? At least you keep showing us not to rely on digital technology and rather go visit actual live concerts to listen to live music in the real world more often!2 -
android development is shitty af, it will make you super zombie computer nerd that sit on his chair for fking several hours just to find the where the fk is null pointer exception is coming from not only this but for all kind of errors,logcat looks like someone just hacking nasa, you know what im the one who is shitty af i would have opt web dev instead of android dev , this retarded studio and emulator takes too much time to just load a simple fking thing & if i make some change in it i've to install that application again ,it's so pathetic and horse shit thing i've ever encountered , kotlin is fun it's actually great language most of the features are so helpful in it,but the google codelabs,it's all documentation , adding dependencies whole concepts are trash imo, why can't we install the dependencies using terminal what's problem in that ,but no they chose the hard way for no fuking reason, i've successfully wasted a year learning this shitty tech stack, hopefully this NY i will choose different stack , will work till ass off .gonna build some cool projects and will eventually try for internships and all. done with android dev, idk how senior dev's are alive in this field6
-
Fucking egos. Why is it so difficult to communicate with some senior?
Senior: we need to support old browsers.
Me: What about using polyfills.ts?
Senior: that's not what I am asking for. what's wrong with my implementation?
Me: check whether a global function exists at one place does not solve the issue. What if people use global function somewhere else
Senior: is the pr breaking some features for old browser...
Fucking hell5 -
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 -
i had an epiphany today, in a discussion with the software architect of our new project.
i'm having the epic job to design & implement a prototype for a C++ library in a new software project and collected some inspiration in our "old" software, where i'm maintaining the module that fulfills the same functionality (i thought). i've been maintaining this module for around a year now. i analyzed the different features and stuff to consider and created a partial model of the new library.
when i showed it to the architect today, he was like "oh my god, no no no, you don't need all this functionality, this shall not be part of the new library!"
this was the moment when i realized how deeply fucked up the code base of the old module is.
imagine it like this:
you want to automate the process of making yourself a good ol' cup of coffee.
the reasonable thing would be to have
- a smart water boiler where you set parameters water temperature and amount of water to be fetched from the water supply
- a smart coffee bean grinder where you can set type of beans, amount of beans and grinding fineness
- a component where water and ground coffee are joined to brew the coffee, where parameters like duration, pressure etc. are set
- a milk tank where amount of milk, desired temperature and duration / speed of foaming can be set
- a sugar dispenser where amount of applied sugar can be set
- optionally, additional modules with spices, syrup, ice cubes, whatever for your very personal coffee experience
on requesting a coffee, you would then configure and orchestrate all components to your wishes to make you a fine cup of coffee. you can also add routines like "makeCappucchino()", "makeEspresso()", or whatever.
our software is not like this.
it is like this:
- a smart water boiler consisting of submodules that know how to cook water for e.g. "cappucchino with sugar" or for "espresso without sugar, but with milk and ice cubes"
- 5 smart bean grinders that know how to grind beans for e.g. cappucchino, espresso, latte macchiato and for 73ml of water preheated to 82°C
- a very smart sugar dispenser that knows how to add sugar to 95, 98 and 100°C coffee and to coffee made of BOTH coffee arabica AND coffee robusta beans.
etc. etc., i think you're getting the gist.
when i realized this, it was like, right in front of my eyes, this terrible pattern emerged like a foul, corrupted caleidoscope of chaos, through the whole code base of this module.
i've already known how rotten from the core this code base is, but today i've actually identified a really bad pattern that i hadn't realized before. the whole architecture is so bloated that it is hard to have an overview of the whole thing. and it would require a LOT of refactoring to repair this pattern.
but i guess it would also be infinitely satisfying because i could probably reduce the code base for 30% or something...
but unfortunately, this is never going to happen, because screw refactoring.
it's a great feeling to start this new library from scratch, tho...6 -
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 -
I’m back on this platform after an awesome year of progress in my dev career. Here is the back story:
1. I was a junior dev at a financial technologies company for a little over a year.
2. The company was looking to hire an Integration Manager for its software with both our vendors and customers.
3. The pay was good and I was offered that position as a promotion.
4. I accepted it and said to myself that this is temporary. It will help me pay the bills and secure a better life, which it did.
5. Lost two years of my dev career in that position doing nothing but basic integrations (rest apis, web and mobile sdks, and work arounds for what does not work). Zero challenge. This is when I started to use devRant often.
6. On the bright side, the bills were paid and life style got better.
7. Two years in, any way out of the integration department is something I am willing to accept. So I approached every one and worked extra hard as an Application Support Engineer for every product in the firm for free, in the hopes of making good connections and eventually be snatched by someone. This lasted six months.
8. Finally! Got an offer to become the Product Manager for one of the apllications that I supported.
9. Accepted the offer, left the department, and started working with the new team in an Agile fashion. This is when I stopped using devRant because the time was full of work.
10. Five months in, I was leading a team of developers to deliver features and provide the solutions we market. That was an awesome experience and every thing could not have been better.
Except…
Every developer was far better than me, which made me realize that I need to go back on that track, build solutions myself, and become a knowledgable engineer before moving into leading positions.
11. After about a 100 job applications online, I’m back as a Junior developer in another company building both Web and Voice Applications. Very, very happy.
Finally, lessons learned:
1. The path that pays more now is not necessarily the one you wanna take. Plan ahead.
2. There is always a way out. Working for free can get you connections, which can then make you money.
3. Become a knowledgable and experienced engineer before leading other engineers. The difference will show.
4. Love what you do and have fun doing it.
Two cents.1 -
part of my workflow i want to improve?
in general, take more time to get to know better the technologies and tools i'm working with.
e.g. learn all the fancy hacks and features of my IDE or of a certain language or framework.
i tend to be in the mode "i don't have time for that, it already works the way i use it". if i spend "too much" time on learning stuff, i feel bad, since i could also spend that time working on my ever growing list of tasks. but i think, that's not a good habit... -
I'm thinking of self hosting all my small web projects,
I have this old laptop running ubuntu server heedlessly I used to store and stream pirated movies, after multiple embarrassing moments with free backend/platform as a service options and not finding a cheap VPS, this seems like the way to go. I don't get much traffic on these sites i just want them to be available when i need to present them.
then there's tons of other features that are locked behind a paywall,
I once had to store images in the database because heroku wont accept file uploads and the project hadn't been paid, in short, I was dead broke9 -
FUCK YOU PHP, FUCK YOU SYMFONY AND DEFINITELY FUCK YOU SHOPWARE.
Don't get me wrong, PHP has evolved a lot, but the stuff people are building with it is just the biggest load of fucking shit I have ever seen: Shopware. Shopware is the most ass-sucking abomination to extend. It's nearly impossible to develop anything beyond "use the standard features and shut the fuck up" that is more sophisticated than a fucking calculator.
The architecture of this pile of crap is the worst bullshit ever. A mix of OOP, randomly making use of non OOP concepts and features together with the unnecessarily HUGE amount of useless interfaces and classes. Sometimes I feel like it's 90% fucking shitty boilerplate shit.
And don't get me started with TWIG. It's a nice thought, but WHY THE BLOODY FUCK WOULD YOU NOT USE VUE IF YOU ARE ALREADY USING IT FOR A DIFFERENT PART OF SHOPWARE. This makes no fucking sense whatsoever and makes development of new features a huge pain in the ass. I can't comprehend how people actually like using this shit.
OH AND THE DATABASE. OH MY FUCKING GOD. This one is bad. Ever tried to figure anything out in a database where random strings (yes MySQL "relational" - you might think) that are stored as text in a JSON format make up some object or relations during runtime?? Why the fuck do you have foreign and primary keys if you don't use them properly??
Seriously you can't even figure out which data belongs to what because the architecture just sucks fucking ass. FUCK YOU Shopware wankers, you suck, your product sucks, your support sucks, your architecture sucks and you keep releasing new versions that regularly break shit even in minor versions.
I used to like PHP, but not in projects like these.6 -
A new update was just released to AltRant!
This update features:
- Massive UI responsiveness fixes and enhancements, including many fixes for UI bugs, fixes and things that needed tweaking
- A COMPLETE overhaul of all devRant API methods (a switch to my new library, SwiftRant)
- Progress with Android compatibility (replaced incompatible libraries for compliance with Mutata)
- Enhanced security with the Keychain
Here’s the link to join again:
https://testflight.apple.com/join/...7 -
Fixing out of scope/unrelated code quality issues when working on bugs/features.
Especially with older projects where pretty much the entire code base is a quality issue.1 -
Data wrangling is messy
I'm doing the vegetation maps for the game today, maybe rivers if it all goes smoothly.
I could probably do it by hand, but theres something like 60-70 ecoregions to chart,
each with their own species, both fauna and flora. And each has an elevation range its
found at in real life, so I want to use the heightmap to dictate that. Who has time for that? It's a lot of manual work.
And the night prior I'm thinking "oh this will be easy."
yeah, no.
(Also why does Devrant have to mangle my line breaks? -_-)
Laid out the requirements, how I could go about it, and the more I look the more involved
it gets.
So what I think I'll do is automate it. I already automated some of the map extraction, so
I don't see why I shouldn't just go the distance.
Also it means, later on, when I have access to better, higher resolution geographic data, updating it will be a smoother process. And even though I'm only interested in flora at the moment, theres no reason I can't reuse the same system to extract fauna information.
Of course in-game design there are some things you'll want to fudge. When the players are exploring outside the rockies in a mountainous area, maybe I still want to spawn the occasional mountain lion as a mid-tier enemy, even though our survivor might be outside the cats natural habitat. This could even be the prelude to a task you have to do, go take care of a dangerous
creature outside its normal hunting range. And who knows why it is there? Wild fire? Hunted by something *more* dangerous? Poaching? Maybe a nuke plant exploded and drove all the wildlife from an adjoining region?
who knows.
Having the extraction mostly automated goes a long way to updating those lists down the road.
But for now, flora.
For deciding plants and other features of the terrain what I can do is:
* rewrite pixeltile to take file names as input,
* along with a series of colors as a key (which are put into a SET to check each pixel against)
* input each region, one at a time, as the key, and the heightmap as the source image
* output only the region in the heightmap that corresponds to the ecoregion in the key.
* write a function to extract the palette from the outputted heightmap. (is this really needed?)
* arrange colors on the bottom or side of the image by hand, along with (in text) the elevation in feet for reference.
For automating this entire process I can go one step further:
* Do this entire process with the key colors I already snagged by hand, outputting region IDs as the file names.
* setup selenium
* selenium opens a link related to each elevation-map of a specific biome, and saves the text links
(so I dont have to hand-open them)
* I'll save the species and text by hand (assuming elevation data isn't listed)
* once I have a list of species and other details, to save them to csv, or json, or another format
* I save the list of species as csv or json or another format.
* then selenium opens this list, opens wikipedia for each, one at a time, and searches the text for elevation
* selenium saves out the species name (or an "unknown") for the species, and elevation, to a text file, along with the biome ID, and maybe the elevation code (from the heightmap) as a number or a color (probably a number, simplifies changing the heightmap later on)
Having done all this, I can start to assign species types, specific world tiles. The outputs for each region act as reference.
The only problem with the existing biome map (you can see it below, its ugly) is that it has a lot of "inbetween" colors. Theres a few things I can do here. I can treat those as a "mixing" between regions, dictating the chance of one biome's plants or the other's spawning. This seems a little complicated and dependent on a scraped together standard rather than actual data. So I'm thinking instead what I'll do is I'll implement biome transitions in code, which makes more sense, and decouples it from relying on the underlaying data. also prevents species and terrain from generating in say, towns on the borders of region, where certain plants or terrain features would be unnatural. Part of what makes an ecoregion unique is that geography has lead to relative isolation and evolutionary development of each region (usually thanks to mountains, rivers, and large impassible expanses like deserts).
Maybe I'll stuff it all into a giant bson file or maybe sqlite. Don't know yet.
As an entry level programmer I may not know what I'm doing, and I may be supposed to be looking for a job, but that won't stop me from procrastinating.
Data wrangling is fun.2 -
Question: We are planning to transition our old ES5 codebase to modern ES6/ES7 and even typescript.
What would be the build tool you would recommend if we want to start supporting ES6/ES7 and even Typescript?
Webpack, Vite some other?
This is a vanilla Javascript Project with large codebase it's been built using custom build tools like UglifyJS and UglifyCSS and of after lots of begging it finally got the green light to move to a more modern build tool and start supporting a more standard JavaScript Features.
Mainly I want to move to TypeScript but transition would be slow so the build tool would need to support .ts and .js as well, that is traspile both the .ts and .js into one final production build.
What build tool would you recommend for that?8 -
I've actually already discussed this one on here I believe
I see this job looking for an android developer for Kotlin with UI experience with XD & Figma and experience with Firebase. I have all of these qualifications so I throw my resume into the fray within an 2 hours the recruiters contact me. they have an offer of 76,000 and I'm looking for junior so I'm like, eh whatever, I give them a copy of my resume and we hold discussion for a few days and then radio silence. I then see a job posting EXTREMELY similar but with a "different company" so I throw my resume in and again within 2 hours I get a call only THIS TIME ITS THE INTERNAL HR. She sounds interested we have a good conversation and sets me up for 96,000 and they schedule me for my first interview within the week. Interview goes great, next I meet with the CTO and we have a pretty good conversation, I'm expecting a technical exam but it doesn't happen instead they give me a case study. they send me requirements for an app API to use, architecture, and a week time span to do it. I finish the app with extra features within 6 days, in my understanding of MVVM and I was excited and happy about this app because its JUST NICE. a week goes by and I meet with the tech team. They grill me on my application, scalability, use cases, how would I advertise or place advertisement and I'm answering everything they love the UI (I included mockups I made on XD), they say everything sounds good everyone leaves with smiles they say they have to find out on what team to place me because they have multiple apps and that HR will be in contact with me in the next few days... A WEEK GOES BY and I randomly get the declination email that next Friday. When I asked for feedback they said it wasn't true MVVM. I was devastated until the next week when I was accepted for a higher paying job that didn't require me to move. After I accepted this job guess who calls? THE FIRST RECRUITER and for this long I was wondering if this was the same job due to the very similar job description so I ask "is your client XXXXXXX?" it was I just told him "I'm good" and hung up4 -
My company wants me to add new features to their existing cappy system when I'm on my notice period...3
-
Dear Windows, we have to talk. I love you, you know that, and I know that your market share has been shrinking in recent years and you're shit scared of becoming irrelevant but for the love of god:
- STOP asking me every god damn few weeks if I want to change my browser settings - NO I FUCKING DONT WANT TO USE BING, FUCK OFF
- STOP trying to be like an app and add pointless new "features" that nobody cares about and just do your fucking job, which is to be a PLATFORM which is stable, never changes and that gets out of my fucking way
- STOP reinstalling apps I uninstall, Im NOT FUCKING INTERESTED IN PAINT 3D, FUCK OFF
FUCK, ME,2 -
Play Store's $25 registration fee - for getting PWA listed in their shitty catalogue? Who in the right mind would even jump in this clusterfuck of store to find a *web* app? For all you know, Google, there is such thing as QR codes - and customers can just scan the code (or type in that sweet address). Voila! Boom!!! Ching-ching!
Hello-hello, monopolistic cashgrabage! I came to inform you that your TWA bullshit is unneeded in ETHICAL space. The only ones who would benefit from this thing are permission-hungry publishers. And I'm already sick of this culture where people are put into store bubbles. You can't hide the fact that this data and features you provide, with "native" layer, may be misused in a jiffy - and by big players, no less. Of course, as a vile dumpster that you are, you don't mind it.
Don't even bring up a battery consumption that comes with PWA and browser. This doesn't matter if you use an app for some 2 minutes to tick your mental checkboxes! I'm just sick of app stores and native apps that collect the data without normal warning, and dare to take more than 1 second to fucking load the cached data. Take a lesson or two from PWAs that collect (probably useful) cache, instead of my specs, and load almost instantly.12 -
While I appreciate the effort, gdpr has some very stupid parts which clearly show that it wasn't properly discussed with experts.
For example: Information that somebody had received can never be reliably deleted, any attempt to do so will only make people use alternative clients. The only part of the service that I control is the server, especially in open source, and if people accept that others will see their data, it cannot be "unseen". I can delete it from my side so no one else will receive it _from me,_ but please don't make laws that enforce me to write client features no one wants because anyone familiar with the market knows that this will simply produce an alternative.3 -
I don't understand why people are so preoccupied with new languages and scared to try them out. At least half of the language features are a rehash of the same ideas and the other half are 2-3 ideas. Seriously. I find it distasteful that people in my co are so scared of learning new shit. NEED To GTFO.3
-
Today someone found a 0 day in our trialware which allowed some of the main features to work even after its expiry.
I mean what do you expect when you create a shady system for trialware.
It was fun to watch the lead dev of the trialware panic when it was confirmed.
Tomorrow's standup is gonna be fun.3 -
Kinda often, the ecosystem around C/C++ kinda sucks
Compilers will give you hieroglyphs instead of readable errors.
Including a separate library, or a code generator, into your project is generally hell on earth to set up.
The language server often needs several seconds to come up with suggestions, some of which are complete nonsense.
The language itself lacks many basic features. C++20 will give us so many fancy things but we still can't convert an enum to a string.
I've programmed in C# and lately in Rust, and damn the developer experience there is just so much nicer overall.31 -
So we 3 devs working on a real estate system.... The guy who initially wrote the system wrote it in a fucked up state
Project structure was shit so we had a meeting and I suggested we restructure the project and also have some minimal documentation coz the system is growing we adding more features before current ones are finished
We agreed and started polishing up the system coz it seemed more features we wanted were now becoming more and more difficult to implement
So the other guy tells me to pull some updates.... To my surprise he had started documenting the system without restructuring first.... Had to quickly restructure the thing and push updates
How can 1 start documenting the very same design we want to abandon 🤦 -
It's a shame that people don't want to use F# but prise C# for how cool it became and continue becoming. At the same time, little do they know that many of the features were simply drawn from F#.
It's just rediculous how far this OO and C-Style syntax crap has progressed. They keep copying things from functional langugages, making the initial language to be a monstrocity like C++ is now, insted of just using languages like C#. I mean, it was right there before C#: async/task, immutablility, records, indexes, lambdas, non-null by default, who the hell knows what else.
Besides, many people (in my company at least) are just blindly overengineering with patterns and shit, where a simple function would be just enogh.
Watch some some NDC talks about F#, in particular those of Scott Wlaschin. It's just better in so many ways: less noice (I'm looking at you, brackets, commas and semicolons), the whole LOT of type inference and less duplication (just look at the C# signatures of linq methods - it's difficult to read them), immutability by default, non-nullable by default, ADTs and pattern matching, some neat features like type providers (how many times have used "paste special" or an online tool to create C# classes from a JSON/XML file, and how many times have your regenrated it because of schema changes?) and units of measure.
Of course, in some cases it's not optimal, in some cases mutable datastructures of C# are better for performance. But dude, how many performance critical systems have you wrote in C#? I mean, if it comes to performance you should use Rust or C++ or C after all.
*sighs*15 -
Two weeks before the release of a major new version of an application I'm working on, the testers finally got round to testing the new functionality (a set of a few features and a new page). They didn't agree with the requirements and got the requirements to change with the product owner.
The product owner now says that these changes "are easy to implement" and "the new requirements are clear" even though the other devs and I all don't understand the change. How would a product owner even know it is easy to implement?
Fun times.1 -
a "landing page", that was just any and all features of the application forced into one huge, unbearably slow, indeniably confusing page.
which took months of work. which i said beforehand "nobody will use it". which now, through the magic of user tracking, is proven to be used by nobody.2 -
So the tests for the AMD RX 7000 GPUs are out. Business as usual: superb for non-RT gaming given the price, crap at everything else - including energy efficiency in FPS/W.
Pro tip to the AMD marketing: you don't highlight features like energy where you suck relative to the competition. You point out your strong points. Admittedly, you don't have much to work with here.3 -
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 -
For fuck's sake Microsoft, why on Earth do you announce a half-done feature? Was this an idea from marketing? Upper management? I am fairly certain that nobody who actually writes code for a living would have ever approved releasing a rushed feature to a TYPE SYSTEM.7
-
On the topic of having to make decisions as a dev that shouldn’t be made (solely, at least) by devs…
There’s a lot to like in my current work environment: I enjoy being around my colleagues, I get to do a variety of tasks, and many of them interesting to me and/or great learning opportunities, the pay doesn’t suck and so on… there’s also not much pressure put on the dev team from other parts of the organisation. The flipside of the coin is that nobody who should express some kind of vision as to how we should develop the product further does so.
Me and my fellow devs in the team are so frustrated about it. It feels like we’re just floating around, doing absolutely nothing meaningful. It’s as if the business people just don’t care. And we are the ones ending up deciding what features to develop and what the specs are for those etc. and I really don’t think we should be the ones doing that.
One would think that’s a great opportunity to work on refactoring, infrastructure, security and process improvements and so on - but somehow we get bothered just enough by mundane issues we can’t get to work on those effectively. Also, many of the things we’d want to do would need sign-off from the management, but they are not responsive really. Just not there. Except for our TM, but they don’t have the power neccessary… at least they are trying tho… -
a client reached out today who wanted a website which had a dl model for image processing
website -> take image -> pass through model -> based on result sort images and display in grid along with other features
budget? $856 -
not sure if actual bad habit, or just a natural consequence of what i'm writing often being de-facto "exploratory code" so the "bad habit" is actually the right choice, or...
but very often when i finish a functionality and look at the first version of the code, and realize how bad it is, and how it blocks me to implement following features... rather than just fix/improve that code, i just want to nuke all of it and write it from scratch again, and "better this time", because it seems like much less work and effort than trying to gradually fix it "in-place".
it definitely feels like a bad habit though, because it often results in me deleting and implementing to completion the same thing 4 times in a row. -
Recruiter: We are looking for a full-stack expert. You have taken multiple apps from conception to deployment, and have experience and opinions on the best technologies to use and why. You should be comfortable implementing new features from scratch, making changes to existing features and writing complex migrations on production data.
Dev: lol4 -
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 -
Why?! Why do companies need to build a useless application for their product every... single... time? It's not like I'm going to watch the state of my (future) pension every single day, I only want to update my personal information.
(I kinda get why, but still, you can get similar features out of a PWA as well, which is less annoying for the end user)2 -
Do you want to know why all the popular open source projects have less-than-optimal, sometimes really dirty code?
It's because their developers ditched all the unnecessary stuff to just get the damn thing done. When I choose an open source dependency, I don't need unfinished stuff. I need a stuff that works and has all the features I need from the very start. If it works, I don't care about code quality in my deps.
This is the reason why dirty, rushed stuff with a great idea behind it gains popularity. PHP, Git, jQuery, the list is quite large.
While you've been busy polishing your files hierarchy, these guys already shipped their product, gained adoption, and their userbase doesn't need your product anymore.
This is applicable only for true open source, not "it's developed by a full-time team of principal developers and the CTO is fucking Kent Beck, it costs $1m per month but yea we have it on github".3 -
Its most enjoyable when you are working on a codebase that was cleary planned and thought out beforehand. Bugs are easy to fix, features are easy to make because you already have a blueprint of how its supposed to look, modifying features is easy because you already know where to look to make the changes. You can work with plain jquery or fucking visual basic and youll still have a better time then with any modern framework if you have that.
-
>= rant
While its really hard to get code wrong in Rust, it is also really hard to get code right in Rust. It took me a considerably long time to write a code which returns the first word in the sentence
I felt the borrow checker introduces a steep learning curve into Rust which is otherwise a beautiful language according to me. C++, my current favorite language, also suffers the same problem with respect to certain language features.3 -
#Rant
I work for a client that introduced a "roadmap" with tasks labeled with task numbers in May this year. And its 1st July and development-wise we are at task #15. And the client havent asked us to deploy anything yet. Not even task #1.
So its been 2 months of us just developing features in our local machines and now its pissing me off.
What would you do in my situation ?4 -
Developers celebrate new Safari browser features. Nice! Good work! But when will Apple ship the new Safari to older macOS and iOS versions?
That would increase compatibility and reduce planned obsolescence, Apple! 🍏🍎👿4 -
Reading fine print FTW... Samsung Galaxy Watch features only work with Galaxy phone...
Yes uh.. no...2 -
Dev goals for 2022? Best and worst DX in the past?
Wish to prioritize customers with useful business goals who are open to sustainable web dev, usability and accessibility.
Want to use even more CSS and find a way to use new features like parent selectors without sacrificing compatibility.
Continue learning and using Symfony, but also continue with my full-stack side project using JS or even better TypeScript for the backend also for the backend.
Best developer experience: getting new customers for my own business after leaving a company last winter.
Worst developer experiences:
Corporate customers with large budgets and design agencies seem to fancy all the antipatterns I thought bad and obsolete, like carousel content, animations everywhere, and autoplay videos on the home page. Poorly written, poorly thought, and sometimes contradictory, requirements. Customers and agencies changing their mind halfway through a project.
"Agile" daily meetings, not giving devops necessary repository permissions, and making Webpack mandatory for no real reason.2 -
I am fairly new to "enterprise" programming, but have some experience with self-study and open source. I'm getting more frustrated by the day because the code quality of our software is appallingly bad: functionality that should be centralised isn't, assumptions about internal structures and functionality of objects are made throughout the code, concerns are not separated, and so on. In my current team, we explicitly disabled SonarQube because "someone would have to fix it and our software wouldn't pass even after a month of work".
While I understand the concerns that companies would rather see new features than "quality improvements", so what? Every time we want to add something, we either have to restructure half the source code or add it in a really horrible way (and get pressured to do it that way).
Is it normal that code quality in companies is so bad?10 -
Python 3.9:
Cool New Features for You to Try
String Prefix and Suffix.
Type Hint Lists and Dictionaries Directly.
Topological Sort.
Greatest Common Divisor (GCD) and Least Common Multiple (LCM)
New HTTP Status Codes.
Removal of Deprecated Compatibility Code.2 -
Aka... How NOT to design a build system.
I must say that the winning award in that category goes without any question to SBT.
SBT is like trying to use a claymore mine to put some nails in a wall. It most likely will work somehow, but the collateral damage is extensive.
If you ask what build tool would possibly do this... It was probably SBT. Rant applies in general, but my arch nemesis is definitely SBT.
Let's start with the simplest thing: The data format you use to store.
Well. Data format. So use sth that can represent data or settings. Do *not* use a programming language, as this can neither be parsed / modified without an foreign interface or using the programming language itself...
Which is painful as fuck for automatisation, scripting and thus CI/CD.
Most important regarding the data format - keep it simple and stupid, yet precise and clean. Do not try to e.g. implement complex types - pain without gain. Plain old objects / structs, arrays, primitive types, simple as that.
No (severely) nested types, no lazy evaluation, just keep it as simple as possible. Build tools are complex enough, no need to feed the nightmare.
Data formats *must* have btw a proper encoding, looking at you Mr. XML. It should be standardized, so no crazy mfucking shit eating dev gets the idea to use whatever encoding they like.
Workflows. You know, things like
- update dependency
- compile stuff
- test run
- ...
Keep. Them. Simple.
Especially regarding settings and multiprojects.
http://lihaoyi.com/post/...
If you want to know how to absolutely never ever do it.
Again - keep. it. simple.
Make stuff configurable, allow the CLI tool used for building to pass this configuration in / allow setting of env variables. As simple as that.
Allow project settings - e.g. like repositories - to be set globally vs project wide.
Not simple are those tools who have...
- more knobs than documentation
- more layers than a wedding cake
- inheritance / merging of settings :(
- CLI and ENV have different names.
- CLI and ENV use different quoting
...
Which brings me to the CLI.
If your build tool has no CLI, it sucks. It just sucks. No discussion. It sucks, hmkay?
If your build tool has a CLI, but...
- it uses undocumented exit codes
- requires absurd or non-quoting (e.g. cannot parse quoted string)
- has unconfigurable logging
- output doesn't allow parsing
- CLI cannot be used for automatisation
It sucks, too... Again, no discussion.
Last point: Plugins and versioning.
I love plugins. And versioning.
Plugins can be a good choice to extend stuff, to scratch some specific itches.
Plugins are NOT an excuse to say: hey, we don't integrate any features or offer plugins by ourselves, go implement your own plugins for that.
That's just absurd.
(precondition: feature makes sense, like e.g. listing dependencies, checking for updates, etc - stuff that most likely anyone wants)
Versioning. Well. Here goes number one award to Node with it's broken concept of just installing multiple versions for the fuck of it.
Another award goes to tools without a locking file.
Another award goes to tools who do not support version ranges.
Yet another award goes to tools who do not support private repositories / mirrors via global configuration - makes fun bombing public mirrors to check for new versions available and getting rate limited to death.
In case someone has read so far and wonders why this rant came to be...
I've implemented a sort of on premise bot for updating dependencies for multiple build tools.
Won't be open sourced, as it is company property - but let me tell ya... Pain and pain are two different things. That was beyond pain.
That was getting your skin peeled off while being set on fire pain.
-.-5 -
So this month I had to do two major features which required unexpected refactors and I had to handle unexpected edge cases all over the place. Since I work in another timezone and time was of essence, I was kinda working around the clock to complete refactors as fast as possible because it was "important and critical". I have 7 other devs in my team but only half of the team are actually competent and even less are motivated to push through. Most of the team prefer to sit on low hanging fruit tasks and cant even get that fucking right.
So that resulted in me doing at least 100 hours of overtime this month. Best part all I got for pulling it off was a thank you slack message from teamlead and got assigned even more work: to lead a new initiative which seems to be even bigger clusterfuck...
So today I had a sitdown with my manager and I asked for 3 paid days off and told him that I did 50-60 hours of overtime. He okayed it as long as my teamlead was happy.
So I created a chat, adder manager and teamlead to it and explained my situation. That Im feeling burned out, I need 3 days off and combined with the weekend that should allow me to finally relax.
My fucking teamlead told me that these days are mine and he cant take them away from me. But then he started guilt tripping me that no one else will be working on the new initiative these days so we will have a very tight timeframe to deliver this (only until August).
Instead of having at least a drop of empathy that fucker tried to guilt trip me for taking days off for fucking unpaid overtime. What a motherfucker. Best part is Ive talked with manager and we actually have until end of August to deliver the new initiative, so fucker teamlead is gashlighting me with false sense of urgency.
I guess a hard lesson learnt here. Waiting for my fucking raise to be approved for the past 6 weeks (asked for a 43% bump which is on the way since I got very strong positive feedback).
So Im done. I proved myself, will get the salary of which I only dreamed about few months ago. Not putting any overtime anymore. If something is very urgent, borrow fucking decent devs from another team. Or replace half of our useless team with just one new decent dev. I bet our producticity would increase at least by 50%.
Its not my fuckint fault that 2-3 people are pulling the weight of 8 people team. Its not my responsibility to mentor retards while crunching under immense pressure just because current processes are dysfunctional. Fuck it. Hard lesson learned. If you want overtime, compensate with extra days off or pay. Putting my 7-8 hours in daily and Im not responding to your bullshit slack messages or emails after work. I dont give a fuck that you work in another timezone and my late responses might result in stuff getting done postponed by a few days or a week. Figure it out.2 -
Started freelancing via agency as android dev for this client. The product is a kyc mobile sdk with a flow of around 20 steps for identification. My job is to maintain the sdk/fix bugs/add features and so on.
Communication seems to be so fucking terrible.
For example the product owner is not technical and sucks at defining issues.
QA sucks at testing and providing feedback. Backend sucks at documentation and seems to live in a parallel universe, swagger docs are outdated. Previous android dev whom I replaced gave me 2 hours of his time during his last month in the company, answered some questions and then left today (which was release day) with around 6 bugs hanging. Now because we are behind schedule the PO is grilling my ass so I would provide hourly estimates, while I dont even know the codebase yet since I spent maybe 30 hours on it in the last month.
What a clusterfuck. I feel like Im in a kindergaden where people are either lazy or incompetent. It seems that sweet gig of 40 hours a month will become much more hours or my output will be low :)2 -
!rant
Just an appreciation post. Ant Design is the best React Library that I have encountered so far. It's so easy and clean to create new modules. It has already built-in features, especially for Tables.
As a backend developer who has been working in front-end for the past 6 months, I love this library. -
How is this for competence...
To push new features or fixes on one of our clients production sites that runs on AWS with auto scaling instances, we have to manually change the files in each instance that is running by ftp, and the template in S3. -
Lately as I've been reading about hacks in companies like Uber, Rockstar etc. I've come to remember my time at a company that worked like a feature factory, where developers constantly groaned about not having enough time to do things right. This had lead to having a few dozen people (both business and technology side) with direct access to the production database, just so they can do their jobs and that database was replicated across various environments just so they could develop on top of it, and do "proper testing".
The bad side is, this database contained the personal information of millions of the people (names, addresses, ssn numbers..). I saw this security problem, and always spoke out about it, but there was never enough time to do anything about it, like build the features the users need for them to do their job without direct access to the database. The app itself was a monolithic nightmare with poor development standards and holes here and there.
It only takes one person whos credentials could be compromised to bring that entire business down because all the data resides in one single database. However, they are lucky that there were at least smart people in the Ops department so they do have some good security measures in place on that side, because the development side was complete shit. Don't go lacking around with security!2 -
Engineers realize paying it forward is just as important to career progression than glamorous features completed1
-
I work in a small team. As the senior dev I tens to focus on important tasks that shape the core of the product but some times I can’t divide my self when there are multiple tasks at hand, so I pass some tasks to the an other mid level dev.
So the task was to create an automation in order to CD (continuously deliver) an order from WHMCS of the (git versioned) product to customers UAT, PROD envs.
To get a background this is an old guy with “constricted” experience in PHP/jQuery/Joomla/Wordpress.
So when we were breaking up the tasks he told me he would like to implement this so i gave him the task as i was busy with core features.
I was like what could go wrong? I know he doesn’t know much about CI/CD but he can read right? He will google right? He will search for CI/CD solutions that do this out of the box right? He will design on paper or what ever and do small POCs right? He will design the flow first before starting the implementation right? RIGHT?
So fast forward to today I had a call with him this morning about some DB staff. And he wanted to show me his progress…
His solution is:
(parentheses is my brain)
1. Customer completes WHMCS order (perfect)
2. Web Hook 🪝 action (YES)
3. cpanel gets source and “automatic!” Init, all using pure PHP code ignoring the usage of the current framework (ok… something is missing)
4. cpanel web hooks(?) WHMCS to send email to customer with the envs initial setup page(?)
5. Customer opens link and adds setup info (ok fuck, fuck, fuck)
(Ok stay cool composed, lets ask some questions maybe he thought it all in a cool way I can’t get my mind around)
Me: So how are you gonna get the correct version from the repo to the env and init the correct schema?
Dev: I haven’t thought about it yet.
Me: Are we gonna save each version to a file system then your code is going to fetch them?
Dev: I haven’t really thought about it we will see. But look on customer init user setup I implemented a password strength validation and it also checks if the password is the same.
So after this Pokémon encounter I politely closed teams. Stood up drank some (a lot) coffee ☕️. Put out the washed laundry while reflecting on life’s good things, while listening to classical music 🎼 .
Then I sat on my office chair drank some more coffee, put some linking park starting with in that order:
“Numb” then “What I’ve Done” and ended with “In the end, it does really fucking matter” -
Unity Engine lures you into trying it out with its simple starting Tools.
But once you realize this is just a fassade - it's too late and the trap got you.
You're now in limbo of to simple code which isn't compatible with the more complicated features!
Oh you try to fix this bug here? Let me suggest you 6 year old solutions from Unity Version that are not supported anymore!
Sorry just have to say it: Unity is big pile of sh*t! I don't know who had the idea of making this frankenstein-monster!
Just to consider thinking not only making one monster - NO!
Lets do a whole bunch of iterations and versions of this monster and yes you guessed it: they are not compatible to each other!1 -
#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 -
So my non-tech manager has started doing all the estimates for us developers on features upon high management request to save time, because of course rushing all the estimates for the work to be done in the next 6 months is the best process in software engineering.
All the estimates are based on previous work. Sometimes it will be accurate, but most of the time it is absolutely not.
So I get a task estimated to 3 weeks but I planned for 5. Just fit it in 3 weeks.
I planned for 2 weeks but the original estimate is 5. Just fit it in 5.
What kind of crap is that lol? What is the point of us estimating work if management knows apparently better than us how to design systems?
You guys got any similarly shitty project management system?1 -
The platform team who provides all other teams with common framework emails everybody we need to upgrade the framework to new version. Let’s say version 1.a.0. They say it brings crucial security features and all pipelines using old versions would be blocked. My colleague created a story to upgrade all of our 10 microservices. When I got to it in a couple of days for some fucking reason they already rolled out 1.a.1 and didn’t inform anybody, the pipelines just logged warning u need to use 1.a.1. Alright, I did the upgrade to 1.a.1 and merged ducking everything in 10 fucking microservices. In a couple of days at morning they roll our 1.a.2 and require everybody to upgrade ducking degenerates as they found a high severity bug. I wanted to start again but was lazy and did nothing all day to learn that at 6pm the fuckers roll out 1.a.3!!! And again require everyone to upgrade!1!1!1eleven
Ten fuxkibg microservices. Goddamit write some unit tests, do friends&family, do fucking tests on small group of your inner clients before rolling out this shit that everybody must to use.
Spat at the display -
Any heuristics on using new JS/CSS features?
I thought of waiting 2 years, but I just saw an article that recommended waiting 6 months.
Another factor could be covered percentage, based on caniuse. 98%+ is the coverage of things we can all agree we can use, so is 95%+ enough for new features? 90%+ (so 1 in 10 people wouldn't get the expected experience)?5 -
I keep myself motivated by reading about new technologies, language features and constantly trying to improve my code.
I see great reward in having fast and readable code. -
The Verge: Google shows off AR glasses that might make a case for augmented reality.
See live translations... What a fckin joke...
The Live Translate and Transcribe features on the Pixel 6 and along with all the other features... Are a joke too....
Can only translate between English, French, Deutsch, Italian and Japanese...
https://theverge.com/2022/5/... -
Web Push notifications for PWA finally coming to iOS 2023
API is already there at experimental features settings9 -
stateofjs survey reminds me of all that's wrong with JavaScript: too many frameworks each of which has to reinvent the wheel and depend on too many node_modules child dependencies, most don't support TypeScript properly (ever tried to convert a node-express-mongoose tutorial to TS?), there is still no proper type support in JS core language, and browser features get added in form of overly complex APIs instead of handy DOM methods.
Instead the community gets excited about micro-improvements like optional chaining which has been possible in other languages for decades.
At least there is something like TypeScript, but I don't like its syntax either, it's overly verbose and adds too much "Java feeling" to JavaScript in my opinion.
Also there is too much JS in web development, as CSS and HTML seem to have missed adding enough native functionality that works reliable cross browser to build websites in a descriptive way without misunderstanding web dev for application engineering.
After all, I'd rather have frontend PHP than more JavaScript everywhere.
Anyway, at least the survey has the option to choose how satisfied or unsatisfied people are about certain aspects of JS. But I already suspect that most respondents will seem to be very happy and eager to learn the latest hype train frameworks or stick to their beloved React in the future.5 -
has anyone used latest google pixel phones (5/6/7 etc) ? are there camera/video quality comparable to iPhone?
i am thinking of buying a new phone. i recently saw the various live photo/cinimetic/other features of iPhone's camera, and i became an instant fan of it. i personally am not a big photogenic person, but the quality of apple is worth on trips and events.
but i everything else about ios shitty and miles behind android. so want some good camera phone in android.
PS : no bloatware phones like xiaomi or oppo10 -
Want to experience how a real dev nightmare feels like? Then try creating a native mac app. And make sure you use SwiftUI.
* No access to the SDK source code, thus you can only rely on documentation
* Everything you find on google is intended for iOS (including official documentation)
* Talking about official documentation it’s almost worthless
* Apple team doesn’t give a shit about macOS, so most obvious features are missing.
On a serious note, SwiftUI can be fun when it works, when it doesn’t you still can fallback to AppKit, but your codebase looks like some frankenstein monster.
I sometimes regret I was so stuborn to make a native app, instead of just cross-platform app with WebView.6 -
Ok......so we working on this system with a friend
we have deadline today
he's the one who wrote the code
I'm just implementing some features
maaan the dude is just not responsive to questions
and project structure and code is bad AF no comments or docs
WTF!!!!!!! -
I'm a self taught web developer, I know I can develop great apps, but my code doesn't feel structured... It gets messier as I add more features, and this makes it harder to develop and keep track of everything.
How can I improve this, are there any processes to follow?5 -
Anybody else getting annoyed with VSCode lately? I’m constantly getting updates to the editor and various plugins that add near-forced autocomplete suggestions, cursor hijacking, codelens and inlay hints (messes up spacing and layout), etc. It’s starting to drive me crazy! Just let me write my code! I love the syntax highlighting and autocomplete, but developer tools need to be optional, not have their off button buried behind some 5-layer JSON object that’s not documented anywhere!
I just want to write code, and I want my editor to be a tool, not an annoying little bee swarming my face all the time trying to get me to do things I don’t want to do! Microsoft and plugin devs need to stop enabling these obtrusive features by default and put them behind a “New Features” wizard or something!3 -
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 -
I can work productively and for very long hours with a lot of stuff which many dev considers productivity hurdles:
- single small monitor? No problem (in fact in one occasion in which my roommate accidentally broke my laptop charghing port and I couldn't get a spare I worked on an iPad connected trough SSH to a Linux machine completing one of the hardest tasks I ever did without significant loss of productivity)
- old machine? That's ok as long as I can run a minimal Linux and not struggle with Windows
- noise and chatter around me? A 10€ pair of earbuds are enough for me, no noise cancelling needed
- "legacy" stack/programming language? I'd rather spend my days coding in Swift or Rust but in the end I believe which is the dev and its skill which gets the job done not fancy language features so Java 8 will be fine
- no JetBrains or other fancy IDE? Altough some refactoring and code generation stuff is amazing Neovim or VS Code, maybe with the help of some UNIX CLI tools here and there are more than enough
despite this I found out there is a single thing which is like kryptonite for my productivity bringing it from above average* to dangerously low and it's the lack of a quick feedback loop.
For programming tasks that's not a problem because it doesn't matter the language there's always a compiler/interpreter I can use to quickly check what I did and this helps to get quickly in a good work flow but since I went to work with a customer which wants everything deployed on a lazily put together "private cloud" which needs configurations in non-standard and badly documented file formats, has a lot of stuff which instead of being automated gets done trough slowly processed tickets, sometimes things breaks and may take MONTHS to see them fixed... my productivity took a big hit since while I'm still quick at the dev stuff (if I'm able to put together a decent local environment and I don't depend on the cloud of nightmares, something which isn't always warranted) my productivity plummets when I have to integrate what I did or what someone else did in this "cloud" since lacking decent documentation everything has do be done trough a lot of manual tasks and most importantly slow iterations of trial and error. When I have to do that kind stuff (sadly quite often) my brain feels like stuck on "1st gear": I get slow, quickly tired and often I procrastinate a lot even if I force myself out of non work related internet stuff.
*I don't want this to sound braggy but being a passionate developer which breathes computers since childhood and dedicating part of my freetime on continuously improving my skill I have an edge over who do this without much passion or even reluctantly and I say this without wanting to be an èlitist gatekeeper, everyone has to work and tot everybody as the privilege of being passionate in a skill which nowadays has so much market1 -
A year ago I built my first todo, not from a tutorial, but using basic libraries and nw.js, and doing basic dom manipulations.
It had drag n drop, icons, and basic saving and loading. And I was satisfied.
Since then I've been working odd jobs.
And today I've decided to stretch out a bit, and build a basic airtable clone, because I think I can.
And also because I hate anything without an offline option.
First thing I realized was I wasn't about to duplicate all the features of a spreadsheet from scratch. I'd need a base to work from.
I spent about an hour looking.
Core features needed would be trivial serialization or saving/loading.
Proper event support for when a cell, row, or column changed, or was selected. Necessary for triggering validation and serialization/saving.
Custom column types.
Embedding html in cells.
Reorderable columns
Optional but nice to have:
Changeable column width and row height.
Drag and drop on rows and columns.
Right click menu support out of the box.
After that hour I had a few I wanted to test.
And started looking at frameworks to support the SPA aspects.
Both mithril and riot have minimal router support. But theres also a ton of other leightweight frameworks and libraries worthy of prototyping in, solid, marko, svelte, etc.
I didn't want to futz with lots of overhead, babeling/gulping/grunting/webpacking or any complex configuration-over-convention.
Didn't care for dom vs shadow dom. Its a prototype not a startup.
And I didn't care to do it the "right way". Learning curve here was antithesis to experimenting. I was trying to get away from plugin, configuration-over-convention, astronaut architecture, monolithic frameworks, the works.
Could I import the library without five dozen dependancies and learning four different tools before getting to hello world?
"But if you know IJK then its quick to get started!", except I don't, so it won't. I didn't want that.
Could I get cheap component-oriented designs?
Was I managing complex state embedded in a monolith that took over the entire layout and conventions of my code, like the world balanced on the back of a turtle?
Did it obscure the dom and state, and the standard way of doing things or *compliment* those?
As for validation, theres a number of vanilla libraries, one of which treats validation similar to unit testing, which seems kinda novel.
For presentation and backend I could do NW.JS, which would remove some of the complications, by putting everything in one script. Or if I wanted to make it a web backend, and avoid writing it in something that ran like a potato strapped to a nuclear rocket (visual studio), I could skip TS and go with python and quart, an async variation of flask.
This has the advantage that using something thats *not* JS, namely python, for interacting with a proper database, and would allow self-hosting or putting it online so people can share data and access in real time with others.
And because I'm horrible, and do things the wrong way for convenience, I could use tailwind.
Because it pisses people off.
How easy (or hard) would it be to recreate a basic functional clone of the core of airtable?
I don't know, but I have feeling I'm going to find out!1 -
I'm learning how to bundle with webpack. Cool. Exept that I don't have a single project in my portfolio that would benefit from any of it's features. Is this another "enterprise only" thing I can easily ignore in favor for the few <script> tags I'd normally use to hook up VUE or whatever?12
-
This is a repost of an original rant posted on a request for "Community Feedback" from Atlassian. You know, Atlassian? Those beloved people behind such products as :
• Thing I Love™
• Other Thing You Used One Time™
• Platform Often Mentioned in Suicide Notes, Probably™*
Now this rant was written in early 2022 while I was working in an Azure Cloud Engineer role that transformed into me being the company's main Sysadmin/Project Manager/Hiring Manager/Network Admin/Graphic Designer.
While trying to simultaneously put out over 9000 fires with one hand, and jangling keys in the face of the Owner/Arsonist with the other, I was also desperately implementing Jira Service Desk. Normally this wouldn't have been as much of a priority as it was, but the software our support team was using had gone past 15 years old, then past extended support, then the lone developer died, then it didn't work on Windows 10, then only functioned thanks to a dev cohort long past creating a keygen....which was now broken. So we needed a solution *now*.
The previous solution was shit of a different tier. The sight of it would make a walking talking anthropomorphised sentient puddle of dogshit (who both eats and produces further dookie derivatives) blush with embarrassment. The CD-ROM/Cereal Box this software came in probably listed features like "Stores Your Customer's First AND (or) Last Name!" or "Windows ME Downgrade Disk Included!" and "NEW: Less(-ish) Genocide(s)"!
Despite this, our brain/fearless leader decided this would be a great time to have me test, implement, deploy, and train everyone up on a new solution that would suck your toes, sound your shaft, and that he hadn't reminded me that I was a lazy sack enough lately.
One day, during preliminary user testing I received an email letting me know that the support team was having issues with a Customer's profile on our new support desk. Thanks to our Owner/Firestarter/Real World Micheal Scott being deep in his latest project (fixing our "All 5 devs quit in the last 12 months and I can't seem to hire any new ones" issue (by buying a ping pong table)), I had a bit of fortuitous time on my hands to investigate this issue. I had spent many hours of overtime working on this project, writing custom integrations and automations, so what I found out was crushing.
Below is the (digitally) physical manifestation of my rage after realising I would have to create / find / deal with a whole new method for support to manage customer contacts.
I'm linking to the original forum thread because you kind of need to have the pictures embedded in said reply to get really inhale the "Jira-Rant" ambiance. The part where I use several consecutive words as anchor links to tickets with other people screaming into the void gets a bit sweet n' savoury too - having those hyperlinks does improve the je ne say what of it all.
bit.ly/JIRANT (Case Sensitive)
--------------------------
There is some good news at the end of this brown n' squirty rainbow though!
Nice try silly little Jira button, you can't ruin *my* 2022!
• I was able to forget all about Jira a month later when I received a surprise vacation home! (To be there while my Mom passed away).
• Eventually work stress did catch up to me - but my boss thoughtfully gave me a nice long vacation! (By assaulting *while* firing me (for emailing in a vacation request while he was a having a bad (see:normal) day))4 -
i am feeling angry and frustrated. not sure if it's a person ,or codebase or this bloody job. i have been into the company for 8 months and i feel like someone taking a lot of load while not getting enough team support to do it or any appreciation if i do it right.
i am not a senior by designation, but i do think my manager and my seniors have got their work easy when they see my work . like for eg, if on first release, they told me that i have to update unit tests and documentation, then on every subsequent release i did them by default and mentioning that with a small tick .
but they sure as hell don't make my work easy for me. their codebase is shitty and they don't give me KT, rather expect me to read everything on my own, understand on my own and then do everything on my own, then raise a pr , then merge that pr (once reviewed) , then create a release, then update the docs and finally publish the release and send the notification to the team
well fine, as a beginner dev, i think that's a good exercise, but if not in the coding step, their intervention would be needed in other steps like reviewing merging and releasing. but for those steps they again cause unnecessary delay. my senior is so shitty guy, he will just reply to any of my message after 2-3 hours
and his pr review process is also frustrating. he will keep me on call while reviewing each and every file of my pr and then suggest changes. that's good i guess, but why tf do you need to suggest something every fucking time? if i am doing such a shitty coding that you want me to redo some approach that i thought was correct , why don't you intervene beforehand? when i was messaging you for advice and when you ignored me for 3 hours? another eg : check my comment on root's rant https://devrant.com/rants/5845126/ (am talking about my tl there but he's also similar)
the tasks they give are also very frustrating. i am an android dev by profession, my previous company was a b2c edtech app that used kotlin, java11, a proper hierarchy and other latest Android advancements.
this company's main Android product is a java sdk that other android apps uses. the java code is verbose , repetitive and with a messed up architecture. for one api, the client is able to attach a listener to some service that is 4 layers down the hierarchy , while got other api, the client provides a listener which is kept as a weak reference while internal listeners come back with the values and update this weak reference . neither my team lead nor my seniors have been able to answer about logic for seperation among various files/classes/internal classes and unnecessary division of code makes me puke.
so by now you might have an idea of my situation: ugly codebase, unavailable/ignorant codeowners (my sr and TL) and tight deadlines.
but i haven't told you about the tasks, coz they get even more shittier
- in addition to adding features/ maintaining this horrible codebase , i would sometimes get task to fix queries by client . note that we have tons of customer representatives that would easily get those stupid queries resolced if they did their job correctly
- we also have hybrid and 3rd party sdks like react, flutter etc in total 7 hybrid sdks which uses this Android library as a dependency and have a wrapper written on its public facing apis in an equally horrible code style. that i have to maintain. i did not got much time/kt to learn these techs, but once my sr. half heartedly explained the code and now every thing about those awful sdls is my responsibility. thank god they don't give me the ios and web SDK too
- the worst is the shitty user side docs. I don't know what shit is going there, but we got like 4 people in the docs team and they are supposed to maintain the documentation of sdk, client side. however they have rasied 20 tickets about 20 pages for me to add more stuff there. like what are you guys supposed to do? we create the changelog, release notes , comments in pr , comments in codebase , test cases, test scenarios, fucking working sample apps and their code bases... then why tf are we supposed to do the documentation on an html based website too?? can't you just have a basic knowledge of running the sample, reading the docs and understand what is going around? do i need to be a master of english too in addition to being a frustrated coder?
just.... fml -
So I’m tryina put together a resume and I see a lot of dev résumé talking about increased revenue from x to y or user base from z to w.
What I don’t understand is while yes the user base did increase from z to w it wasn’t just you that caused it. The entire company was working hard at it to get there so why are u claiming that it was you. And apparently recruiters love these kpis that u make out of your ass.
Should I give in and just put them in there anyway?
I worked in a startup so my job didn’t really have a definition of what to be told to do and do I had to deal with building front end with vue to figuring out how to automate our deployment flow and it’s really hard to quantify my performance like sure 3000 tickets solved but u don’t know what portion of them were full blown features what portion was just a one liner.2 -
I guess I just try to make a features list for "my next thing (now 3% smaller!)", instantly become a customer, demand way too many features, then get lost in the to-do list aand I'm writing another devRant. Nice.
-
Ranting (again) against the almighty marketing teams. So recently we started to build an amazing feature for our product but have been told to put the project on hold to help the "conversion team" which is focusing on trial, subscription and payment. But we are lagging behind the competitors regarding the features, for a huge price. But marketing wants that. Marketing wants an over engineered flow to be "fixed" for the 382948 time. Never had an impact on the conversation and will never have. So here is the truth : marketing stir the air because of their damn complex of inferiority and their inability to build anything.
-
So is the difference between inheritance and composition is that of a fridge and iceman?
class Man {
fun greet(){return "hi"}
}
class IceMan extends Man{
override fun greet(){return "hi i am iceman"}
fun getIce(){return "ice"*Random.nextInt()}
}
class Fridge{
private Man manAi;
private String s = "ice";
fun greet(){return manAi.greet()}
fun getIce(){return s*Random.nextInt()}
}
}
=========
Basically , in first case, a class is getting features by inheriting from parent while in another case, a class is getting features by internally having objects of other classes that could provide those features?6 -
ant.design selectors are bogus garbage.
The drop-down selector that replaces the browser's native one does not allow typing to select an entry, meaning to select a language from a long list, one needs to manually scroll to it. If the scroll wheel of the mouse does not work properly, one needs to use the scroll bar, which is far too short to be able to conveniently scroll a long language list.
Sure, ant.design might look pretty (as advertised), and has oh-so-fancy features like fade in/out animations, but from an interaction point of view, that's as useless as the skeleton screens popularly used by JavaScript-based websites (which are anyway inferior in performance and compatibility compared to static HTML pages with JavaScript on top).
Not only can I not type-to-select, but the date selector on Dailymotion, which uses this utter garbage, sends "[object Object]" to the server, so the user is forced to edit the HTTP request manually. Complete utter garbage.
Don't use that shit. Use the browser's native feature. Or use something progressively enhancing like the drop-down menus used by MediaWiki on pages such as Special:Contributions, where it actually is properly implemented.2 -
I implore ANYONE... please...
Have you EVER written a SINGLE Jest test that didn't have some sort of bullshit spewing stuff like this:
"ReferenceError: You are trying to `import` a file after the Jest environment has been torn down."
"Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."
and yet running on a device, features work flawlessly and quite well, no errors or even warnings in sight logged
This is the most fragile pile of garbage I have ever seen.
I hate this.
inb4 your stupid ass todo boilerplate garbage you wrote tests for in freshman year. i'm talking about a REAL app with HUNDREDS of components.
where the grownup testing tools at? it's a question I've still not answered after a year of fucking around with this framework2 -
Hi there, my 2 cents to rant on WWDC :)
- Check time? My big head is in the way.
- Work tabs... Why is my Wordle in the list?
- Edit message ... Good bye iMessage memes :(
- Dictation. Hello Jarvis. Hi CIA. Sup 0-day devs
- Live Text. Indian tutorials are now just a copy paste away
- Wallet keys sharing through messages 🤌
- Family. Send more screen time through messages (goodness this messaging app is becoming less green)
- Shared libraries in photos, lovely, now your aunt knows you love visit and taking photos of the neighbor (if you forget to turn it off)
- CarPlay, this will need screen time soon, ui so beautiful you gonna plan a journey by tinkering with the dials
- Check time (part 2) on the iwatch, My big head is still in the way
- Fitness app, Sleep app, Health app, Medication app, mmm lovely but still cant put my confidence in AI
- M2, saw it coming. Spec: scaringly powerful.
- isnt the midnight MacBook air elite?! But the notch tho. Magsafe is back, more thin, this thing looks fragile.
- Did they show a game running lower than the videos fps on purpose? Hmmm
- Ventura's stage manager, xbmc vibes
- Is that Facetime attachment free? Is there a subscription to continuity camera?
- Tab Group Collaboration, hehe, "they can see which tabs you're looking at" hehehe
- Free Form: bloatware
Meh, I cant rant more, honestly the new features look good.1 -
Node server with webpack poly fill on embedded device. Why 😂 .
Replacing node-fetch with node http instead of waiting for native node fetch API. Why 😂
All npm scripts on package.json are dead. Why 😂
Node server is not even sharing TS interfaces with frontend.
Customers are complaining about MeM0r1 L3k and let's build more features on stupid node.
Fucking kill me.1 -
Hello everyone,
I wanted to share with you a useful resource. There are many frameworks that help to create responsive and flexible web apps.
According to me, Bootstrap 5 is the best framework as it offers many features such as experimental support for CSS Grid and offcanvas in the navbar. Also, a new placeholders component, horizontal collapse support, and many more.
As we all know, it is an open-source framework that offers responsive structure and styles for building new projects and websites.
Here, in Today's rant, I am sharing some useful Bootstrap Practice projects that will help you to learn and sharpen your skills as a developer.
https://themeselection.com/bootstra...
You can check the above blog for more detailed info.
Thanks6 -
Why the fuck would Google promote Jetpack Compose as a stable toolset when it doesn't even support a basic feature such as a scrollbar.
A. Fucking. Scrollbar.
LazyColumn can't even come close to being as powerful as Recyclerview.
Here's an idea, before launching something and touting it as something usable, and encouraging people to drop the old, battle tested tool for the new shiny one, how about you make sure the new doesn't lack features present in the old one?
Seems logical, right?
Methinks somebody was just looking for a promotion because, clearly, Jetpack Compose is a half-baked product.
Now, developers will have to suffer because project managers will read about the new framework and ask devs to use it, then wonder why the app is suffering. -
I know angular but not react or nextjs. Should i learn nextjs or react first? Since nextjs uses react and adds additional features13
-
Why is instagram so thoroughly broken and a user experience torture.
I know the standard answer of "As long as the core flows that hold up the popularity work, no one cares much", and yeah, true, but that's a reason for why no one fixes the broken stuff.
What I want to know is why is it so thoroughly broken in the first place? Granted, Facebook isn't the best of places but one would expect at least a certaim level of competency from a team coming from the same organisation that gave us React JS(even if Instagram did not originate there, they have been in the Zuck empire for a while now). Why do such thoroughly messed up UI/UX and features get pushed to prod in a company that has the time, resources, and talent to do things professionally(read: better than the mess that instagram is). Not to mention a fuck ton of missing simple features that would make using it much better experience (JUST LET ME AT LEAST COPY COMMENTS GODFRKINDAMNIT IF ENABLING EDITING COMMENTS WILL COST YOU YOUR FIRSTBORN'S SOUL)
Maybe I am somewhat biased since I use Instagram desktop more than the mobile app, but my point should still stand.2 -
Don’t you just hate the feeling when you think you have some module in your project that may make sense to be an open-source library, but as you document its features, you start to second-guess everything about the module’s worth? I mean I probably shouldn’t guess anything, but I can’t seem to help it.2
-
Please support old web browser versions for all eternity.
I hate it when I open a site like SoundCloud one day and am greeted with a "we no longer support your browser" notice. Now I am forced to update my browser to a new version with removed features. On Android, Chrome sometimes crashes due to an apparent memory leak, so I have to go back to Samsung Internet, which does not work with some sites. Also, the Samsung clipboard manager (which can hold up to 20 items) is only available on Samsung Internet, not Chrome or Firefox.
I also have to update the browser on my live USB bootable stick because sites stop supporting it. Any browser starting in 2015 (ECMA script 6) should be supported until at least 2050 so that I never have to fear that a site one day spontaneously stops working on my browser.
I would like to browse the Internet forever without having to ever worry about pages to stop working one day. Browser vendors might also deprecate support for devices and operating systems. Old devices also have replaceable batteries and are easier to repair. I don't want be forced to buy new devices that are difficult and expensive to repair.21 -
#Suphle Rant 4: Laravel closing the gap II
I had expected rant 4 to come at least, some days later. Apparently, I'd miscalculated how fast things work in this wonderful world of software. In an earlier rant, I wrote about how dismayed I was to learn laravel had implemented one suphle feature I'm very proud about. They call it Premonition. Idk if it's officially rolled out yet but you can do a search among accepted pull requests for what it's all about
Well, today, I've just seen a draft from one of their maintainers showing one of the things suphle was designed to do: https://twitter.com/enunomaduro/.... They can't integrate it with this pattern since php doesn't have generics, so it'll either get trashed or with plastered as some band aid. In suphle docs, I explicitly indicated the data structure/typing for that feature is a polyfill for the absence of generics
I think I can get away with it because of where I'm using it (model authorization instead of custom exceptions/throwable operations, in general, like theirs)
I don't feel as distraught as I did on finding the Premonition thingy. Am I impressed with these things dawning on them? Ffs Laravel was invented in 2011. It's incredulous to think it gave me hell for years. Waited ~2 years for me to fix all issues in a brand new framework, only to magically gain iq points and start improving their work
It's weird and brutal. If they keep figuring stuff out, it may not be long before there are no features unique to suphle. Then, my worst nightmares will come to life. I will argue there's one thing nobody will ever copy, not without rethinking the mvc architecture in its entirety.2 -
Bo bo bo have you seen Joe?
Nah just kidding, but what the dev rant plus or sponsor tag or what ever its called, what its features?4 -
My last post entails how my company moved me to a freelancing role upon completion of my task (VoIP micro service: incoming and outgoing calls, voice mail drop, voice mail greeting, call forwarding, sms, and a couple more features) — app is now live and used by company’s agents to contact leads on our other products (designing), so boss tells HR to tell me (I realized this from HR’s slack screen when on huddle with me) to add WhatsApp integration. I responded that since I’m a freelancer I would charge $30/hour for it. HR said he’d get back to me and it’s been 3 working days now.
They are also trying to have the app on Apps*mo so they cash out for other companies to use the app.
It’s been 2 weeks and a day since the end of my probation (I’ve been with them for 3 months) and no one has acknowledged this — I also wrote to my boss asking why management won’t acknowledge this but three days after probation they changed my role. Same company that held off my offer later to two months later in the job to offer a Senior Python Developer role as “HR has Covid and could not send it until now”.
He has not responded to my message. Pretty much no salary for me these past few days.
I’m now looking for other jobs. Meanwhile, I’m building from scratch AGAIN a VoIP micro service and I plan on making it public and free upon completion.
BUT I feel the company might take action against me. Do note that I did not sign the offer letter as the link had 3 days expiration and HR said he would send a new one but never did, even after I reminded him at least 2 days in a week.
____
While typing this, I got the urge to proceed regardless any circumstance.4 -
I got both fundamental Azure and AWS certifications, need to choose one to stick to for the future, I'm leaning more towards AWS since it has over 50% more market share than Azure and a much bigger and more robust platform, I also really like how they constantly add new features and services and integration with third party software. Azure developers seem to get paid more though and I found its UI to be more user friendly so....opinions? 🤔2
-
How can a novel emerging challenger software (written in Rust) take me 4 hours to install (still ongoing)?
Today I have decided to give Pijul a go. Pijul describes itself as a theory-sound alternative to Git, which I have wanted to get away from for a while now, due to various reasons -- many of which I saw Pijul advertise to have solved on design level.
So I set away a day to learn Pijul, today. Well, 4 hours after I sat down -- after a number of hilariously wonky failures of "Rust ecosystem" to do the right thing as I had to install Rust with some shell one-liners those insane wizards recommend for installation process (all in the name of "stability but not stagnation") -- Pijul has now been installing with the blasted `cargo` for an hour now (that's after 3 hours of getting to the point where `cargo install pijul` stopped exploding in my face) -- telling me I only have 40 crates more to install. Are they throttling me, perhaps? I don't care -- I should have been installing Pijul from a repository in accordance with my Linux distribution, or -- at worst -- download a BLOODY COMPILED PROGRAM IMAGE.
What is it with the hipster developers today? Everything they get of tools, they subsume and churn out intricate complexities the likes of which we hadn't seen yesterday. Tell me fellow developers who think installation of your software has to require three and a half novel "installation solutions" to which I can't be arsed to be made privy -- do you think your life today is easier than, I don't know -- wrangling with a Makefile and a C compiler (which today thankfully can do rather good job of standards compliance)?
I mean I wouldn't mind Pijul being written in Rust -- but it turns out Rust's advertised elegancy in practice is wrapped in so much "giftwrap" I feel like what desire I had to learn Rust myself, I'll stear well clear.
Here's an advice for developers in general -- an advice continiously ignored for decades -- stop blowing your original scope of delivery in auxilary packages you think you need to reinvent just because you can or because your mom is out of town! For programming languages like Rust this most certainly entails NOT writing your own package manager, with its own package delivery mechanism that has its own configuration file format and virtual machine to configure dependency resolution or what have you!
You wanted to write a programming language that has novel features you think we need? Fine -- write one and stop there. Watch it grow, and watch people who are busy working on other parts (scopes) of software to integrate your offer.
What a shitshow. Stop smuggling alternative package managers, installers, and discombulators with your actual product -- I only want the latter, I don't want the rest of your damn piping, walls, roof and a cathedral on top of it!
Don't be that guy starting with a pin, and ending up with a fucking diorama miniature of a pig farm in Netherlands. Jesus.8 -
Guys, i am having a tough time in work. So, i am sharing the story and questions here-
Initially, i was doing well with new projects and other existing projects where implemented new features.
But recently, i am assigned to a old project created by clients and some senior developer worked on it .
Ps: I was also assigned to this project 8 months earlier but was reassigned to other projects.
Now, Our senior developer who worked on it resigned because of the messy project and a lot of pressure from boss.
my colleague also resigned because of this.
Due to this, all this pressure thrown upon me. I am working on it relentlessly but i am soo burned out that i am actually feeling sick and constantly having headache.
And main thing is that the project has so many errors which iam getting during testing and i have to fix all of the error.
And yes they have documentation but shitty unreadable documentation . My manager also rebuking me why i dont remember things said to me 8 months earlier. (That time i just joined the company)
I don't know what will happen to me if i cant tackle this project.
And what should i do in such cases as my mental health is deteriorating day by day.3 -
Who should be setting the versioning and features it should come along with? The dev team or perhaps the product manager?1
-
Need advice about switching to contracting.
TL;DR;
So I had 2 years of exp as an android dev, then I had a 1.5 year gap from doing android and now for the past 6 months Ive been doing android again fulltime. Im thinking of switching to contracting due to my debts and boring project and life crushing slow corporate processes in my current fulltime job, so I need tips and advices as to where should I start looking for new contracting gigs and in general what should I pay attention to. If it helps, I am based in EU, but am open to any EU/US gigs.
Now the full story:
Initially when I joined my current fulltime job after a break I had zero confidence, lowered my and employers expectations, joined as a junior but quickly picked up the latest standards and crushed it. Im doing better than half devs in my scrum team right now and would consider myself to be a mid level right now.
Asked for a 50% bump, manager kinda okayed it but the HQ overseas is taking a very long time to give me the actual bump. I have been waiting for 10 weeks already (lots of people in the decision chain were on and off vacations due to summer, also I guess manager sent this request to HQ too late, go figure). Anyways its becoming unnaceptable and I feel like its time for a change.
Now since I have mortgage and bills to pay, even with the bump that I requested that would leave me with like maximum 700-800 bucks a month after all expenses. I have debts of around 20k and paying them back at this rate would take 3 years at least and sounds like a not viable plan at all.
Also it does not help that the project Im working on is full of legacy and Im not learning anything new here. Corporate life seems to be very slow, lots of red tape kills creativity and so on. I remember in startups I was cooking features left and right each sprint, in here deploying a simple popup feature sometimes takes weeks due to incompetence in the chain. I miss the times where I worked in startups, did my job learned nre skills and after 6 months could jump on another exciting gig. Im not growing here anymore.
So because my ADD brain seems to be suited much better for working in startups, and also I need to make more money quick and I dont see a future in current company, I am thinking of going back to contracting. All I need right now is to build a few side apps, get them reviewed by seniors and fill my knowledge gaps. Then I plan of starting interviewing as a mid level or even a senior for that matter, since I worked with actual seniors and to be honest I dont think getting up to their level would be rocket science.
Only difference between mid and senior devs that I see atleast in my current company is that seniors are taking on responsibility more often, and they also take care of our tools, such as CD/CI, pipeline scripts, linters and etc. Usually seniors are the ones who do the research/investigations and then come up with actual tasks/stories for mids/juniors. Also seniors introduce new dependencies and update our stack, solve some performance issues and address bottlenecks and technical debt. I dont think its rocket science, also Ive been the sole dev responsible for apps in the past and always did decent work. Turns out all I needed was to test myself in an environment full of other devs, thats it. My only bottleneck was the imposter syndrome because I was a self taught dev who worked most of my career alone.
Anyways I posted here asking for some tips and advices on how to begin my search for new contract opportunities. I am living in EU, can you give me some decent sites where I could just start applying? Also I would appreciate any other tips opinions and feedback. Thanks!3 -
#Suphle Rant 6: Deptrac, phparkitect
This entry isn't necessarily a rant but a tale of victory. I'm no more as sad as I used to be. I don't work as hard as I used to, so lesser challenges to frustrate my life. On top of that, I'm not bitter about the pace of progress. I'm at a state of contentment regarding Suphle's release
An opportunity to gain publicity presented itself last month when cfp for a php event was announced last month. I submitted and reviewed a post introducing suphle to the community. In the post, I assured readers that I won't be changing anything soon ie the apis are cast in stone. Then php 7.4 officially "went out of circulation". It hit me that even though the code supports php 8 on paper, it's kind of a red herring that decorators don't use php 8 attributes. So I doubled down, suspending documentation.
The container won't support union and intersection types cuz I dislike the ambiguity. Enums can't be hydrated. So I refactored implementation and usages of decorators from interfaces to native attributes. Tried automating typing for all class properties but psalm is using docblocks instead of native typing. So I disabled it and am doing it by hand whenever something takes me to an unfixed class (difficulty: 1). But the good news is, we are php 8 compliant as anybody can ask for!
I decided to ride that wave and implement other things that have been bothering me:
1) 2 commands for automating project setup for collaborators and user facing developers (CHECK)
2) transferring some operations from runtime to compile/build TIME (CHECK)
3) re-attempt implementing container scopes
I tried automating Deptrac usage ie adding the newly created module to the list of regulated architectural layers but their config is in yaml, so I moved to phparkitect which uses php to set the rules. I still can't find a library for programmatically updating php filed/classes but this is more dynamic for me than yaml. I set out to implement their library, turns out the entire logic is dumped into the command class, so I can neither control it without the cli or automate tests to it. I take the command apart, connect it to suphle and run. Guess what, it detects class parents as violations to the rule. Wtflyingfuck?!
As if that's not bad enough, roadrunner (that old biatch!) server setup doesn't fail if an initialization script fails. If initialization script is moved to the application code itself, server setup crumbles and takes the your initialization stuff down with it. I ping the maintainer, rustacian (god bless his soul), who informs me point blank that what I'm trying to do is not possible. Fuck it. I have to write a wrapper command for sequentially starting the server (or not starting if initialization operations don't all succeed).
Legitimate case to reinvent the wheel. I restored my deleted decorators that did dependency sanitation for me at runtime. The remaining piece of the puzzle was a recursive film iterator to feed the decorators. I checked my file system reader for clues on how to implement one and boom! The one I'd written for two other features was compatible. All I had to do was refactor decorators into dependency rules, give them fancy interfaces for customising and filtering what classes each rule should actually evaluate. In a night's work (if you're discrediting how long writing the original sanitization decorators and directory iterator), I coupled the Deptrac/phparkitect library of my dreams. This is one of the those few times I feel like a supreme deity
Hope I can eat better and get some sleep. This meme is me after getting bounced by those three library rejections -
Following my last post, just looked up the Win 11 features....
https://devrant.com/rants/4930011/...
Yawn.... Feels like more trouble upgrading than staying on 10. -
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. -
Go language training from Google and provides learners with an overview of special features of Go's.https://igmguru.com/digital-marketi...
-
I loathe manual regression testing. So much so, that today I made a quick bash script to move my mouse every minute to make it look like I'm online and doing stuff while I watch Twitch and YouTube videos.
The worst part is that we have Cypress to automate this and my company puts more value in pushing out features instead of automating all this unnecessary manual testing. Soooo I'm just not gonna participate because there's no way for them to know that I'm *not* testing.1 -
I have been working in the same PR for 2 months. Many metamorphosis of it i would say 😂 I even made it all the way to prod and had to be reverted coz it was causing straight chaos. I have worked on some pretty complex features in the past year, this the smallest yet most complicated ask i have ever received. Orleans really put my patience to test and here i am, right now completely unable to write any code. I am just here planning my vacation in 4 weeks time.1
-
Say I wanted to characterize motion in a video and derive a frequency of that motion, and the extents of the motion?
For instance: walking, jumping, running, punching, dancing, etc. The view might vary and be further away or closer to where it is harder to make out features.
I am assuming I would use some sort of AI to identify objects and perhaps bone structure. Then compare against a model to determine motion type, and then attributes. I have seen cameras get bone structure, but I think it required 2 views. Such as the cheap motion capture systems.
Could this be done in real time of video playing? Or would this need to preprocess and use the info created during playback of the media?
I really don't know much about AI models. I have been curious about how it can be used with video.3 -
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 -
ML and NLP people I need some help bc I’m stupid
I want to build a model that is trained on a set of images and captions for those specific image.
The images are of a single person in different positions and different environments.
How do I train something like this? Do I use an object recognition model to understand what’s in the image as it’s features?1 -
So we are 8 devs in our scrum team but 2 major refactors felll on my shoulders (initially they were supposed to be fairly simple tasks, but like that malcolm in the middle video 2 tasks became 10 tasks in the past month) and I have been working from 11 am till 4 am for the past 1 or 2 weeks. Just yesterday I worked until 7am. Slept only 4 hours... Trying to play it cool, since I asked for a raise 5 weeks ago and still waiting for answer.
I havent told anyone because partially its my own stubborness of wanting to learn things and not wanting to bother others with questions, but Im starting to loose it.
And all because my pushed initial features resulted in unexpected blockers so scrum team leaders had an all hands meeting and my newly appointed teamlead started shitting bricks.
Meanwhile all other devs pick a low hanging fruit tasks and sit around for 2-3 weeks while I have to do heavy lifting alone with some guidance from other devs.
We dont even have QA resources. We have 2 new hires who will be useful maybe after 3-4 months and we have 1 QA guy who judging by his output is working part time. Also same guy managed to take 2 weeks of vacation in the past 4 weeks.
So due to lack of QA and due to code reviews taking long time it takes over a week for code to be reviewed and tested and each time if a blocker happens I have like 2 or 3 days to rush until end of the sprint in order to fix the feature for upcoming release or I have to move tasks to another sprint and feel bad about spillover.
Imagine implementing something in 2 weeks, just to wait for another 1-2 weeks for changes to be reviewed/tested and now having to fix blockers. And then teamlead comes up to you with being surprises how come shipping of this is taking longer than 4-5 weeks? Dude, I did my fucking part in 1-2 weeks, its not my fault that other devs perform code reviews late and they dont even launch the app to test. Its not my fault that we have very limited QA resources and our only QA guy is not even testing out everything properly.
Seriously Im starting to fucking loose it. We are basically 8 devs in a team where 2 people are doing all the heavylifting. -
My team and me nearly finished a big new feature for our website.
I am a junior dev and this was the first big thing I was in charge of and now that I see how it unfold I feel really bad.
It consists of php backend (integrated into a 20 years old monolith) and vue frontend (punctually jumpstarted by a clusterfuck of typescript files included into php rendered html) and especially the frontend part looks so bad.
Vue is relatively young in our project and almost nobody has a clue about it. I learned so much about vue in the process, but the result is a behemoth of awfulness that grew over several months.
I have a really strong desire rewrite the whole mess, but I will never be officially allowed because it works and practically all the flaws in our code base are subject to the classic
"well, someday, somebody probably has to do something about that, but for now let's start this shiny new feature"
So for now I think about doing it secretly and pass it to my buddy to review it. I guess chances are high that not even the colleagues in my team (apart from my buddy) are going to notice, since they aren't as interested into vue as I am and don't have the overview over this features code as I do, but on the other hand it feels like something I could get in trouble for and apart from the cursed code base my company is great.
Have you ever bin that disgusted by your own production code before it was even one year old?3 -
#Suphle Rant 2: Michael's obduration
For the uninitiated, Suphle is a PHP framework I built. This is the 2nd installment in my rants on here about it.
Some backstory: A friend and I go back ~5 years. Let's call him Michael. He was CTO of the company we worked at. After his emigration, they seem to have taught him some new stack and he needed somewhere to practise it on. That stack was Spring Boot and Angular. He and his pals convinced product owner at our workplace to rebuild the project (after 2+ years of active development) from scratch using these new techs. One thing led to the other, and I left the place after some months.
Fast forward a year later, dude hits me up to broach an incoming gig he wants us to collab on. Asks where I'm at now, and I reply I took the time off to build Suphle. Told him it's done already and it contains features from Spring, Rust, Nest and Rails; basically, I fixed everything they claimed makes PHP nonviable for enterprise software, added features from those frameworks that would attract a neutral party. Dude didn't even give me audience. I only asked him to look at the repo's readme to see what it does. That's faster than reading the tests (since the docs are still in progress). He stopped responding.
He's only the second person who has contacted me for a gig since I left. Both former colleagues. Both think lowly of PHP, ended up losing my best shot at earning a nickel while away from employed labour. It definitely feels like shooting myself in the foot.
I should take up his offer, get some extra money to stay afloat until Suphle's release. But he's adamant I use Spring. Even though Laravel is the ghetto, I would grudgingly return to it than spend another part of my life fighting to get the most basic functionality up and running without a migraine in Spring. This is a framework without an official documentation. You either have to rely on baeldung or mushroom blogs. Then I have to put up with mongodb (or nosql, in short).
I want to build a project I'm confident and proud about delivering, one certified by automated tests for it, something with an architecture I've studied extensively before arriving at. Somewhere to apply all the research that was brainstormed before this iteration of Suphle was built.
I want autonomy, not to argue over things I'm sure about. He denied me this when we worked together. I may not mind swallowing them for the money, but a return to amateur mode in Spring is something I hope I never get to experience soon
So, I'm wondering: if his reaction reflects the general impression PHP has among developers globally, it means I've built a castle on a sinking ship. If someone who can vouch for me as a professional would prefer not to have anything to do with PHP despite my reassurance it'll be difficult to convince others within and beyond that there could be a more equipped alternative to their staple tool. Reminds me of the time the orchestra played to their deaths while the titanic sank16 -
#Suphle Rant 1: Laravel closing the gap
This is the first of a series of long overdue rants regarding Suphle, because I have had so so much to grumble about over the last ~2 years building it. A bit of introduction: I compiled a list of all the challenges I faced in my time as a salaried PHP developer. I also gathered issues complained about by other developers in a laravel group I'm part of, and decided to solve them at the framework level since they're avoidable. I also borrowed impressive features encountered in my time working with other languages and invented a new one, as well. I quit my job last July, still haven't get a new one yet cuz office workload kept conflicting with Suphle development. I concluded all work and testing on it back in August/September but it's yet to be officially released since the docs is still in progress.
Anyway, yesterday, I stumbled upon what is IMO the most progressive /tangible update I've seen in all my time following Laravel updates. It's called [precognition](don't have enough rep to post the PR link but you can search on their repo), and contains features that are actually beneficial to both developer and end user. It also turns out to be functionality that was part of Suphle's bragging rights. Their DX is still tacky but I'm devastated cuz it's a matter of time before they work it out. Makes me wonder what the quality of all I've built would be in a year if it doesn't become big enough to attract frequent contribution. I guess there's only so much one can do against a community.
Later that evening, I found a developer from my country on twitter who claims to be making a decent living. A little snooping around his profile informed me he's building his own back end framework but in NodeJS. I know with every degree of certainty that what he'll eventually do can't hold a candle against Suphle in overall functionality or thoroughness. Not a dick measuring contest but when your motive isn't significant innovation, you'll neither plan properly nor even know what exactly to build. You'll just reinvent the wheel as an academic exercise
Yet, I can't help but have that sinking feeling he's winging it, while making a windfall with his dozens of freelance projects. It kind of feels like I shortchanged myself, and Suphle's shelf life will suffer the same fate as a hobby project for 10 stars (which I don't even have yet!!). I reached out to him to rub minds together but he ignored. More pain.
I'll get over this and return to work on the docs, but from the look of things, the end isn't an appealing or expected /deserved one -
What should you do if the project manager is not assigning you any new work after the backlog already has been cleaned up?
I currently work as a junior front-end dev. For the past few weeks, the 2 juniors (incl. me) are lacking tickets. For example, I got 2.5 days of work assigned during our 3-week sprint. We already followed some courses, read some books & created some designs for upcoming features (that have no "functional specifications" written down).3 -
Feeling a little frustrated lately, just been a few months in this company and its all great, even my boss congratulated me the last week for deliver some well made features but i think i should be learning more and coding faster, im always giving the best i can but its never enough. (Sorry if i mispell something, english is not my native language)1
-
Working day 2 of 2023… (yes, I got the year right this time)
Another day of CDK, and cursing how far it can at points lack behind in features. It’s only annoying when you’d actually want to use one of those new features. 4 issues resolved today, only 3 (known issues) on my backlog before this one’s done.
Oh, and TIL that one of my first tasks in my new role (that I can transfer to once I’m done with this project) is to write some IaC. Happy days. It’s pretty much all I’ve done for gawd knows how long. So good nothing ever changes.2