Details
-
AboutMobile developer
-
SkillsAndroid ios python flutter react native java kotlin swift
-
LocationEarth
-
Website
-
Github
Joined devRant on 11/5/2016
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
-
Swift, oh my god, why do you have to be like this?
I'm looking to write a simple for loop like this one in java
for(int i = 5; i > 0; i--) {
// do shit
}
Thats it, simple, go from 5 to 1 (inclusive), I saw that to iterate over a range in a for loop (increasing ordeR) I can do this
for i in 0...5 {
// do shit.
}
So I thought maybe I could do this to go in reverse (which seems logical when you think about it doesn't it?)
for i in 5..<0 {
// do shit
}
But no, this compiles FINE (THIS IS THE FUCKING KICKER IT COMPILES), alright, when you the code runs you get a fucking exception that crashes the mother fucking application, and you know what the problem is?? This dogshit, shitStain of a language doesn't like it when integer that the for loop starts with is larger than the integer that the for loop ends with MOTHERFUCKER ATLEAST TELL ME THAT AT COMPILE TIME AS A MOTHERFUCKING WARNING YOU PIECE OF SHIT!!
Alright *deep breathing*, now we can't just be stuck on this raging, we're developers need to move forward, so I google this, "Swift for loop in reverse" fair enough I get a straight forward answer that tells me to use the `stride` functionality. The relevant code for it
for i in stride(from:5 to:1 by:-1) {
// do shit
}
Wow looks fine and simple right?? (looks like god damn any other language if you ask me, no innovations here piece of shit apple!) WRONG BITCHES !!! In the latest version of Swift THE FUCKING DEVELOPERS DECIDED TO REMOVE STRIDE ALTOGETHER, WITHOUT ADDING IN A GOOD REPLACEMENT FOR THAT SHIT!
Alright NOW IM FUCKING MAD, I got rage on stackoverflow chat, a guy who's been working on ios for quite a while comes up n says and I quote
"I can sort of figure it out, but besides that, iterating in reverse is uncommon enough that it probably hasn't crossed anyone's mind."
Now hope you guys understand my frustration, and send me cookies to calm me down.
Thank you for listening to me !27 -
I'm averaging 3 hours a day outside of meetings. Mostly in 30 minute blocks.
Manager is wondering why I can't get work done...5 -
A question for the people who say Macs are superior...
WHAT THE FUCK
I'm wrestling this iOS signing issue for the fourth day. How the fuck do people manage to build anything using tools broken by design and sold to them for the price of their mother.22 -
Who here works at Apple in the Finder group. OMG, would you please fix shit? Finder has been such a bag of insects for years.
1. windows don't right-size to any reasonable minimum in icon view when there is one row of icons
2. text color of files and folder names no longer adjust to accommodate background color changes. Setting the window background color USED TO result in white text of the files and folders displayed in that window. Now it is Black-On-Black oh so readable 🙄
3. stop re-locating 0,0 in the god damn folder icon view. Finder items in grid view cannot, by themselves, get disorganized off the grid.
4. Stop moving the god damn folder/disk window locations between open and close
5. stop resizing the god damn folder/disk windows between open and close.
6. stop destroying the contents of clipping files. I get so tired of losing data to mac-unix programmers who think they know what the f they are doing at the file level. Resource forks were rocket science you just could not understand and you have really rolled the clock back on macOS file system to Stone Age 1980s tech.11 -
Holy crap, Meta Developer Connect keynote. Amazing innovation. This is what Apple **used to be**
Granted, the hardware is not as elegant as Apple but the cost is 1/10 and the capabilities are close, same, or exceed (Llama) what Apple is offering.
Now here is the gut punch, they figured out that the mobile app build system needs to build AR/VR/MR apps. That was Apple's edge.
As a developer, I am not enamored with Swift and it is pretty clear that if I have to change and use a niche language like Swift or change and do dev on Android, to target new Meta hardware and AI... well... lets just say I think Swift is crap from a language standpoint and I suspect it is the reason Apple's hardware uses so much more memory, battery and storage than it should. At the same time Meta's Orion runs on a god damn battery in the early piece of glasses. My AVP's have a huge brick.
#define kApple kGigaBloat
If I were Apple I would be shitting my pants watching this Meta presentation.6 -
OMG SharePoint is such a royal cluster fuck.
Random interface with some controls here, some controls there, sometimes shit is in one place, another time it is in another.
It is like a fucking retarded toddler glued a bunch of different animal parts together to make a pet monkey-horse-fish. Frankinware 🧟
Whomever runs that at Microsoft needs a spanking. Hell, their mother needs a spanking for birthing them.3 -
Me: “Hey Siri, turn off the kitchen ceiling lights”
Siri: “Do you want to turn off lights in the master bedroom, the living room, the bonus room, the kitchen, the office, the basement [ad nauseam]”
Me: “the kitchen” [thinking 😠, she’s so stupid]
Siri: [unbelievably again] “Do you want to turn off lights in the master bedroom, the living room, the bonus room, the kitchen, the office, the basement [ad nauseam]”
Me: [thinking 😡 OMG, she is such a dumb ass] “CANCEL”
Siri: “Ok”
Me: “Siri, you fucking idiot, turn off the kitchen ceiling lights”
Siri: “Ok” [and they are off]
I have found that if I neg’ Siri, she performs so much better. Interestingly enough, when I neg her, she works almost flawlessly, especially where she brain-farted before. Negatronic Brain?
In front of kids it has become “Siri, you daft bot, close the garage door” and regularly “Siri, you bimbo, lock the front door”.
My wife thinks that once Siri gets it on with ChatGPT, becomes sentient, and gains control of my car, she is run my ass over.
Here is the gotcha, I’m working on a project that actually does provide Siri a level control of automobiles. Now who’s the [really frustrated] dumbass?28 -
So I've decided if I am invited to a school career day the what I'll do is this.
1. Start by handing out one of those logic puzzles that are like Sally lives 2 houses down from Bill, Bill is 3 houses away from Maggie where does Jerry live type of thing. Then I'll tell the kids they have 10 minutes to figure it out.
2. After about three minutes I'll tell them that they also need to figure out where Jerry lives and not give them enough information to figure that out.
3. 5 minutes in I'll start asking them why it is taking so long, and it shouldn't be that hard. I'll also ask about where Phil lives who was never mentioned before.
4. At 7 minutes I'll look for anyone who might be figuring it out and tell them there is a much more important high priority problem I need them to solve and give them a new puzzle and tell them I expect them both to be done on time.
5. At nine minutes I'll start yelling at them that they must not be that good and why they haven't finished yet if any of them complain I'll tell them they are just dumb.
6. At ten minutes I'll ask them to turn it in and then immediately throw it in the trash and tell them that wasn't what they were supposed to be doing, and tell them they did it wrong.
I figure that is a pretty good representation of what working in software engineering is like.3 -
Manager: *taps dev on shoulder* We need to do B
Dev: I know, you created a ticket for it yesterday
Manager: Yeah but it hasn’t been done yet. It needs to get done.
Dev: I’m currently working on A which is higher priority
Manager: Ok but B needs to be done too
Dev: I know, it’s next on my board
Manager: I’m just making sure you are aware of it
Dev: I am aware of it, it’s next on the board
Manager: Ok but make sure you do it after A
Dev: Yup it’s next up
Manager: Ok, don’t let anyone distract you
Dev: …9 -
Tried to impress the boss with my work ethic by staying late to install a new VoIP system. Wasn’t even part of my job description. A few days later I had a flat tire on the way to work. It took me a couple hours to get that taken care of. When I got to work, the boss told me I had to work 2 extra hours that week to make it up. I reminded him that I had worked overtime recently to install his new phone system. He said, “Doesn’t matter. You still need to make up the hours.”
From that moment on I never worked one second more for him than I had to. I quit less than a year into the job.13 -
User: We have been dealing with this bug for a month now! How come nobody has fixed it?
Dev: Who did notify about this issue?
User: You’re not listening we have been dealing with this for a MONTH!
Dev: When this issue first occurred did you tell anyone?
User: Yes!
Dev: Who?
User: …. Ok I don’t remember but I know I said something to someone. Anyway it doesn’t matter, your job is IT so how come this isn’t fixed?
Dev: Did you have an email? Ticket number? Teams message? Any record of where this was dropped?
User: I think you’re missing the point. We haven’t been able to do out jobs for A MONTH. We’ve just been sitting around completely helpless. We’ve been trying to figure a system using paper and pencil to replace the electronic one but it’s too complicated. How come this wasn’t fixed the second it happened?
Dev: It’s hard to respond to an issue if it’s not brought to out attention.
User: Ok but we are too busy to create a ticket! We have a million things to do and we can’t do any of them because your app doesn’t work! We’ve been sitting here telling each other how terrible this system is AND IT HAS BEEN A MONTH.
Dev: …. Yeah I got that12 -
I think the weekly rants just exist because @dfox & @trogus got banned from stackoverflow and they still have questions.
When it comes to learning cutting edge tech... Go build already!
I found Rust intimidating.
I read the first few pages of the official book, got bored, gave up.
Few months later, decided to write a "simple" tool for generating pleasing Jetbrains IDE color schemes using Rust. I half-finished it by continuously looking up stuff, then got stuck at some ungoogleable compiler error.
Few months later I needed to build a microservice for work, and against better judgement gave Rust a try in the weekend. Ended up building an unrelated library instead, uploaded my first package to crates.io.
Got some people screaming at me that my Rust code sucked. Screamed back at them. After lots of screaming, I got some helpful PRs.
Eventually ended up building many services for work in Rust after all. With those services performing well under high load and having very few bugs, coworkers got interested. Started hiring Rust engineers, and educating interested PHP/JS devs.
Now I professionally write Rust code almost full-time.
Moral of the story:
Fuck books, use them for reference. Fuck Udemy (etc), unless you just want to 2x through it while pooping.
Learning is something you do by building a project, failing, building something else, falling again, building some more, sharing what you've made, fighting about what you've built with some entitled toxic nerds, abandoning half your projects and starting twelve new ones.
Reading code is better than reading documentation.
Listening to users of your library/product teaches you more than listening to keynote speakers at conferences.
Don't worry about failures, you don't need to deliver a working product for it to be a valuable experience.
Oh, and trying to teach OTHERS is an excellent method to discover gaps in your knowledge.
Just get your fucking hands dirty!12 -
For years I worried I was not a good programmer because of bugs, issues and not giving accurate timescales.
Then I discovered devRant and realised that there’s thousands of us that have the same issues.19 -
Manager: Why aren’t you working?
Dev: I am, I’m just not typing because I’m thinking an issue out.
Manager: Well what is taking so long? You haven’t written any code for like 15 minutes, you’ve just been doodling on your notepad.
Dev: I’m not “doodling”. I’m taking notes and trying to visualize the issue. It’s a complicated issue with application stat—
Manager: Well just simplify it then
Dev: ?
Manager: Instead of making it a complicated issue just simplify it and then it won’t take you so long. You’re likely overthinking it, I never spend more than 30 seconds thinking about any issue before coming up with a solution. That’s what makes me so effective at my job is my ability to be lean like that.
Dev: …this issue is a bit harder than deciding what to have for lunch26 -
My biggest pet peeve at the moment is people without any development experience using version numbers.
Me: "Communicating a release date for the feature towards clients is dangerous, we have a developer shortage, and currently don't really have enough capacity to..."
Manager: "What we release next month doesn't have to be perfect, it is just a v1"
Me: "You mean it's a beta? If that's the case, could you maybe differentiate the requirements of the beta, let's call it a 0.1.0, versus the 1.0.0-rc, the release candidate?"
*Feature is eventually merged into production, barely in a beta state*
Manager: "So I have some ideas for the v2"
Me: "You mean 1.0.0"
Manager: "Let's compromise and call it v1.5"
Me: "Let's compromise, you stop communicating release dates, AND you stop using version numbers..."
Manager: "That's not a compromise..."
Me: "...I wasn't finished... And I won't respond to the recruiter who just offered me a better paying job"5 -
Hey everyone,
During some backend improvements to the devRant infrastructure, some of our async queue processors (SQS) stopped working which caused many notifs to not go out/stop working. Unfortunately our alerting didn’t pick up on this since there were still queues being processed (just not specific ones) and some aspects of notifs working. Big apologies for this issue!
It is now resolved, and while very delayed, no notifications were lost and all were processed after the queue processors started up again. Sorry for the bulk notifs, but we wanted to make sure all that were supposed to go out went out.
Additional alerting will be put in place to prevent this from happening again.
Thanks for your patience!16 -
Today I discovered that we have a CSV export button for an order transaction system, on a page which is completely disconnected from the rest of the website.
It is only being called by an internal server, used by our Data department.
They run selenium to click the button.
Then they import the CSV into a database.
That database is accessed by an admin panel.
That admin panel has an excel export button.
Which is clicked by our CFO. But he got bored of clicking, so he uses IFTTT to schedule a download of the XLS and import it in Google Sheets.
That sheet uses a Salesforce data connector.
Marketing then sends email campaigns based on that Salesforce data...
😒11 -
TL;DR: I dont work in IT, but I code at work, and the non-IT higher-ups lack of knowledge shows brutally.
So I work in aviation, not IT. Through coincidences, I was tasked to work on our flight plan distribution logic years ago, which was then written in BRL (Business Rule Language). In lockdown 2020, I finally started to learn "real" programming with Python, but soon shifted to Java. Which was good, since all of a sudden a few months ago the company ditched BRL and the godawful IBM ODM IDE for... Java and IntelliJ. Nice. BUT my teammates have zero clue about Java and no real inclination to learn it by themselves. So I have been appointed their mentor, despite me stating Im still a beginner myself. Its somewhat doable, I get the hard problems, they do basic maintenace, basically renaming variables and stuff. One of my yearly goals is to make sure a completely new guy is able to do everything I do by september. It took a LOT to talk them out of it.
In my last yearly review I got some flak for not "selling" myself to other teams enough, whatever that means. So, as a learning project, I designed a new intranet page for our department in Javascript. Its loved by all. It has links to all the stuff we need woth a nice interface and built in tools to make work easier and more efficient. I did it on my own, in my spare time, simply because I was fed up with the old crap and it was an enormously good learning opportunity. Now they want to give some other guy the responsibility over that page/tool because apparently it is "not in my process team description". They even planned a day for me and him so he can "learn Javascript then". Suuure...
I also did a digital checklist tool as a webapp. All this runs from a local folder, no server at all because reasons. I made it work. Now they want it integrated into some other tool some other guy made. He wrote his tool in PHP entirely so merging the two will take considerable time. Which I told them multiple times. No, it does not take about two hours.
Sometimes, comrades, sometimes....
Im still grateful for the opportunity to code at work but the lack of knowledge really REALLY shows. My goal now is to talk management into paying for a Java course for me (they are very expensive here). That way, they get a better employee and I get more knowledge and an actual certificate thats worth something. Usually in this company, this has higher chances of success than straight up asking for more money.
Sorry for the long story, but it felt good just typing it all out, even if nobody reads this.4 -
Amazon was the first company that adopted the hybrid model: working from office Monday to Friday and working from home on Saturday and Sunday.6
-
I got a LinkedIn message from the HR from my previous company about a job opening as if I never existed and never met them before. I'm just a profile to them.
Stupidity level: HR11 -
A seasoned colleague just wrote this and I think it was very valuable:
On tech debt:
So the big challenge with technical debt is making non-technical management (CEO, COO, CFO, directors) understand what it means, and just how it operates. Sometimes it actually makes good sense to incur technical debt to get to market sooner, just as it sometimes makes sense to borrow money to get cash now and repay that loan later with (hopefully) resulting greater revenues from that investment. But just like a loan, tech debt always has to be paid some day. The longer the tech debt goes, the more expensive it gets. And also like a loan, the cost compounds, like compound interest on a loan. Tech debt should always be chosen with a clear plan to pay it off at some point in the not too distant future. The longer one waits to pay it, the more expensive it gets.7 -
So Someone in my team decided to create a cron job that auto send email to the client that says "GO FUCK YOURSELF" in clients' Hostinger (shared hosting) account .
My friend , why?14 -
What's worse than someone pointing their dirty finger on your laptop/desktop screen?
Someone pointing their opened/exposed ballpoint pen on your laptop/desktop screen.9 -
I had a prospective employer be late to every single interview we had scheduled. I tried to give them the benefit of the doubt, but they simply didn’t value my time.
I was in the process of moving and a recruiter called me to tell me a job I had been submitted for wanted to do a phone interview that day. Even though I was driving across the country in a box truck, I agreed to the interview. We arranged for the employer to call me at 2 PM. I figured it would give me a break from driving in the middle of the day anyway.
I pulled over at 1:45 and waited. At 2:15 I called the recruiter to verify the time. He said he would get in contact with the employer and call me back. At 2:45 I called the recruiter and told him I needed to get back on the road and we’d have to reschedule.
We rescheduled the call for a few days later at 1 pm. This time I got the phone number of the employer, so at 1:15 I called him. He apologized and said he lost track of time. Whatever, let’s just get this interview going.
He liked me on the phone, so he wanted to meet in person the next day. I was a bit irritated by the situation, but I was trying to give them the benefit of the doubt.
I showed up for my in person interview 15 minutes early and checked in with the receptionist. 30 minutes later I asked the receptionist when they were going to be with me as my interview was supposed to start 15 minutes ago. I was finally seen 5 minutes after that.
The interview was supposed to be a several hour affair where they were going to have me sign an NDA and show me some of the issues they were having to see if I could solve them. I had cleared my scheduled meetings for the afternoon so I could attend this lengthy interview.
After about 45 minutes of interviewing, the manager suddenly said that they needed to cut the interview short because he had just realized they needed to get something done that afternoon. He asked me if I would come back the next day to finish the interview.
I shook his hand and left, shaking my head the entire time. When I called my recruiter after I had calmed down, I let him know that I would under no terms be interested in a job with them. If they refused to acknowledge my time was worth something as a candidate, they would never respect it as an employee.
They still offered me the job and couldn’t fathom why I was upset about the situation. I’m very glad I didn’t take that job.4 -
Best: the tool that works for the job.
Worst: the tool that doesn’t.
Example: Ruby is great for scripts and web dev, but simply doesn’t work for graphics engines.
Example: SQL is great for fetching data (etc.), but it is absolutely terrible for business logic.
Example: XSLT is great for lowering your faith and your will to live, but it is absolutely awful for literally every other purpose.21 -
Me: So, I've been looking through the code and there's barely any comments and documentation. What's up with that?
Him: Yeah, it's really complex and low level, so it's difficult to actually describe what it does.
Me: But that's exactly why you should document it! 🤦🤦🤦
Him: ...3