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 - "location permission"
-
I'm editing the sidebar on one of our websites, and shuffling some entries. It involves moving some entries in/out of a dropdown and contextual sidebars, in/out of submenus, etc. It sounds a little tedious but overall pretty trivial, right?
This is day three.
I learned React+Redux from scratch (and rebuilt the latter for fun) in twice that long.
In my defense, I've been working on other tasks (see: Alerts), but mostly because I'd rather gouge my freaking eyes out than continue on this one.
Everything that could be wrong about this is. Everything that could be over-engineered is. Everything that could be written worse... can't, actually; it's awful.
Major grievances:
1) The sidebars (yes, there are several) are spread across a ridiculous number of folders. I stopped counting at 20.
2) Instead of icon fonts, this uses multiple images for entry states.
3) The image filenames don't match the menu entry names. at all. ("sb_gifts.png" -> orders); active filenames are e.g. "sb_giftsactive.png"
4) The actions don't match the menu entry names.
5) Menu state is handled within the root application controller, and doesn't use bools, but strings. (and these state flags never seem to get reset anywhere...)
6) These strings are used to construct the image filenames within the sidebar views/partials.
7) Sometimes access restrictions (employee, manager, etc.) are around the individual menu entries, sometimes they're around a partial include, meaning it's extremely difficult to determine which menu entries/sections/subsections are permission-locked without digging through everything.
8) Within different conditionals there are duplicate blocks markup, with duplicate includes, that end up render different partials/markup due to different state.
9) There are parent tags outside of includes, such as `<ul>#{render 'horrific-eye-stabbing'}</ul>`
10) The markup differs per location: sometimes it's a huge blob of non-semantic filthiness, sometimes it's a simple div+span. Example filth: section->p->a->(img,span) ... per menu entry.
11) In some places, the markup is broken, e.g. `<li><u>...</li></u>`
12) In other places, markup is used for layout adjustments, such as an single nested within several divs adorned with lots of styles/classes.
13) Per-device layouts are handled, not within separate views, but by conditionally enabling/disabling swaths of markup, e.g. (if is_cordova_session?).
14) `is_cordova_session` in particular is stored within a cookie that does not expire, and within your user session. disabling it is annoying and very non-obvious. It can get set whether or not you're using cordova.
15) There are virtually no stylesheets; almost everything is inline (but of course not actually everything), which makes for fun layout debugging.
16) Some of the markup (with inline styling, no less) is generated within a goddamn controller.
17) The markup does use css classes, but it's predominately not for actual styling: they're used to pick out elements within unit tests. An example class name: "hide-for-medium-down"; and no, I can't figure out what it means, even when looking at the tests that use it. There are no styles attached to that particular class.
18) The tests have not been updated for three years, and that last update was an rspec version bump.
19) Mixed tabs and spaces, with mixed indentation level (given spaces, it's sometimes 2, 4, 4, 5, or 6, and sometimes one of those levels consistently, plus an extra space thereafter.)
20) Intentional assignment within conditionals (`if var=possibly_nil_return_value()`)
21) hardcoded (and occasionally incorrect) values/urls.
... and last but not least:
22) Adding a new "menu sections unit" (I still haven't determined what the crap that means) requires changing two constants and writing a goddamn database migration.
I'm not even including minor annoyances like non-enclosed ternaries, poor naming conventions, commented out code, highly inefficient code, a 512-character regex (at least it's even, right?), etc.
just.
what the _fuck_
Who knew a sidebar could be so utterly convoluted?6 -
Glassdoor is the perfect example of how annoying, even just opening a website can be, first it asks for your permission to use your location, then half the screen is filled with a cookie agreement and after you clicked it all away, you get a "download our app" filling just 30% of your screen, now that you clicked that all away, you may use the website, ludicrous.
edit: well fuck, just noticed the app message glitched away when taking the screenshot, you get the idea though6 -
My company has two offices in separate cities but they treat each the devs of each location very very differently.
In one office the devs get full power to experiment with whatever tech they want, they just stomp their feet and management gives em whatever they ask for, freedom of choice regarding anything they are working on, to be allowed to do greenfield work or experimental stuff
But in my office we are forced to do ONLY. Bug fixing and refactoring shitty code from over a decade a go, our tech is ancient and we are not allowed to to
Shit , anything we ask for is denied
And improvements to our process is shut down with the reasoning that whatever we got works so why meddle ??
For us , management is solely focussed on making sure we respond to support calls , deployments , configurations and little bug fixing. Basically they only care that we manage to finish for out next delivery.
No new work whatsoever!
If there is any hint of something new to to
Implemented the golden boys from the other office just stopm their feet tillmthey get it or just go off and start working on it then seek permission afterwards, with their much larger team they obviously get further than we do by the time management hears about it so they end up taking over the work since they already have more done already
My manager decided to push us to attend a company devCon to share ideas with our devs from our other location. This rapidly turned into a sour experience
Basically we do all shitty boring work which puts money on the table which goes straight to those idiots to play with...
They have the guts to laugh when we mentioned that we never get anything interesting to work on
Never seen so many of our devs looking up job sites on the bus back...
This is gonna blow up in management's face...2 -
WHY THE FUCK DOES MY MESSAGING APP NEED LOCATION PERMISSION? I HAD REVOKED IT AND NOW IT WONT WORK UNLESS I DO SO! FFS!13
-
fuck google! fuck the people updating the android OS! fuck android!
first you guys removed the feature to connect wifi using WPS and then promised to bring it back but instead brought a completely different feature
then you make all the clipboard manager apps obsolete. only keyboard apps can be clipboard manager otherwise the rest of them are screwed.
app needs my location permission just so that it can turn on my wifi! wtf!
app needs bluetooth, wifi & location just so that it can send data from one device to another device offline? why bluetooth? are we going back to 1970s?
fuck you google! fuck android!
I really wish some other companies fork it and removes all the clutters and makes it better.19 -
Getting a location in android is so complicated:
First there's the permissions. Ok add it to the manifest. Oh wait, run-time permissions.
Gotta check if user has allowed the specific app to use location or ask for the permission.
Ok. That's done. Why am i not getting a location? Of course, user can turn it off from settings. Gotta check for that aswell. Or ask for it somehow.
Finally i should be able to get the location! Now, how to I use the Location service to get location in the most efficient way that suits for me? Or should I use the Google api.
Every answer in stackoverflow uses a different method. Oh well, gotta try out them all :).2 -
Android 12, stop telling me every other day which app has permission to access my location in the background. I know, I gave permission, and I want to keep the setting "Allow all the time". Where's the "don't ask again" option?
And why does this happen for an app released by the German federal government (about once a week) but never, ever for your shitty Google Maps that always seems to know where I've been (at least if don't leave my phone at home, which is hard to do in times when you have to show your digital proof of vaccination everywhere yo go). Fucking Android, fuck the Android 12 clunkiness (inspired by Apple's iOS?) and fuck the fucking notifications. This is my phone, I paid for it, I own it, I want to turn off this bullshit. Wait, Google, once I find time to get back to LineageOS/Cyanogenmod you will never see a trace of my digital existence again. Oh, and fuck your "digital wellbeing" as well! At least you let me turn that off. Yes, I know, I am not grateful, but that's what devrant is for, isn't it? Fuck you, Google!2 -
There was a holiday in my area but someone reported that Google map is showing that roads are blocked instead of no traffic.
Ah! they forgot to improve their algorithms to analyze the traffic by getting user's location "without permission" against festivals in India.