deleted by creator
deleted by creator
I use the tiles to “pin” programs that I use semi-regularly and can’t be bothered remembering the name of. Or that share an inconveniently long prefix with the name of another program. Or that I have multiple versions of installed, with a specific version I usually need.
I don’t like pinning such programs to the task bar because they add unnecessary clutter while not in use.
Bonus: good tests can also serve as technical documentation.
Though I have to disagree with the notion that documentation is as important or more so than code.
Documentation is certainly near the top of the list and often undervalued. I’ve worked on a project where documentation was lacking and it was painful to say the least.
Without documentation, changing or adding features can be a nightmare. Investigating bugs and offering support is also very difficult. But without code, you have nothing. No product, no users, no value.
There are (inferior) substitutes for documentation: specialized team knowledge, general technical expertise. These alternative pools of knowledge can be leveraged to create and improve documentation incrementally.
There’s no replacement for the actual functionality of your applications.
Ditto on the no text part. That is an accessibility failure that’s way too widespread.
Sometimes I’m afraid to even push a button: does this delete my thing, or does it do some other irreversible change? Will I be able to tell what it did? Maybe it does something completely different, or maybe I’m lucky and it does in fact perform the action I’m looking for and which in my mind is a no-brainer to include?
And it’s infected interpersonal communication too - people peppering their messages with emojis, even professional communications. It not only looks goofy, but is either redundant (when people just add the emoji together with the word it’s meant to represent - such a bizarre practice) or, worse, ambiguous when the pictogram replaces the word and the recipient(s) can’t make out what it depicts.
The most fun is when it’s a mix - the message contains some emojis with accompanying translation, some without.
Me every time I see one of these pretty much.
Feels like these are from another timeline. Guess the name is fitting.
If I had to guess, I think this might be poking fun at overprotective parents who unwittingly do more harm than good by controlling their kids’ environment to an unhealthy degree.
Trying to read more into it, perhaps it’s also pointing at the propagation of bad childrearing practices across generations - parent cows grew up on a farm, constrained by an electric fence. Though presumably more independent now, this is what they knew growing up, so they apply (a bizarre perversion of) these same practices to their own children.
I’m probably way off though, because that interpretation barely elicits a half smile from me.
Curious for an explanation from someone who actually gets it too.
I don’t share the hate for flat design.
It’s cleaner than the others, simpler and less distracting. Easier on the eyes, too. It takes itself seriously and does so successfully imo (nice try, aero). It feels professional in a way all the previous eras don’t - they seem almost child-like by comparison.
Modern design cultivates recognizable interactions by following conventions and common design language instead of goofy icons and high contrast colors. To me, modern software interfaces look like tools; the further you go back in time, the more they look like toys.
Old designs can be charming if executed well and in the right context. But I’m glad most things don’t look like they did 30 years ago.
I’m guessing many people associate older designs with the era they belonged to and the internet culture at the time. Perhaps rosy memories of younger days. Contrasting that with the overbearing corporate atmosphere of today and a general sense of a lack of authenticity in digital spaces everywhere, it’s not unreasonable to see flat design as sterile and soulless. But to me it just looks sleek and efficient.
I used to spend hours trying to customize UIs to my liking, nowadays pretty much everything just looks good out of the box.
The one major gripe I have is with the tendency of modern designs to hide interactions behind deeply nested menu hopping. That one feels like an over-correction from the excessively cluttered menus of the past.
That and the fact that there’s way too many “settings” sections and you can never figure out which one has the thing you’re looking for.
P S. The picture did flat design dirty by putting it on white background - we’re living in the era of dark mode!
The point is not the difference between a fake memory and a real one (let’s grant for now that they are undistinguishable) but the fact that positive experiences are worth a lot more than just the memories they leave you with.
I may not know the difference between a memory of an event that I experienced and a memory of an event I didn’t experience. Looking back on the past, they’re the same.
But each moment of pleasure that I only remember, without having experienced it, was essentially stolen from me. Pleasure is a state of consciousness and only exists in the present.
Even better, Obsidian notes are stored directly in folders on your device as plain text (markdown) files.
It’s all there, nothing missing, and no annoying proprietary format.
Not only can you keep using them without the Obsidian application, you can even do so using a “dumb” text editor - though something that can handle markdown will give you a better experience.
Honestly, their comment reads like copy pasta. That first paragraph is chef’s kiss.
I initially thought they weren’t being sincere, something something Poe’s law…
(’ v ')/
The main difference is that 1Password requires two pieces of information for decrypting your passwords while Bitwarden requires only one.
Requiring an additional secret in the form of a decryption key has both upsides and downsides:
So whether you want both or only password protection is a trade-off between the additional protection the key offers and the increased complexity of adequately securing it.
Your proposed scenarios of the master password being brute forced or the servers being hacked and your master password acquired when using Bitwarden are misleading.
Brute forcing the master password is not feasible, unless it is weak (too short, common, or part of a breach). By default, Bitwarden protects against brute force attacks on the password itself using PBKDF2 with 600k iterations. Brute forcing AES-256 (to get into the vault without finding the master password) is not possible according to current knowledge.
Your master password cannot be “acquired” if the Bitwarden servers are hacked.
They store the (encrypted) symmetric key used to decrypt your vault as well as your vault (where all your passwords are stored), AES256-encrypted using said symmetric key.
This symmetric key is itself AES256-encrypted using your master password (this is a simplification) before being sent to their servers.
Neither your master password nor the symmetric key used to decrypt your password vault is recoverable from Bitwarden servers by anyone who doesn’t know your master password and by extension neither are the passwords stored in your encrypted vault.
See https://bitwarden.com/help/bitwarden-security-white-paper/#overview-of-the-master-password-hashing-key-derivation-and-encryption-process for details.
This works as a general guideline, but sometimes you aren’t able to write the code in a way that truly self-documents.
If you come back to a function after a month and need half an hour to understand it, you should probably add some comments explaining what was done and why it was done that way (in addition to considering if you should perhaps rewrite it entirely).
If your code is going to be used by third parties, you almost always need more documentation than the raw code.
Yes documentation can become obsolete. So constrain its use to cases where it actually adds clarity and commit to keeping it up to date with the evolving code.
Extra steps that guarantee you don’t accidentally treat an integer as if it were a string or an array and get a runtime exception.
With generics, the compiler can prove that the thing you’re passing to that function is actually something the function can use.
Really what you’re doing if you’re honest, is doing the compiler’s work: hmm inside this function I access this field on this parameter. Can I pass an argument of such and such type here? Lemme check if it has that field. Forgot to check? Or were mistaken? Runtime error! If you’re lucky, you caught it before production.
Not to mention that types communicate intent. It’s no fun trying to figure out how to use a library that has bad/missing documentation. But it’s a hell of a lot easier if you don’t need to guess what type of arguments its functions can handle.
The point is that you’re not fixing the problem, you’re just masking it (and one could even argue enabling it).
The same way adding another 4 lane highway doesn’t fix traffic long term (increasing highway throughput leads to more people leads to more cars leads to congestion all over again) simply adding more RAM is only a temporary solution.
Developers use the excuse of people having access to more RAM as justification to produce more and more bloated software. In 5 years you’ll likely struggle even with 32GiB, because everything uses more.
That’s not sustainable, and it’s not necessary.
I think they meant the only language we transpile to for the express reason that working with it directly is so unpleasant.
Java is not transpiled to another language intended for human use, it’s compiled to JVM bytecode.
People don’t usually develop software directly in the IR of LLVM. They do develop software using vanilla JavaScript.
You don’t need to correct something everyone already knows is an exaggeration (and I agree it doesn’t seem very socially aware to do so) but this is a political discussion on the internet, so
What if they said “Hey I know you’re being hyperbolic, but for anyone who’s interested, here’s the number estimated by experts…”?
The only difference here is tone.
I’m not sure why they only shared numbers for minke whales, as these don’t seem to be hunted anymore in Iceland in contrast to fin whales, whom the article was about.
Global fin whale population was estimated in 2018 by IUCN to have been around 100000.
https://www.iucnredlist.org/species/2478/50349982#population
Yes, correcting hyperbole with relevant information is bad, actually.
As always, the dose makes the poison.
A common scenario is people picking the wrong species and then not just eating a small bite, but cooking an entire meal and eating that.
A small bite may not kill you, but just one mushroom (50g) can be enough to do it.
There are some toxic mfs out there and they can be mistaken for edible lookalikes by inexperienced foragers.
I’d say generally speaking it’s more likely that issues stem from extensions than from Firefox itself, so maybe try looking into that.
Btw tab reordering is only missing for private tabs on the latest ff on Android.
Unfortunately there is still no acceleration when reordering so the ux is not great when you have many tabs.
win + space to switch between keyboard languages
win + tab to open the desktop switcher
win + ctrl + t (if you have PowerToys installed) to prevent other apps from stealing focus from your window