Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
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.3
Here’s a poster with a super short description of each one to help you keep track and find some new useful Linux tools.9
At a cafe, usually. I've found this cool coder meetup on Saturday mornings. A couple of techies just working on their laptops or socializing, depending on the mood. I'm more motivated with other people working around me.1
This freaking laptop.
The WiFi randomly stops working -- and by that, I mean the hardware is no longer detectable, let alone functional. It simply disappears on boot, even from dmesg.
The same happens with audio and bluetooth: on some boots they simply do not exist.
The power usage is also ridiculous: the battery dies in about two hours, and it gets soo hot. Toasty wrists unless I use my tiny bluetooth keyboard ☹ So I need to fiddle with powertop a bit more.
nVidia drivers are also a bloody pain, and having two graphics cards this is even more difficult to set up. I still haven't managed. (nvidia-driver, bumblebee, optimus, official driver messes, manual xorg configs, ...). So I have a beautiful 4k built-in display running at 4-18 fps, and a non-functional 4k external. That's fine for now, but >.>; frustrating.
In better news! I just managed to get the sound to work by backporting the new 4.19 kernel (yay!) -- I have never been so happy to hear an ad. but fixing the sound killed my bluetooth. (The `bluetooth` utility reports the adapter is present, but nothing else can seem to see it 🙄) So now I'm going to have burning hot wrists all day and want to cry because terrible sweaty awfulness.
Just. It's frustrating.
It's fast, though.
and ever so pretty.14
Today, my PM dropped by in the morning and mentioned she had some customer feedback on some item in a project where I'm the holiday replacement for someone else. I already had work to do, so that kind of interruption wasn't welcome.
"Well yeah, just forward it to me, I'll see what I can do", I told her. She agreed. Half an hour later, still no email from her. Hey, that looked promising!
For the rest of the day, I didn't talk to her, avoided speaking at all when she was near and even sneaked by her room (open doors) in silent mode lest I drew her attention and she might have remembered the email.
Until afternoon when I went home, still no email. Success! :-)4
laptop suggestions please:
- 13-14 inch screen
- min 8 gb ram (preferably 16)
- 128 gb storage
- i5 or i7
- 1200 x 800 resolution
- can run linux (no driver issues)
- can run flutter, android studio, and emulator
- $500 or less6
Another Google rant:
Why the fuck am I shoved this cancerous apps in my face by Google?
I have reported them and show 'not interested' countless time and yet being prompted to install the crap in my phone again and again.19
So decided 'fuck it lets try the chromium based edge on my PC and Mac...'
And you know fucking what... It is actually fucking awesome, as much as I love Google (Fight me) and dislike Microsoft products, I can honestly recommend the new Edge over Google Chrome or any from of Chromium...
Thank-you for coming to my TED X talk....10
Update on https://devrant.com/rants/2127480
So I sent my Pixel 3a with a broken screen to the Google repair center and within 2 days I got a response that there's liquid damage. OMFG.
So now I get options:
1. Not repair, I get my money back.
2. Buy a refurbished one for basically the new price and I might not get the same colour device.
So basically I'm forced to choose option 1, because I could also buy a new one at the same price.
So just due to bad luck I now don't have a functioning Pixel 3a any more.
On the bright side: I explained my story to Google in a contact form and they called me back within 10 seconds. I spoke to the most helpful employee ever (Chris). He was very understanding and called it an exceptional situation. He now is reaching out to the repair center where he can get in touch with the actual repair people and see what can alternative Google might be able to offer me.
I don't expect anything, but kudos for Google's customer support.
Also, why do I keep hoping that this multibillion dollar company would just say: hey buddy, here's your new phone for free, just make sure you will promote it with your friends and family if you like it.14
After hard learning for a while I've passed Microsoft's C# exam.
And they just gave me this. Shit. Only. No certificate.14
I asked my friend to design a flyer for an organization's annual dinner, asking her to send me an invoice so I could pay her (I can't design worth shit, she's doing me a huge favor).
She said she'll do it, declined payment, and doesn't even want me to get approval for her to put it in her portfolio...
How the hell do I pay her back for her work? If we lived in the same town, I'd at least take her to coffee and lunch, but she moved states and I moved countries :(11
- Be me, developing mobile game
- Make the following goal, coz project is very important.
- plug phone to laptop for testing.
- phone gets charged
- phone doesn't die for 2 days, fuck you ain't getting any entertainment forever
since i finally have a laptop i can actually get away with doing mobile development... what would you guys, gals tell someone new to the whole Android dev world to use?
Java or Kotlin?
dont worry about my background, i usually just deep dive into anything new, but want to see what the general devRantsis is on the topic.
ive made it this far so... :D21
I found one of these in person :D
I had seen them on here before, but now I've seen one myself lmao8
Can anyone recommend some android alternatives?
I'm not looking to move away from android permanently but I'm just curious, I enjoyed my time with UBports (fuck QT) and seeing projects like the PinePhone and Librem 3 just get me curious what is actually out there.
Currently rocking a pixel 2 XL but not shy on buying new hardware to test stuff out as long as it's within reason.
Currently had a look at PureOS (not available) and Sailfish, any others to give a whirl?9
Somehow, a continue instead of break in a switch-case looks weird. Although it makes perfectly sense with regard to the outer for loop.10
Making electronics more difficult to repair with security fasteners and ultrasonically welded plastic nightmares and what have you.. what's the point? The argument from manufacturers is that "users don't want to get in there anyway". But, it's not like even if they could, they'd want to, right? Which type of person that doesn't know electronics very well and has an interest in repairing it would go and look at a board, and say "this is how it works, this and that is broken and this is how it should be repaired"? Not many users can repair their own devices regardless. So why? To preserve IP? Not like the Chinese bootleggers care about that. To preserve sales? Users can't repair their stuff anyway. To keep those who want to peek inside out, just for the hell of it? Anyone determined enough will be willing to break it in the process anyway.7
I've found and fixed any kind of "bad bug" I can think of over my career from allowing negative financial transfers to weird platform specific behaviour, here are a few of the more interesting ones that come to mind...
#1 - Most expensive lesson learned
Almost 10 years ago (while learning to code) I wrote a loyalty card system that ended up going national. Fast forward 2 years and by some miracle the system still worked and had services running on 500+ POS servers in large retail stores uploading thousands of transactions each second - due to this increased traffic to stay ahead of any trouble we decided to add a loadbalancer to our backend.
This was simply a matter of re-assigning the IP and would cause 10-15 minutes of downtime (for the first time ever), we made the switch and everything seemed perfect. Too perfect...
After 10 minutes every phone in the office started going beserk - calls where coming in about store servers irreparably crashing all over the country taking all the tills offline and forcing them to close doors midday. It was bad and we couldn't conceive how it could possibly be us or our software to blame.
Turns out we made the local service write any web service errors to a log file upon failure for debugging purposes before retrying - a perfectly sensible thing to do if I hadn't forgotten to check the size of or clear the log file. In about 15 minutes of downtime each stores error log proceeded to grow and consume every available byte of HD space before crashing windows.
#2 - Hardest to find
This was a true "Nessie" bug.. We had a single codebase powering a few hundred sites. Every now and then at some point the web server would spontaneously die and vommit a bunch of sql statements and sensitive data back to the user causing huge concern but I could never remotely replicate the behaviour - until 4 years later it happened to one of our support staff and I could pull out their network & session info.
Turns out years back when the server was first setup each domain was added as an individual "Site" on IIS but shared the same root directory and hence the same session path. It would have remained unnoticed if we had not grown but as our traffic increased ever so often 2 users of different sites would end up sharing a session id causing the server to promptly implode on itself.
#3 - Most elegant fix
Same bastard IIS server as #2. Codebase was the most unsecure unstable travesty I've ever worked with - sql injection vuns in EVERY URL, sql statements stored in COOKIES... this thing was irreparably fucked up but had to stay online until it could be replaced. Basically every other day it got hit by bots ended up sending bluepill spam or mining shitcoin and I would simply delete the instance and recreate it in a semi un-compromised state which was an acceptable solution for the business for uptime... until we we're DDOS'ed for 5 days straight.
My hands were tied and there was no way to mitigate it except for stopping individual sites as they came under attack and starting them after it subsided... (for some reason they seemed to be targeting by domain instead of ip). After 3 days of doing this manually I was given the go ahead to use any resources necessary to make it stop and especially since it was IIS6 I had no fucking clue where to start.
So I stuck to what I knew and deployed a $5 vm running an Nginx reverse proxy with heavy caching and rate limiting linked to a custom fail2ban plugin in in front of the insecure server. The attacks died instantly, the server sped up 10x and was never compromised by bots again (presumably since they got back a linux user agent). To this day I marvel at this miracle $5 fix.1
For the ones actually interested in WSL 2, I actually think it's pretty great after using it for a day:
Someone please notify Google that we are past half the year. Smh!
What pisses me off is the fact that they rarely provide any relevant release notes and often don't provide at all.
Just because it's their platform, they do whatever they wish to. I hate this attitude.10
Startup rant ---
John and Bob joined a startup at the same day but they were in two different offices.
John joined the US office while Bob joined the European office (let's not share the country here ;) )
Both of them worked really hard, they worked longer hours, showed result and helped the startup to reach and get Serie A funds.
That seems good no? But let's step back, John was promoted twice and get more perks while Bob got only a salary raise that aligned him with the current market.
There are different reasons for this but the most important one is that the company is having two different cultures for the two offices.
What's funny here is that Bob effort is well known across the two offices and his contribution has made a huge difference to the company but unfortunately he wasn't rewarded for it.
So Bob opened a new window not in his office but in his browser to find better opportunities.4
@Everyone, I would like to congratulate @Haxk20 on being the victor of our little upvote fight.
It was a hard battle, and although I was ahead briefly, I would like to name @Haxk20 the victor!
As of post:
That's an impressive: 6,116 up votes in total from everyone involved.
As I have noticed requests for the repo, i would like to state It will be deleted, but I will re-release it as an empty template in the event others want to use it later - as per our original agreement.40
This is a friend's story:
So I've been trying to upload a free sticker pack for iMessage to AppStore for a while now. Why "trying"? because it keeps getting declined for the silliest reasons. It's nothing complex: just a bunch of our company's stickers about dev life. "Stickers for devs, from devs."
The first time Apple has declined the app because of the overall design, the second time it was because we used iMessage in the title. But this time it makes no sense at all. This is the message I got from Apple:
"Your app contains references to test, trial, demo, beta, pre-release or other incomplete content.
Specifically, some of your app’s stickers have “beta” references."
Huh? Check out the pic - one of our dev-related stickers says "still in beta". I guess Apple took that way too literally. Good thing they didn't tell me my app was too buggy because it has a sticker of a bug which says "it's not a bug, it's a feature"...
On second thought, what if AppStore is a modern-day Genie? Maybe I should add a sticker that says "Apple owns me $20 million in stock"? Or just one that says "Apple approves this sticker pack".
#Thisneverhappens_on_googleplay #appstore_make_a_wish #rookout8
Today I learned a new word. I learned how to say "Go fuck yourself" in Java.
I had a nice Java method using POI 3.13 which replaced a sheet in an existing Excel workbook with a sheet from a different file. Worked well except for a specific type of calculation cell.
So, we decided to try POI 3.17.
I have to rewrite about 20% of my code due to deprecated methods and variables in POI.2
So yeah now that WSL 2 has been released to insiders, I can confirm that it is 'just' a virtual machine. However it's an incredibly lightweight one. Honestly it's just as responsive as when using iTerm on my Mac.
I gotta say I was hesitant about it being a vm, but they've executed it in a great way. My only problem with it at the moment, is that it only works as a host-only network. Would be nice to have the possibility of changing network adapter settings4
PM: 2 months? no thats way too long, do it in 1.
Director: I had a chat with someone else who doesn't work on this team, he says that developer you complained about is a good guy and we should keep him on the team.
Business: No, we don't have time for tech debt, lets build these new features as quick as possible and lets see where we are.
everyone: WHAT DO YOU MEAN IT CRASHED AGAIN??? THIS IS UNACCEPTABLE6