HNHacker News
TopNewBestAskShowJobs

czx4f4bd

653 karma · joined February 9, 2021

submissionscomments
czx4f4bd··on Tesla broke labor laws by telling workers not to discuss pay, NLRB claims
It would be rather pointless to protect workers' rights to organize without protecting their rights to discuss their compensation.
czx4f4bd··on Ask HN: Concepts that clicked only years after you first encountered them?
I didn't fully grok OOP until I saw how composition and dynamic dispatch can be used in real code to create abstractions and flexibly swap out different implementations for your interfaces.

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.

czx4f4bd··on Canary Tokens
This gives me a thought: is there any service out there that creates and monitors canary tokens on a larger scale to try to identify when specific providers have been breached?

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.

czx4f4bd··on I have reached Vim nirvana
I used to do the same, but I've been pleasantly surprised by VS Code's support for Jupyter notebooks. VS Code is my main editor, so it's really nice having all my familiar keybindings, plugins, VSCodeVim, etc. working out of the box.
czx4f4bd··on I have reached Vim nirvana
Ctrl+C requires taking your fingers off homerow and pressing two keys at once, though.

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.

czx4f4bd··on Hypermedia Systems
Not sure if there's a better way to contact you, but it looks like all the "Next part"/"Previous part" links on the part pages are broken. e.g. https://hypermedia.systems/book/part/hypermedia-concepts/ links to https://hypermedia.systems/book/part/2, which 404s. It should actually link to https://hypermedia.systems/book/part/htmx/.
czx4f4bd··on 2022 was the year of Linux on the Desktop?
Your description of macOS's and MacBooks' reliability doesn't match my experience. I've been using MacBook Pros for about 15 years now, and every single one that I've ever owned or used long-term has always had some kind of bizarre issue that ended up forcing me to replace it.

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.

czx4f4bd··on APITable: open-source Airtable alternative
In what way? Google Sheets doesn't offer nearly the same set of functionality without a lot of extra scripting work on top. Also, it isn't open source.
czx4f4bd··on Reverse Engineering TikTok's VM Obfuscation
Based on my previous research into this, the magic keywords to find this kind of thing on Google are "virtualization obfuscation" or "VM obfuscation".

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).

czx4f4bd··on Nix on the Steam Deck
Even if "only" 2.5% of desktops and laptops use it, that is not a small number by any stretch of the imagination -- that's like 30-50 million people. For comparison, ChromeOS has a market share of about 2.4%, and that's with a fairly concerted effort by Google to drive adoption.

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.

czx4f4bd··on Hacking Go's runtime with generics
You can allocate memory manually in Go and manage it yourself using Go's `unsafe` package, so there's an escape route once Go's GC became a limiting factor. Here's a blog post about it in the context of Dgraph: https://dgraph.io/blog/post/manual-memory-management-golang-...
czx4f4bd··on Show HN: Create a paid link to anything
Yeah, this is it exactly. There are definitely valid criticisms of this kind of tool, but people need to understand that there are already a lot of small, niche creators doing this kind of thing manually, e.g. by accepting PayPal and manually emailing Google Drive links to purchasers.

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.

czx4f4bd··on Show HN: Create a paid link to anything
This is literally how Gumroad started, though. https://news.ycombinator.com/item?id=34068230
czx4f4bd··on The Windows Subsystem for Android now runs Android 13 in beta
I don't think that's what descriptive fair use means.

> 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.

czx4f4bd··on The human cost of neurotechnology failure
Why do you think no one is bothering to look for it? I can go on Google Scholar right now and find thousands of articles exploring the causes of cluster headaches or anything else mentioned in the article.
czx4f4bd··on Unredacter: Never use pixelation as a redaction technique
Bear in mind that "redaction" just means any effort to protect sensitive information by obscuring text. I don't think I've seen pixelation used to redact text in any corporate/governmental context, but I've definitely seen people use it on sites like Reddit or Twitter to try to hide their name or other info.

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.

czx4f4bd··on Htmx in a Nutshell
https://htmx.org/essays/when-to-use-hypermedia/ addresses your first question. The tl;dr is "probably not" as htmx is not really designed to handle complex browser-based UIs, but I have seen people in this thread and elsewhere discuss more complex use cases, so YMMV.

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.

czx4f4bd··on Not-so-great features coming soon to Windows 11
What's the problem with AoE II? It's rated gold on https://www.protondb.com/app/221380 and runs fine for me under Proton.
czx4f4bd··on Trying to get a bunch of GPUs on Google Cloud
I suspect John Carmack is aware of the tradeoffs and has better things to do with his time than procure $50k+ worth of compute resources, rack and stack them in his bedroom, provision them, implement configuration management, orchestration, and monitoring, keep them running over time, etc., etc., etc.
czx4f4bd··on The Twitter Advertiser Exodus
Based on what I've heard from former engineers there, there are still plenty of opportunities for things to go very wrong. Maybe not this week or this year, but the sheer amount of lost knowledge means they're really skating on thin ice right now.

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.

czx4f4bd··on Termux on Android 5 or 6
I switched to UserLAnd a while back, but I mainly use it when I want to try something quickly in code and I can't SSH into my laptop.

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.

czx4f4bd··on Typing “old” (space) into iOS Safari crashes the app
That still works on Google. You can put it anywhere in the query. The "-" is a negation operator that tells the engine to exclude results containing the following word.

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

czx4f4bd··on WorldWideWeb: Proposal for a HyperText Project (1990)
I think it was just too early in the project for that. Images were still considered a nice-to-have and (as far as I can tell) HTML hadn't even been proposed yet. It mentions the potential for a markup language, but it also says that they don't want to force users to adopt any particular markup language and mentions word processed documents as a potential node format. Perhaps the assumption was that specialized formatting requirements would be handled by specialized document formats, with markup pages acting as glue for listing and navigating between those formats (similar to how most browsers now have built-in PDF readers).
czx4f4bd··on WorldWideWeb: Proposal for a HyperText Project (1990)
I think you touch on a valid point about changes in the way content is presented online, but I also think you're really underselling just how utterly transformative the Web has been.

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.

czx4f4bd··on The type system is a programmer's best friend
Both Vim and Emacs have plugins for intelligent code completion and viewing inline documentation. I personally prefer to use VS Code or Jetbrains IDEs with Vim emulation, but I've seen setups for both Vim and Emacs that basically made them into full-fledged IDEs.
czx4f4bd··on Over 16k people still use a Pebble smartwatch
This thread brought back so much nostalgia for me. The Pebble was one of the greatest recent examples of "less is more" in tech design. Mine sadly died not long after they were discontinued, but I loved it. Since then, I got a Huawei watch (I forget which model) and I currently have an Apple Watch, but neither has ever really felt as useful to me. It's funny, they're capable of doing a lot more, but somehow they don't feel as fun or desirable to use as the Pebble did.
czx4f4bd··on Lidar reveals urbanization and landscape modifications at ancient Maya city
Good question.

> 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-...

czx4f4bd··on 5 Years of Pop _OS
1. There's a Slack flatpak based on the .deb distribution. You could also install the .deb directly from Slack.

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.

czx4f4bd··on Should required fields be marked?
Or you could just have fields for "full name" and "preferred name".
czx4f4bd··on Can brown noise turn off your brain?
It's pretty extreme to insinuate that users are bots with no evidence. I checked both users' accounts and find it incredibly unlikely that either is a bot.

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.

← PreviousPage 4 of 6Next →