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 - "eeeee"
-
Today I discovered by myself that...
...in a shell...
...when entering a password (e.g. ssh)...
...and you make a typo... 🤦♂️
...you don't need to smack that backspace key like a maniac! You can just use the clear line shortcut: control+U (^U). This clears all input to the left of your cursor and this also works for passwords.26 -
My cat is diagnosed with leukemia. He has 4 months to live. What am I going to do without him? 🐈⬛
😿21 -
Lately, I see a lot of rants/comments/jokes about WinRAR and its eternal trial (algorithm, is that you?). Here's a nice video explaining why WinRAR chose it as its business model and how it works: https://youtu.be/fTgZRVVr3_Y
Spoiler alert: WinRAR is brilliant.
But use 7-zip or be a command line ninja.6 -
'Be long-term lazy.'
As in:
Work hard.
DRY.
If it takes more than 20 minutes, then automate it.
Prevent repeated work by testing just enough.1 -
Do you know that feeling when you finally have no more errors, but then you can't tell if the software actually does the right thing?
🤢
Wisdom of the day:
'No crashes' is not equivalent to 'it works'...5 -
Want to travel to the future? Release on a Friday. You'll be experiencing your weekend as if it were Monday.1
-
2018 dev goal #1: ✔️
This week I learned Python 3, as in most of the syntax. Not yet any development, but that will come tomorrow onwards.
Oh, and I hate the funky type system, which is almost non existent and so flexible that I don't know if it's just bad or I simply don't see why I should want it this way.
Please enlighten me why you think Python is great or just plain snake crap.
Did I mention snake case being common practice? And that Python doesn't know real private properties, methods, etc.? How does that work?17 -
So today installed this plugin on all my compatible JetBrains IDEs:
https://plugins.jetbrains.com/plugi...
Especially as an Android dev I look at Gradle build progress bars about 99% of the time, so better make them look great while I'm at it.7 -
Joining devRant.
Learning Kotlin.
Learning to dev, actually.
Being fascinated by software development. -
Installing my company's microsystems architecture to run locally is a pita because it is 60 GB of docker containers. With my 256 GB Macbook, that's a scaling problem for the years to come.6
-
A half answer on SO gives me a pointer to a possible solution. Using that pointer, I actually find an answer and it's quite involved. So to help others with the same question, I edit the answer to complete it with the additional steps. No edits to the answer involved, just a few additional steps.
😡 The answer author comments that they appreciate the info, but they reject my edit so their answer isn't changed!
What a douchebag.2 -
As devs, our keyboards are arguably the most used tools in the creative process of software development. Shortcuts are essential for (most of) us.
What's your most used keyboard shortcut in your most used IDE? Please explain what it does in which IDE.
Mine is Cmd+Alt+L in IntelliJ (reformat code, but only VCS changed or selected lines). I press it all the time, almost maniacally, after changing anything.
Close second place candidates: Shift+F6 (rename anything, e.g. file, class, function, variable), double Shift (search everywhere), Cmd+Alt+F (find in path, also in code), Cmd+B (go to declaration).12 -
Want to fuck other developers? Then make a quite probable project name illegal without documenting it, nor providing any helpful information in the error messages.
I tried to name my Flutter test project flutter_test. Turns out that that name is reserved (it's a package). Fml. 🤦🏽♂️4 -
I just received this notification on my phone. Robeco is a large investment bank from The Netherlands. 🤦🏽♂️1
-
What if we fed all rants and comments on devRant to a neural network trained to write rants and comments on others?10
-
/badhumor
Make a song title or text geeky/dev related, e.g.:
JSON Derulo - Talk Nerdy To Me
Katy Proggy - Firewall
DJ KhaLED - All I Do Is Print
DJ snake_case - Git Push For What
Now you!4 -
Jake Wharton
https://github.com/JakeWharton
https://twitter.com/JakeWharton
Used to not work for Google /Android, but since the entire Android community uses about everything he makes, and then everything he touches turns into gold and becomes part of the Android SDK sooner or later, because his work is so useful and good. He now works for Google / Android. He's one of the Android gods, a true rockstar dev!2 -
Learning Rust.
Holy brainfucking brain melt, those references, scoping and borrowing and cloning and whatnot, because there is no garbage collector, but also no direct memory management.
It's cool, but also hard for a noob coming from the JVM/Android. The compiler error messages are helpful, but I immediately found some cryptic ones that don't help me at all.9 -
Finalising my Master's thesis just before the deadline was an all nighter in which I coded a lot.
Back then it was all Matlab! -
Cocktail for disaster:
- TDD
- Mocking
- Multithreading
- Averagely well written, testable code
- All tests pass
- One test methods still shows some vague stacktrace in a worker thread ❌ but the test passes ✅
- Run only that test method and no stacktrace.
So I've been pulling my hair for the last two days trying to figure out what was throwing in that test method. Turns out that thanks to the multithreading going on, some other, similar method threw the exception in parallel. And apparently a different test method was already running when the exception was finally caught.
🖕
When I discovered that, it was fixed in a minute. 😭1 -
Today my 2 week old phone slips out of my pocket while standing up, falls on the screen and now it's cracked in multiple places. FML.
RIP Stormtrooper (he's black and white).
Repair is 30% of the new price. Worth it, but still a lot of money and 10 days without the phone.
Aaarghhhh!8 -
So instead of crying, what if we create a new open internet? We could call it NettyMcNetface (NMN). 🌐 It'd be free for everybody and open for all content under all existing and new open licences for free and paid content, for personal and business use.
The only hiccup: it must be completely disconnected from the current internet. A complete reboot on a new physical network.
Does article 13 apply to that too?
Oh, and I bet there's already some initiative involving an alternative open network. Any tips?8 -
I just helped a blind person find his way to the exit of a train station as I noticed they were searching for it, but missed it due to a small step to the wrong direction. There's hardly a better feeling than helping out with the small and simple stuff!
What good deed did you do today?9 -
Whoohoo: 🐈⬛
My phone supports the black cat emoji!
🐈⬛🐈⬛🐈⬛🐈⬛🐈⬛🐈⬛🐈⬛🐈⬛🐈⬛🐈⬛🐈⬛🐈⬛
I have a black cat ❤️
Does your view of this rant show the black cat emoji?19 -
!rant
Got a permanent contract today after 1½ year of temporary contract. 🤩
I'll be doing mostly whatever I want, but it starts with a new mobile app for both Android and iOS. Maybe I'll try Xamarin or React Native. However, I don't know iOS (Swift) yet, so maybe I'll learn it along the way. It depends on what would be best for the users.1 -
Merry fucking new year.
I hope you find love in 2018. I see a lot of you wanting to find a significant other. Just know that out there are so many others that want the same. Just be ready to not only want love, but give it. Also, make sure your significant other also gives and is not like many just wanting to be loved.
And stay away from CSS. That shit's shitty shit.9 -
Why the fuck does Android's SyncAdapter stop working without ANY notice since API level 26 when available storage is low?
They fucking deprecated the system-wide broadcast that the storage is getting too full to properly work. And there's no replacement!!! 😠 No callback. No exception. Nothing. You ask the SyncAdapter to sync and it will just not do it until some storage is freed.... 😭 -
If your project gets fucked up beyond repair, for example by your IDE (I'm looking at you, Android Studio) try this:
0. Backup any ignored but essential files in your project (e.g. secrets) outside of your project directory.
1. Close your IDE.
2. git clean -xdf
3. Restore any backed up local files.
4. Reopen the project as a new one in your IDE.
This is awesome, because it cleans up everything non git and not committed. So any local project files configured by your IDE will be nuked, which allows for a clean start. Also, all your locally committed work is preserved.
BTW, if you really need to start over (even with git), then just remove all the things an clone the remote repo again. -
PlantUML is awesome! It's versatile, code based (e.g. version control is simple) and the results are great and as portable as you need.
http://plantuml.com/
https://github.com/plantuml/...3 -
Microsoft Teams 👎
Luckily most of our company uses Zoom, which is great UX-wise. But MS Teams... What a joke!
I've even been on a call with MS engineers for some Office integration support. Of course, they scheduled a Teams meeting. It was embarrassing how bad the quality and connections were. But likely they simply don't know any better...15 -
Today I read a comment on devRant about somebody asking what 1337 means. I think most of us know (almost trivial, maybe?), but what is really great is that so many people replied explaining what it means. Some replies were awesome, some were creative, some were just a basic answer to the question.
But none were hateful. ❤️
DevRant is a place for awesome people like you who understand that every one of us doesn't know something every day. That's developer life. That's devRant life too! The other day I told a senior developer about a Haskell project of mine and he asked: 'What is Haskell?' I was impressed, but it taught me a lot.
On devRant I see no troll comments like 'omfg fucking retard, you must be a faggot and live in a dumpster', which are common on the www nowadays and could have been found under a question like 'what is 1337?'. But not here. And this, while I see the occasional swearing in rants, but never at other members.
So thank you for just being normal people among other normal people. We swear at each other's fugly code sometimes, but we are a creative bunch of smart asses that stay classy at it.
👊4 -
So a minute ago I deleted all my Spotify songs, because Spotify now calls them Favourites instead of just Songs. Fucking morons. I thought I had loads of mediocre music in my favourites, and because I don't use favourites, I thought: let me just remove all songs from it so I can start over.
Turns out: that's all the songs I've ever added to Spotify.
Once I realised what I had done, I quickly turned off internet to see if it hadn't synced yet, but of course: FML, it was published. I quickly turned off internet on my phone and opened Spotify: gone already (the bastard was open) before I could turn internet off.
So, my last hope: turn off internet at home, fire up my old Windows PC, open Spotify, put all songs in a playlist, turn on internet, let it sync (au revoir songs or 'favourites', hello new playlist), restore all the things!
Luckily, I booted that old PC (and Spotify boots automatically in the background) last week, so it should have all my songs (I didn't add any this week). I'll let you know if it worked.
And heads up: your songs are now gone, you now have 'favourites'. 🤦🏽♂️🤦🏽♂️🤦🏽♂️🤦🏽♂️
Fuck you, UX ruiners at Spotifuck!9 -
Yesterday and today combined I spent about 8 hours trying to get my PGP / GPG passphrase to work. Absolutely magically, somehow a newline character had gotten into the passphrase. Yes. That's possible. On macOS, that is.
On my Windows machine I have the same fucking private key protected with the same password. Now try and get a non-windows newline character into any Windows password field, be it a command line or some GUI input. WTF! You'll lose a year of your life with every passphrase error while you have the actual passphrase.
So after all these hours trying to hack my own GPG keystore without success, I remembered how the private key got on my Windows machine in the first place: see tags.4 -
Is there a word cloud and ngram (word frequency over time) for devRant?
I'd like to test the following hypotheses:
- 'Fuck' is in the top 20 words.
- Swearing happens more often as the week progresses, with the exception of a small Monday morning spike. -
It's impossibru: I'm doing RxJava + RxKotlin + RxAndroid and I'm understanding it.
Somewhat.
My tests pass, at least that's something. It's not yet doing completely what I want, but the hardest part is behind me. 🤩rant rxjava rxandroid reactive programming rxkotlin functional programming learning curve level 9000 rx1 -
So today my company was removing most workspaces with USB 2 connections, DP cables and magsafe 2 power cables. This means that my MBP mid 2014 can't connect to the keyboard and monitors anymore. It already struggled with 4K, so my 2K options were already limited, but now the last few spots are mostly gone. In short: I'm being forced to upgrade.
But tell you what: I don't want to. It feels like a waste to recycle my laptop (even if it's company paid and owned) while it's perfectly acceptably fine. And mind that I will get the latest and greatest i9 for free. Yes, that overheating, throttling failure of hardware design piece of shit. 2 coworkers already own the beast and confirm that it gets really hot really quickly. One of them even has daily crashes (the laptop just turns off) and random reboots. A total waste of money. And my future time. As if it's not enough work to migrate to a new laptop (even with Time Machine).
So, fellow ranters, what do I do? I hope I can leverage the second best MBP (CPU-wise) from this situation, unless there already is a bunch of i9s in the office ready to be used. I really, really don't want one. And I think my current computer is great for what it is, even if it's old. It's a really pro machine for my needs (I'm very efficient, except for Android Studio).
I even consider asking for a Linux machine, but then a whole new world opens to me that may be a step too big (since I barely have hands-down experience).
Enlighten me with your ideas, muggles!5 -
Hey, I hear you like developers ranting! Maybe you also like developers swearing: https://twitter.com/gitlost1
-
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.4 -
Kotlin
Look up the Kotlin Puzzlers presentations by Anton Keks, in which he shows the strangest behaviours of the Kotlin compiler. Bizarre syntax, strange results, bugs, etc. Some aren't even edge cases. And he's wearing a captain's hat.
2017: https://youtu.be/ukwVzLq_pHk
2018: https://youtu.be/Xq9vBZs0j-8
2019: https://youtu.be/_AM5VbPTKeg -
Any Kotlin fans out here? What's your favourite feature?
To me: coroutines and the flow API. I can't wait for the state flow and shared flow APIs to be released. Goodbye Rx! It'll come probably in the next release, which might come in a week already, because then JetBrains (Kotlin developer) hosts their online alternative to KotlinConf.8 -
Serious question:
Assuming we are (relative) computer pros: do we need an antivirus on Windows other than the built-in Windows Defender?
That is also assuming we're the only people using our computers.
I mean: we'd never click on ads (if we see them at all). We'd never click on links. We'd never install crapware.
Where are the risks we'd need a resource-hogging antivirus program for?9 -
devRant without bugs (there are few), but with all of you (our community). ♥️
Except for the people who post jokes or memes without the appropriate tags!1 -
Q:
I'm making a dictionary/glossary for a website. Any cool open source solutions? Something like Wiktionary, but maybe a bit more styling than wiki's plain old black on white.2 -
Dat animation: open a WhatsApp chat, start recording a voice message, swipe up to lock the recording, cancel the recording and watch what happens.2
-
Today I released the next versions two of my company's Android projects. Today was a good day.
Also, releasing on a Friday afternoon FTW! (they are beta releases, so I'm good).1 -
So, I browse to a video livestream and an annoying ad starts before the livestream is shown. Furthermore, the page jumps around because of a cookie notification that also blocks some UI elements at the top.
Note: this is the website of a public (government-paid) national news website with very high standards and a good reputation.
Action 1: refresh page; I hope the ad is skipped. Nope, annoying ad restarts. Page jumps around again because of the cookie notification.
Action 2: accept cookies to remove notification blocking the top UI (it's OK, I know it can't actually save any cookies on my machine). Instead of some nice JS doing it for me in the background, the page refreshes because you know, HTTP requests and whatnot.
Annoying ad restarts again... FML 🤬
Lessons to be learned from this for any web dev: these annoyances can and *will* exponentially get worse if used simultaneously against your users, instead of being used to help or inform your users.
As a user of you website, I want to watch a livestream. I don't care what stupid legislation forced you to shove a fucking cookie notification in my face. Make sure it is not annoying me to the point that I close you website and take minutes to rant about it!
Also, give me the freedom of choice to watch an ad or not. You and I both know that some ads simply are not for me. Better save yourself and myself the bandwidth.
And go get good at web development. You're a news site. That's more than just text and images. If you want great apps, social media coverage, videos, live streams, blogs, etc. go get some better web devs. Your current web frontend devs only qualify to get fired.1 -
Nice man page, I quote:
$ git help whatchanged
'[...] The command is kept primarily for historical reasons; fingers of many people who learned Git long before git log was invented by reading Linux kernel mailing list are trained to type it. [...]' -
The TRUSTe / TrustArc cookiewall is a bitch! My ass it takes over a minute to update my cookie policy... 😡
-
Do you know any good frameworks, preferably with a large community and some popularity, to develop progressive web apps (PWAs) in Python?4
-
Rust noob Q:
Given x a variable on the heap, e.g.
let x = String::from("Hello, devRant!");
Then, given some function that I didn't write (from a library) that takes ownership of its argument:
fn some_function(y: String) -> bool { ... }
How would you handle this situation:
if some_function(x) {
another_function(x); // not ok, because x has gone out of scope in the line before
}
Is it idiomatic to just clone() x in the first call? That seems bad practice, because it's the second (or some other additional) call that needs x. What should I be doing instead?8 -
Today I found this 😂😂
https://youtu.be/NATZy-ZqD7A
(I mean: YouTube found me after my previous rant: https://devrant.com/rants/2215801/...)1 -
Prank idea: call a colleague's phone and if they don't have your number (you'll notice by the way they talk), they won't know it's you. Then try to convince them they've somehow created a data breach and you have access to their company's source code... 😈
Oh, and if they do have your number just say you accidentally called the wrong person. -
Let's have a discussion, devRant style:
Fuck history, git rebase to the rescue! Especially interactive rebase is a power tool. I use it all the time.
At this moment I won't argue why or why not. Let's hear what you have to say! -
Ideas for future weekly questions:
What's your favourite dev tech?
What's your favourite non-dev tech?
What do you think about privacy regulations in your country?
Story about maintaining / working with /refactoring legacy code.
Also, if you get in inspired by a questions suggested by someone, make sure to give credit where due! It would be awesome to see who's question we're answering. -
What's your favourite Git client and why? Mine is a combination of git and tig in the command line.7
-
And I thought I knew a lot about practical git... But today I learned about fixup commits and autosquash. Awesome!
-
🍷 Wine Q:
No, not about the drink, you alcoholic! About the Wine Is Not an Emulator.
When I run a full screen app (a game) on my MacBook with an external monitor, how can I run the game on that monitor? It starts full screen on my MacBook's screen and can't be moved to the other screen. Well, I can move the 'window' (it's borderless) to the other desktop, but it immediately minimises to the dock. Opening the app again moves the window back to the first screen.
So in other words: how do I properly do display management in Wine?1 -
I wonder how many people use Bitcoin as their main currency...
From the SO 2018 dev questionnaire!1 -
Kids, stay away from Google's Dagger 2 coffee maker example. Do it for your own sanity. Unless you want to study bad examples.
-
Apple products are free as long as you spend too much money.
Inspired by https://devrant.com/rants/1552084/...1 -
Comment steps:
0. Go to YouTube
1. Scroll through your home page until you find the first clickbait video
2. Post video title here
3. Laugh
Inspired by https://devrant.com/rants/1572726/...5 -
Brain fart.
In Java and many other languages there are basic types, like char and String. So why does Java have char and String, but not a digit type?
A number is basically a series of digits. For modular arithmetic it is very useful to be able to extract the 3 in the number 1234, it's just the 3rd digit in a number.
Base 2, base 10, base anything could be supported easily too. E.g. a base 2 digit would be:
digit d = 0b2; // or 1b2, but 2b2 would be a compilation error
A number would then be some kind of string of digits.
Any thoughts on this?9 -
Hey Kotlin users. Do you use Kotlin for Android, or for non-Android stuff? If both, then answer Android. I'm interested to see how many non Android Kotlin devs we have here.2
-
Is this a devRant bug?
I have a persistent (1) on my in-app notification bell (Android). I can't find any unread notification. It should be a comment notification. Maybe somebody generated such a notif, my phone picked it up, and then the other person undid the action that lead to the notif? (E.g. un-++, remove a comment or mention, delete their account, ???).
I see the (1) notification to on the web, and I can't find the actual notification there either!5 -
Back in the day when I was a student, I travelled for almost 3 hours by train multiple times per month... I played Rollercoaster Tycoon 2 on my laptop all the way. Surprisingly, even while wearing large headphones, I connected with many people who saw me playing a game that they loved.
RCT2 remains a brilliant game today. The OpenRCT2 project is very well maintained and I can highly recommend it if you want to play it on your modern computer. -
Holy shit Realm. This DB.... On Android it will crash if you access a reference to the db from a different thread than the one it was created from! 🤦♂️🤦♂️🤦♂️🤦♂️🤦♂️🤦♂️🤦♂️🤦♂️
Why oh why can't they just have their own internals managing all the fucking thread they need? There's a reason they provide sync and async db access.
This basically means that my reference to a realm instance should always be tightly paired with the corresponding thread reference so that I can run my db queries on it.
👎9 -
I just wanted to say that most rants I saw today were great. Loads of original pics and good stories. This, while others think devRant is becoming more and more of just a repost forum. Any thoughts?1
-
I'm digging the new GH notifications UI (beta):
https://github.com/notifications/...
It might not (yet) be available to you.
What's nice is that notifications can now be shown regardless of (un)read state (but you can still only show unread notifs). This means that you can read all notifications and not lose track of everything that you have read. Just mark notifications as 'done' when you're done, but until them just leave them in the list and/or save them for later. The UI is also responsive to the browser window, which is much better than before, because a lot of context and content now is shown! And it is possible to handle issues and PRs from the notification screen itself, which basically adds some additional UI elements to the regular issue/PR screens.
And earlier this week the GH Android app went into beta too: https://play.google.com/apps/...
It's a good week to be a GH user!