653 karma · joined February 9, 2021
You could build a chatbot that supports Discord, Slack, and IRC dynamically at runtime, or a web app that can use multiple different database engines, or a social network with multiple types of posts that can all be rendered in a main feed, or a bunch of other things. In all of these cases you can also take advantage of this kind of dynamic dispatch to inject mock objects for testing, as well as theoretically have an easier time swapping out a layer if you want to change a dependency.
What really frustrates me is that almost none of the OOP instruction I've encountered ever showed these kinds of real, practical examples. They always over-emphasize harmful inheritance-based approaches and never really explain composition. In college we learned about OOP by building a little text-based RPG thing with different types of monsters implemented as subclasses of an abstract base class, which left me feeling like there wasn't much practical use for it outside of game development.
It wasn't until my first internship that I saw a real-world use of OOP, in the form of a giant Spring Boot monolith with tons of dependency injection. Eventually, after staring at that for a few months, OOP finally clicked for me, but I still find it annoying that nobody ever tried explaining this using practical, small-scale examples.
In light of the LastPass breach, it seems like it would be useful if someone had created a few LastPass vaults and seeded them with some canary tokens (and probably canary crypto wallets), so if any of those tokens or wallets were used, it would almost certainly indicate that attackers had breached LastPass and successfully cracked vault passwords.
Granted, escape also meets those criteria if you map it to the caps lock key, which I do. The jk mapping is still useful in the rare occasions I use vim on my phone, though.
It's actually funny that you mention issues with Thunderbolt docks and monitors, because I feel like those were some of the most frequent issues I've encountered. This year, I actually swapped my work MacBook Pro for a Linux laptop specifically because my Mac would completely and irrecoverably lock up every time I tried docking it to two 4K monitors. My new Linux laptop has some issues of its own, but nothing that severe, at least.
rusty-jsyc is the main open source implementation I've found, though it hasn't been touched in a few years: https://jwillbold.com/posts/obfuscation/2019-06-16-the-secre... (GitHub: https://github.com/jwillbold/rusty-jsyc)
I think there are other implementations, but they're proprietary so I didn't look into them very much. There are lots of posts out there about reversing virtualization obfuscation, but not many about implementing it. Seems like most people who put the effort into implementing it tend to prefer selling it commercially (which I suppose makes sense).
Meanwhile, the Stack Overflow Developer Survey showed a massive jump from 25% of respondents using Linux last year to 40% using it this year. Even if you assume some sampling bias, that's still a huge swing.
Then you have major manufacturers like Dell shipping laptops with Ubuntu, Proton and Wine getting better and better at running Windows games and apps, projects like WSL and the Steam Deck giving more people the opportunity to try Linux out, etc.
Even if there are still flaws and barriers to adoption, those barriers are diminishing and momentum is clearly building in Linux's favor. It will only get easier to run Linux going forward.
It probably won't overtake Windows or become a huge competitor (at least, not in the foreseeable future), but I think in the near future it will become more of a "mainstream niche" like OS X was in the 2000s. Most people won't run it, but they'll probably know someone who does and it will be at least conceivable that they could run it themselves.
These people obviously don't care much about piracy (and probably don't need to, either) and don't seem interested in setting up another service like Gumroad/Patreon/OnlyFans, so being able to trivially automate their existing manual processes sounds pretty handy.
> Descriptive Fair Use: Found at 15 U.S.C. § 1115(b)(4), the descriptive fair use defense protects your ability to use ordinary words to describe your own goods or services, even if those words happen to be part of someone's trademark.
https://www.dmlp.org/legal-guide/using-trademarks-others
Since the Windows Subsystem for Android actually runs Android, "Windows Subsystem for Android" is a product name and not just a description, and "Android" isn't a generic descriptive term in this context, it seems to me that Microsoft is using Google's Android trademark in a way that isn't protected as fair use.
I've also seen people try to redact sensitive information by poorly scribbling it out using the pencil tool on their phone, leaving enough parts of letters visible to guess what was originally there, or try to "black out" text using a brush that wasn't fully opaque, allowing it to be revealed by adjusting the contrast. Basically, a lot of people don't know how to safely redact stuff.
I don't think pixelation is commonly used because most people probably don't know how to use it, but my Samsung phone's built-in image editor also has a pixelation feature, so I honestly expect to see it pop up more often in the future.
https://htmx.org/essays/a-real-world-react-to-htmx-port/ is about porting a serious production Django application from React to htmx.
If you hate SPAs and are chafing against Vue for building your app, it's probably worth considering if your app absolutely needs to be a JS/frontend-heavy product, or if it would be viable using a more traditional HTML+AJAX design.
If they were to have a seriously catastrophic incident, it's conceivable that they might not have anyone left who knows how to get things back online. It's not inconceivable that they could eventually figure it out, but without that essential knowledge, who knows how long that could take? I imagine it would be pretty bad for Twitter's future if the site were unavailable for days or weeks on end.
For a while I also played around with having my Android phone as an SSH server and connecting to it from my iPad for a lightweight portable coding setup.
They've actually apparently introduced a few new operators since the old days, which I found surprising. For example, $ for prices, # for hashtags, and .. for ranges of numbers. https://support.google.com/websearch/answer/2466433?hl=en
Like, you say you don't click links because you use Google instead... but Google search returns links. It could not even function without links. Keyword search is even one of the listed goals in the proposal, because prior to the Web, there was no singular place to find and retrieve information like that:
> At CERN, a variety of data is already available: reports, experiment data, personnel data, electronic mail address lists, computer documentation, experiment documentation, and many other sets of data are spinning around on computer discs continuously. It is however impossible to "jump" from one set to another in an automatic way [...] Usually, you will have to use a different lookup-method on a different computer with a different user interface. Once you have located information, it is hard to keep a link to it or to make a private note about it that you will later be able to find quickly.
That's how utterly different the world was without the Web. You couldn't open ten pages from different sources in one application and then Google for something in a new tab. Every single way of accessing information would've been its own distinct application, without much overlap or interoperability between them. Any attempt to build a search engine like Google or a content aggregator like HN would've been stymied by the sheer variety of formats and standards for presenting information.
> What makes lidar a better choice for many applications, including archaeology, is that the wavelength is about half a micron – tiny relative to radar wavelengths, which are measured in centimetres or decimetres. For details of a relatively small spot on the ground, lidar provides a precision that radar cannot match.
Source: https://www.theguardian.com/science/2015/jun/20/lidar-radar-...
2. I'm not sure how mandatory flatpak is. I suspect it's optional, but I'd suggest testing removal on a non-essential install before committing to it.
3. The tiling feature is completely optional and can be disabled easily in the settings.
shmerl, the user who mentioned mynoise in that link, has 11,234 karma and has had their account since 2011. rob74, the user you're responding to, has 5,923 karma and has had their account since 2016. Both are recently-active users with a history of real comments that don't mention mynoise.
Perhaps you are seeing this site mentioned frequently because users enjoy it and it fills its niche incredibly well. I previously came across it searching for a Shepherd tone generator and have found that it offers the best balance between tweakability and ease-of-use.