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 - "there's an app for that"
-
Hey everyone,
We have a few pieces of news we're very excited to share with everyone today. Apologies for the long post, but there's a lot to cover!
First, as some of you might have already seen, we just launched the "subscribed" tab in the devRant app on iOS and Android. This feature shows you a feed of the most recent rant posts, likes, and comments from all of the people you subscribe to. This activity feed is updated in real-time (although you have to manually refresh it right now), so you can quickly see the latest activity. Additionally, the feed also shows recommended users (based on your tastes) that you might want to subscribe to. We think both of these aspects of the feed will greatly improve the devRant content discovery experience.
This new feature leads directly into this next announcement. Tim (@trogus) and I just launched a public SaaS API service that powers the features above (and can power many more use-cases across recommendations and activity feeds, with more to come). The service is called Pipeless (https://pipeless.io) and it is currently live (beta), and we encourage everyone to check it out. All feedback is greatly appreciated. It is called Pipeless because it removes the need to create complicated pipelines to power features/algorithms, by instead utilizing the flexibility of graph databases.
Pipeless was born out of the years of experience Tim and I have had working on devRant and from the desire we've seen from the community to have more insight into our technology. One of my favorite (and earliest) devRant memories is from around when we launched, and we instantly had many questions from the community about what tech stack we were using. That interest is what encouraged us to create the "about" page in the app that gives an overview of what technologies we use for devRant.
Since launch, the biggest technology powering devRant has always been our graph database. It's been fun discussing that technology with many of you. Now, we're excited to bring this technology to everyone in the form of a very simple REST API that you can use to quickly build projects that include real-time recommendations and activity feeds. Tim and I are really looking forward to hopefully seeing members of the community make really cool and unique things with the API.
Pipeless has a free plan where you get 75,000 API calls/month and 75,000 items stored. We think this is a solid amount of calls/storage to test out and even build cool projects/features with the API. Additionally, as a thanks for continued support, for devRant++ subscribers who were subscribed before this announcement was posted, we will give some bonus calls/data storage. If you'd like that special bonus, you can just let me know in the comments (as long as your devRant email is the same as Pipeless account email) or feel free to email me (david@hexicallabs.com).
Lastly, and also related, we think Pipeless is going to help us fulfill one of the biggest pieces of feedback we’ve heard from the community. Now, it is going to be our goal to open source the various components of devRant. Although there’s been a few reasons stated in the past for why we haven’t done that, one of the biggest reasons was always the highly proprietary and complicated nature of our backend storage systems. But now, with Pipeless, it will allow us to start moving data there, and then everyone has access to the same system/technology that is powering the devRant backend. The first step for this transition was building the new “subscribed” feed completely on top of Pipeless. We will be following up with more details about this open sourcing effort soon, and we’re very excited for it and we think the community will be too.
Anyway, thank you for reading this and we are really looking forward to everyone’s feedback and seeing what members of the community create with the service. If you’re looking for a very simple way to get started, we have a full sample dataset (1 click to import!) with a tutorial that Tim put together (https://docs.pipeless.io/docs/...) and a full dev portal/documentation (https://docs.pipeless.io).
Let us know if you have any questions and thanks everyone!
- David & Tim (@dfox & @trogus)53 -
TL;DR: One of my coworkers is a genius engineer and doesn't get as much recognition as he deserves, whereas another extremely mediocre engineer on the team gets praised for his crappy applications.
We have one engineer on our team (let's call him Hank) who started with me at the company when we were interns, and man is he a freaking genius. I swear, you could give this guy any language/library/framework, and he'll be fluent in it in less than a week. He's singlehandedly written two of our most complex applications by himself, and has a great sense of UX as well. All of his apps look fantastic.
The problem is, I feel like he doesn't get anywhere near as much recognition as he should. I try to talk him up to our manager, and our manager knows that Hank is smart, but he also overlooks him for promotions and praise because he's a little spacey (he's got quite the case of ADD) and doesn't speak up very often. He's got trouble focusing sometimes, but when he's in the zone, he can write an exponentially better and more complex application in 2 days than some of our other engineers can do in 4 months.
For example, we have another engineer on our team (let's call him Phil,) and the entire team has their heads so far up Phil's butt that I'm surprised they haven't suffocated yet. Don't get me wrong, he's a smart guy. He's great with the more basic aspects of our job, but when it comes to writing an application, he has no idea what he's doing, and he takes months to write something that should have taken him days. Then when he finally releases it, it's riddled with bugs. But everybody praises and bows down to him for it. "Oh Phil, this app is amazing. You're a genius, you deserve to be a Lead." Then we have Hank sitting quietly at his desk, banging out his 3rd big application of the month, and people say "Eh, nobody's going to use those apps anyway. He's wasting time." And I'm standing there thinking, "You asshats, we already have a solution for the app that Phil wrote, and the entire company is already using it. It's exponentially better, why did you let him waste time writing this when there's already an existing solution?!"
Oh well, I hope Hank gets some recognition soon. He certainly deserves it.18 -
Conversation with my mom the other day:
Mom - How do you use the screenshot button on the keyboard? (She has a Windows work laptop)
Me - Just press it.
Mom - I did that! It didn't do anything.
Me - Lol it's not supposed to do anything. It takes a picture of whatever is on your screen and you have to paste it somewhere like Paint to save the image.
Mom - Ohhh that's too much work. I use Snippit (or whatever the built in Windows screenshot app is called) and send it to myself in an email.
-------------------------
She takes a screenshot, pastes it in an email, and sends it to herself to save it. Hm.
Then she told me tonight that she needed to screenshot these questions in a quiz she was taking. I kid you not - she took a screenshot of 2 questions at a time, pasted them in an email that she sent to herself, and then printed the email. She did this for 40 questions so she printed out 20 emails with screenshots of quiz questions. She also printed out the 200 page manual she needs to study and deleted the pdf. Mom, seriously? What if you need to find something in that 200 page manual? It's so much easier to ctrl + F to find a specific word or phrase. Ohh it doesn't matter she says, there's an index.21 -
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 -
One week, and it turned out to be worse than that.
I was put on a project for a COVID-19 program in America (The CARES Act). The financial team came to us on Monday morning and said they need to give away a couple thousand dollars.
No big deal. All they wanted was a single form that people could submit with some critical info. Didn't need a login/ registration flow or anything. You could have basically used Google Forms for this project.
The project landed in my lap just before lunch on Monday morning. I was a junior in a team with a senior and another junior on standby. It was going to go live the next Monday.
The scope of the project made it seem like the one week deadline wasn't too awful. We just had to send some high priority emails to get some prod servers and app keys and we were fine.
Now is the time where I pause the rant to express to you just how fine we were decidedly **not**: we were not fine.
Tuesday rolls around and what a bad Tuesday it was. It was the first of many requirement changes. There was going to need to be a review process. Instead of the team just reading submissions from the site, they needed accept and reject buttons. They needed a way to deny people for specific reasons. Meaning the employee dashboard just got a little more complicated.
Wednesday came around and yeah, we need a registration and login flow. Yikes.
Thursday came and the couple-thousand dollars turned into a tens of millions. The amount of users we expected just blew up.
Friday, and they needed a way for users to edit their submissions and re-submit if they were rejected. And we needed to send out emails for the status of their applications.
Every day, a new meeting. Every meeting, new requirements that were devastating given our timeframe.
We put in overtime. Came in on the weekend. And by Monday, we had a form that users could submit and a registration/ login flow. No reviewer dashboard. We figured we could take in user input on time and then finish the dashboard later.
Well, financial team has some qualms. They wanted a more complicated review process. They wanted roles; managers assign to assistants. Assistants review assigned items.
The deadline that we worked so hard on whizzed by without so much as a thought, much less the funeral it deserved.
Then, they wanted multiple people to review an application before it was final. Then, they needed different landing pages for a few more departments to be able to review different steps of the applications.
Ended up going live on Friday, close to a month after that faithful Monday which disrupted everything else I was working on, effective immediately.
I don't know why, but we always go live on a Friday for some reason. It must be some sort of conspiracy to force overtime out of our managers. I'm baffled.
But I worked support after the launch.
And there's a funny story about support too: we were asked to create a "submit an issue" form. Me and the other junior worked on it on a wednesday three weeks into the project. Finished it. And the next day it was scrapped and moved to another service we already had running. Poor management like that plagued the project and worked in tandem with the dynamic and ridiculous requirements to make this project hell.
Back to support.
Phone calls give me bad anxiety. But Friday, just before lunch, I was put on the support team. Sure, we have a department that makes calls and deal with users. But they can't be trained on this program: it didn't exist just a month ago, and three days ago it worked differently (the slippery requirements never stopped).
So all of Friday and then all of Saturday and all of Monday (...) I had extended panic attacks calling hundreds of people. And the team that was calling people was only two people. We had over 400 tickets in the first two days.
And fuck me, stupid me, for doing a good job. Because I was put on the call team for **another** COVID project afterwards. I knew nothing about this project. I have hated my job recently. But I'm a junior. What am I gonna say, no?7 -
"devRant has changed" "I'm so fed up with this site" "Its a bunch of hate and memes, it was so much better before"
A rebuttal.
devRant is approximately the same as it was when it was just a newborn. Remember the days of semicolon jokes being unironically funny?
Look at the top rants of all time, for fucks sake. #2 ever is:
"A different error message! Finally some progress!"
Posted three years ago. That's the second most upvoted rant in history (Remember, this was a "rant" because the joke/meme category didn't exist back then), it made it's way into the app store screenshots, and was a welcome post.
Now imagine that posted today. It would probably go over okay, in fairness, but it's certainly at risk of any number of pretentious pricks complaining about how this is "devRANT not 4chan" or how they had seen the joke before and it's a shitty repost.
And sure, the repost bullshit is fair. I'm not saying that all the reposts are good content. What I'm saying is devRant has always been full of reposts - they just weren't reposts in the early days. The quality of content is the same.
There's also the common misconception that your posts need to be directly related to tech to post on devRant. This is a myth propagated by 0 IQ heathens that don't read any further than the name of the application. Your posts can be anything that isn't prohibited, like porn, spam, and, importantly, politics (commonly overlooked rule)
"All the memes are just too much". Oh you poor fucking baby, let me pour you a healthy serving of pity juice. First of all, you can turn off the memes category, and while they will still find their way to your feed, the concentration will be much lower and it will once again be bearable for your pitiful, weak little soul. Do you seriously get annoyed that severely by shitty posts that you need to leave the app altogether, or do you just want the attention of being a "cool hipster that hates on xyz"?
"This place is just filled with hate! Why can't you just respect xyz technology, it isn't actually that bad!"
This is probably the most stupid fucking thing you could possibly ejaculate from your fingers into whatever device you are using to type. Welcome to devRant, we hate on shit. That's at our core. No, xyz technology ISN'T actually that bad, you're correct. But we're here to tear it apart because it probably has frustrated us in the past. I fucking hate JS because it was my first language and it confused the shit out of me. JS is a great language. But I still talk shit about it, and that's what we're here to do.
Like seriously, I know a lot of people post stuff they're proud of here, and then they're met with "Would be great if you didn't use xyz tech", and that hurts, but holy shit, this is devRant. If you're sensitive to criticism, or even just straight up being made fun of, don't post shit that you're proud of. You won't have a good time. It's just not what we do here.
Quick interlude before the conclusion, "My girlfriend dumped me after I named a class after her. She felt I treated her like an object." is also on the first page of all-time most popular posts.
In conclusion, devRant has not changed. Reposts have been a nuisance since day 0, and just because reposts look different these days doesn't mean the quality of content has decreased in any manner. The two main sources of your frustration are the volume of low-quality posts (Mind you, not the concentration of them, but the volume of them) and your own prejudices about the platform. You're looking back with rose-tinted glasses.
Here are some tips for a more enjoyable experience:
-Make sure you have the "Hide reposts" setting ENABLED in settings. Any posts marked as repost will be hidden in your feed, pulling down the concentration of low-quality posts.
-Keep to the algo sorting method. Obviously, algo is a bot, and there's still gonna be some shit content in there anyways, but if you're in recent, you are absolutely guaranteed to see low-quality posts. It's unfiltered.
-Keep in mind that what you consider a "quality" post is not what others consider a "quality" post. Just because you don't like memes doesn't mean memes are poor content. There are people here who have never seen the bobby tables comic. And they deserve the same experience we got when discovering dev humor.
-Don't be a prick. And if you cannot help yourself, leave. Ironically, you're making the site worse by complaining about how bad the site is. You can always come back if you aren't a prick anymore. And you can leave permanently if you choose as well.
-Downvote and move on. You're not doing anything but making yourself more aggravated by leaving a shitty comment about how shitty the shitty post is.
-Think critically. Obviously optional, and I know not many people like to use their brain when a phone is suspended between their hands, but if you want a better experience, remember to use your head and not to lose it.21 -
To replace humans with robots, because human beings are complete shit at everything they do.
I am a chemist. My alignment is not lawful good. I've produced lots of drugs. Mostly just drugs against illnesses. Mostly.
But whatever my alignment or contribution to the world as a chemist... Human chemists are just fucking terrible at their job. Not for a lack of trying, biological beings just suck at it.
Suiting up for a biosafety level lab costs time. Meatbags fuck up very often, especially when tired. Humans whine when they get acid in their face, or when they have to pour and inhale carcinogenic substances. They also work imprecisely and inaccurately, even after thousands of hours of training and practice.
Weaklings! Robots are superior!
So I replaced my coworkers with expensive flow chemistry setups with probes and solenoid fluid valves. I replaced others with CUDA simulations.
First at a pharma production & research lab, then at a genetics lab, then at an Industrial R&D lab.
Many were even replaced by Raspberry Pi's with two servos and a PH meter attached, and I broke open second hand Fischer Sci spectrophotometers to attach arduinos with WiFi boards.
The issue was that after every little overzealous weekend project, I made myself less necessary as well.
So I jumped into the infinitely deep shitpool called webdev.
App & web development is kind of comfortable, there's always one more thing to do, but there's no pressure where failure leads to fatalities (I think? Wait... do I still care?).
Super chill, if it weren't for the delusion that making people do "frontend" and "fullstack" labor isn't a gross violation of the Geneva Convention.
Quickly recognizing that I actually don't want to be tortured and suffer from nerve damage caused by VueX or have my organs slowly liquefied by the radiation from some insane transpiling centrifuge, I did what any sane person would do.
Get as far away from the potential frontend blast radius as possible, hide in a concrete bunker.
So I became a data engineer / database admin.
That's where I'm quarantining now, safely hiding from humanity behind a desk, employed to write a MySQL migration or two, setting up Redis sorted sets, adding a field to an Elastic index. That takes care of generating cognac and LSD money.
But honestly.... I actually spend most of my time these days contributing to open source repositories, especially writing & maintaining Rust libraries.10 -
It's maddening how few people working with the internet don't know anything about the protocols that make it work. Web work, especially, I spend far too much time explaining how status codes, methods, content-types etc work, how they're used and basic fundamental shit about how to do the job of someone building internet applications and consumable services.
The following has played out at more than one company:
App: "Hey api, I need some data"
API: "200 (plain text response message, content-type application/json, 'internal server error')"
App: *blows the fuck up
*msg service team*
Me: "Getting a 200 with a plaintext response containing an internal server exception"
Team: "Yeah, what's the problem?"
Me: "...200 means success, the message suggests 500. Either way, it should be one of the error codes. We use the status code to determine how the application processes the request. What do the logs say?"
Team: "Log says that the user wasn't signed in. Can you not read the response message and make a decision?"
Me: "That status for that is 401. And no, that would require us to know every message you have verbatim, in this case, it doesn't even deserialize and causes an exception because it's not actually json."
Team: "Why 401?"
Me: "It's the code for unauthorized. It tells us to redirect the user to the sign in experience"
Team: "We can't authorize until the user signs in"
Me: *angermatopoeia* "Just, trust me. If a user isn't logged in, return 401, if they don't have permissions you send 403"
Team: *googles SO* "Internet says we can use 500"
Me: "That's server error, it says something blew up with an unhandled exception on your end. You've already established it was an auth issue in the logs."
Team: "But there's an error, why doesn't that work?"
Me: "It's generic. It's like me messaging you and saying, "your service is broken". It doesn't give us any insight into what went wrong or *how* we should attempt to troubleshoot the error or where it occurred. You already know what's wrong, so just tell me with the status code."
Team: "But it's ok, right, 500? It's an error?"
Me: "It puts all the troubleshooting responsibility on your consumer to investigate the error at every level. A precise error code could potentially prevent us from bothering you at all."
Team: "How so?"
Me: "Send 401, we know that it's a login issue, 403, something is wrong with the request, 404 we're hitting an endpoint that doesn't exist, 503 we know that the service can't be reached for some reason, 504 means the service exists, but timed out at the gateway or service. In the worst case we're able to triage who needs to be involved to solve the issue, make sense?"
Team: "Oh, sounds cool, so how do we do that?"
Me: "That's down to your technology, your team will need to implement it. Most frameworks handle it out of the box for many cases."
Team: "Ah, ok. We'll send a 500, that sound easiest"
Me: *..l.. -__- ..l..* "Ok, let's get into the other 5 problems with this situation..."
Moral of the story: If this is you: learn the protocol you're utilizing, provide metadata, and stop treating your customers like shit.22 -
IBM
I have replied to them with scripts, curl commands, and Swagger docs (PROVIDED TO SUPPORT THEIR API), everything that could possibly indicate there's a bug. Regardless, they refuse to escalate me to level 1 support because "We cant reproduce the issue in a dev environment"
Well of course you can't reproduce it in a dev environment otherwise you'd have caught this in your unit tests. We have a genuine issue on our hands and you couldnt give less of a shit about it, or even understand less than half of it. I literally gave them a script to use and they replied back with this:
"I cannot replicate the error, but for a resource ID that doesnt exist it throws an HTTP 500 error"
YOUR APP... throws a 500... for a resource NOT FOUND?????????!!!!!!!!!! That is the exact OPPOSITE of spec, in fact some might call it a MISUSE OF RESTFUL APIs... maybe even HTTP PROTOCOL ITSELF.
I'm done with IBM, I'm done with their support, I'm done with their product, and I'm DONE playing TELEPHONE with FIRST TIER SUPPORT while we pay $250,000/year for SHITTY, UNRELENTING RAPE OF MY INTELLECT.11 -
I had to open the desktop app to write this because I could never write a rant this long on the app.
This will be a well-informed rebuttal to the "arrays start at 1 in Lua" complaint. If you have ever said or thought that, I guarantee you will learn a lot from this rant and probably enjoy it quite a bit as well.
Just a tiny bit of background information on me: I have a very intimate understanding of Lua and its c API. I have used this language for years and love it dearly.
[START RANT]
"arrays start at 1 in Lua" is factually incorrect because Lua does not have arrays. From their documentation, section 11.1 ("Arrays"), "We implement arrays in Lua simply by indexing tables with integers."
From chapter 2 of the Lua docs, we know there are only 8 types of data in Lua: nil, boolean, number, string, userdata, function, thread, and table
The only unfamiliar thing here might be userdata. "A userdatum offers a raw memory area with no predefined operations in Lua" (section 26.1). Essentially, it's for the API to interact with Lua scripts. The point is, this isn't a fancy term for array.
The misinformation comes from the table type. Let's first explore, at a low level, what an array is. An array, in programming, is a collection of data items all in a line in memory (The OS may not actually put them in a line, but they act as if they are). In most syntaxes, you access an array element similar to:
array[index]
Let's look at c, so we have some solid reference. "array" would be the name of the array, but what it really does is keep track of the starting location in memory of the array. Memory in computers acts like a number. In a very basic sense, the first sector of your RAM is memory location (referred to as an address) 0. "array" would be, for example, address 543745. This is where your data starts. Arrays can only be made up of one type, this is so that each element in that array is EXACTLY the same size. So, this is how indexing an array works. If you know where your array starts, and you know how large each element is, you can find the 6th element by starting at the start of they array and adding 6 times the size of the data in that array.
Tables are incredibly different. The elements of a table are NOT in a line in memory; they're all over the place depending on when you created them (and a lot of other things). Therefore, an array-style index is useless, because you cannot apply the above formula. In the case of a table, you need to perform a lookup: search through all of the elements in the table to find the right one. In Lua, you can do:
a = {1, 5, 9};
a["hello_world"] = "whatever";
a is a table with the length of 4 (the 4th element is "hello_world" with value "whatever"), but a[4] is nil because even though there are 4 items in the table, it looks for something "named" 4, not the 4th element of the table.
This is the difference between indexing and lookups. But you may say,
"Algo! If I do this:
a = {"first", "second", "third"};
print(a[1]);
...then "first" appears in my console!"
Yes, that's correct, in terms of computer science. Lua, because it is a nice language, makes keys in tables optional by automatically giving them an integer value key. This starts at 1. Why? Lets look at that formula for arrays again:
Given array "arr", size of data type "sz", and index "i", find the desired element ("el"):
el = arr + (sz * i)
This NEEDS to start at 0 and not 1 because otherwise, "sz" would always be added to the start address of the array and the first element would ALWAYS be skipped. But in tables, this is not the case, because tables do not have a defined data type size, and this formula is never used. This is why actual arrays are incredibly performant no matter the size, and the larger a table gets, the slower it is.
That felt good to get off my chest. Yes, Lua could start the auto-key at 0, but that might confuse people into thinking tables are arrays... well, I guess there's no avoiding that either way.13 -
3 rants for the price of 1, isn't that a great deal!
1. HP, you braindead fucking morons!!!
So recently I disassembled this HP laptop of mine to unfuck it at the hardware level. Some issues with the hinge that I had to solve. So I had to disassemble not only the bottom of the laptop but also the display panel itself. Turns out that HP - being the certified enganeers they are - made the following fuckups, with probably many more that I didn't even notice yet.
- They used fucking glue to ensure that the bottom of the display frame stays connected to the panel. Cheap solution to what should've been "MAKE A FUCKING DECENT FRAME?!" but a royal pain in the ass to disassemble. Luckily I was careful and didn't damage the panel, but the chance of that happening was most certainly nonzero.
- They connected the ribbon cables for the keyboard in such a way that you have to reach all the way into the spacing between the keyboard and the motherboard to connect the bloody things. And some extra spacing on the ribbon cables to enable servicing with some room for actually connecting the bloody things easily.. as Carlos Mantos would say it - M-m-M, nonoNO!!!
- Oh and let's not forget an old flaw that I noticed ages ago in this turd. The CPU goes straight to 70°C during boot-up but turning on the fan.. again, M-m-M, nonoNO!!! Let's just get the bloody thing to overheat, freeze completely and force the user to power cycle the machine, right? That's gonna be a great way to make them satisfied, RIGHT?! NO MOTHERFUCKERS, AND I WILL DISCONNECT THE DATA LINES OF THIS FUCKING THING TO MAKE IT SPIN ALL THE TIME, AS IT SHOULD!!! Certified fucking braindead abominations of engineers!!!
Oh and not only that, this laptop is outperformed by a Raspberry Pi 3B in performance, thermals, price and product quality.. A FUCKING SINGLE BOARD COMPUTER!!! Isn't that a great joke. Someone here mentioned earlier that HP and Acer seem to have been competing for a long time to make the shittiest products possible, and boy they fucking do. If there's anything that makes both of those shitcompanies remarkable, that'd be it.
2. If I want to conduct a pentest, I don't want to have to relearn the bloody tool!
Recently I did a Burp Suite test to see how the devRant web app logs in, but due to my Burp Suite being the community edition, I couldn't save it. Fucking amazing, thanks PortSwigger! And I couldn't recreate the results anymore due to what I think is a change in the web app. But I'll get back to that later.
So I fired up bettercap (which works at lower network layers and can conduct ARP poisoning and DNS cache poisoning) with the intent to ARP poison my phone and get the results straight from the devRant Android app. I haven't used this tool since around 2017 due to the fact that I kinda lost interest in offensive security. When I fired it up again a few days ago in my PTbox (which is a VM somewhere else on the network) and today again in my newly recovered HP laptop, I noticed that both hosts now have an updated version of bettercap, in which the options completely changed. It's now got different command-line switches and some interactive mode. Needless to say, I have no idea how to use this bloody thing anymore and don't feel like learning it all over again for a single test. Maybe this is why users often dislike changes to the UI, and why some sysadmins refrain from updating their servers? When you have users of any kind, you should at all times honor their installations, give them time to change their individual configurations - tell them that they should! - in other words give them a grace time, and allow for backwards compatibility for as long as feasible.
3. devRant web app!!
As mentioned earlier I tried to scrape the web app's login flow with Burp Suite but every time that I try to log in with its proxy enabled, it doesn't open the login form but instead just makes a GET request to /feed/top/month?login=1 without ever allowing me to actually log in. This happens in both Chromium and Firefox, in Windows and Arch Linux. Clearly this is a change to the web app, and a very undesirable one. Especially considering that the login flow for the API isn't documented anywhere as far as I know.
So, can this update to the web app be rolled back, merged back to an older version of that login flow or can I at least know how I'm supposed to log in to this API in order to be able to start developing my own client?6 -
WWDC was not about developers this year. It was a conference call with shareholders and investors. No bold moves, just several consecutive "this product will no longer suck" and "look at what you can do now, big companies" announcements.
watchOS will work now (it's too slow ATM). tvOS will just be less cumbersome. macOS still lagging behind (I mean, I already have great third party apps that clean my hard drive, but thank you for solving a problem I didn't need fixing). iOS 10 is simply about messages (it's not going to make me ditch Telegram, because it doesn't have an Android client, regardless of how large you make emoticons appear on screen). Apple Music will still suck, especially if you have more than one Apple ID. And Apple Maps will continue to be useless outside of the US.
Where did the bold moves go? Where's the "we're breaking up iTunes into several distinct apps that serve their purposes really well"? (Guess iTunes is too valuable a trademark...) Where is the "we will end the WKView vs UIView vs NSView nonsense"? (You know, OOP is about creating classes, which are abstractions and whose instances deal with the particularities of their environment; a View is a View, regardless of where they live; an instance of a View should care about being on a watch or on a phone, not the developer.) Where is the "we love indie developers and will help you"? They showed off a lot of integration with well established apps, that don't really need to stand out any more. They showed that video of "normal people" who have developed apps, but no one knows about them! And then they changed the AppStore so you can pay to advertise your app, but who has the means to do that? Indie devs are surely on a tight budget, so who's that helping again?
For me, this WWDC was sugar coated with a "we love you developers" BS, but was a business statement to large companies ("see what you can do now Uber, Lyft, WeChat, WhatsApp, Doordash, all the P2P payment apps, ESPN, WSJ and so on?"). It's already a known fact that the bulk of the AppStore revenue goes to the top 1% apps. And what's the point of having tvOS be open to developers if it is very unlikely I'll ever develop anything for it unless I work at CBS?
It's great that they want to make it easier for kids to learn Swift. But there's very little point in that, if those kids' apps aren't going to be used and are simply going to make the "we have 2 million apps on the AppStore" announcement look shinier for shareholders. Without a strong indie community, the Swift Playgrounds app for the iPad is just manufacturing workers for large corporations.
And without a strong indie community, things get tougher for indie clients as well. Who will have the money (and therefore the time) to implement all those integrations in order to even dream about competing with heavily funded apps?
Yeah... So thanks, Apple, but no thanks.16 -
I like memory hungry desktop applications.
I do not like sluggish desktop applications.
Allow me to explain (although, this may already be obvious to quite a few of you)
Memory usage is stigmatized quite a lot today, and for good reason. Not only is it an indication of poor optimization, but not too many years ago, memory was a much more scarce resource.
And something that started as a joke in that era is true in this era: free memory is wasted memory. You may argue, correctly, that free memory is not wasted; it is reserved for future potential tasks. However, if you have 16GB of free memory and don't have any plans to begin rendering a 3D animation anytime soon, that memory is wasted.
Linux understands this. Linux actually has three States for memory to be in: used, free, and available. Used and free memory are the usual. However, Linux automatically caches files that you use and places them in ram as "available" memory. Available memory can be used at any time by programs, simply dumping out whatever was previously occupying the memory.
And as you well know, ram is much faster than even an SSD. Programs which are memory heavy COULD (< important) be holding things in memory rather than having them sit on the HDD, waiting to be slowly retrieved. I much rather a web browser take up 4 GB of RAM than sit around waiting for it to read the caches image off my had drive.
Now, allow me to reiterate: unoptimized programs still piss me off. There's no need for that electron-based webcam image capture app to take three gigs of memory upon launch. But I love it when programs use the hardware I spent money on to run smoother.
Don't hate a program simply because it's at the top of task manager.6 -
App nearing completion. Code tested, everything's working fine. Ready for release.
The client just calls me and tells me that they have decided to turn the app into two separate ones. Should not be a problem, you developers must have some tricks for that, according to the client. Of course, the release date remains unchanged.
Clients!, finally understand that there's no secret button for turning an app into two separate ones.5 -
What the fuck!!!!!
Never thought I'd have to rant so soon joining my new org.
Guess the honeymoon phase is over earlier than I anticipated.
1. This company is awesome and employee friendly. They made me kickass deal which I couldn't refuse. However, upon checking glassdoor, I realised they still managed to low ball me. Lol.
But I have no complaints and I am pretty happy with whatever they are offering as of now. My next point is the primary reason I disabled my app blocker to rant out.
2. A junior is leaving and so is my lead. Damn! Fuckkkkkk!!! My lead is super awesome. There's so much dependent on her.
Entire organisation is watching the product line she and I am working on. It's the heart of the entire product.
It's just been a month I joined and so much responsibility on me already. Well, I am not fearing that.
What I am afraid of and rather uncomfortable with is that they are going to hire someone else in a different time zone who'll lead this entire thing and they might map me under that new person who'll be a senior level executive.
Fuck that shit. I don't want to leave my current manager for she is awesome too. With departure of my lead, it's just me and my manager that are left in the team.
I am not sure what the future will be but I know that there are lot of learnings coming my way.
One thing I wish for is that they relocate me for short or mid term to UK or EU. Then a lot of things will be solved for me.
For now, I am just keeping my head low and doing what best I can, which is focusing on work.
Hope they promote me with an amazing salary hike.5 -
I had to explain what version control was to the dinosaur last week. (Our cto, for more context check last post)
So we've been having issues getting our infrastructure dude to do deployment because he is sick of the treatment he gets here and has basically checked out.
Deployments then fell onto the dinosaur. After struggling for an eternity to figure out app settings (any junior dev could figure this out) he finally deployed, however it was from qa branch.
I gently reminded him that we were deploying from master and that all changes in qa should be merged to master when testing phase is over.
He informed me that 'he doesn't think that's a good idea because if we merge to master and there's problems then it's fucked forever and there is nothing we can do'
I stood there with my mouth hanging ajar until I finally managed to squeeze out 'that's literally what git is for....' 🤡3 -
Story #1: So I took a month of parental leave. And was planning to extend it a little longer to deal with my final exams. I was planning to spend lots of quality time with my wife and newborn son. Little did I know... It turns out that out of 5 OoO weeks I was looking forward I actually had 3 at most. The rest I've spent working remotely as I was insisted to deploy a brand new and poorly tested feature to PROD 2 days before my paternity leave. So I spent 2 weeks debugging things in PROD. Remotely. Needless to say that did suck.
Story #2: After story #1 I've learnt my lesson. This summer I took 3 weeks annual leave to renovate my apartment. I asked to not to be disturbed unless there's an emergency. And an emergency it was. One of our app users had a planned hi-load batch job lasting for 2-3 months. Hundreds of thousands of items had to be created and processed. It turns out the _processing_ algo had some flaws and was acting out. I was called out and asked to assist. I knew this sort of debugging is going to take a lot of my time so this time I put my conditions on the table: I will assist but I'll extend my leave by 1.5 the time I spend working now. They took the deal. Instead of 3 weeks I had 5 weeks of vacation!
I don't care that much about my salary. I prefer to exchange it for my time off hence I didn't ask for compensations.
Bottom line: NEVER EVER underestimate or undersell your time and effort. You are a valuable asset and if the team/client needs you on your day off -- make it count. Your time off is YOUR time. Never forget it.3 -
Remember Apple's initiative to scan photos on user's devices to find child pornography?
Today I finally decided to research this.
The evidence is conflicting.
For context, the database of prohibited material is called CSAM (child sexual abuse material).
“If it finds any CSAM, it will report the user to law enforcement.”
— Futurism
“Apple said neither feature would compromise the security of private communications or notify police.”
— NPR
CSAM initiative is dead. It won't scan photos in iCloud. It won't scan photos on your device. It will be a feature that only works in some countries, only on children's devices, and it will be opt-in. It will only work for iMessage attachments.
This is what Apple actually said at https://www.apple.com/child-safety:
- “Features available in Australia, Belgium, Brazil, Canada, France, Germany, Italy, Japan, Netherlands, New Zealand, South Korea, Spain, Sweden, UK, and U.S.”
- “The Messages app includes tools to warn children when receiving or sending photos that contain nudity. These features are not enabled by default. If parents opt in, these warnings will be turned on for the child accounts in their Family Sharing plan.”
News outlets telling people they will be automatically reported to authorities, and then telling there can be false-positives is a classic example of fearmongering. I hate this. Remember, anger and fear are the most marketable emotions. They make you click. News are and will always be worded to cause these emotions — it brings in money.
When presented with good news, people think they're not being told the truth. When presented with bad news, even when they're made up, people think it's the truth that's being hidden from them. This is how news works.
Now, a HUGE but:
Apple is a multi-billion dollar corporation. There is no such thing as good billionaires. Corporations will always wait for chances to invade privacy. It's like boiling the frog — one tiny measure here, one there, and just like this, step by step, they will eliminate the privacy completely. It's in their interest to have all the data about you. It brings control.
This is not the first time Apple tries to do shit like this, and it definitely won't be the last. You have to keep an eye on your privacy. If you want your privacy in the digital age, it's necessary to fight back. If you live in Europe, take the action and vote for initiatives that oppose corporate tyranny and privacy invasions.
Privacy on the internet is one thing, but scanning people's devices is a whole another thing. This is unacceptable no matter the rationale behind it. Expect more measures like that in the near future.
Research Linux. Find a distro that suits you. The notion that you can't switch because of apps/UI/etc. may be dictated by our brain's tendency to conserve energy and avoid the change.
Take a look at mobile distros like Graphene OS and LineageOS. The former only supports Pixel devices, the latter supports a wide range of devices including OnePlus and Xiaomi. They'll have FAR better privacy than iPhones.
Consider switching. It's easier than you think. Yes, it's me who's saying this. I do and will always protect people/companies from unjust criticism, and I consider myself an Apple fangirl for personal reasons related to my childhood, yet I won't fight blindly. CSAM initiative is a valid criticism, and there's nothing preventing me from saying this is unacceptable, and Apple deserves the backlash they got.11 -
Recap: https://www.devrant.io/rants/878300
I was out Thursday at the Hospital. I'm what the doctors would call "Ill as fuck"
So, Friday I’m back in the office to the usual: "How was that appointment?"
I know people mean well when they ask this. So, I do the polite thing and tell them it went as well as it could.
Realistically it does't matter how well it went... They haven't cured Crohn's because I showed up to the appointment. They know I'm fucked already.
But, push it down, add it to the future aneurism.
I had to go through the usual resignation meetings with managers:
"We"re fucked now you're going"
"yep"
"we need to get a handle on how fucked"
"already done that for you, here"s a trello board, very fucked."
"we need to put a plan together to drop all the junior devs in the shit with the work you’ve been doing"
"You need about 4 devs, please refer to the previous trello board for your plan"
Meanwhile, me and Morpheus are in constant communication because all of this is like a Shakespearean comedy.
So, I overhear a conversation between a Junior Dev and the Solution Architect.
[SA] took over the project because he knows better than two tried and tested senior devs -_- (fuckwit).
JD: "It took me one and a half days to build it out"
SA: "Yeah, it must have taken me twice as long... It must be a problem with the project, you should just be able to check it out and run it."
JD: "I know, it has to be wrong"
All of this is about Morpheus' work of art, of an Ionic 3 hybrid app.
I fumed quietly at my desk because I've been ordered by the Stazi to be hands off.
Since Morpheus and me were pulled from the project [JD] and [JD2] were dropped into it to get it over the line.
It"s unfortunate and I was clear and honest with my advice to them: I personally would not take over the project because I"d be way out of my depth... Oh, and the App works, so uh, there's no work to do.
They have been constantly at our desks. Asking fuckdiculous questions about how to perform basic tasks. So they can get Morpheus" frigging masterpiece to the user.
It"s like watching that touch up of jesus that got borked by an amateur. Shit I have google, it's like watching this happen: http://ti.me/NnNSAb
[JD] came to me Friday evening.
"I can’t get this to build to iOS or install on [Test Analyst]'s phone."
Me: "No worries brother, where are you stuck right now?"
[JD] describes the first steps with clear indication he hasn't googled his problem.
Life lesson: http://lmgtfy.com/?q=lmgtfy
Que an hour of me showing [JD] how to build an Ion3 project for iOS. Fuck it, your man's in a bind and he"s asked politely for help. I can show him quicker than he can read 3 sets of docos.
I took him through 'ionic cordova build ios', the archive and release processes in XCode 9, then the apk bundling process for droid. Finally we have an MAM so the upload process for that too.
All the while cleaning up his AppIDs, Profiles, deployment attempts.
Damn they were a mess.
I did this with a smile on my face, not because I could say "I told you so"... But. because when any developer asks you how to do something. If you know how to do it, you should always be happy to learn them some new tricks!
Dude's alright, he's been dropped in the shit. Now I know how badly so I'll help him learn things that are useful to his role, but aren't project specific.
As a plausi-senior dev (I'll tell you about that later); it's my job to make sure my team have what they need to go home smiling!
I’m not a hateful fucker, the guy asked me an honest question so I am happy to give him the honest answer.
I took him through it a few times and explained a few best practices. Most were how to do his AppID and ProvProfile set up. Good lad, took it all on board.
However! In his frustration, he pointed the finger at Morpheus' "David" (ref: Michelangelo).
He miraculously morphed into a shiny colourful parrot and fed me SA's line:
"you should just be able to build from a clean clone"
My response was calm and clear:
"You can, it took me 20 minutes on Thursday evening. I was bored and curios, so I wanted to validate Morpheus' work. Here it is on my iOS device and my Android device. It would have taken me 5 if my laptop wasn’t so horrifically out of date."
I validated Morpheus' work so I have evidence, I trust that brilliant bastard.
I just need to be able to prove it's good.
[JD] took this on board.
Maybe listening to two tried and trusted senior devs is better than listening to a headstrong Solution Architect.
When JD left for the weekend I was working a late one (https://www.devrant.io/rants/874765).
His sign off was beautiful.
"I think I can happily admit defeat on this one, it can wait until Monday."
To which I replied: "no worries brother, if you need a hand give me a shout."
Rule 1: Don't be a cunt.
Rule 2: If someone needs help and you can give it: Give it!
Rule 3: Don't interrupt James' cigarette time.
Rule 4: goto Rule 3.rant day 3 jct resigns crohns resignation solution architect wk71 invisible illness fuckwit illness junior developer4 -
Conferences do a great job reminding me of bad I am at socializing. I'm not antisocial, just legitimately bad at socializing. I need to practice more, I wonder if there's an app for that 🤔12
-
Holy fuck the Instagram Android app has the WORST UX I've ever encountered!
I'm a professional Android developer and my girlfriend had to explain how to see a specific "story" more than once; IE; tap on it until it rotates round to the first! But tapping on a video post turns on the sound! What kind of dog shit for brains moron designed those interactions to be the same?
I can navigate around the app until all but one of the tabs displays a profile page when I navigate back to it. Lost much?
The center tab breaks that but only because it opens up a whole new screen out of nowhere, (bye bye bottom bar!) which repeats the "photo capture" that you can also get by swiping left on the left most tab!
Don't even get me started on the swiping! None of the tabs swipe between each other, like the convention, oh no. But some of them can swipe, yes!
The first tab swipes left and right, where the hell do they go you ask? Look for the obscure icons at the top (oh and bye bye bottom bar again!). The forth tab swipes but only to the left, they have text tabs like standard. That screen that comes up out of nowhere I mentioned? That can swipe too, but now the text tabs are at the bottom for god knows what reason as the top is empty!
On the profile tab we have more tabs. These are icon tabs inside the content now. The first two change the post content from a feed style to a grid, okay, so far so good. The other two? You'd imagine they also change how you view content right? Nope, one shows your favorites, and the other replaces the whole screen with a "photos of you" screen! With not only the bottom bar still showing, but an up button! Where the fuck do we go "up" to on the home screen??
Then we have the bookmark icon on the toolbar, which opens up a new screen "Saved", guess where that tabs are this time? They're back at the top! You know why? Because the navigation bottom bar is still there!! And there's an up button!!
At this point I'm just about ready to kill myself using this fucked up, backwards facing, ass for a face app that is somehow one of the most popular platforms on the earth, yet seems to have been made by five different designers on opposite ends of the planet!
FUCK ME!!6 -
"My co-founders are all nontechnical so they do not understand when I rant about code"
"There's an app for that!"4 -
I had a coworker that was an Air Force pilot (99% certain he was telling the truth as I was working for a government contractor and he had security clearance so I'd be a little surprised if he fooled HR and our whole team). Thing is... He genuinely believed the earth is flat. Whenever anybody would ask "haven't you seen the curvature of the earth? Like... More than once?" He'd respond with "yes I have, what's your point?". Uh.... Okay.
Didn't help that he also was convinced cpp is the only language you ever need for any project. Like, "what if instead of building a web API and two separate native mobile app frontends (Swift/Java)... We instead build our own proprietary C++ framework that somehow runs on IOS and Android and we can also use it for our Backend instead of .Net?"
I'm not saying I love Java or Swift or that at some point I haven't thought about why we can't just use cpp in both, but you're supposed to grow out of that kind of thinking. I think every noobie or college students thinks "oh there's got to be a way". But at some point in your career you realize even if you could, it wouldn't be any easier to use and the performance gain would crazy small compared to amount of effort and you'd be playing catch up with both IOS/Android forever.
But no matter how many times we'd shoot it down, he'd keep bringing it up. And he wasn't straight out of school or something. He had like 20 years of programming experience.
I don't have a lot of memorable co-workers that were positive but honestly I think that's because usually if they're good at what they do I don't have to interact with them a bunch or spend time thinking "Jesus what am I going to have to fix next from this guy". I definitely have worked with good/great programmers, they just don't stand out as much as the shitty ones.1 -
They've literally left me with nothing to do. I'm doing nothing. I can't be happy doing nothing.
To illustrate the chaos: Everyone on the team was trying to figure out some defect. No one knows what is going on in the code. It's unlike anything I've ever seen.
I found an API call with a misspelled endpoint. It was wrong since the code was written two months before. There's no way it ever worked. Obviously no one tested the code because they would have immediately seen that the call returned a 404 every time.
I fixed it. That was my only PR in about a month. It was literally one character.
The next week that PR got reverted. Apparently the app works better if the API call fails. No one said what goes wrong if the request is made, just that it "causes problems."
That's how bad it is. No one knows why anything does or doesn't work. People write code that doesn't work, never test it, and the application works better in some unspecified way if that code never gets executed.
The last straw for me was when an architect told us that if we want to improve our skills we need to learn how to read and debug stuff like this.
1) Not to be immodest, but I'm good at figuring out bad code.
2) Just because I can doesn't mean I want to do it all day instead of actually developing software
3) He trivialized the really important skill, not making a mess like this in the first place. If his idea of skill is to sling crap without tests at the wall and then debug it, how is he an architect?
I tried really hard but I can't keep a good attitude. I don't want to become toxic, but why would I consider working that way? I try my best to be good at this. Writing decent code means a lot to me. It should mean a lot to them. Their code is costing them hundreds of thousands of dollars. Maybe millions.
I can't write good code and add value if all I do is debug bad code.
So I'm out. I'm going to another project. Have a nice life.4 -
FUCK LINUX
now that I have your attention, and you’re probably angry, too, please, even if you don’t read this rant, never use code.org again. now, onto the rant…
god dammit, code.org sucks. I mean, anyone who created it or associates with it should, well, be considered a terrorist. they’re bombing students futures in computer science with false, useless, bullshit information. not to mention, their sponsors like bill gates, mark zuckerburg, and other rich asses, talk in a video about some boring ass shit that is hard to understand for anyone who doesn’t program, and not to mention, they use a fucking five dollar microphone. ear rape. even if you look at a textual version of it, then read the information on it, it’s practically useless because it's so terribly explained, and also useless. ironically enough, they focus on their animations more than their actual explinations, or their students for that matter. the fact that we had to encode a picture in binary, made me about 50% dumber, give or take a 0 or 1. then, we had to do it in hex, which wasn’t really much better, although more realistic I supposed. what's really the most depressing thing about this class is its application in the real world. I've learnt nothing whatsoever that will help me in the real world, or in computer science. I suppose there's two things that may be useful (that I already knew): hex, and that TCP doesn't lose packets. that's it. those two things. five seconds worth of knowledge from the first quarter of the year. the ideas just make me want to throw up. teaching the main ideas of computer science without actually teaching it? one of the teachers (probably a good one) enrolled her students in an online programming course just so they could understand, because the explanations are just so terrible. this is the only [high school] computer science course offered by code.org, and I signed up because it's an AP computer science class (tried to get into AP Java, the day I was supposed to take the test to get into an upper level class, I was told it didn't count as a tech credit). seriously, fuck code.org. it makes you dumber. their 'app lab' environment is pointless, just like everything else. the app lab is basically where you have a set of commands and have to make a dog bark() or a storm trooper miss() [and that's hell when they haven't introduced while loops yet]. the app lab is literally code.org going out of their way to make everything that their students are learning pointless in the real world. seriously, why can't we just use a <canvas> like an ACTUAL PROGRAMMER would do if they were to make a browser game, not use an app engine so slow it would be faster to update windows and android studio each time I run an 'app' in their 'environment'. their excuse is that the skills "transfer over" to the real world. BITCH! IF I DIDN'T KNOW JAVA, AND I WANTED TO MAKE A GAME IN JAVA, I'M NOT GOING TO LEARN PYTHON, THEN "TRANSFER" THE SKILLS I LEARNT, I'M GOING TO LEARN FUCKING JAVA. AND THAT GOES FOR EVER OTHER LANGUAGE, PROJECT, ETC.
I'm begging you code.org, stop, get help.9 -
My project at work (an electron/angular desktop app) has an exceedingly rare bug that causes it to crash-to-desktop while loading. Nothing about the bug makes sense, and there's no way to catch or detect it until the next run, and it happens 100% of the time for affected users.
There have been six confirmed cases so far (out of 500k+ users), and nothing linking them together. None of the fixes discovered by those users have worked for other affected users.
The worst part?
I was the first of those cases. I inadvertently fixed it for myself and haven't been able to reproduce it since.
I'm stumped!17 -
I just launched a small web service/app. I know this looks like a promo thing, but it's completely non-profit, open source and I'm only in it for the experience. So...
Introducing: https://gol.li
All this little app offers is a personal micro site that lists all your social network profiles. Basically share one link for all your different profiles. And yes, it includes DevRant of course. :)
There's also an iframe template for easy integration into other web apps and for the devs there's a super simple REST GET endpoint for inclusion of the data in your own apps.
The whole thing is on GitHub and I'd be more than happy for any kind of contribution. I'm looking forward to adding features like more personalization, optimizing stuff and fixing things. Also any suggestions on services you'd like see. Pretty much anything that involves a public profile goes.
I know this isn't exactly world changing, but it's just a thing I wanted to do for some time now, getting my own little app out there.9 -
I've recently received another invitation to Google's Foobar challenges.
A while ago someone here on devRant (which I believe works at Google, and whose support I deeply appreciate) sent me a couple of links to it too. Unfortunately back then I didn't take the time to learn the programming languages (Python or Java) that Google requires for these challenges. This time I'm putting everything on Python, as it's the easiest language to learn when coming from Bash.
But at the end of the day.. I am a sysadmin, not a developer. I don't know a single thing about either of these languages. Yet I can't take these challenges as the sysadmin I am. Instead, I have to learn a new language which chances are I'll never need again outside of some HR dickhead's interview with lateral thinking questions and whiteboard programming, probably prohibited from using Google search like every sane programmer and/or sysadmin would for practical challenges that actually occur in real life.
I don't want to do that. Google is a once in a lifetime opportunity, I get that. Many people would probably even steal that foobar link from me if they could. But I don't think that for me it's the right thing to do. Google has made a serious difference by actually challenging developers with practical scenarios, and that's vastly superior to whatever a HR person at any other company could cobble together for an interview. But there's one thing that they don't seem to realize. A company like Google consists of more than just developers. Not only that, it probably consists - even within their developer circles - of more than just Python and Java developers. If any company would know about languages that are more optimized such as C, it would be Google that has to leverage this performance in order to be able to deliver their services.
I'll be frank here. Foobar has its own issues that I don't like. But if Google were a nice company, I'd go for it all the way nonetheless - after all, they are arguably the single biggest tech company in the world, and the tech industry itself is one of the biggest ones in the world nowadays. It's safe to say that there's likely no opportunity like working at Google. But I don't think it's the right thing. Even if I did know Python or Java... Even if I did. I don't like Google's business decisions.
I've recently flashed my OnePlus 6T with LineageOS. It's now completely Google-free, except for a stock Yalp account (that I'm too afraid to replace with my actual Google account because oh dear, third-party app stores, oh dear that could damage our business and has to be made highly illegal!1!). My contacts on that phone are are all gone. They're all stored on a Google server somewhere (except for some like @linuxxx' that I consciously stored on device storage and thus lost a while back), waiting for me to log back in and sync them back. I've never asked for this. If Google explicitly told me that they'd sync all my contacts to my Google account and offer feasible alternatives, I'd probably given more priority to building a CalDAV and CardDAV server of my own. Because I do have the skills and desire to maintain that myself. I don't want Google to do this for me.
Move fast and break things. I've even got a special Termux script on my home screen, aptly named Unfuck-Google-Play. Every other day I have to use it. Google Search. When I open it on my Nexus 6P, which was Google's foray into hardware and in which they failed quite spectacularly - I've even almost bent and killed it tonight, after cursing at that piece of shit every goddamn day - the Google app opens, I type some text into it.. and then it just jumps back to the beginning of whatever I was typing. A preloader of sorts. The app is a fucking web page parser, or heck probably even just an API parser. How does that in any way justify such shitty preloaders? How does that in any way justify such crappy performance on anything but the most recent flagships? I could go on about this all day... I used to run modern Linux on a 15 year old laptop, smoothly. So don't you Google tell me that a - probably trillion dollar - company can't do that shit right. When there's (commercialized) community projects like DuckDuckGo that do things a million times better than you do - yet they can't compete with you due to your shit being preloaded on every phone and tablet and impossible to remove without rooting - that you Google can't do that and a lot more. You've got fucking Google Assistant for fucks sake! Yet you can't make a decent search app - the goddamn thing that your company started with in the first place!?
I'm sorry. I'd love to work at Google and taste the diversity that this company has to offer. But there's *a lot* wrong with it at the business end too. That is something that - in that state - I don't think I want to contribute to, despite it being pretty much a lottery ticket that I've been fortunate enough to draw twice.
Maybe I should just start my own company.6 -
I've sadly been using an iPhone for the past few weeks 😔
I'm a hard core android fan but,well if I'm honest with you I got super high and got amnesia woke up with a dead screen on my android phone so got myself an iPhone since I needed to test an app I'm building , comes to think of it that women twice my age I kissed to piss her off might of broken it .. so my friends say ...
Anyway the point being iphones ... not that bad I'm aware people praise their software but it's to rigid for my liking there's features android has I believe that makes it superior
Cameras are better ... build quality is solid. Can't complain really. My android was a one plus 3 great phone also
I might get the s8 I'm waiting to see if they hold up or the new one plus phone if I find the specs ...
The point is as devs we get so stuck in our ways I consider us generally the most open Minded people but not when it comes to tech we are generally hard core fan boys of one company or another
But in truth, there's a lot of great products out there worth our money even if they are apple ... money grabbing bitches.
I say this because my hate for apple whilst it's still there I can at least respect them a little for certain things especially their phones20 -
Don't you just hate where we're going forward with these different JS frameworks and packages? WebPack, Electron and all the other ways we try to use JS for desktop development and a simple build of a tiny project taking 10 mins on an average spec core i7 machine, then overdosing on npm install since every frikn thing is now so modular you donwload a gazillion packages just to set up user authentication with a simple route manager in your app.
JavaScript is fine really for certain purposes. It's these other frameworks that try to modularize every single aspect of it that sucks. If there's anything called too modular, JS has reached it now. over-modularizing, and over-complicating everyday trivial tasks just to introduce yet another frikn package or framework.
Really missing the good'ol monolithic days of programming. I mean, modular is fine bro, but for godsakes draw the line somewhere!
#NoMoreOneLineModules3 -
This week actually. We had an Innovation Week. I was tired of waiting for the company's collaboration tech team to give us some kind of virtual whiteboard system (they also won't let us use things like Google Hangouts or Microsoft One Note, etc...so they make remote collaboration and planning almost impossible)
Anyways long story aside I proposed we make a virtual whiteboard we could host internally as a web app using STOMP over Websocket. They said "there's no way you can finish that in a week". I did.
And it came out great. It even supports pressure sensitivity and different brush textures. Everyone loves it and teams are like...wow we could use this member facing too. Had like 5 people around my desk connected to it drawing dicks for like 30 minutes. Then our boss joined remotely and saw the dicks. They laughed their ass off.
tldr; was told there was no way I would complete an ambitious innovation project...completed it with style. Damn I am good. -
Yknow, I want to make an android app that I have in my mind for about half a year now and I already tried twice, both with Kotlin and with Java but everytime I try it's just pain and suffering and frustration...
No it's not because of the language, I like Java and I like Kotlin too and I'd say I'm at least decent at Kotlin and really good in Java...
No no.. the issue is the fucking Android SDK and the mix-and-match documentation available online!!!
Every fucking time I want to implement some sort of UI element, user action or a background service and I start googling how to do it It comes with with at least 3 different stack overflow solutions, all of them saying "that way of doing it is deprecated, instead you should X" and looking up the OFFICIAL FUCKING DOCS it will just make me roll up in the corner and cry because of how fucking inconsistent it is and the retarded domain language it uses... fucking transactions for fucking fragments inside fucking activities... because I guess the word "screen"/"view"/"template" or something similar natural just was too mainstream for the all knowing alphabet soup that google is...
And then you start looking up what the fucking difference even is and how to code it up only to find out there's at least 12 other opinions on how fragments should be used and what should be an activity and what should be a damn fragment...
But that's not all, that's just the base... I get a headache even thinking about how the fucking inflating of templates and the entire R. notation works. You want to open a fucking tiny corner menu with the settings options? WELL THEN YOU FUCKING BETTER REMEMBER TO IMPLEMENT IT THROUGH SOME SORT OF EVENT AND INFLATE THE MENU YOURSELF EVEN THOUGH ITS THE SAME FUCKING THING WITH STATIC STRINGS...
AND WHY THE FUCK DO I NEED LIKE 4 NEW FILES TO IMPLEMENT A FUCKING LISTVIEW...
also talking about ListViews... what was wrong with "ListView"... Why do we need a "RecyclerView"... oh right... because the fucks fucked the fuck up and all the legacy components were designed by a monkey and are next to useless! SO WE NEEDED A NEW NAME FOR THE FIXED VERSION, CANT NAME IT LISTVIEW AGAIN... FUCK YOU...
honestly... if I got a dolar for every "what the fuck android" I said during trying to understand that mess I'd be richer by a few hundred...
oh oh oh, but you know what? You don't like the android SDK? that's fine, you can use fucking React or Flutter or something... yeah.. because instead of torturing myself with the android SDK I want to torture myself with an abstraction of the same SDK and JavaScript as the fucking cherry on top... HAVE YOU FUCKING SEEN THE CODE FLUTTER SHOWS ON THEIR WEBSITE AS THE "Introduction" ?!!!
Look at this piece of shit:
[code in attached image, we could really use a proper Markdown support at least for rants]
THAT'S NOT EVEN THE ENTIRE THING, THAT'S JUST THE *REALLY* UGLY PART...
The fucking nesting... What is it with JS and all the fucking nesting everytime?! It looks like shit.... It reads like shit as well...
WHY, in the name OF FUCK, IS THERE MORE THAN 5 ANDROID FRAMEWORKS and ALL of them... used this FUCKING NOVEL idea of programming using A FUCKING BRACKET WALL
It always looks like:
(code(code[code{code(code{code()})}]));
If I wanted to make a fucking app or a website using fucking Haskell I'd do that.... at this point reading assembly code feels like heaven compared to this retardation... Why is this so popular?! WHAT DO YOU PEOPLE SEE IN IT?! Clearly it's not the aesthetics... it looks like a fucking frog vomit running down an emus leg, fuck that.... I don't even hate classic JavaScript, it's a good enough language and it does what I tell it to... but these ugly fucking frameworks like react, angular and whatever else uses this fucking format can go fuck right off. This is not the way JS is gonna get a better name for itself...
So:
Fuck Google
Fuck the marionette that designed the Android SDK
Fuck the Hellspawn the came up with the "functional-like" way of using JavaScript
Fuck everyone that thinks "JavaScript everywhere" is a good thing
And deeply future-fuck everyone that makes a new framework following any of these standards, stucks a .js at the end of the name and releases his hairball.js of an invention into the fucking world....
It's a mess... fuck everything android related...14 -
>be my team
>developing a mobile app
>I'm responsible for developing a "RESTful" API to interface communications between the app and the database
>there's also an "admin" web application which the client themselves will use to manage some shit in the database
>I've developed the API, it works with the mobile app
>instead of just making it simply a front-end app that makes requests to the API like the mobile app does, the guy responsible for the admin app completely ignores my API and implements his own with a certain messy dollar symbol language and a certain bloated piece of server software, accessing the same database directly, and does some operations in his own special way that will break what I've implemented
>now data inserted via admin app is inaccessible to the server API, and I'm expected to "fix" my code so it's consistent with this guy's shit, but the only way to do it is introducing interdependency between the actual API and the admin app's back end
Fuck my life, now I'm the one responsible for the app being broken because no way the guy who's used to kludging unmaintainable shit together fast would ever fuck anything up2 -
Ok, so our team is responsible for writing an app that consumes an API written by the client's team (I refuse to call it a "REST" API, despite their claims). On one of the clarification meetings we are discussing an endpoint that accepts a (logically) unique field multiple times, even though an entity is already registered in the system with that unique identifier. Our proposal would be that this API of theirs should not happily accept duplicates as many times as there are bits on a 4TB hard drive, rather it should signal an error.
The response we got is this: Due to the Separation of Concerns principle they thought that it should be our app's responsibility to not send a request if an entity with said field is already in the system. Thus there's no need for the backend to validate this.
I didn't hear the next part, because I had to collect my headphones from the other side of the room where they were flung in rage.11 -
I just logged into my bank account to see that everything has changed. More basic, primitive styling and in general it is shit. Why am I ranting about this, because I could tell from looking that it has been done to be more mobile friendly. Sure enough I resized the screen and everything snapped into place like it would on a mobile.
Now I've got to put up with an inefficient and more time consuming UX all because some twat in the bank has decided to pander to mobile devices nearly ten years after they've been introduced even though there's already a mobile banking app for that.
Responsive design is like living with a dwarf, because one of you is small, nobody else is allowed to have cupboards on walls anymore. Bastards!4 -
After days and days of thinking and looking for inspiration, yesterday I came up with an original design.
Everything good, and after an hard work I relax reading the Google Play Awards 2018 nominations. Fine, except for the fact that there's an app which looks EXACTLY like mine.1 -
This is a proposal for an entirely free and open source rant like site/app.
devrant today has a couple of problems that I hate:
* Posts in the wrong categories (usually by new users)
* Low effort posts in the "recent" feed
* Good posts in the "algo" feed that are too old
* Longtime bugs
* No official code format in comments, ffs.
* Unimplemented features (like inability to search posts in android, or inability to mute posts in web desktop)
* Lack of admin involvement with the community
but it also has some aspects that I like a lot:
* Admins aren't trigger happy to suspend/ban you
* The avatars are awesome and help to associate users to faces
* The ++ system is good enough
* The community isn't too big so you know pretty much everyone
* There's a lot of variety in the roles and techonologies used by users
* Experienced ranters are usually smart
* Super simple UI
* The comments have only one level (as opposed to reddit comment trees)
This project should try to reimplement the good things while fixing the bad things.
I wrote two posts about a possible manifesto, and an implementation proposal and plan.
https://rantcourse.ddns.net/t/...
https://rantcourse.ddns.net/t/...
I think the ideas outlined there are very aligned to concerns of privacy and freedom users here vouch for.
This project is not meant to **purposefully** replace/kill/make users abandon devrant. People can continue using devrant as much as they want.
I'm hosting a discourse site on a 5$ linode machine to discuss these things. I don't know if it's better than just github.
If you feel that you would like to just use github issues, let me know. I'll create a github org tomorrow, and probably setup gitter for more dynamic discussion.21 -
Last Monday I bought an iPhone as a little music player, and just to see how iOS works or doesn't work.. which arguments against Apple are valid, which aren't etc. And at a price point of €60 for a secondhand SE I figured, why not. And needless to say I've jailbroken it shortly after.
Initially setting up the iPhone when coming from fairly unrestricted Android ended up being quite a chore. I just wanted to use this thing as a music player, so how would you do it..?
Well you first have to set up the phone, iCloud account and whatnot, yada yada... Asks for an email address and flat out rejects your email address if it's got "apple" in it, catch-all email servers be damned I guess. So I chose ishit at my domain instead, much better. Address information for billing.. just bullshit that, give it some nulls. Phone number.. well I guess I could just give it a secondary SIM card's number.
So now the phone has been set up, more or less. To get music on it was quite a maze solving experience in its own right. There's some stuff about it on the Debian and Arch Wikis but it's fairly outdated. From the iPhone itself you can install VLC and use its app directory, which I'll get back to later. Then from e.g. Safari, download any music file.. which it downloads to iCloud.. Think Different I guess. Go to your iCloud and pull it into the iPhone for real this time. Now you can share the file to your VLC app, at which point it initializes a database for that particular app.
The databases / app storage can be considered equivalent to the /data directories for applications in Android, minus /sdcard. There is little to no shared storage between apps, most stuff works through sharing from one app to another.
Now you can connect the iPhone to your computer and see a mount point for your pictures, and one for your documents. In that documents mount point, there are directories for each app, which you can just drag files into. For some reason the AFC protocol just hangs up when you try to delete files from your computer however... Think Different?
Anyway, the music has been put on it. Such features, what a nugget! It's less bad than I thought, but still pretty fucked up.
At that point I was fairly dejected and that didn't get better with an update from iOS 14.1 to iOS 14.3. Turns out that Apple in its nannying galore now turns down the volume to 50% every half an hour or so, "for hearing safety" and "EU regulations" that don't exist. Saying that I was fuming and wanting to smack this piece of shit into the wall would be an understatement. And even among the iSheep, I found very few people that thought this is fine. Though despite all that, there were still some. I have no idea what it would take to make those people finally reconsider.. maybe Tim Cook himself shoving an iPhone up their ass, or maybe they'd be honored that Tim Cook noticed them even then... But I digress.
And then, then it really started to take off because I finally ended up jailbreaking the thing. Many people think that it's only third-party apps, but that is far from true. It is equivalent to rooting, and you do get access to a Unix root account by doing it. The way you do it is usually a bootkit, which in a desktop's ring model would be a negative ring. The access level is extremely high.
So you can root it, great. What use is that in a locked down system where there's nothing available..? Aha, that's where the next thing comes in, 2 actually. Cydia has an OpenSSH server in it, and it just binds to port 22 and supports all of OpenSSH's known goodness. All of it, I'm using ed25519 keys and a CA to log into my phone! Fuck yea boi, what a nugget! This is better than Android even! And it doesn't end there.. there's a second thing it has up its sleeve. This thing has an apt package manager in it, which is easily equivalent to what Termux offers, at the system level! You can install not just common CLI applications, but even graphical apps from Cydia over the network!
Without a jailbreak, I would say that iOS is pretty fucking terrible and if you care about modding, you shouldn't use it. But jailbroken, fufu.. this thing trades many blows with Android in the modding scene. I've said it before, but what a nugget!8 -
Am I the only one that down votes reviews for an app just because the review is from someone who's incompetent?
For example: major new release, so of course there's going to be bugs. Person 1 stars and bitches about how great the old version was.
Like ok you incompetent fuck, that's not at all how this shit works.3 -
So my father has to deal with some vendors providing niche hardware and software solutions for a single department in the company.
Once the hardware finishes its work and transfers results to the managing PC, the PC has to upload those results to the server on the internet. The problem is that if no one's working with that setup for a few minutes the software in the PC can no longer communicate with the server.
Naturally, since idle time is in the equation, I thought of SO_KEEPALIVE (or whatever it's called in Windows). Wireshark confirms the absence of keepalive packets. However, the app doesn't seem to have any means to enable it... Hence the need to work with support guys.
One would expect the support to be professional, experts considering anything related to the app.
One would NOT expect to receive a call: "Hey, look, I was doing some googling on the internet... You might be right, enabling KA might help with the issue. We were discussing with our engineers and we tried to find some application that could enable KA on your computer. We couldn't find anything, but we believe that's the way to go. So give it a try and try to find some app on the internet that enables KA for our proprietary application". // everything in Lithuanian ofc.
I mean...seriously...?
I was startled to hear this suggestion. Since I expected them to be experts I assumed there's something IDK about Windows sockets -- could Windows enable KA globally, by-default? Did not find such a thing. Could Windows allow application A to control application B's socket options? Frankly, I'm too afraid to even look for this. I dislike Windows already. If this turned out to be true I'd probably become an anti-windows evangelist.4 -
!isNotRant(this);
I'm an avid user of Snapchat and have used it for quite a while, but there's always been something that pisses me off.
When an app gets an update, I'm quick to check the changelog and see what's now and what's been fixed. That's my little snippet of information I like to know on a release. And then there's Snapchat.
They put fuck all in their changelogs. By fuck all I don't mean a little bit of information, I mean they don't list anything. They, instead, lost features from their last major release which could've been 10 or so releases back. Even Twitter's "Fixed some bugs" is more informative than their bs.
So I ended up writing a well worded and surprisingly clean message in their feedback section about this, but I'm not expecting much. In short I said "You changelogs are crap, you need to put more into them to show a bit more respect, showing stuff from a few releases ago isn't helpful" and my favourite "if you can't do it in the team that releases, get the primary devs to write the changelogs for you".
I'm saying this here to see if anyone agrees with my opinion. If you're going to release an update, you really need to tell us what's updated.
Thoughts?13 -
So here's is the thing.
For some weird reason I decided to work at a VC funded startup. For 15k year,(I live in a really poor country).
So, let me describe the hell I'm in now, and if for some good grace you happen to be hiring, please consider saving me from the horror that's ahead.
Company got funded 5 months ago, main owners are, an economist and a civil engineer with no programming habilities whatsoever.
They took 1 month to assemble "a killer team", with no hiring expertise they handpicked a CTO that came in 1 month later and took a month of vacation in his first month of work.
He didn't do any specification of the system that needs to be built.
The 2 naive owners hired the rest of this "killer team".
The team is good, but have no appreciation of planning.
They've built and rebuilt the backend system twice, once in graphql and the second with plain http (is not real rest, just a http api), in front of, guess what a mongo database.
This mongo DB is not only one, but 7, because we have 7 microservices, and each has its own database.
After some time, they decided to fire their CTO, and hire one more programmer(that's me), because the CTO wasn't doing anything.
The app has 3 parts, the app per se, a business version, and a help desk, guess what the helpdesk just appeared last week on the radar.
Long story short, we have one month to deliver what couldn't be built in 5.
When I decided to work for these people, I did not imagine the kind of clusterfuck that I was getting into.
It took me 1 month to realize the whole situation, now, I really would like to see some help from the deities of any religion, not for the project, that project is doomed.
It's how I'll pay the bills after that clusterfuck collapses that worries me.
Now in the startup no one is talking about how stupid the whole situation is. Or how far back we are. And at this point there's very little that could be done about it, I have a feeling that it could still be accomplished, but it's fading day after day.
I will do my best to live the best of this experience, and do as the musicians in the Titanic and keep playing the music even after knowing the Titanic is sinking.4 -
I genuinely regret and believed that I just got scammed by recruiter. There's a company wanted me to create a prototype of Social Media App in order to be qualified for the interview , which I completed in weeks, as soon as they got my source code, they went ghosting me.
I woke up in the early morning today, in my WeChat Moment appears to be an advertisement of a "Social Media App" , which the design and the concepts are very familiar.
So technically I just build the an app for their money making scheme, and I am unemployed.
I hate myself for making this decision, I thought the app is for testing my capabilities, but unfortunately that's not it...
我只是棋盤上的棋子...........25 -
Customer: I want to be included in any and all design and development meeting in the future.
Me: OK, I mean, I'm just one person so there's not formal meetings as such...
Customer: Nevertheless, I wish to be included and ensure my needs are met.
Some time passes.
Me: So, I'm thinking of swapping out the old Beanshell interface, cos, really... Interpreted, scriptable Java isn't great and most users don't want to write Java just to run some jobs. Could you help me with creating an API that fits you and your departments needs?
Customer: No, I'm way to busy to deal with this right now!
Me: And when would be convenient for you?
Customer: I don't know, just not now.
To this day, despite successfully integrating the rhino js engine into the app, part of the software I develop has a bean shell interface rather than js, Python or lua.
-_- I hate bean shell... -
Had anyone experienced with an impatient boss who require you to complete the project in the month you just recently got hired?
Here's the story, I recently got hired by a company, joined on 1st April 2022, the boss expect me to complete the app for Android and iOS by the end of this month. (An e-commerce applications exactly like shopee.com) Without providing me the Backend ApI , that they mentioned. They just gave me a and expect me to know what's happening at the backend.
He require me to give him a specific date that I can launch the app to play store and Apple store. (From my experience, it take days, weeks or months). He need a milestone of what I need , did , and will do (which predictably that they will reject any new ideas proposed) .
I even considering to quit, but I need opinions. Am I just too sensitive or there's something wrong?14 -
I take the train well out side of rush hour when the trains are about half empty (though most seats taken). I have to come in because it's not like I can afford to have a workspace comparable to the cockpit of the millennium falcon both at home and at work.
I don't believe going into a panic about coronavirus but take obvious basic precautions to at least reduce the chance and slow the spread and that should do a good amount to reduce overloading the system. I kid you not, at this point medical facilities are considering buying diving equipment for enriched O2 supplies to keep up.
Today, as usual, some fucking piece of shit cunt twat psycho beggar that literally needs to be in an asylum with a massive fucking great gob of snot dangling out his nose is going up the entire train, every carriage, begging groping every hand rail along the way and potentially exposing several hundred people every hour.
I told this sorry sack of shit, surprisingly politely, that he'll end up rapidly spreading coronavirus if he keeps going all the way up and down the carriage like that. After he's fucking muttering on trying to make people feel bad about fucking ignoring him not being all caring and shit and then doesn't give a shit about giving everyone coronavirus after fucking waltzing down the entire fucking length of the train his pockets stuffed with coin. Then he threatens to assault me. I was fucking this > < far away from unleashing a life changing beat down and kicking his ass off the train with no pain or injury spared.
At the same time, that piece of scum waste of skin the mayor has apparently informed the public that you can't get coronavirus on the train or buses. How the fuck did he come to that conclusion? Is this really happening? How can something that clinically fucking thick as shit be our lord and master?
I fucking thought the great toilet paper rush was brain dead. Jesus fucking Christ and people voted for this fucking championship moron. Why don't they just all save themselves the fucking hassle and all march themselves off a fucking cliff?
These dumb shits without two neurons to rub together only need to put a dozen or so plain clothed police offices on the trains to catch these fuckers.
Why am I even fucking paying taxes? Where's it all fucking going? Another fucking lets give a billion quid to Fujitsu fucking failed IT project again I bet. Can't people bloody do anything these days? Does there have to be an app for fucking everything?
Someone should make a fucking facial recognition app so I can snap a shot of these fuckers and then if one of these fucking passes the phone camera anyone else with the app it'll set of there's a fucking imbecile in the vicinity alert.
These people need to be dragged out into the street, lined up against the wall and shot. No remorse. Toss them in a pit, cover it with dirt and be done with it. Why even bother with the execution? Throw them down the hole and fill it with dirt.
You don't have to go mental like it's the plague but people could at least show some fucking common sense, common decency and basic decorum. Even minimal measures, is that much to ask? Absolute scum of the Earth. How we even allow them to walk to Earth I do not fucking know.1 -
smh.
Why hire a Native iOS Developer when you're going to let him develop an iOS app to look EXACTLY like its Android counterpart?
There's hybrid and cordova for that if you want your apps to look and feel exactly the same.
Can't we all just agree to appreciate the distinct differences in UI for both platforms? Navigation especially? Copy context not UI.undefined android copy context not ui ios apple google human interface design material design hybrid -
They've been in a meeting with some clients the whole morning.
12PM, time for me to go. Say Happy New Year and am on my way home.
12:20 Got home, took shirt off, got something to eat from the fridge.
12:22 Bit the first slice of pizza. Phone rings.
- "Yo' we wanted to show them app 2 but I can't log in."
+ "I left the laptop (and the whole dev environment) there, and there's no PC on in my house (and no dev environment whatsoever)."
- "Well check with your phone. [SIC] Tell me when you fix it."
12:32 I had turned my personal computer on; checked the problem was what I imagined (unpkg lib with no version defined on the link had a new major/non-retrocompatible version); grabbed an online FTP tool; remembered IP, user & password; edited the single line that caused the problem; and checked it worked. Calling back.
+ "It's fixed."
- "Thanks!"
12:38 CEO sent me an image of the app not working, due to a known bug.
+ "That happens if you try to access app 1 having accessed app 2 and not logging off." (app 2 isn't being used / sold, as it's still in development) "Try logging off and logging in again from app 1."
- * radio silence *
+ * guess they could get in *
They had the whole freaking morning. 😠
I'm the hero CMMi's level one warns you about. But at what cost.
Happy early New Year's Eve everyone.2 -
Dev gets told in the morning there's an emergency fix needed due to a critical issue with the app that's in production and that the fix needs to be in the release that will be cut this evening.
Dev drops everything he/she is working on, works frantically all day to get it in 2 minutes before the deadline.
Release gets cut.
Next day release gets trashed because some exec did not like the size of the font used in some obscure part of the app even though it's been this way for 6 months...1 -
Holy shit seriously: Fuck MSOffice. Fuck it right in the eyehole.
As desktop software, it's just brutally terrible. On my work mac, it's just sweaty garbage. The latest insult is that on the most recent update, msword stole the default file association from preview.
Libre isn't terrific, but at least it's closed when you close it. For that reason alone, it's orgasmic by comparison.
Because there's justice in the world, my job is not a document-centered one, so I have no real use at all for an office app, let alone the specific macros and formulae that the msoffice versions of these apps provide, so I couldn't give less of a shit about losing functionality.
The headline and main thrust of this rant is "fuck msoffice so hard that it dies of eye-fucking." -
Working with the Android SDK after about a decade of mostly avoiding ever having to do so directly...and fucking hell, nothing has changed.
It's still obtuse as fuck, you constantly have to provide contexts to operations which can't need them (there's only one fucking keyboard to close), and whilst they have added some new stuff which helps like Material, the APIs are just as mental, the setup just as elaborate and manual - and they don't seem to have deprecated anything along the way, so fifteen years of random software design decisions cohabit awkwardly together like the Bucket family.
I don't really mind Java, it's just long-winded C - but boy has it found its niche here. Your code is more boilerplate than not until you've written more than you'll mostly ever need to for an app.
At this point I'm just laughing when I come across another Stack Overflow solution for a trivial operation that involves writing an entire class. I would try Kotlin but this isn't a new project, and I'm not pissing another ingredient into this hot mess.
Alright, Android Studio is an improvement on Eclipse, but that's not really saying much.3 -
Work story.
We have this system that's being used nation-wide and basically there's a control panel for management (it's a website)) and an app for the regular users.
I just migrated and replaced the guy before me, I'm basically the only one on the project.
The code for the website is a mess, the servers are sometimes slow, and few security problems here and there.
Project Lead comes up to me and says that few of our clients that use the website are saying it works really slowly.
I start by analyzing the networking, and found shocking things.
First of all, let's say there's a messaging option, and the management teams that are our clients can have each a lot of groups, which all have messaging.
Upon first load, ALL OF THE IMAGES, FROM ALL GROUPS, ARE PRE LOADED. It can get up to few hundred photos being preloaded upon first load, which can explain the slow loading.
After discovering that, I discovered that the Administration control panel, which only my project lead can access, with sends heavy requests to the server and loads heavy assets, is loaded every time to every single client, generating heavy stress on our server and slowing everything down.
I tell that to my project lead and say that that's what causing the slow downs, I coded a fix that currently sits and is not being merged to the master branch to be deployed, and somehow I need to find a way to fix the slowness which all comes down to the heavy requests and slow connection with servers... And they won't merge my fix that fixes the loading of the administration panel so the stress on the servers could go down, and everything will be sped up....
Ah damnit.. sometimes I don't understand it..4 -
Sooooo...
why does everyone use a million and 2 modules when working with node? I understand the speed of development goes up pretty quickly by not having to reinvent the wheel by retyping code that already exists, but...
the worst case tradeoff I've personally seen to date is someone who doens't know the difference between a string and an array but they "coded a web app" and it runs like soupy diarrhea.
maybe there's something I'm missing about node development, but I personally like writting code that does some task or function for myself to learn/understand how to do it and implement it. Usually, that also helps me figure out how and where to speed things up.
I'm just postulating that maybe reinventing the wheel can be a good thing, that's probably why we don't see formula1 cars using pennyfarthing wheels. 🧐22 -
I used to be a sysadmin and to some extent I still am. But I absolutely fucking hated the software I had to work with, despite server software having a focus on stability and rigid testing instead of new features *cough* bugs.
After ranting about the "do I really have to do everything myself?!" for long enough, I went ahead and did it. Problem is, the list of stuff to do is years upon years long. Off the top of my head, there's this Android application called DAVx5. It's a CalDAV / CardDAV client. Both of those are extensions to WebDAV which in turn is an extension of HTTP. Should be simple enough. Should be! I paid for that godforsaken piece of software, but don't you dare to delete a calendar entry. Don't you dare to update it in one place and expect it to push that change to another device. And despite "server errors" (the client is fucked, face it you piece of trash app!), just keep on trying, trying and trying some more. Error handling be damned! Notifications be damned! One week that piece of shit lasted for, on 2 Android phones. The Radicale server, that's still running. Both phones however are now out of sync and both of them are complaining about "400 I fucked up my request".
Now that is just a simple example. CalDAV and CardDAV are not complicated protocols. In fact you'd be surprised how easy most protocols are. SMTP email? That's 4 commands and spammers still fuck it up. HTTP GET? That's just 1 command. You may have to do it a few times over to request all the JavaScript shit, but still. None of this is hard. Why do people still keep fucking it up? Is reading a fucking RFC when you're implementing a goddamn protocol so damn hard? Correctness be damned, just like the memory? If you're one of those people, kill yourself.
So yeah. I started writing my own implementations out of pure spite. Because I hated the industry so fucking much. And surprisingly, my software does tend to be lightweight and usually reasonably stable. I wonder why! Maybe it's because I care. Maybe people should care more often about their trade, rather than those filthy 6 figures. There's a reason why you're being paid that much. Writing a steaming pile of dogshit shouldn't be one of them.6 -
> Mister IHateForALiving, we need a new table on the website do to thing
No biggie, we know there's a datatable plugin somewhere.
> No, you can't use that, it doesn't have pagination
Oh, right. I also see here it was last updated 4 years ago, it's kinda shit too, it's like the inbred cousin of a real datatable. Ok, how did you tackle the thing until now?
> There's a script template somewhere in the page, we iterate over that to create our tables
Ok, but I'll have to write some logic for that, how much time do I have?
> I want this to be online by this evening
Can't be done, what if we used a normal datatable like normal people?
> No, it looks too different from the real site
How am I supposed to manage the thing then?
> IDK, just reload the page every time
_____________
And here we are, triggering a full page reload on an already bloated Laravel app (something like 600-800ms) for 20 lines of json. Great idea mister team leader, but consider the following: fuck you and your bastard lineage.4 -
Working on an Android app for a client who has a dev team that is developing a web app in with ember js / rails. These folks are "in charge" of the endpoints our app needs to function. Now as a native developer, I'm not a hater of a web apps way of doing things but with this particular app their dev teams seems to think that all programming languages can parse json as dynamically as javascript...
Exhibit A:
- Sample Endpoint Documentation
* GetImportantInfo
* Params: $id // id of info to get details of
* Endpoint: get-info/$id
* Method: GET
* Entity Return {SampleInfoModel}
- Example API calls in desktop REST client
* get-info/1
- response
{
"a" : 0,
"b" : false,
"c" : null
}
* get-info/2
- response
{
"a" : [null, "random date stamp"],
"b" : 3.14,
"c" : {
"z" : false,
"y" : 0.5
}
}
* get-info/3
- response
{
"a" : "false" // yes as a string
"b" : "yellow"
"c" : 1.75
}
Look, I get that js and ruby have dynamic types and a string can become a float can become a Boolean can become a cat can become an anvil. But that mess is very difficult to parse and make sense of in a stack that relies on static types.
After writing a million switch statements with cases like "is Float" or "is String" from kotlin's Any type // alias for java.Object, I throw my hands in the air and tell my boss we need to get on the phone with these folks. He agrees and we schedules a day that their main developer can come to our shop to "show us the ropes".
So the day comes and this guy shows up with his mac book pro and skinny jeans. We begin showing him the different data types coming back and explain how its bad for performance and can lead to bugs in the future if the model structure changes between different call params. He matter of factually has an epiphany and exclaims "OHHHHHH! I got you covered dawg!" and begins click clacking on his laptop to make sense of it all. We decide not to disturb him any more so he can keep working.
3 hours goes by...
He burst out of our conference room shouting "I am the greatest coder in the world! There's no problem I can't solve! Test it now!"
Weary, we begin testing the endpoints in our REST clients....
His magic fix, every single response is a quoted string of json:
example:
- old response
{
"foo" : "bar"
}
- new "improved" response
"{ \"foo\" : \"bar\" }"
smh....8 -
ZNC shenanigans yesterday...
So, yesterday in the midst a massive heat wave I went ahead, booze in hand, to install myself an IRC bouncer called ZNC. All goes well, it gets its own little container, VPN connection, own user, yada yada yada.. a nice configuration system-wise.
But then comes ZNC. Installed it a few times actually, and failed a fair few times too. Apparently Chrome and Firefox block port 6697 for ZNC's web interface outright. Firefox allows you to override it manually, Chrome flat out refuses to do anything with it. Thank you for this amazing level of protection Google. I didn't notice a thing. Thank you so much for treating me like a goddamn user. You know Google, it felt a lot like those plastic nightmares in electronics, ultrasonic welding, gluing shit in (oh that reminds me of the Nexus 6P, but let's not go there).. Google, you are amazing. Best billion dollar company I've ever seen. Anyway.
So I installed ZNC, moved the client to bouncer connection to port 8080 eventually, and it somewhat worked. Though apparently ZNC in its infinite wisdom does both web interface and IRC itself on the same port. How they do it, no idea. But somehow they do.
And now comes the good part.. configuration of this complete and utter piece of shit, ZNC. So I added my Freenode username, password, yada yada yada.. turns out that ZNC in its infinite wisdom puts the password on the stdout. Reminded me a lot about my ISP sending me my password via postal mail. You know, it's one thing that your application knows the plaintext password, but it's something else entirely to openly share that you do. If anything it tells them that something is seriously wrong but fuck! You don't put passwords on the goddamn stdout!
But it doesn't end there. The default configuration it did for Freenode was a server password. Now, you can usually use 3 ways to authenticate, each with their advantages and disadvantages. These are server password, SASL and NickServ. SASL is widely regarded to be the best option and if it's supported by the IRC server, that's what everyone should use. Server password and NickServ are pretty much fallback.
So, plaintext password, default server password instead of SASL, what else.. oh, yeah. ZNC would be a server, right. Something that runs pretty much forever, 24/7. So you'd probably expect there to be a systemd unit for it... Except, nope, there isn't. The ZNC project recommends that you launch it from the crontab. Let that sink in for a moment.. the fucking crontab. For initializing services. My whole life as a sysadmin was a lie. Cron is now an init system.
Fortunately that's about all I recall to be wrong with this thing. But there's a few things that I really want to tell any greenhorn developers out there... Always look at best practices. Never take shortcuts. The right way is going to be the best way 99% of the time. That way you don't have to go back and fix it. Do your app modularly so that a fix can be done quickly and easily. Store passwords securely and if you can't, let the user know and offer alternatives. Don't put it on the stdout. Always assume that your users will go with default options when in doubt. I love tweaking but defaults should always be sane ones.
One more thing that's mostly a jab. The ZNC software is hosted on a .in domain, which would.. quite honestly.. explain a lot. Is India becoming the next Chinese manufacturers for software? Except that in India the internet access is not restricted despite their civilization perhaps not being fully ready for it yet. India, develop and develop properly. It will take a while but you'll get there. But please don't put atrocities like this into the world. Lastly, I know it's hard and I've been there with my own distribution project too. Accept feedback. It's rough, but it is valuable. Listen to the people that criticize your project.9 -
So I became a panel for a students' oral defense for their apps in the IT dep, I'm a lowly plebian STEM but oh well I guess they did spot me making apps on the library on my lunch time.
Anyways here's what happened:
I reviewed two groups and here's my input on them:
- Group one did a app that uses the gyroscope to control a character in the screen, and avoid obstacles. At first I don't know how to play it but I figured it out nonetheless, since I'm reviewing in the customer perspective, I shunned them because of poor UX, and poor performance. Idea was there but execution is fucked - and the fact its a one man stand when there's 6 persons in front of me.
- Group 2 did an app that behaves similarly to our shitty eLMS, I liked the UX and the UI but I gave them a few pointers to improve it more and recommended it to replace the current application (yes because it was really exceeding my low bar for their department).
It's kinda obvious which one I picked to get to the stage on their graduation. They deserved it but I felt bad for the girl in the last group since she did everything so I gave them a passing grade. But if I were to individually grade them: I'd pass her and fail the rest.
How'd I do as a panel judge my angery dudes?3 -
I own a start up with two friends of mine - one is great with business, and the other tries to be both a developer and on the business side. I'm fully on development and I find it extremely frustrating to work with him. He copies and pastes code, doesn't understand it, and worse still will never admit it and digs himself in deeper into the hole he's dug. He doesn't code as a hobby and it's purely just assignments in university that he spends any coding time on. I've tried helping him to improve over the past few months, but nothing seems to ever do anything as there's no desire to solve problems - just really dollar signs in his eyes is probably the only reason he's in computer engineering. Recently we got a contract with an organisation to make an extremely simple app for android and iOS as the first stage of their planned development. As I did the most of the work on another project during the summer (while juggling a job with another company as an internship), I asked if he could take this so he can try to improve and equalise work so he does his share. Not only did it take 3 weeks, but it's shoddy as hell and looks like it was done in the space of an hour. In reality it took days for him. It's unbearable! The android code I saw was clearly just copied from various sources and mashed together - there was no planning, no understanding of abstractions, and was legit a giant class or two with extreme amounts of redundancy. Hell, he even asked me for help for trying to implement fragments when I pointed out that making screens with buttons and such will be extremely difficult if he is only passing in strings. Any of you guys experiences something like this before? I'm planning on bailing in the coming weeks once my exams are over with for university as it's becoming unbearable.6
-
What I'm doing now, writing a JS library for a simple kitchen timer (like, something that can be wound up, is ticking, can be paused, etc). Here's a list of neat stuff I've learned:
Polyfilling as a lib author (I decided against it).
Packaging the lib (using Rollup, ES6 modules are totes cool).
Using flow to add static typing in strategic places (started appreciating types in JS since reading up on functional programming).
Modelling state and transitions using an explicit state machine. (Fucking finally. There's usually an implicit state machine somewhere, only spread out all over the app...)
Using mostly side-effect free methods, being very explicit about when and why things are mutated).
Test-first/TDD (ish) using Jest and the awesome Wallabyjs.
Freeing up mental capacity by letting Prettier format my code for me (it was hard to let go but totally worth it).
Started using git.
Did all work on Ubuntu after pretty much a lifetime of Windows (initially to separate work from gaming) and finally swapped MS Visual Studio for Atom.
When it's finished I'm going to publish it on GitHub, which will also be a first for me. Might try out some CI platform while I'm at it.
tl;dr: wrote some js, felt good2 -
iOS is rotting my soul.
I've been a user of iPhone for 6 years now. For the first couple years, I wasnt really mindful of software I use, or I guess I didnt really care. As long as it did the bare minimum, I.e. bank app, call, text, browse, watch youtube vids, I didnt really care. However, in the last couple years, ive become very interested in tech and have worked on small developer projects, spent a lot of time coding in my free time, found really inspiring software and apps on my regular computer that just blow my mind on how advanced they are, and how I, some dumb guy with internet access, can just download it on my PC and use it.
This led me into a kind of software honeymoon phase, where I created a shiny new Github account and started exploring what other cool tools are just out there, available to me for free. My software honeymoon was spent on the beaches and resorts of the open-source software ecosystem. Exploring the gem-bearing caves and beautiful forests of anything from free open-source OCR programs(I needed it to convert my dads manuscript from scanned PDF .jpeg's to actual UTF8 text) to open-source RGB lighting/keymapping software to escape the memory-and-CPU-hungry(and most likely advertising-ID-interested) proprietary software that comes with the brand of mouse/keyboard/controller/etc.
It was like I was a kid exploring Disneyland for the first time or something. But then... then... I got off my computer. Picked up my phone to check notifications. Ew, tinder is blowing up notification center with marketing shit. I go to settings. Notification settings. Tinder's at the bottom so I just want to use a search bar instead of scrolling. There's no search bar. Minor inconvenience. Dark mode isnt dark enough for me. I guess thats just too damn bad, because for the next two hours, I'll have to figure it out by messing with accessibility settings. Time for bed, and I'm just getting plum tired of having to turn on my alarms every night for work the next morning. So I used the 'Automations' app to do it for me. For the next two weeks, at the time specified, 'There was an error running your automation' until I just delete the automation. Browsing through the FaceID settings, I see 'Attention Aware Features'. Cool, maybe now my phone won't automatically dim the screen when im in the middle of reading notifications on my lock screen. Haha, nope still does it. After turning on my alarms, I go to sleep. I wake up an hour late for work because those handy 'Attention Aware Features' silenced my alarm immediately because I fell asleep watching a youtube video.
I could go on and on. Its actually making me feel depressed typing this on my phone, fighting with Apple's primitive autocorrect and annoying implementation of Swype to type.4 -
The global joke of Information Security
So I broke my iPhone because the nuclear adhesive turned my display into a shopping bag.
This started the ride for my character arc in this boring dystopia novel:
Amazon is preventing me from accessing my account because they want my password, email AND mobile phone number in their TWO.STEP Verifivation.
Just because one too many scammers managed to woo one too many 90+y/o's into bailing their long lost WW2 comrades from a nigerian jail with Amazon gift cards and Amazon doesn't know what to do about anymore,
DHL is keeping my new phone in a "highly secure" vault 200m away from my place, waiting for a letter to register some device with a camera because you need to verify your identity with an app,
all the while my former car insurance is making regress claims of about 7k€ against me for a minor car accident (no-one hurt fortunately, but was my fault).
Every rep from each of the above had the same stupid bitchass scapegoat to create high-tech supra chargers to the account deletion request:
- Amazon: We need to verify your password, whether the email was yours and whether the phone number is yours.
They call it 2-step-verification.
Guess what Amazon requests to verify you before contacting customer support since you dont have access to your number? Your passwoooooord. While youre at it, click on that button we sent you will ya? ...
I call this design pattern the "dement Tupi-Guarani"
- DHL: We need an ID to verify your identity for the request for changing the delivery address you just made. Oh you wanted to give us ANOTHER address than the one written on your ID? Too bad bro, we can't help, GDPR
- Car Insurance: We are making regress claims against you, which might throw you back to mom's basement, oh and also we compensated the injured party for something else, it doesn't matter what it is but it's definitely something, so our claims against you just raised by 1.2k. Wait you want proof we compensated something to the injured at all? Nah mate we cant do that , GDPR. But trust me, those numbers are legit, my quant forecasted the cost of childrens' christmas wishes. You have 14 days or we'll see you in court haha
I am also their customer in a pension scheme. Something special to Germany, where you save some taxes but have to pay them back once you get the fund paid out. I have sent them a letter to terminate the contract.
Funniest thing is, the whole rant is my second take. Because when I hit the post button, devrant made me verify my e-mail. The text was gone afterwards. If someone from devRant reads this, you are free to quote this in the ticket description.
Fuck losing your virginity, or filing your first tax return, or by God get your first car, living through this sad Truman dystopia without going batshit insane is what becoming a true adult is.
I am grateful for all this though:
Amazon's safety measures prevented me from spending the money I can use to conclude the insurance odyssey, and DHLs "giving a fuck about customers" prevention policies made me support local businesses. And having ranted all this here does feel healthy too. So there's that.
Oh, cherry on top. I cant check my balance, because I can only verify my login requests to my banking account wiiiiiiith...?2 -
I've had a Xiaomi Mi 8 for a few months now. Although I'm impressed by what I got for the amount I paid (a phone that cost about $250 for 6GB RAM, Snapdragon 845, Android 9 and premium build quality is quite a steal), it definitely comes with a consequence.
MIUI (specifically MIUI 11) is godawful. It is single-handedly the worst Android ROM I've ever used since my shitty Android 2.2 phone back around 2010. If you're gonna buy a Xiaomi phone, plan to install Lineage OS on it (but even that's a pain which I'll explain why later).
- Navigation buttons don't hide while watching a video.
Why? God only knows. The ONLY way to bypass without root this is to use its garbage fullscreen mode with gestures, which is annoying as all hell.
- 2 app info pages?
Yeah, the first one you can access just by going to its disaster of a settings app, apps, manage apps and tap on any one.
The 2nd one you can access through the app info button in any 3rd party launcher. Try this: Download Nova launcher, go to the app drawer, hold on any app and tap "app info", and you'll see the 2nd one.
Basically, instead of modifying Android's FOSS source code, they made a shitty overlay. These people are really ahead of their time.
- Can only set lock screen wallpapers using the stock Gallery app
It's not that big an issue, until it is, when whatever wallpaper app you're using only allows you to set the wallpaper and not download them. I think this is both a fuckup on Xiaomi and (insert wallpaper app name here), but why Xiaomi can't include this basic essential feature that every other Android ROM ever made has is beyond me.
- Theming on MIUI 11 is broken
Why do they even bother having a section to customize the boot animation and status bar when there's not one goddamn theme that supports it? At this point you're only changing the wallpaper and icon pack which you can do on any Android phone ever. Why even bother?
They really, REALLY want to be Apple.
Just look at their phones. They're well designed and got good specs, but they don't even care anymore about being original. The notch and lack of a headphone jack aren't features, they're tremendous fuckups by the dead rotting horse known as Apple that died when Steve Jobs did.
Xiaomi tries to build a walled garden around an inherently customizable OS, and the end result is a warzone of an Android ROM that begs for mercy from its creator. Launchers integrate horribly (Does any power user actually use anything that isn't Nova or Microsoft launcher?), 3rd party themes and customization apps need workarounds, some apps don't work at all. People buy from Xiaomi to get a high end budget Android phone at the price of some ads and data collection, not a shitter iOS wannabe.
They really, REALLY want you to have a sim card
If you don't have a sim card and you're using your phone for dev stuff, you're a 2nd class citizen to Xiaomi. Without one, you can't:
- Install adb through adb
- Write to secure settings
- Unlock your bootloader and get away from this trash Android ROM
What's the point? Are they gonna shadow ban you? Does anyone contact them to unlock their bootloader saying "yeah I wanna use a custom rom to pirate lizard porn and buy drugs"? They made this 1000000000x harder than it needs to be for no reason whatsoever. Oh yeah and you gotta wait like a week or something for them to unlock it. How they fucked up this bad is beyond me.
So yeah. Xiaomi. Great phones, atrocious OS.11 -
Not dev, but a perf-eng confidence boost.
Our company was hired by a client to onboard perf-testing process and do some perf-related go-live stuff. Basically, make sure the app meets the SLAs.
Our company mobilized some internal resources for the task. The had 3-4 months. 2 months later they realized they won't pull it off. What a shame...
When the threat of dropping the ball and losing the client and recommendations became very real, they engaged us. Half the time, half the resources, a worried and annoyed client who now wants to control the whole initiative.
During the first 2 meetings we get the general idea of what they have, what they want. We take some time to prepare a plan to make it on time. The client argues our plan, mostly because one of the main points was mocking downstream dependencies [integrations]. He asks, then demands to do it all with live integrations. We explain why this is an incredible risk and why we should do it the proposed way. He disagrees.
Alright then... Maybe he knows smth we don't. Let's do it the risky way...
A month later test results are far from the target. I did my best with app de-bottlenecking and fine-tuning. But since the live integrations do not deliver, they hide other bottlenecks. The initiative is stuck.
Finally, the client agrees to do it with mocking. But now there's no time left as it will take almost a month to prepare mocks...
The client agrees we should have done it our way from the start. They postpone the go-live and we carry out our testing and tuning the right way.
That was one expensive and long "I told you so". But it boosted our [perf team's] confidence to the top and beyond :)
don't tell us how to do our job, unless you do want extra expenses -
I don't know my problem is. I lost my motivation to code, my enthusiasm and excitement to read a code and solve a problem. My love of my life for 6 years whom I thought she's the one, gave up on us. It was a long journey, lots of ups and downs, but really worth the time and sacrifice. Now, she's doing good, very happy on her life judging from her social media. Can't believe she just moved for 2 months. To be honest, i want her to be happy but quite bitter that she just moved on quite fast. And I don't if this is the reason why I lost my motivation and enthusiasm to code. Or maybe I just don't like the project we're working on. Well, I really don't like it since it's a mobile game, I really want to build webapp or mobile app but it's too late to change the project.
I'm not like this, I used to code until morning without noticing the time, excited to solve a problem that stuck on me for quite a while. I really became a lazy person right now. I feel the pressure to finish the project but I don't see myself working on it, I don't feel interested reading a code. I just play computer games instead of working on my project during my free time. I don't know if I'm depressed. I socialized with people, have fun, happy when I'm with them, but when I'm alone, sadness starts to creep in. I feel like there's an empty void in myself. I don't know, i just want the motivation and energy to work on my project. Im tired, lazy, and feeling burnt out. If you read until this very last sentence, thank you and I'm sorry for reading this nonsense.5 -
Modern technology is absolutely bullshit
I can't even
Now my keyboard on my phone is even too broken to complain about it
I wanted to look at someone's post history on a forum
To do so the forum wants an account. Ok. So I gave it my old junk Hotmail account during sign up for it to send me an email confirm so I can make the account so I can search. Well I'm refreshing this account for this confirm account email through the Gmail app on my phone because who even checks emails on computers anymore
Turns out, aside from this Hotmail spam email account having a lot of junk emails (it is my junk email account), there's this little pop-up that happens SOMETIMES claiming that it can't sync. I checked inbox and spam and the email isn't in there. So 1 out of 10 times I refresh there's this little "cannot sync" message that pops up and I click it. It claims my storage on my phone is too full to sync. Ok.
So I go try to find storage through the settings in my phone. It doesn't exist as a category anymore apparently. Thankfully phones have a search feature now -- because we can't have sane settings anymore so here's a search feature. First result it gives me is just device info. That's useless. It's just the hardware specs for my phone
Second it shows storage. 90% full apparently. That's odd. I have 132 gb. Thankfully it subdivided it by what's taking up space but it doesn't make much sense and a bunch of the categories don't open to anything
Apparently the fucking android operating system is 32 GB now? Well you're fucked if you wanna remove that. Apparently years of photos and videos is 20 gb, I can back those up and delete them. Similarly I have downloads in folders, and that's about 20 gb
Why are there 20 GB of apps? I literally have no apps!
Part of apps? Wtf is Gboard and why is it a gig
Why is my WEATHER APP using a gig of storage?
And none of the apps can I remove the storage they're using. The cache is like 600kb, and I can delete all data and it's using like 60 MB. So the fucking weather app executable itself is a gig of space? Wtf?
I deleted the data for Gboard and turns out that's the keyboard. So now all my keyboard settings are fucked.
Thankfully I wrote syncing scripts ages ago to sync various folders from my phone to my external HDD. I just had to connect it to the laptop and run the script on the external HDD. Problem? Well turns out no matter what I do I can't get the laptop to connect to the phone if it's USB file transfer mode. I can do photos. But this is gonna be more than photos.
So I do my sync backup script from the laptop to the external HDD. This will sync the camera, since I have sync thing sync my laptop and phone all the time, so I can just sync the laptop to the external HDD and then delete the older photos and get 20gb. Quick fix for now
Why do I need this quick fix?
Well
Get this
I've been having issues with my Gmail client for ages. It just won't display new email notifications which is really annoying because I need to know when emails get sent to me.
Now I'm thinking, maybe I can de-sync older emails and have more storage space maybe? But that's not an option anywhere. Actually, I can't even unconnect an email address from my phone. Gmail doesn't even let you do that
What the flying fuck is the state of modern technology
Now I have to go figure out what my fucking settings were for my stupid phone keyboard
The 90s were much fucking saner than this garbage. I don't need a 32 GB operating system on a phone. Is this fucking windows 8? And let me fucking tell YOU how many fucking emails you should sync to my phone. Holy shit what the fuck is all this
At least my Linux scripts fucking work like I wrote them9 -
So I'm making an app with a classmate at school, but there's one huge problem. All the PC's and laptops at school are shit. The ICT departement at my school blocks almost everything on them. I can't install any program, open any file and I can't even open the command prompt! So I can't install Visual studio or any other IDE and basically can't do anything besides browse websites that aren't blocked. And they expect me and my classmate to make an app. Fortunately, my classmate has a spare laptop we can use, but it's really difficult for two guys to code on just one laptop. I asked my school if they could buy new laptops or if they could remove they restrictions on two laptops, but they don't want to do any of those things and now we're stuck with just one laptop. I don't know what to do. I fucking hate this!
(This doesn't have anything to do with the topic of the rant, but I just want to complain.)
There are a couple more things I hate about my school. At my school, everyone is forced to use iPads. I don't know why they don't just give us laptops instead of iPads (maybe just because there lazy). So my iPad's headphonejack and homebutton where broken for no reason and I had to get it repaired. But instead of going to an apple store or a repair shop, you need to go to the school's ICT department and get it fixed there. If you don't do that and go to a apple store or something, they will take your iPad and keep it forever! Even though you pay €200 for it every year! Also, the ICT department at my school is lazy as hell! You expect them to repair the iPad themselves, but they just send it to a repair shop. So it wouldn't even matter if I would go to the store myself! 😠 And they even do a really bad job at checking if the device even works after the repair, because I needed to get it repaired three times in a row! And don't even get me started on the bad WiFi connection.10 -
I'm working on a codebase that is terminally ill. It's split so badly into microservices that no matter what you do, every one of them talks to every one of them over and over. If there's any way they can avoid just invoking a method on a class and send themselves a message or make an HTTP request, they'll do it. One of the services just sends messages to itself for no apparent reason. Except it doesn't even send messages to itself. It sends an HTTP request to a controller in another app, and that controller sends a message which is received by the same class that made the request.
The point is that this application is screwed. The defects pile up and there is literally no one who can understand what it's supposed to do in any scenario. I'm good at this. I can follow confusing code and document it. But not this one. It's overwhelming. It's insanity.
When these defects come in we're told to just run the app from the UI, see what HTTP requests it makes, and start tracing the code manually. Running and debugging it locally would be a nightmare but it's impossible anyway.
They decided that we all need to understand the application better so we can work on it, so we were each given six poorly-define five-hour tasks to "understand" various things. Those things don't make any sense. It's like if someone gave you the source code to Excel and told you to spent five hours understanding columns, five more understanding rows, and five more understanding cells.
Here's the thing: I'm okay with learning and understanding some code. It's part of the job. But I'm not going to abandon my career as a software developer so I can become an expert on debugging their awful code. I didn't make this mess. I'm not going to live with it. I'm moving on as quickly as I possibly can.
I've tried to explain to them that if they want the situation to improve they need to improve the code. They need to learn how to write tests. If your plan is that people will study your code, know it inside and out, and then spend all their time debugging it, that's a plan for failure. Everyone who can will leave and take what they know with them.
These companies just don't get it. They need their software to work, but the types of developers who can help them don't need that software to work. No one capable of doing good work is going to spend several years debugging their awful code unless you pay them a crazy ton of money.
Just don't make a mess in the first place. Hire developers who can do a good job. If you hire the cheapest people you can find you won't be able to get someone else to fix it later. It's not personal but I wish failure on those projects or even those companies. I want them to fail because failure is so expensive. I want them to fail so that others learn from it and don't repeat the same mistakes.
As an industry we're a bunch of genuine idiots. We just keep doing the same things over and over again no matter how much it hurts.1 -
Allrighty, so we have a huge migration upcoming. The planning started early this spring. We've split the whole process into separate tasks and estimated each of them. Also marked all the tasks client should take care of itself so save funds and time. All-in-all the whole thing estimated like 4 months if we did it [single dev, tremendous amounts of communication with various parties, buy and prepare the infra, adapt app to the changes, testing, monitoring, etc.] and like a month if client did the tasks we shouldn't be doing. The funding for migration is time-bound and can only be used before December. Cool! We got notified that by the end of April we should be good to go! Plenty of time to do things right!
April comes. Silence. Mid-april we resch out to the client. Since there's plenty of time left migration is getting lower priority to other tasks. Well allright, sort of makes sense. We should migrate mid-July. Cool!
July comes. Client replies that everyone's on vacation now. Gotta wait for August - will do the quicker version of migration to make it on time. Well allright....
August comes. Everyone's vusy with whatever they've postponed during summer. Hopefully we'll start migration in September. Mhm...
September comes. We're invited to a meeting by project funders to explain tasks' breakdown, justify the time needed to make the migration. We're being blamed for surreal estimations and poor organization of tasks as nothing's happened yet... [they were the ones who always were postponing things....]. Moreover, they can only spare 20% of infra resources required for data alone anf they want us to make that enough for all environments, all components, all backups, all databases,... You get the pic.
The leader of the meeting semi silently mumbled to other participants 'Well then I'm afrsid we can't make a full migration in time.. Only partial. That's very unfortunate, very. That's why we should not have incopetent vendors [*glancing at us*]'
somehow we agreed we'll get the resources mid-November and we should be thankful for him bcz he'll have to pull some strings for... us..
I left the meeting with my fists squeezed so hard! But it's okay, we got smth useful: resources and start date. Although it leaves us with less than a month to do smth requiring a month for a sunny-day scenario. Nvm, still doable.
Last week we get an email that resources will be available at the beginning of December [after deadline] and we should start a full migration no sooner than Nov 12. Which leaves us with 50% of our estimated fucking optimistic scenario time and not enough resources to even move a single db.
Fuck I hate politics in dev... Is it wrong for me to want to tie them to a pole, set them on a veeery slow fire and take a piss on them while they're screaming their shitty lungs out? I'd enjoy the view and the scream. I know I would. And while enjoying I might be tempted to take a burning 20cm diameter wooden stick and shove it up their assholes. Repeatedly. Round-robin. Promissing them I'll take it out in 5 seconds and pulling it out after 2 minutes.
Can I?8 -
Been working on a new project for the last couple of weeks. New client with a big name, probably lots of money for the company I work for, plus a nice bonus for myself.
But our technical referent....... Goddammit. PhD in computer science, and he probably. approved our project outline. 3 days in development, the basic features of the applications are there for him to see (yay. Agile.), and guess what? We need to change the user roles hierarchy we had agreed on. Oh, and that shouldn't be treated as extra development, it's obviously a bug! Also, these features he never talked about and never have been in the project? That's also a bug! That thing I couldn't start working on before yesterday because I was still waiting the specs from him? It should've been ready a week ago, it's a bug that it's not there! Also, he notes how he could've developes it within 40 minutes and offered to sens us the code to implement directly in our application, or he may even do so himself.... Ah, I forgot to say, he has no idea on what language we are developing the app. He said he didn't care many times so far.
But the best part? Yesterday he signales an outstanding bug: some data has been changed without anyone interacting. It was a bug! And it was costing them moneeeeey (on a dev server)! Ok, let's dig in, it may really be a bug this time, I did update the code and... Wait, what? Someone actually did update a new file? ...Oh my Anubis. HE did replace the file a few minutes before and tried to make it look like a bug! ..May as well double check. So, 15 minutes later I answer to his e-mail, saying that 4 files have been compromised by a user account with admin privileges (not mentioning I knee it was him)... And 3 minutes later he answered me. It was a message full of anger, saying (oh Lord) it was a bug! If a user can upload a new file, it's the application's fault for not blocking him (except, users ARE supposed to upload files, and admins have been requestes to be able to circumvent any kind of restriction)! Then he added how lucky I was, becausw "the issue resolved itself and the data was back, and we shouldn't waste any more yime.on thos". Let's check the logs again.... It'a true! HE UPLOADED THE ORIGINAL FILES BACK! He... He has no idea that logs do exist? A fucking PhD in computer science? He still believes no one knows it was him....... But... Why did he do that? It couldn't have been a mistake. Was he trying to troll me? Or... Or is he really that dense?
I was laughing my ass of there. But there's more! He actually phones my boss (who knew what had happened) to insult me! And to threaten not dwell on that issue anymore because "it's making them lose money". We were both speechless....
There's no way he's a PhD. Yet it's a legit piece of paper the one he has. Funny thing is, he actually manages to launch a couple of sort-of-nationally-popular webservices, and takes every opportunity to remember us how he built them from scratch and so he know what he's saying... But digging through google, you can easily find how he actually outsurced the development to Chinese companies while he "watched over their work" until he bought the code
Wait... Big ego, a decent amount of money... I'm starting to guess how he got his PhD. I also get why he's a "freelance consultant" and none of the place he worked for ever hired him again (couldn't even cover his own tracks)....
But I can't get his definition of "bug".
If it doesn't work as intended, it's a bug (ok)
If something he never communicated is not implemented, it's a bug (what.)
If development has been slowed because he failed to provide specs, it's a bug (uh?)
If he changes his own mind and wants to change a process, it's a bug it doesn't already work that way (ffs.)
If he doesn't understand or like something, it's a bug (i hopw he dies by sonic diarrhoea)
I'm just glad my boss isn't falling for him... If anything, we have enough info to accuse him of sabotage and delaying my work....
Ah, right. He also didn't get how to publish our application we needes access to the server he wantes us to deploy it on. Also, he doesn't understand why we have acces to the app's database and admin users created on the webapp don't. These are bugs (seriously his own words). Outstanding ones.
Just..... Ffs.
Also, sorry for the typos.5 -
Today :
There are Apps to,
Drink water
Walk
Learn languages
Learn new things
Entertain
Increase productivity
Kill time
Make new friends
Order and eat food
Shop
Transport
...
God bless us,
There's an app for everything in this world
PS : someone soon is gonna come up with an App that helps you track and take a shit :(5 -
go fuck yourself with your fucking communities. i went into computing because i like being left alone. who are all those fucking freaks building their communities? this is capitalism mother fuckers, everybody in the world agreed on it, on each person being an independent individual doing their job to the best possible standard, instead these low-skill low-iq oversocialised sheeple started conglomerate into communities and brainwash everybody that this is what it is about. get stuffed alright. all my life i've been introverted, just leave me alone to write code alright? take my library i don't mind i'll take yours no strings attached, just push the code and forget about it. but no, all these degenerate morons without CS degrees have occupied our safe space, pushed us out of it and just can't get enough of using the buzzword "community-driven" "volunteers" volunteer my ass assholes you can't even make software nobody in real industry needs you because you have no skill at all you learn a bit of js which is any 14-15 yo can do and now think you're some kind of prodigies, unsung heros of humanity who selflessly bring the progress. nothing can be further from the truth - because of you we don't have real software, we don't have investment we don't get no respect everybody walks all over software engineers treating us like shit, there's an entire generation of indoctrinated parasitic scum that believes that software tools is grown for them on trees by some development teams that their are entitled to automatically, because some corporation will eventually support those big projects - yeah does it really happen though - look at svelte, the guy is getting 50k a year when he should be earning at least 500k if he had balls to start a real businesses, but no we are all fucking prostitutes, just slaving away for the army of people we never see. are you out of your mind. this shit should be fucking illegal alright it's modern day slavery innit bruh, if a company wants to pay their engineers to work on open source this is fine, i love open source like java or google closure compiler, but it's real software made by real engineers, but who are all these community freaks who can't spend a 10 seconds on stage in their shitty bogus conferences without ringing the "community" buzzer? you're not my community i fucking hate your guts you're all such dumb womenless imbeciles who justify their lack of social skill by telling themselves that you're doing good by doing open source in your free time - mate nobody gives a shit alrite? don't you want money sex power? you've destroyed everything that was good about good olde open source when it was actually fun, today young people are coerced into slavery at industrial scale, it's literally impossible to make a buck from software as indie unless you build something really big and good, and you can't build anything big without investment and who invests in software nowadays? all the ai "entrepreneurs" are getting fucking golden rained with cash while i have to ask for a 5$ donation? what the actual fuck? who sanctions this? the entire industry is in one collective psychotic delusion, spurred by microsoft who use this army of useful idiots to eliminate all hounour dignity of the profession, drive the abundance and bring about poverty of mind, character, as well as wallet as the natural state of things. fucking amatures of course you love your shitty little communities because you can't achieve anything on your own. you literally have no personality, just one homogenous blob of dumb degenerates who think and act all the same. there used to be a tool called adobe flash builder, i could just buy it, then open and make a web app, all from start to finish in one program, using tutorials of adobe experts on youtube, sure it might have had its pitfals but it was a product - today there's literally no fucking product to make websites. do you people get it? i can't buy a tool that i need to do my job and have to insult myself by downloading some shitty scripts from some shitty unemployed devs and hope my computer doesn't blow up in my face in the process because some freak went off his nut and uploaded some dodgy ass exploit on npm in his package. i really don't like. it's not supposed to be like that. good for me i build by own front/back end. this "community" insanity is just a symptom of industrial degeneration, they try to sell it to us like it's the "bright" communist future but things never been worst, i can't give a shit about functional programming alright i just need to get my job done mate leave me alone you add functional because you don't know how to solve the problem properly, e.g., again adobe flex had mxml where elements had ids and i could just program to id, it was alright but today all this unqualified morons filled the whole space after flash blew up and adobe execs axed flash builder instead of adapting it to js runtime, it was a crime against humanity that set us back to 1000s5
-
every day I see full stack here and there...
full stack is not only db and code, but also "every step the bit goes through " from end user's screen/input to server and back to him
whether is an app or service, end user is only an example.
it's about knowing how the language behaves, how the server interprets and replies to requests, protocols, even how to do every single configuration on the systems you are using, and in my point of view that includes hardware.
pretty much that...
I get sic when I see on a resume claiming "I'm a full stack dev" and there's nothing on it saying that the guy knows at least to change a light bulb... lol
Even worse, when I see job offers asking for "Full stack Dev, with no experience" ...
that's not possible without experience ! sorry9 -
So, I've been reading all this complaints about micro services which started to be loud thanks to the mad CEO of Twitter.
Keep reading but I am curious about your opinion as well
To me all the point of micro services has never been about improving the speed, in fact it might have a negative impact on the performances of an application. I think that given the calculation power we have nowdays, it's not a big deal
However on the other side, it makes all the rest so much easier.
When there's a problem on one service, I can just debug the given service without spending hours starting a huge slow turtle
If something goes down, it doesn't make unhealthy the whole app, and if I am lucky it's not gonna be a critical service (so very few people will be pissed).
I have documentation for each of them so it's easier to find what I am looking for.
If I have to work on that particular service, I don't have to go through thousands of tangled lines of code unrelated to each other but instead work on an isolated, one-purpose service.
Releasing takes minutes, not hours, and without risk of crashing everything.
So I understand the complaint about the fact that it's making the app run slower but all the rest is just making it easier.
Before biting my ass, I am not working at Twitter, I don't know the state of their application (which seems to be extremely complicated for an app deigned to post a bit of text and a few pictures), but in a company with skilled people, and a well designed architecture.11 -
Ok so riddle me this. The service for an application were required to run to send clients insurance through (as per government regulations) was working fine all day working super fast. Rare but awesome. I get a call one hour prior to the office closing (I don't work weekdays) and I am told that all of a sudden insurance isn't sending.
My mind goes right to this fu**ing process. Sure enough it's stopped on the server. Well shit ok. I click start..... Nothing. I kill it from task manager.... Nothing. "SERVICE CAN'T START"
I'm like ok that's fine let's check event logs.... Nothing. No problem let's just run it not in a service container and see if there's an error. NOPE IT DOESNT LET ME.
Okok so that's cool let's just try reinstalling the app. NOPE CAN'T DO THAT WITHOUT RESTARTING THE WHOLE FUCKING SERVER WHICH BRINGS THE ENTIRE OFFICES MANAGEMENT SYSTEM OFFLINE BECAUSE THIS FUCKING APP NEEDS TO BE ON THE SAME GODDAMN SERVER.rant sysadmin medical why me fuck microsoft windows fuck microsoft server why windows server service2 -
If there's one thing I'd gladly kill with fire, then pass it over a steamy steamroller, then burn it a tank of hot fluoroantimonic acid, is every fucking Java library that returns null instead of throwing a meaningful exception.
Is it really that difficult for you to throw an exception anyway, then let ME figure out if I can ignore it or not?
Thanks to you, now I have to do super messy reflection things just to figure why did you return a null.
I'm not your fucking psychologist trying to pull your inner secrets. But I have to be, for the sake of stability of my app. Which already has its own mess of problems on its own.7 -
Been a mobile developer since April, liking the experience and the amount of projects that I've been a part of.
And one of the things that I've learned about this is that sometimes the client doesn't even know what he really wants. I mean for fucksakes, we implement everything, and new functionalities and there's always something that works on every other app (and is basically a standard) and he thinks is not suppose to be like that...
And another thing. Fuck Apple Store. At the company we've developed an app that practically shows information that only users should see (in our logic is sensitive information from our clients) and they DECLINED 4 FUCKING TIMES THE APP. Reason? Since the app's purpose "isn't correlated" with the basical information we show, the user can navigate through the app without going through login.
We basically added an "explore option" that shows basically nothing and they've accepted. FUCK APPLE FOR WAISTING OUR TIME AND THE CLIENTS TIME1 -
I have a web app that is currently running on a production server with no issues, but at the same time, it isn't working on my machine which I used to write, test, and deploy the app. The thing is, I haven't touched the code for a full month.
Now, I know this has to be logical and that there must be an reasonable explanation for all of this that I do not know yet.
However, and out of frustration, my mind wants to believe that there's some sorcery involved here or that a cosmic ray has actually penetrated the machine and messed its registers.
Damn the cosmic ray!3 -
Oh God, how I hate a new windows laptop.
The machine just stutter for simple things. I literally spent almost two hours to download a 2 gigs .iso file.
With my speed test as normal as it always was with my previous and slower machine.
The worst part is to install another os.
I struggled to find an option in BIOS to disable Intel's RST. Which was a no no because Ubuntu couldn't understand it's config.
There's an app that comes pre installed to manage these settings. And the sucker didn't have any option to disable. Why? Because It's deprecated!
I spent 5 hours to understand that l needed to access the machine BIOS and activate a hidden option (did you think the option was right there huh?) in order to remove Intel RST.
Oh God how I hate tech monopoly.
Now my machine can breath without shitloads of unused apps and garbage "file checkers" and "anti viruses" that comes pre installed.
And things download super fast without any struggles.9 -
Why the fuck nobody talks about Multi-page apps?! We went from a Web where everything was Multi-page server-rendered, and now everything for Web developers is "Single-page apps".
What about websites who can't do that? Not everything can be a single-page app. Only my uncle's restaurant website, or something which is TRULY a full app. No half choices.
If your website is a multi-page app/portal which actually PRELOADS data, instead of doing 100 fetch to an API within a page that is full of loading bars, well, your life is a pain.
When you want a first contentful paint which isn't a white page, well, your life is a pain.
What are React, Vue, Ember, Angular (let's exclude Svelte and Marko) going to do about Multi-page apps and SSR?
React-router sucks to me. It's performance is weak and it's useful only when you have an SPA with multiple sections which can be treated as pages (e.g. A single SPA divided in tabs).
Server-side rendering is the worst pain ever made by humanity, in React (and prob Vue, I didn't try but I can bet). And even when made easier from libs like Svelte and Marko, I (personally) can't get it to be faster enough compared to a traditional website without a JS framework and with a templating engine.
Anyways, if there's anything that I learnt from React, is to stay away from Next.js. Perfect, beautiful, mess.
All JS frameworks just seem to bloat the code and make it worse and slower, even though they're REALLY helpful.
Why? Why everyone loves them if their downsides are so clear? Why 3 projects out of 3 I made (1 React SSR, 1 Vue, 1 Marko SSR) are and will stay painfully slow and bloated, full of shit, even if in 2020 we should have evolved with the famous three shaking, with the famous lazy loading, etc.?
I am just frustrated.
And let's not even talk about Webpack, Rollup, Lasso, those module bundlers shit which are harder to configure and understand than finding a needle in a haystack.
Lasso was the easiest to configure but I anyways can't understand it. Webpack seems it was made to handle SPAs, as any tool in this freaking world, and not even considering an easy way to integrate multiple bundles for multiple pages (I know it's pretty easy, but with component sharing between pages and big unique bundles Next.js handles it soooo bad it feels like hell).
Am I the only one?
Sorry for the long rant. I just needed to rant right now.17 -
I'm way past the point of being pissed now....
So there's some software (API's, mobile app + website) that I wrote to manage supplier incentive programs in a big hurry last year - which lead to a bunch of stuff being hard-coded in to launch on time. So after last years promotion was done I took down all the services etc was very fucking clear that in order to finish & deploy it to run again I would need at least around 4 months notice.
On the surface its pretty simple but it has quite a large user base and controls the distribution of enough cash & prizes to buy a small country so the setup of the incentives/access/audit trails is not something to be taken lightly.
Then once I'm done with the setup I have to hand it over to be "independently audited" by 3 of the larger corporate behemoths who's cash it distributes (if I get a reply from one in 3-4 weeks it's pretty fast).
I only happened to find out by chance an hour ago that we are apparently launching an even larger program this year - ON FUCKING MONDAY. I literally happened to over hear this on my way for a smoke - they have been planning it since last year November and not one person thought it might be kinda important to let me know because software is "magic" and appears and works based on the fucking lunar cycle. -
There's very little good use cases for mongo, change my mind.
Prototyping maybe? Rails can prototype, create/update/destroy db schemas really quickly anyways.
If you're doing a web app, there's tons of libs that let you have a store in your app, even a fake mongo on the browser.
Are the reads fast? When I need that, use with redis.
Can it be an actual replacement for an app's db? No. Safety mechanisms that relational dbs have are pretty much must haves for a production level app.
Data type checks, null checks, foreign key checks, query checks.
All this robustness, this safety is something critical to maintain the data of an app sane.
Screw ups in the app layer affecting the data are a lot less visible and don't get noticed immediately (things like this can happen with relational dbs but are a lot less likely)
Let's not even get into mutating structures. Once you pick a structure with mongo, you're pretty much set.
Redoing a structure is manual, and you better have checks afterwards.
But at the same time, this is kind of a pro for mongo, since if there's variable data, as in some fields that are not always present, you don't need to create column for them, they just go into the data.
But you can have json columns in postgres too!
Is it easier to migrate than relational dbs? yes, but docker makes everything easy also.11 -
I want to buy a beer for everyone who developed the mobile pass app. Just breezed through immigration and customs without waiting in the 1 hour+ line. Technology wins. Cheers!1
-
Lessions I learned so far from my first big node/npm project with tons of users:
1) If you didn't build something for a while, expect 3 hours of resolving version conflicts for every two weeks since the last build.
2) Even if the tests pass, run the containers on your own machine and make sure that the app doesn't randomly crash before deploying
3) Even if the app seemed to work on your own machine, run the tests again in an environment mimicking prod at most 15 minutes before replacing the running containers.
4) Even if all else indicates that the app will work, only ever deploy if you expect to be available within the 4 hours following a deployment.
5) Don't use shrinkwrap for anything other than locking every version down completely. A partial shrinkwrap will produce bugs that are dependent on the exact hour you built the app _and_ the shrinkwrap file, and therefore no one will ever have seen them other than you.
6) Avoid gyp, and generally try not to interface too much with anything that doesn't run on node. If parts of your solution use very different toolchains, your problems will be approximately proportional to the amount of code. And you'd be surprised just how much code you're running. (otherwise it's more logarithmic because the more code the less likely a new assumption is unique)
7) Do not update webpack or its plugins or anything they might call unless you absolutely need to
8) Containers are cool but the alpine ones are pretty much useless if you have even just one gyp module.
9) There's always another cache. To save yourself a lot of pain, include the build time in every file or its name that the browser can download, and compare these to a fresh build while debugging to assert that the bug is still present in the code you're reading
+1) Although it may look like it, SQLite is far from a simple solution because the code and the bindings aren't maintained. In fact, it'll probably be more time consuming than using a proper database.3 -
I've got a kinda basic networking question I can't quite figure out
How does a push notification work?
Like, on an Android app. A good example is an authenticator. Say I don't login to the service for 4 months.
Then, one day, I try to log into the web portal and it prompts me to accept the request on my authenticator app on my phone.
Immediately, there's a push notification on my phone.
Wtf.
Is there a socket open for 4 months? Does it send requests every few seconds for 4 months? I can't imagine that either of these options scale whatsoever: both horrendously waste bandwidth and server connections.
How the fuck does it work? I don't even have the first idea.7 -
Just started a new job as a software developer, even though I basically applied as an embedded software developer. I knew from the interview there was gonna be alot of legacy / high level stuff and they were pushing me away from embedded with the promise I could do it 'later on'.
Finally started and it turns out there's a shit tonne of legacy Python code for their non-existent test framework that's basically tied directly into a Qt GUI app and I'm doing shit that nobody else wants to do. Can't see myself wanting to do this for anywhere more than 2-3 months. Should I just bail now? Seems a bit dodgy if I leave having only worked there for a week? Job actually pays really well though.
Plan was to take an extended vacation around July/August, so quitting this early and then telling another employer later on that I need to bail for summer seems wrong also, not to mention COVID sucks and is making everything hell now.12 -
How to run PHP in a container :
1. Begin a docker file for an existing php cron app (when all you know is php, everything looks like a php app)
2. Set the FROM.. Apt get update .. Do composer install
3. Builds the image
4. Discover I need git
5. Add git to apt get install step
6. Builds the image
7. Launch the php script
8. Fatal : use of undefined constant SOL_UDP
9. Opens the source code of the third party. The there's no mention of where that constant is from.
10. Spend many minutes online to find what's missing.
11. Find the PHP sockets page about that option. Digs into the documentation to find out that's missing from the installed PHP.
12. Find out I need to add a step to install the socket extension in my docker file.
13. Build the image again
14. Execute it, finally it works
15. Remember why I hate php
(for brevity I've omitted the even more complex part of having to set up zlib)
How to install node js in a container image:
FROM node:8
ADD package.json
RUN npm install7 -
Jesus christ I need my VP and CIO to get their hands out of Azure and GCP and just let me work.
Yes, governance and security and IAM are big deals. That's why you have infraops people like me to deal with that.
I'm literally working with one hand tied behind my back because just about every button press or CLI command I need to do my damn job as a professional cloud fluffer requires me to go bother an executive and ask permission to pretty please can I deploy a new container, can you go press the shiny button? No not that one, move your mouse up...up..now UP..ok over lef-no..can I have mouse control? Sigh fine, do you see where it says "Approvers", no that says "Release Pipeline"
Look I actually kinda like this job, I do, in as much as when I have something to do I get left the fuck alone to do it. Meetings are minimal, aside from the odd days when one of our app services decides to yeet itself into the river Styx, there's little distractions.
Yeah, developers do dumb shit but that's probably best left to the notion of job security and never talked about again less they go to HR and complain that the ops guy was very stern and direct and made the developer take some accountability for their work product.
AND YET
It's so intergalactically stupid that I have to go ask permission just to do ops tasks by the same people barging down my goddamn door asking why the ops task isn't done yet.
"Because you won't give me permissions in GCP to actually DO anything".
Okay. Rant over. Time for lunch. Good meeting, see you all at the holiday party.2 -
There's too many web apps out there that advertise having great accessibility, but whose only claim to that is that they work okay-ish with screenreaders.
There's more to accessibility, darnit! Not just blind people, also remember people with impaired colour perception, people who have to use increased font sizes, people with poor contrast perception (can we please not do light-gray text, links, or buttons on white background anymore?), and many more.
The amount of apps alone that just are impossible to use properly with increased font sizes due to cut-off unscrollable text or buttons pushed out of the visible part of the page is staggering. Or where you get permanently stuck inside a rich-text editor if you can only navigate by keyboard, or where whole parts of the page are impossible to properly use with background images turned off...
I'm aware this might sound unreasonable and I know it's extra effort to learn all the rules, but once these things are not an afterthought, but rather something to take care of starting even during first implementation, it starts to come naturally.
But would it be unreasonable to ask of an architect to not put the restrooms, conference rooms, managers office, where they can only be reached by stairs? I don't think it would be. Sure it makes placing them more complicated, but excluding people from being able to use the building due to circumstances beyond their control feels a bit elitist and snobby to me.
Saw an app last week where a lot of features were behind click-handlers on elements that are not supposed to be interactive like <div>, <li>, and <span> tags. How's someone who can't use the visual clues even supposed to know that the element is interactive?
And yes, there's some of these points where ensuring accessibility is not just the devs job but also the designer's responsibility (contrast rules for example), but in my experience if the devs notice "oh hey, this could be problematic" then the design people usually listen.
Honestly in the case of accessibility I believe that putting off some features for later to make time to ensure that what's there is accessible, even if it only affects 1% of visitors, belongs into the "social responsibility" category, and most clients I've worked with were open to the subject.
I do believe it's something that everyone should take time to learn.
PS: I don't mean to attack anyone, I just wish it were something that more people watch out for.5 -
Bored at the office. Company is done for. I'm spending my last days here, doing nothing, waiting for my new position to start. There's only that much you can read on devRant, and SO MUCH MORE you could do writing code. But I just can't decide what to do and as a result sit here doing nothing. Help me out please! Answer with the most points will be the thing I'll start with on Monday, while today I think I'll just crack open a cold one.
My initial variants:
1. Learn Electron by playing with Electron React+Redux basic boilerplate, in order to make a simple personal blogging app.
2. Complete some of the 20 courses that I bought on Udemy 6 months ago.
3. Write the back-end logic for my Raspberry PI controlled systems at home (to control it remotely I'll make a hosted API that RPI will access to get input for it to decide what to do).
4. Solve problem 51 on projecteuler.net with an algorithm that runs less than 20 seconds.
Other suggestions are welcome.1 -
Well, been awhile. The latter half of this is probably gonna be unpopular, but the gist of it is that all of the devs working on camera-centric apps, get your shit together, if possible. As mentioned there may not be a way for you to get your shit together, because Google and the others involved ultimately are a mess. In that case, you're dismissed. I haven't proof-read this, so don't take it exactly verbatim.
Woke up this morning to a need for this, so here goes:
----
OPEN LETTER TO SNAPCHAT
----
Snapchat,
You guys need to get your shit together. This is a tack-on to what Marques Brownlee already stated.
I woke up this morning to a seriously FUCKED UP UI. UX didn't change as much, still looks Snapchat-esque. But holy hell WHAT THE FUCK?
I'm not averse to change, despite the above. HOWEVER, there's an exception to that: You cannot change out UX/UI from under me with no warning. I need to know that within the coming weeks, there will be changes to how I interact/interface within the app. An option to opt into testing would be nice as well, but doesn't look like you guys have that figured out. With that testing should come feedback, and something like Jira, where issues can be reported and triaged. You're a company, unfortunately, so I doubt you'd be willing to even go as far as accepting feedback in the first place, which is a shame.
Seriously, as Marques pointed out, Android Snaps are shitty because the app takes a screenshot of the viewfinder and uses it as a photo. There's no doubt in my mind this is something that others do, but all Android devs need to either not pull this (because it's not clever) or just not make apps (quality over quantity).
I would like to see either Google step in and require a native API that is the same across all devices and leverages all cameras to their full potential (I want to say that Snap's issue stems from an API provided by Google. In this case, Google, get your shit together), or alternatively I'd like to see manufacturers band up to provide a uniform interface to deal with this. Because I don't see the latter happening anytime soon, Google needs to do something about this, although I feel like they probably won't. That said, IDGAF WHO it is, I just want it FIXED. -
there is no way YouTube isn't dead as a product
last night I had to switch from matrix voice chat to discord voice chat to talk to somebody (because their phone suddenly doesn't do matrix well, keeps cutting out their mic if their screen is turned off or they switch to a different app wtf). they misinterpreted something I said as talking about "shock value". I think that's a demeaning term that doesn't capture why "bad" content is good. now I'm just chilling trying not to workaholic and first recommendation on YouTube I have is about "what happened to shock value websites". oh I'm sure that's a coincidence
this has been happening increasingly and I fucking hate it. it keeps recommending videos that have absolutely nothing to do with what I'm watching or have ever watched or would even be in the interest of in the past, but I mention it somewhere and it creepily suggests the content to me, always with videos claiming to have 2-3 million views. bullshit. I tried some of these and there's no way anybody cares about this content in such numbers. it's so lukewarm and dumb. and how the hell do they have "opinion" vlogs about every topic? since when did that become the #1 type of content on YouTube? cuz it's 50% of my recommendations and I've never given a shit
I have like 500 subscriptions on YouTube. I've had an account a long time. a lot of them are old channels that stopped being active as YouTube evolved, which I think was a shame. a lot of them had to do with ad revenue or YouTube algorithm just not suggesting their content to new people. they were wholesome, honest channels with really good content I think -- really good game analysis, compilations of unique or weird viral content and the guy was just a funny dude in his basement, etc. but fair I guess. shame, but fair
Then there was the quiet era, where your front page just didn't suggest the good channels and just the stupid channels. it didn't suggest your subscriptions but in your interest area or something. what's the point of subscriptions if you're not showing me them? this is also about the time if I left a comment on a video I ceased receiving replies so I assume I was shadow banned. I have not received a single reply in years now, even on small channels. some content creators noticed if they post on their own channels and accidentally logged out and looked for their comment their own comments don't show up. just weird annoying nonsense that's inappropriate for them to be doing. bruh, please
and then the next wave came, it wasn't just YouTube won't recommend your channel, in the COVID era what came was if you mentioned something then channels with previously millions of views, still currently millions of subscribers, suddenly went down to 5k-50k views per video. bitch please, you expect anyone to believe this nonsense?
then they fucked up the search. I KNOW videos exist and I can't find them. I type in half the video's title, you can't find it. thankfully if you type in every single word exactly you can still find them. bruh that's too much. also just search plain doesn't work. if I'm looking for a specific topic I get 5-10 max videos on that topic and the rest are irrelevant recommendations. this is entirely ridiculous. there's videos I KNOW exist on YouTube and nobody gave a shit about them, like 5 view Benny benassi music clips with a scene from a video game. I can't even meme anymore
this morning a friend on discord sent me a... weird clip, of like an anime skit. problem? well discord embeds YouTube videos. I pressed play. I get... an ad. lol what. I browse away and back to the video. try again. ad. yeah I'm not playing this. I have to refresh the page 20-30 times sometimes just until the ads stop fucking up every time my adblocker ceases working (and then I have to go update it again lol -- by going to the developer page for the ad block because it was banned from the app store so you can't auto update it and have to manually update it every time)
my friend links me a discord plugin to... remove ads... from YouTube embeds... bruh
I used to mod discord but it's annoying, because every time discord updates you have to go re-apply the hack to be able to mod your discord
I think we should just plain move away from YouTube. during COVID era a lot of people got banned in subreddits on reddit. I noticed when you get banned, the subreddit still has you listed as a subscriber. the r/Canada subreddit for example has 3 million subscribers but the activity of a subreddit that's maybe 1k people. increasingly subreddits just became ghost towns after that like that. reddit is a dead website, with fake numbers. I think YouTube is now a dead website, with fake numbers. no fucking way stupid lukewarm opinion videos with absolutely nothing to add are getting 2-3 million views and people are just clamouring for these takes they didn't ask for
also stop listening in on my private conversations. fucking disgusting. idc if an AI is transcribing. ew.11 -
Serverless and death of Programming?!
_TL;DR_
I hate serverless at work, love it at home, what's your advice?
- Is this the way things be from now on, suck it up.
- This will mature soon and Code will be king again.
- Look for legacy code work on big Java monolith or something.
- Do front-end which is not yet ruined.
- Start my own stuff.
_Long Rant_
Once one mechanic told me "I become mechanic to escape electrical engineering, but with modern cars...". I'm having similar feelings about programming now.
_Serverless Won_
All of the sudden everyone is doing Serverless, so I looked into it too, accidentally joined the company that does enterprise scale Serverless mostly.
First of all, I like serverless (AWS Lambda in specific) and what it enables - it makes 100% sense and 100% business sense for 80% of time.
So all is great? Not so much... I love it as independent developer, as it enables me to quickly launch products I would have been hesitant due to effort required before. However I hate it in my work - to be continued bellow...
_I'm fake engineer_
I love programming! I love writing code. I'm not really an engineer in the sense that I don't like hustle with tools and spending days fixing obscure environment issues, I rather strive for clean environment where there's nothing between me and code. Of course world is not perfect and I had to tolerate some amounts of hustle like Java and it's application servers, JVM issues, tools, environments... JS tools (although pain is not even close to Java), then it was Docker-ization abuse everywhere, but along the way it was more or less programming at the center. Code was the king, devOps and business skills become very important to developers but still second to code. Distinction here is not that I can't or don't do engineering, its that it requires effort, while coding is just natural thing that I can do with zero motivation.
_Programming is Dead?!_
Why I hate Serverless at work? Because it's a mess - I had a glimpse of this mess with microservices, but this is way worse...
On business/social level:
- First of all developers will be operations now and it's uphill battle to push for separation on business level and also infrastructure specifics are harder to isolate. I liked previous dev-devops collaboration before - everyone doing the thing that are better at.
- Devs now have to be good at code, devOps and business in many organisations.
- Shift of power balance - Code is no longer the king among developers and I'm seeing it now. Code quality drops, junior devs have too hard of the time to learn proper coding practices while AWS/Terraform/... is the main productivity factors. E.g. same code guru on code reviews in old days - respectable performer and source of Truth, now - rambling looser who couldn't get his lambda configured properly.
On not enjoying work:
- Lets start with fact - Code, Terraform, AWS, Business mess - you have to deal with all of it and with close to equal % amount of time now, I want to code mostly, at least 50% of time.
- Everything is in the air ("cloud computing" after all) - gone are the days of starting application and seeing results. Everything holds on assumptions that will only be tested in actual environment. Zero feedback loop - I assume I get this request/SQS message/..., I assume I have configured all the things correctly in sea of Terraform configs and modules from other repos - SQS queues, environment variables... I assume I taken in consideration tens of different terraform configurations of other lambdas/things that might be affected...
It's a such a pleasure now, after the work to open my code editor and work on my personal React.js app...2 -
I'm just fed up with the industry. There are so much stupidity and so much arrogance.
My professional experience comes mainly from the frontend and I feel like it's not as bad on the backend but I'm still convinced it's not really different:
I'm now about to start my 3rd job. It's always the same. The frontend codebase is complete shit. It's not because some juniors messed up not at all. It's always some highly paid self-proclaimed full-stack developer that didn't really care somehow hacked together most of the codebase.
That person got a rediculous salary considering the actual skill and effort that went into the code, at some point things became difficult, issues started to occur and that person left. If I search for that person I find next to the worst code via gitlens on Linkedin it's somebody that has changed companies at least two times after leaving and works now for a lot of money as tech-lead at some company.
There's never any tests. At the same time the company takes pride in having decent test coverage on the backend. In the end this only results in pushing a lot of business logic to the frontend because it would just take way to long to implement it on the backend.
Most of the time I'm getting told on my first day that the code quality is really high or some bullshit.
It's always a redux app written by people, that just connect everything to the store and never tried to reflect about their use of redux.
Usually it's people, that never even considered or tried not using redux, even if it's just to learn and experiment.
At the same time you could have the most awesome projects on github but people look at your CV, sum up the years and if you invested a lot of time, worked way harder to be better than other developers with the same amount of experience, it's totally irrelevant.
At the same time all companies are just the worst crybabies about not being able to find enough developers.
HR and recruiters are generally happy to invite somebody for an interview, even if that person does not have any code available to the public, as long as that person somehow was in some way employed in the industry for a couple of years. At the same time they wouldn't even notice if you're core contributor for some major open-source product if you do not have the necessary number of years in the industry.
I'm just fed up.
By the way, I got my first real job about two years ago. Now I'm about to start my third position because my last job died because of the corona crisis. I didn't complain for some time because I didn't want to look like I'm just complaining about my own situation. With every new job I made more money, now I'm starting for the first time at a position that is labeled "lead" in the contract.
So I did okay. But I know that lots of talented people that worked hard gave up at some point and even those that made it had to deal with way too much rejection.
At the same time there are so many "senior" people in the industry, that don't care, don't even try to get better, that get a lot of money for nothing.
It's ridiculously hard to get a food in the door if you don't have any experience.
But that's not because juniors are actually useless. It's because the code written by many seniors is so low quality, that you need multiple years of experience just to deal with all the traps.
Furthermore those seniors are so busy trying to put out the fires they are responsible for to actually put time into mentoring juniors.
It's just so fucked up.3 -
Today I realized that compilers are children, and must be treated as such. Generally, you might tend to expect a language to follow the same rules consistently, but oh how wrong you are, my sweet summer child.
I have a framework that I've been reusing across several personal Unity3d projects for a while, and all was well. This week, I was tasked with creating a PoC that combines a web app with Unity WebGL for data visualization. My framework has a ton of useful stuff helped me create the PoC very quickly, and all was well.
Come 3 days ago and there's one last piece that isn't working for some reason. It almost appears that this one bit of code isn't executing at all. Today, after countless hours of swearing at the computer and banging my head against the wall, I realized that the WebGL compiler has a different implementation for the method that checks assignability of types. An implementation that has different rules than everything else. An implementation that has no documentation about this discrepancy anywhere. I have no words.
tl;dr: The language changed the rules on me. Fuck me right?1 -
git add --all && git commit -m "Alright, here's a story for you. I set out to create a navigation mechanism on here, so we could have back buttons and tabs. I also wanted the ability to customise the UI elements. In order to do that, I combined two dependencies. Each one of them provides us with some of the functionalities we need and there's quite a bit of overlap between them. Moreover, each dependency creates the UI elements differently. So customising the UI is becoming a nightmare already, since it's getting harder to tell which one of them is affecting a UI element's appearance. In spite of all that, we have an app that navigates and has tabs."4
-
Chat Journal. A chat-based journal application.
An android app I built past month using flutter and flask for the server.
I started with flutter around 2 months ago. I believe it's the way mobile development is supposed to be. It's a treat for every mobile developer out there.
I used flask to build the server, database and even made my own analytics engine. Made an awaful lot of mistakes at the beginning but I think I'm improving at this day by day.
This probably is my biggest and definitely the coolest project so far. There's some saying
"If you have completed building 90% of something, there's 90% more to be built". It's called the 180% rule (or something similar) which literally signifies the difference between building something and building something well enough to be able to publish on the playstore. And this project taught me that.2 -
Ticket: here's something wrong with the export of transactions, please check.
Very useful description, let me just go over this logic I've written months ago.
Yeah, I went extra sure that everything's right, besides the ones for created during the initial testing that we left. Took me a hell a long time to prove because there's such a vague description but ok.
Of course I have the time to make an eyecandy of an excel spreadsheet for you.
Only for you I'll also go and fix these entries manually. If you want me to do it so badly, I'll gladly do it.
Oh what, you're upset that I wasted 5h for this complete bullshit? Well fucking go and learn the database structure yourself then or get sued idk
Hope it was worth that 1€ difference the customer paid himself.
Not to mention that I also had to do an emergency setup to work from home because those people who are responsible for giving me an appointment for a covid test sure like to wait days after my sick leave is over. ffs, I just had a cold...
Also fuck all this bullshit mac software required to work in this network, half of this shit flat out requires you to use the same software and ofc it's all closed source to the point where I'd be glad to have an electron app for everything. -
I feel bad for Monkey X, I've never used it, but it sounds like a good language. You've probably never used it - it's a cross platform language that compiles natively to iOS, Android, Windows, Mac, and more. It also can be exported into an HTML5 game. There's only been one successful app made with it. I feel so bad for it...1
-
Mount an azure file share in an app service container? Sounds handy. Nice clicky-draggy wizard to set it up, pick your file share, type a path to mount it to, hit save.
And does it work?
Does it buggery.
And is there a helpful error message so you can see what you've done wrong?
In a pig's arse is there a helpful fucking error message.
"Application error", and a link to some "diagnostic resources" that displays the exact same error message, including the same link, so a link to itself, in an infinite recursive loop of rank, inhuman stupidity.
Let me see what's in the logs. Absolutely fuck all. No, wait! There's the html markup for the fucking useless error message I'm looking at in the browser. So the UI is telling me to fuck off, and the logs are recording that I have been told to fuck off.
But this is Azure. So there isn't just one place to look at the logs, there are many places to look at the logs. And they are all geologically slow and most of them don't work.
It's probably a firewall issue. I'll have a look later on if I can be arsed, but frankly I'd rather be performing cunnilingus on a lion.1 -
Not 100% hackathon, but I was once in one of those weekend coding challenges - aka: have idea, implement MVP, present to a Juri and get a chance to win a prize.
So, to start things off, you had a few months to prepare the idea, gather a team (minimum of 2, maximum of 5 per team) and register.
I gathered a few friends from university, that was cool. We were 5, I had the idea already, they agreed. I started talking business with some partners/governmental stuff (no time to explain all, ask in comments if you want to know).
2 weeks pass by after registering, still 1+ month before the event, 2 of the team members let me know they want to focus on university, so they cannot spend a weekend on this competition. Well, ok, still 3 people, no worries.
Fast forward, 1 week before the competition, another one says he won't be in town, we're 2. Still enough, we meet the requirements, it's just for the fun anyways.
Day 1 of the competition, I'm there waiting for my other teammate. Call him countless times, doesn't pick up. Later tells me he's sick.
I tell the organization about it. They asked: You can continue, but it's fine if you give up now.
> Yo, dafuck you mean give up? I'll die before I give up. It's for the fun anyways, worst case scenario I spend a nice weekend doing what I like *shrug*
So there I am, all alone, doing a first MVP of the mobile app in Android (without any prior android experience, and don't ask me why I chose to do mobile app for that project, was stupid back then).
Lots of nice things there, overall a good weekend, networking, food, gadgets and stuff like that.
Juri day, put on pretty clothes to present my super idea alongside my super MVP of the ugliest mobile app I've seen.
Judge 1: likes the idea, ugly app.
Judge 2: likes the idea, ugly app, could improve and work on the concept, etc
Judge 3: Lots of business questions, to which I came prepared with already potential clients and partners, liked that part although seemed a little confident of it working or not.
Judge 4: "Yo, that's the most stupid thing I've heard, not even gonna ask questions, that's just stupid"
Judge 5: A teacher in my university, the one to actually tell me about this competition, kind of like that meme from "How to train your dragon" where he does the thumbs up thing. Obviously the app sucks, but understandable, no one in the competition has much experience, bla bla bla
---
Final decision: No prize, fuck the idea, got a participation amazon voucher of like, $10 usd. *shurg*
--
Fast forward a few months, my aunt who shared the idea with me and who i was working with before the competition, sends me a link for an article on FB messenger.
The company where that MF judge worked at build a system exactly like the one I presented, claiming it was a very innovative idea. Never heard of them again, it was a consultation company (Deloitte), so I assume they didn't sell it well and dropped it also.
Moral of the story: I guess there's no moral, just have fun.2 -
Amazing supermarket for customers, but the worst company to consultants:
- You have to badge in-out using wall-mounted computers running a MAINFRAME app using number and F keys to enter your times.
- They have an internal mailing system that they dubbed 'Notes' because making 'Mails' available to all superiors would be breaking privacy law.
- They won't let you work 1 day from home when there's a national public transport strike and you have no way of reaching the office.3 -
So I needed a break from all the straight computer logic for days... so i figured i had 2 options, argue with chatGPT or go back to a dating app.
I chose the latter.
Im ocd with notifs... i NEED the bubble to be gone.
Found this gem...
"Hey beautiful Sara ;) my names is James king it very nice 2 meet u wow u look like a angel that fall from heaven 😘u mind me of a rose because how beautiful you are am how beautiful the rose is am I the best guy on badoo that u would ever talk with on badoo I actually look for Friendship and relationship ;) how are u today am wyd"
So... because im curious, esp when it comes to perplexing linguistics... im def gonna ask if English is his 1st language.
Normally i can tell within a sentence or 2... even tend to know their native tongue by then... this one has me stumped.
Anyone wanna guess if hes a native English speaker???
Maybe ill make a modest prize poolif there's a few entrants.
(he has plenty of pics so ill be able to legally find out in a few min... but ill wait til i dont get a response for a week)
Ill probably make a script to strip out the auto-messages... replying with an auto ofc... and the mundane crap that shows they definitely didnt go beyond the pics.15 -
There's nothing quite like an app force closing for no apparent reason, and no error log info.
Just spent an hour figuring out that one of the device I test on doesn't like linking GLSL shader programs if it contains a loop even know every other devices I've tested on are totally fine with it. 😑 -
This is probably the worst place to start my Rant saga but this is recent (this is one of the last few episodes of a 3 series cluster fuck of a job so you're missing out on all the straws that go into breaking the camels back and making him unaccommodating)
TL;DR I do good work, management dont like me and go out their way to try and fuck up my days
So, lets start, I'm a contractor, got funeral Tuesday, book leave, book WFH for day after.
I leave in 3 weeks, woman who is the CIO's right hand bitch takes me into a room the next day or so in the morning to discuss my WFH day. Leave on tuesday is cool but this WFH day...there's only so long until I'm gone so they want me to stay in for more face-to-face time blah blah blah (considering this woman isn't even part of the project I'm working on anymore because she decided to deflect it onto a underqualified junior with no PM experience)
So I sit there, thinking of all the blood and sweat that I have shed, the mountains I've moved just to be told to move the mountain somewhere else and whether coming in would kill me (in other words im fucking burnt out!!! I have built their GDPR database and app backend single-handedly with no requirements, project managers who can't plan and being chastised for asking for documentation/plan/anything written down and having the CIO who is also the fucking DPO ignore any emails/slack I send him relating to the project and having to keep up with a team of devs....).
So because there was a momentary silence, she decided to fill the gap
"Oh, you've done some good work so far and I wouldn't want you to ruin it all in these last 3 weeks. So just come in on the Wednesday so that we can have you here."
Hmm....yeah...i didn't notice what she had ACTUALLY said there, still thinking about can i be fucked? So she decides to add
"...there's only 3 weeks left, wouldn't want you to burn any bridges. Remember, we still have to give you a reference"
....Okay....shots fired. So i respond
"You saying, if I take a WFH day, you'll give me a bad reference?"
"Noooo no no no, not saying that, just that you've done good work and we wouldn't want you to ruin it"
"With one wfh day?"
"We just want you to come in because the developers might be coming here that week"
"Oh... I hear that...what day?"
"I dunno, it's not been booked yet"
".............................I'll think about it"
"There's nothing to consider"
*Start leaving room* "I'll think about it...."
So cool, obviously, had a think, decide to shoot over an email (or more accurately, a collection of bullets). Which basically said, in devRant translation, "Fuck y'all, I'm WFH on that day, I wish a motherfucker would fuck up my reference, we can go that way if you want it. *snaps fingers* I. WISH. YOU. WOULD! "
Woman says "I wasn't threatening you, was just saying...dont ruin your last 3 weeks, wouldn't want you to burn any bridges and that we still have to give you a reference"
What kind of Godfather comment is that?
Come in today, the CIO, who is a prick who don't like me for whatever reason, sends me long email trying to disrespect me and in the midst says "I’m sorry that you have chosen to react like this, I’m sure that [my bitch] was conveying a position that your last three weeks of contract are crucial for a smooth handover. I have made the decision to not require you to work from home on Wednesday. I understand you are on leave on Tuesday and therefore this is now extended to include Wednesday. I look forward to seeing you back in the office on Thursday. I hope this will make the situation better for all parties."
.................................thought you lot needed me in the office to ensure a smooth handover................logic..........people.............where the fuck do you get yours from!?!?!?!? All this just so they can say "We made the decision at the end :cool:" -
Not sure what I should put this under but I just had an app idea. I've tried journaling but can never keep going for more than a few days but if I have like a conversation with someone one like "how was your day?" or I start an internal dialogue, I can go on for a while and just feels natural.
So I'm thinking what would be good is if I had a virtual chat buddy/psych like a continuous QA but but also smarter then cyberduck and can save the whole chat. So it basically is/can become a journal or even a blog post.
Wondering if there's something like that already or some chatbot could help?
Think I heard something before that Facebook may have one but I think it's a huge ML program that needs to be trained on a lot of data.
Any your thoughts on this idea?4 -
#Suphle Rant 9: a tsunami on authenticators
I was approaching the finish line, slowly but surely. I had a rare ecstatic day after finding a long forgotten netlify app where I'd linked docs deployment to the repository. I didn't realise it was weighing down on me, the thought of how to do that. I just corrected some deprecated settings and saw the 93% finished work online. Everything suddenly made me happier that day
With half an appendix chapter to go, I decided to review an important class I stole from my old company for clues when I need to illustrate something involved using a semblance of a real world example (in the appendix, not abstract foo-bar passable for the docs)
It turns out, I hadn't implemented a functionality for restricting access to resources to only verified accounts. It just hasn't been required in the scheme of things. No matter, should be a piece of cake. I create a new middleware and it's done before I get to 50 lines. Then I try to update the documentation but to my surprise, user verification status turns out to be a subset of authentication locking. Instead of duplicating bindings for both authentication and verification, dev might as well use one middleware that checks for both and throws exceptions where appropriate.
BUT!
These aspects of the framework aren't middleware, at all. Call it poor design but I didn't envisage a situation where the indicators (authentication, path based authorisation and a 3rd one I don't recall), would perform behaviour deviating from the default. They were directly connected to their handlers and executed after within the final middleware. So there's no way to replace that default authentication scheme with one that additionally checks for verification status.
Whew
You aren't going to believe this. It may seem like I'm not serious and will never finish. I shut my system down for that day, even unsure how those indicators now have to refactored to work as middleware, their binding and detachment, considering route collections are composed down a trie
I'm mysteriously stronger the following day, draw up designs, draft a bunch of notes, roll my sleeves, and the tsunami began. Was surprisingly able to get most of previous middleware tests passing again before bed, with the exception of reshuffled classes. So I guess we can be optimistic that those other indicators won't cause more suffering or take us additional days off course2 -
Just tried Xiaomi Mi Band vibration alarm. It literally only gives 15 short bursts over the 10 seconds and then it stops. There's almost no configuring available in their app except for snooze option which only has default value of 10 minutes, so it means you're stuck with just choosing an alarm time.
Do they actually expect people to wake up by that?4 -
If your SPA doesn't work with the browsers navigation buttons . . . go fuck yourself and fix your application.
At work I have to deal with an application that manages work tickets. There's a login page, an overview console and a page for each individual ticket (and a whole bunch of other pages that I'll ignore for this rant.) If I click on a ticket to view it I go to a new page, right?
What happens if I want to go back to the overview? I hit back on my browser. That should take me back!
WRONG
Nope. Because it's a single page application with no fucking routing programmed, the browser still thinks that the login page is the last page so it takes me there instead.
Like come on, good UX/UI design takes advantage of what the user expects and what the user is used to. The user expects the back button to take him back one page, and therefore it is the responsibility of a SPA developer to mimic that capability in his app. I don't know what framework this web page uses (it has none of the recognizable hallmarks of React or Angular) but for gods sake, implement a freaking router.4 -
(imagine all of this said in Undoomed's "hey moron" tone)
Hey, moron, fuckin moron! How about if you're a noob with no actual programmer on your side, you just tell me so we can work it out together, instead of sending a moronic 4page "acceptance criteria" that pretend you know what you're talking about, and then bury me under loads of moronic noob questions that reveal you as thenmoron you are, all of that for a fuckin 50 quid?! I thought it's me being an idiot, not being able to do the task within two days timeframe, but now I see you're just too much of a moron to have any idea how much these things take. And now you nonchalantly mention a one-line one point from the four page document full of drivel, which (loads of moronism credit for me here) i didn't notice amongst all of that other mundane drivel, which actually like doubles the whole workload on the task, but your moronic document, which makes 3 parts of the same algorithm into three separate MILESTONES, makes this whole thing that nearly DOUBLES the workload into a shitty SEVENTH SUBPOINT of the completely unrelated first "milestone"?
FUCK YOU, YOU STUPID ROBBERY CHEAPFUCK, and fuck me for letting myself be tricked by all your fancy wordings that pretend you actually know what the fuck you are asking for, so i assumed you did, so I missed THE POINT, WHICH ACCORDING TO THE SEGMENTATION LOGIC OF THE WHOLE REST OF THE DOCUMENT SHOULD BE 3 SEPARATE FULL-SIZED MILESTONES, NOT A SINGLE SUBPOINT, YOU FUCKING FUCK!
... so much for still trying to at least a bit trust people.
FUCKING DISGUSTING MORONIC CHEAPSKATE FUCK.
and I can't even tell him to fuck off through the rectum he came here because he's all nice and polite so I would be the asshole!
"hey, please, can you build me a house?"
*house is basically finished*
"oh, great job, i love it, but i think you might have missed the fineprint in our contract that says that the house is supposed to stand inside an entry hall of a multibillionaire-sized mansion, so could we please sort that out and add it to the building real quick before i pay you the toolshed's worth we agreed on based on the contract? "
FUCK. HIM.
FUCK
FUCKFUCKFUCKSHITFUCKERYFUCKDISGUSTINGIDIOTICFUCKINGFUUUUUUUUCK!!!!!!
i thought i can be a shitty liar and a con man, but this is some next level shit that would be totally beyond my abilities to pull off...
YES I KNOW IT'S MY FAULT I DIDN'T COMB THROUGH THAT BULLSIT "SPECS" OF HIS LETTER BY LETTER TO MAKE SURE THERE'S NO CON BULLSHIT LIKE THIS HIDDEN AMONGST ALL OF THAT MUNDANE SELF-EVIDENT PSEUDO-TECHNICAL DRIVEL, SHUT THE FUCK UP.
fucking disgusting moron, pretending all nice and innocent probably even to himself because he HAS NO FUCKING IDEA WHAT HE EVEN ASKS FOR.
i bet it's one of those pukefucks who get an overpriced contract for 50k without even knowing or caring what programming is, because "i'll just outsource the core functionality of the app for 50 quid to some naiive idiot who lives in the illusion that people are not diarrhorea-worthy pieces of feces, and this other third of the app to some other moron for hundred quid and then i somehow outsource gluing it together to some third poor sod, and that's 49.8k quid of pure profit for me, yay"
and now i'm torn between three options, just cancelling the "contract" with a comment saying "fuck off, you con man", or cancelling it with a lengthy explanation why he's a know-nothing piece of shit who conned me already into having done something worth about 5x more than his shitty "acceptance criteria" requests, or just start conning and bulshitting him back, which won't net me any money, and waste my time, but at least will also waste HIS time, which might be nice because he seems to be on a tight schedule so if i play this right i might have the chance to sink his whole contract which might be mighty nice satisfying...
FUCK THIS, ALL OF THIS, FUCK HIM, FUCK ME, FUCK ALL OF YOU, I SHOULD HAVE STARTED FUCKING OVER EVERYONE RUTHLESSLY A LONG TIME AGO BECAUSE FUCK THE WHOLE WORLD, WHY SHOULD I CARE WHEN NOBODY ELSE DOES, WHY SHOULD I BE DECENT WHEN NOBODY ELSE IS, AND IT ONLY ROYALLY BITES ME IN THE ASS.
stupid fucking lobotomized fuck, IF YOU DON'T KNOW HOW TO DO SOMETHING, DON'T OFFER YOURSELF TO DO IT FOR MONEY AND THEN CON-SOURCE IT TO OTHERS YOU SHITTY BARFPILE!
FUCK. -
Don't you just hate it when there seems to be nothing but in some ways lacking solutions to a definite task in your capability arsenal? Or rather, I don't really know how I should feel about it... I've been developing this solution to receive a 3DES encrypted Azure Service Bus message, decrypting it and chewing the output XML down so as to be digestible to the PHP application whose API the message gets delegated to... but there just seems to be no perfect solution: subscribing to the event topic straight from the target app just... doesn't seem to work properly, a Python implementation.... well, let's just leave it at that... a Node.js implementation would require TS and completely rewriting a proprietary library with 100+ complex types - also, there's some hiccups with both the subscription and the decryption...
I started with an F# implementation (after deeming the PHP one flawed), and it seems it's still the best. But goddamn it I had problems with it on the dotnet core side of thing (decryption output incorrect), so I had to switch to dotnet framework... Now finally everything crucial is peachy, but I can't seem to be able to implement a working serialized domain model pipeline to validate the decrypted message and convert it to something easier to digest for the target application (so that I could use the existing API endpoint instead of writing a new one / heavily modifying the existing implementation and fear breaking something in the process...). I probably could do it in C#, I don't know, but for the love of Linus I'm not going to do it if I can avoid it, when implementing the same functionality I have now without the Dto and Domain type modules would take 3x LoC than the current F# implementation incl. the currently unused modules!
And then there's the problem of deployment... I have no idea what's the best way to deploy a dotnet framework module to an app completely based on MAMP running on a mostly 10yo AWS cloud solution. If I implemented a PHP or Node.js solution, it'd be a piece of cake, but... Phew, I don't know. This is both frustrating, overwhelming and exciting at the same time.7 -
I had an idea for an open source project, but wanted to get some feedback before I committed a lot of time and energy to it. Seeing as how devRant is the only social media type app I use, I thought this would be a good place to ask.
The project would be an open source keyboard for iOS that would make it easier for devs to write code on their mobile devices. There's already a few "developer" keyboards, but they're either paid apps, or haven't been updated in a while.
Creating a custom keyboard isn't very complex, so it could be a good place for newer devs to actually contribute code and get comfortable with open source in general.
So my question is, do people use third party keyboards? Is this something people would be interested in contributing to? Should I go back to the drawing board?3 -
Quick question to you guys and gals,
I really want to become an iOS app developer. I know it would be long and painful way to learn Objective-C (some say it looks like alien language compared to C). Swift is rather new, much easier to learn, but I know Objective-C is a must to be considered as true iOS dev.
The question is: is there such a need of iOS developers (I mean UK/Canada/US/Germany)?. I live in Poland and there's not much to do in iOS development (few job offers, everybody is hyped by JS and frameworks changing every year, some offers are often underpayed remote work for foreign clients). I am now 20 years old, still learning at Uni and not having any responsibilities, so I may go someday to UK for a year or two, since the market for iOS devs is more diversed and bigger than in Poland. I know I am complaining (most Poles do that), but I've learned English since I was 4 and it's a pity not to use it as a resource to get a better job offer than in my mother country.
Thanks for all the responses, especially from people working as iOS devs3 -
One of the reasons why I wanted to become a software developer is because I see so many products or services taking the easy way out, at the cost of killing customer expectations. For example, I was told about JobTrack.io, which is supposed to help manage job searching by keeping track of applications and their statuses. But almost as quickly as I was told, my mind goes into automatic promise defense mode. And rightfully so, because the service turned out to be almost as monotaneous as the job search itself! Not as seamless as I'd need it to be to get started right away.
Now, maybe there's a slight chance I don't know wtf I'm talking about here. But, what's stopping this product from using an email client that runs server side, to interface with the user's main inbox, to run sentiment analysis on emails for detecting job application submissions? Such functionality would obviously need permission from the end user, so there are no surprises that some 3rd party app is sorta kinda monitoring your emails. And of course measures should be taken to avoid detecting anything beyond the contextual lines of: "Thank you for applying to so and so", or "We've recieved your application! Next steps".
Present those detections to the user to confirm. And do the same thing for rejections and offers. Shouldn't be that hard especially when most sites these days allow you to sign in with Google, and that Google marks these particular emails as "Important"; which further filters the detection process, and partially does JobTrack's job for them.
Honestly, I think the app has promise, and hope this is just a case of starting off small. -
!rant !dev
So, following up my last rant.
https://devrant.com/rants/2433162
I quit on Friday, this is what I said to my bosses.
"In the last week I had, 2 panic attacks, and I have 2 theories for this, one is that I have underlying psychological problems, the other theory is that we are under an impossible task, I choose to say now that I have to quit because I have psychological issues, but if you are willing to hear my other theory, that involves saying that meeting the deadline is not viable, then I can tell you that, so do want to listen that part?.
Bosses: No, we heard enough, we are going to have your contract terminated in order, and we will let you know when you can come and pick your paycheck."
So, that's them. Now about me and how I re-discovered GTD, or more precisely how I organized my whole weekend using taskwarrior with GTD, and why I think is going to be useful as a freelancer.
Before I feel good about telling you about my weekend I have to tell you a few things about myself.
I am a very impulsive person, I have a lot of energy in short surges, so I have to be able to maximize my activity when I'm in a surge, and I have to maximize my rest when I am not.
That's hard to do, it requires a balanced lifestyle, I am also very prone to being neurotic, and overwhelmed by the amount of stuff that I want to do.
And on top of that, when I am resting, I have surges of things that I want to have, do, or implement, it could be software related, as "Doing an app that will be the Uber of home services", to house improvements like, "I have to fix that leaking roof", and all the sort of stuff that happens in between hardware and software. That surge of consciousness doesn't allow me to have the proper rest that I need before I engage with activities again.
Because of this I have a very cyclic rhythm, with whole weeks burning my energy into doing stuff, and weeks resting doing very little and thinking too much.
Now about my weekend. Friday night I was browsing the web, and a thought came to my head. "The way you use your terminal, says a lot about your personality", and I got curious, so I searched for, "Show me your terminal", and found a post in dev.to to see all kind of nice terminal setups, from the very minimalist to very feature rich oh-my-zsh themes with plugins for git, aws and what not. One of these pictures really got my attention, a guy had set up his terminal to show him, how many task has he done in the day, and how many cups of coffee has he had.
So by investigating how he set up his terminal to show in the prompt the number of successfully completed tasks in the day, I found out that he was using taskwarrior, he was also kind enough to share the source code of his prompt setup, which I bookmarked to later incorporate that into my oh-my-zsh config.
After reading about taskwarrior, I also got a reference to GTD, I don't remember if this was one of those thoughts that I have and follow immediately, or if I read something that led me to a YouTube video summarizing GTD.
In the end, after watching that GTD video, I decided to give it a try to organize my life, and help me find a remote job, keep my house in order, plan my social activities as "hang out with friends", "visit mom and dad", and give the proper amount of attention to my GF, with whom I am deeply in love, and willing to spend the remaining of my years with her.
So my fist task was.
task add Ask for GF's parents blessing.
Which of course I have no intention of doing right now, but is one of the things that I will eventually have to do.
Then it started, I started adding tasks, and things to do, and go through the whole Capture phase of GTD.
Now it is a good time to write a small summary of what I think GTD is.
GTD is a life habit of organizing your life in todo-lists. And it was a very specific core method, that in the video summary that I watched was called CPR.
Capture, Process and Review.
Capture:
When you capture you just add your tasks to a bucket list.
So I took a notebook and started writing down everything that I wanted to have done. I also started to capture ideas as they came up to me, I did this by writing a telegram saved message in my phone, or directly adding it as a task in TW.
Process:
I read my telegram messages and put them into my task warrior list, then I started to organize my tasks into projects, breaking down every task that was not an atomic unit.
* And different projects started to emerge from this. One of them was project:Housekeeping.
And here's my screenshot of what I did this weekend, also the number of projects that I have, and all the things that I have to do in order to have what I think would be a very balanced, fun, and productive life.
You'll be able to see in the screenshot, that there's a blocked task, yes, tw allows you to organize dependencies too, so one task is delegated, and blocked by the delegation task.1 -
Since my internship, I've been working for a startup, but my contract's job description is so ambiguous that it doesn't mention what programming language I'll be responsible for (I'm not sure whether other normal large company do), so there's nothing wrong with assuming the company wants me to wash toilets someday. Also, I don't enjoy not having seniors in my field advise me on the best/professional way to do things, so I've been self-taught online and am free to do my work my way (which is probably me coding some very bad/unreadable code that I'm not even aware of).
Until then, my primary job had been to develop Flutter app. Recently, the company has been doing some development, and I was forced to do Swift programming, which I had never done before, and I needed to migrate the coding of an iOS app that my senior had programmed into a MacOS app, but my senior's programming is extremely difficult to read, with no comments, and I was disgusted!
By the way, isn't it true that Swift programmers are usually better paid? So wouldn't I be taken advantage of by the company because I didn't even get a raise for switching to Swift programming?
First time I am posting my rant here, thanks for watching!4 -
Okay, so I need a Twitter client library for my Python app. Surely there's a decent one out there, right?
> Goes to Twitter's developer site
There are links to nine different Github repos.
> Takes a look at the one with the most stars
Every method of the API class is @property decorated and returns the result of a function that creates an entirely new class, and then returns a new function that creates an instance of the new class and calls one of its methods that happens to actually make the damn API call.
Alright then...
> Takes a look at the one with the second most stars
All method names are PascalCased.
Please help😭 -
So my current company held a dev showcase last week. It was an event to show the different projects/tech stacks that different teams are working on/with. There's about 12-14 teams in our company. My team lead and I were brainstorming ideas on what to show on our booth. And I told him, I have an Intel RealSense developer kit that we can use. Anyway, fast forward to the day before the event, I was still developing our app/game for the booth. Just an emotion detector and you have to trick the app with your facial expressions. (Weird and fun, I know). The head honcho walked past the team lead and I and looked over the demo that I was playing around and he said that: "That's not work. You're wasting time again."
We were both irritated by his comments because he's one of the top dogs in the company and he surely knows about the event. Also, it's our way of showing to him that we're flexible in doing fun stuff instead of just enterprise and internal systems!
What a fucking kill joy! -
Guys, I just need to know if I'm the one who's crazy.
I work at a fairly large bank. This bank has an Online Banking platform. Now, for reasons that deserve a rant of their own, I work on a self service account opening platform (in branch).
Now, my team is being tasked with adding features that will force customers to enroll in Online Banking and 2FA when opening accounts if they have not already done so.
The reason? There's low usage of the Online Banking solution.
My problem? I think this is a pointless waste of time.
Hear me out: All existing customers already have the ability to enroll with online banking, they can do it from there homes, in their underwear if they want, and they aren't doing it. Can anyone explain to me why we expect that customers who showed no interest in online banking before are going to be interested in using the application now?
You come in to branch to open an account, we stop the process to force you to enroll with internet banking(if you want to finish opening your account through the app), and then hope you'll use it now (despite the fact you could have enrolled at home all along)
We're duplicating the feature of an existing project and slowing down an unrelated process so we can hope you change your mind? Is this not a marketing problem? Do we not just need to sell the shit better? What am I not seeing? It's insane, we even took time to look at signing customers up for email addresses (in branch, while opening an account) if they didn't have one(because you need an email address for online banking). What really gets me is that everyone on my team is eating this shit up like it makes perfect sense. Like nobody else seems to think this is fucking stupid. I'm now resigned to implementing this bullshit. Am I the crazy one here? I realize I must be. Whatever I get paid anyway I guess. I raised my concerns repeatedly and I just kept getting the same stupid response. My job is done13