HNHacker News
TopNewBestAskShowJobs

chaosharmonic

814 karma · joined March 18, 2019

submissionscomments
chaosharmonic··on Ask HN: Does the Framework laptop stand the test of time?
I've got a piece sitting somewhere in my blog's drafts folder that I need to dig up photos for, literally titled "I fucking love Framework."

So full disclosure, even being immensely interested in their mission, I would have waited for the AMD version if my previous machine hadn't gotten wrecked in a car crash. Since insurance paid for it, it was essentially free. But. I've been daily driving a FW13 since early into their launch (Batch 4) and it absolutely holds up.

I'm still on a lot of the original hardware, and some of it is showing its age -- I'm particularly hard on keyboards -- but I'm aware that this is replaceable on its own. I also know I can just get the upgraded battery when my current one gives out, or eventually swap in a new display kit and also deal w the hinges in one go.

One thing that was exactly as magical as promised was upgrading the board. I opted for more RAM over a better CPU the first time but also had weird graphics driver issues under Arch when I tried running games on the 11th gen Intel board generally. Being able to clear up hardware-level issues by just installing better hardware, and then suddenly seeing a huge capability boost in what your machine is able to run, cannot be overstated. (I can also run smaller LLMs on it without pushing the limits of my CPU now.)

Some other gripes/musings:

- The DIY config should just bake the basic components into the up-front price. It's one thing to upsell on more expensive components (different expansion cards for instance), but as a customer it's irritating to see individual upcharges for things like bezels that I need as part of the build.

- Aside from wishing there were a good first-party way of recycling the monitor, I would be really interested in seeing a board that's just a USB hub, enabling the use of the body as an I/O device.

- I realize this isn't a Framework issue, but I wish there were an AMD board with more than 2 USB4 ports.

chaosharmonic··on I automated my job application process
This is really fascinating to me, as this same problem drove an down a collection of side projects, ranging from a scraping pipeline[0] to a WIP full-stack application[1][2] for quick-swiping through results (also to better enable other use cases like scaling out to different data sources, but less about the auto apply). Development pace isn't at all breakneck, since I keep getting rabbit-holed into other ancillary stuff -- periodic bot detection issues, upstream pull requests (like user agent switching in Astral, for the bot detection issues), so on -- and have more broadly prioritized using the thing I've been tinkering on over throwing all of my energy into building it... but it's incidentally been a lot of different stuff to tinker on. I've been more intentional about DIYing over LLMs -- for the experiment of it, and to have stuff I can show off -- and it's gotten me into TypeScript for the first time, Deno KV, browser automation, and as an added bonus my understanding of selector logic has made enough of a jump that so far I've been building this entirely in vanilla CSS.

My other consideration is that I'm running on CPU and don't love depending on cloud services, so I've also been mostly getting stuff out of a DOM where I can... but it's occurred to me that there are scoped reasons to consider this, like deeper parsing from job descriptions, and I occasionally toy with it on stuff like HN posts. The prompt format here is a lot more thorough than what I've tried, and I might have to go back and experiment with this some more. I haven't gotten great consistency with this yet myself, and I'm not sure how much that's my prompting and how much it's that I'm using smaller (mostly ~7B) models. Which LLMs are you using for this -- ChatGPT throughout, or are there others?

I've been trying to avoid too much prior art while working on mine, but I'm definitely interested in hearing more about what you've been building around this.

[0] bhmt.dev/blog/scraping (warning: this is 10000 words + code samples, as it goes from browser console to browser automation and covers a few different side projects)

[1] github.com/chaosharmonic/escape-rope

[2] github.com/chaosharmonic/escape-rope-ui

chaosharmonic··on Can LLMs accurately recall the Bible?
I had a similar reaction myself -- I'm an escaped fundamentalist and don't personally have the same convictions about stuff like this, but even if it's on a level that amuses me a little, there's something that feels just a bit heretical about it...

Not necessarily in a way where I would judge it though, and I certainly see how that could have use cases. It just feels a little bit like water gun baptisms, conceptually.

One question of a less spiritual nature -- are we strictly talking about recall from within the models themselves? I've never gotten deep enough into this kind of thing to mess with RAG pipelines, but I wonder if direct access to a translation or several would have any impact on its overall effectiveness for this.

chaosharmonic··on DOJ will push Google to sell off Chrome
> Pedantically, their resources were never combined. They independently tried to compete, and they independently failed.

I'm talking about Windows Subsystem for Android, which leveraged Amazon's app store.

Though honestly, their application strategy since Windows 8 has been fascinating. Watching them:

- ship Linux and Android app support

- replace their first-party browser with a Chrome derivative (and inherit all the PWA support of its parent)

- ship first-party support for .NET and PowerShell on other platforms

- ship React Native builds for Windows and macOS

...all suggest they're really trying not to get into the same hole as what happened with Metro, by giving you a lot of different ways to build something that can then run on modern versions of Windows -- regardless of whether that's even necessarily your goal.

chaosharmonic··on DOJ will push Google to sell off Chrome
Also how much coverage of the Play APIs does it have in general? I'm aware of it but not really up to date on the state of the project
chaosharmonic··on DOJ will push Google to sell off Chrome
> This isn't an isolated attempt. You can see more of the same thing with Android.

Here are more:

- (jumping off of your second point...) Play Services does more than just handle stuff you sign into as a user -- it's also a dependency for everything from push notifications to screen casting. This actively poses issues building competing platforms, in that in order to give developers a path to shipping in your ecosystem you have to provide functioning alternatives to all of those ancillary features. The compatibility issue also impacts user adoption, and then the user adoption and the barren marketplace impact each other... Even the combined resources of Amazon and Microsoft weren't enough to overcome this. (Facebook did, but I'm also not sure forking the OS into a separate VR platform is necessarily the same thing.)

- It also comes with integrity checking, so even if you do find a good third party image, and sideload Google packages, numerous things won't work unless you take part in a dumb arms race that ironically requires you to also root your device. By which I mean a feature that was originally built for banking applications is now used everywhere from streaming services (as an additional layer of DRM) to gacha games (for anti-cheat). This is actually the entire reason I dropped Pokemon Go, personally.

Obligatory link to the excellent Ars piece on this topic: https://arstechnica.com/gadgets/2018/07/googles-iron-grip-on...

chaosharmonic··on Grindr Illegally Used RTO to Thwart Union, Forced Out 1/2 of Staff, NLRB Alleges
> Where I live, any employee can be fired for any reason, or no reason (protected class stuff excepted of course)

Also protected activities.

chaosharmonic··on Grindr Illegally Used RTO to Thwart Union, Forced Out 1/2 of Staff, NLRB Alleges
Not necessarily. The RTO move came immediately after the staff went public with a union drive; the complaint is less a generalized issue about RTO as a form of soft layoffs, and more that this specific soft layoff was a form of retaliation.
chaosharmonic··on Show HN: Web Scraping with Your Web Browser: Why Not?
Not that I know of, I'm just quipping a bit about my own work lol
chaosharmonic··on Web scraping with your web browser: Why not?
> You can find plenty of tutorials on the Internet about the art of web scraping... and the first things you will learn about are Python and Beautiful Soup. There is no tutorial on web scraping with Javascript in a web browser...

Um... [0]

[0] https://bhmt.dev/blog/scraping

chaosharmonic··on CSS @property and the new style
Mine is still pretty minimal, but I've been making a point of using more hand-rolled CSS myself to get a clearer idea of how to work outside of tools like Bootstrap and Tailwind (which I have more direct experience with in professional settings).

Coming from also writing frontends pretty much entirely with JSX (in prod, especially), my understanding of the query logic has generally improved by a lot ever since I happened into a separate rabbit hole on Web scraping.

My related hot take is that the query logic wouldn't be nearly as much of a pain if professional settings used semantic elements more. (Never mind how much bare HTML has defined behaviors you don't then have to maintain, like modals.)

chaosharmonic··on Ask HN: What are you working on (August 2024)?
I've been building local tracking for job search listings[1] in my spare time, along with crawlers[2] as data sources. Mostly in bursts though, bc I've been juggling fleshing out the project with actually using the data. (On a related note, the current working state of the backend hasn't been pushed in a while, and still reconsidering the name.) It's mostly been an API up to this point, and most recently I've been chipping away at a frontend to accompany that, which is beginning to be useful on a personal level. In particular, I just got file upload working. But long-term, I see it as a hybrid between Tinder and a CRM (and I already have "swipe" animations working if not the actual touch handling), where you can bring your own data on jobs and companies -- however you get that, because I'm sure you can find better scraping processes -- and have a way of organizing them.

It's a lot of experiments. On the frontend, I'm dispensing with any design systems or styling libraries, and have opted for vanilla CSS and hand-rolled animations. I'm using React for now, just to get it scaffolded faster with tools I know already, but I've been eyeing a few others, for reasons that range from a standing curiosity about Web Components to new ones about signals. The backend stack is all Deno-based: it includes Astral for any scraping needs you might have, uses Oak for routing, and leverages kvdex for storage. (I also contributed `model.getOne` and `model.updateOne` to the latter as part of initially getting duplicate detection working.) My goal is to keep the whole thing light on external dependencies, outside of a few pragmatic options, and generally work more directly with platform or runtime (or in Deno's case stdlib) functionality where feasible.

I otherwise rebuilt my website over the last few months, using Lume for static site generation with similar aims about shipping something generally lighter (the content there is all Markdown, and so far, everything but the syntax highlighting and the ToC generation are built by hand). Additionally, I've been using it as a home for writing[3][4][5] and not just code, so that I have some other things I can show off. (The last one made the front page a couple weeks ago!)

[1] https://github.com/chaosharmonic/escapeHatch

[2] https://bhmt.dev/blog/scraping

[3] https://bhmt.dev/blog/markdown

[4] https://bhmt.dev/blog/osquery

[5] https://bhmt.dev/blog/sonic_pi

chaosharmonic··on Sonic Pi: Ruby as a Composition Tool
I alluded to this in the OP, but it's mostly due to logistical constraints. While I have a keyboard I like, and could theoretically use for this, all of my instruments have been in storage for the last... while, for messy personal reasons.
chaosharmonic··on Sonic Pi: Ruby as a Composition Tool
Good to know... Can you tell me more? I don't have any iDevices to test this on

(Feel free to hit my email instead of tying up this thread with it -- you can find it on my homepage)

chaosharmonic··on Sonic Pi: Ruby as a Composition Tool
Flatpak and PipeWire.

It actually is available as a Flatpak, and it wasn't until these two things converged that I stopped having to put effort into getting it to work under Linux. (This is actually another reason it took me so long to pick this back up.)

chaosharmonic··on Sonic Pi: Ruby as a Composition Tool
Good catch, I actually had been too eager with a find and replace and missed a couple of these XD
chaosharmonic··on Ask HN: Is there any software you only made for your own use but nobody else?
I've been tinkering on crawlers to doomscroll job boards for me, along with a half-formed hybrid of a CRM and Tinder for swiping through the various results and then tracking them.

I eventually want this to be usable enough to share with others for local use, and to demo on my portfolio, but for now I'm just trying not to spend more time building the tools than I am using them (and harvesting the redirect links is already enough to solve a lot of what makes the search process miserable). In the meantime it's mostly a cluster of experiments that range from teaching myself Web scraping, to generally aiming for a leaner tech stack than my prior full-stack experiences, to specifically asking myself "how much of this can I do in pure CSS?"

While I'm not sure I want the support burden of maintaining the scraping code in public (and anyway it makes more sense imo to just enable bulk upload so you can bring your own sources), I do have a massive beast of a writeup[0] documenting a lot of what went into that, and the API code is at least presentable (see my GitHub) even if the UI is too skeletal for that as of now.

[0] https://bhmt.dev/blog/scraping (fair warning: this is 10000 words not including code samples)

chaosharmonic··on Htmd: A turndown.js inspired HTML-to-Markdown converter for Rust
Storage.

My use case involves scraping job boards so that I don't have to doomscroll them myself anymore, and storing them in Markdown makes them smaller while also removing a bunch of extraneous classes and structure.

Further, the side project I'm working on for managing all of this can then render them in a way that makes sense.

chaosharmonic··on FBI Raids Big Corporate Landlord over Nationwide Rent Hikes
Not that that doesn't make it worse, but also gathering the pricing data of an entire customer base of landlords and selling them analysis back is, on the face of it, just collusion as a service
chaosharmonic··on Rents are rising faster than wages across the country
I should also note that just the first one amounts in practical terms to collusion as a service -- in that what they're ultimately doing is gathering a dataset of pricing data from a bunch of "competing" landlords, who:

- are informed that their data is being collected for this

- offer it up voluntarily to join the scheme

- and are in fact paying them for it

chaosharmonic··on Rents are rising faster than wages across the country
Add to this the 3-part RealPage grift:

- build a platform that tells landlords, algorithmically, how much they can feasibly afford to raise rents YoY, based on what other landlords in their area are charging for similar properties

- write terms of service that require them to use your pricing suggestions most of the time

- target large-scale landlords in big metro areas, to get a lot of market penetration relative to the size of your customer base -- so that when you tell your customers it's based on the behavior of other landlords in your area you actually mean that it's the behavior of their other users, who are also bound to these same terms

I keep losing track of which ones are where, but there have been several price-fixing lawsuits over this -- they range across a couple of AGs, private parties, and I think DoJ

chaosharmonic··on What You Need to Know about Modern CSS (Spring 2024 Edition)
Have a giant hodgepodge of a project log: https://bhmt.dev/blog/scraping

Basically I went from screwing around in a console to reimplementing the same thing using Violentmonkey[0] to eventually using `astral` (a Deno-based browser automation lib)

For a simple example, to walk through a paginated list: check the first page's DOM for a "next page" link. Make a `fetch` request against its href, get the response's HTML content using `res.text()`, and then pass it into a `DOMParser`. Then, check that DOM for another "next" button. And so on. (Obviously running whatever page scraping logic you might need each time you run the loop.)

Another example of why you might do this is, say, to replace sections of a comment history while you overwrite them. (Though, to your point, when I did that to my Reddit account I had to use old reddit for this part in particular. I was trying to do the whole thing within the browser, and that turned out to not be possible in New Reddit bc client-side routing kept spawning new console instances.)

Browser automation libs come with handlers for stuff like selection anyway, but it's still there if you need client-side logic -- you can use `page.evaluate()` to execute code within the browser context and pass data back out.

[0] https://violentmonkey.github.io/

chaosharmonic··on What You Need to Know about Modern CSS (Spring 2024 Edition)
It doesn't, the use case I had picked up a userscript manager for was to experiment with Web scraping.

I was more saying that if someone reading this thread doesn't need pure CSS for this -- like if you have other needs but a similar problem -- there are additional options.

chaosharmonic··on What You Need to Know about Modern CSS (Spring 2024 Edition)
If you don't require pure CSS, nested `querySelector` calls are also great for this -- you can use it to segment out smaller slices of a DOM with more generalized queries, that don't rely on detailed selector logic. I'm a fan of this for its composability, but nesting -- also referenced in the OP -- could be used to achieve a similar result.

You can also create new DOMs out of arbitrary HTML trees with a `DOMParser`, and can then run queries against those. Really useful when run against the responses from `fetch` requests.

chaosharmonic··on Exploit.education
I haven't gotten to this myself, but there's also UnderTheWire[0], which focuses on PowerShell.

[0] https://underthewire.tech

chaosharmonic··on Reddit is full of bots: thread reposted comment by comment, 10 months later
/r/LocalLlama has also had multiple[0][1] trending threads about dead Internet generators just within past week

[0] https://reddit.com/r/LocalLLaMA/comments/1cc0fyy/i_made_a_li...

[1] https://www.reddit.com/r/LocalLLaMA/comments/1cg39yq/deaddit...

chaosharmonic··on Exploit.education
Not quite, it was less just about common vulns and more inclusive of context for where you might have heard about them in the news, even as a layperson. Details like, say, "this technique was used in the Equifax hack"
chaosharmonic··on Exploit.education
Over the Wire [0] is also great if you're curious about this sort of thing. The webapp challenges became one of my initial exposures to SQL -- as well as to injections as a concept -- and later became the basis for a whole rabbit hole on Web scraping that I haven't fully gotten out of haha

The CLI ones are also how I learned (among other things) to run single commands over ssh, which I ended up needing to kill stuck browser processes on my dev box at a previous job. Hilariously, I ran across this (as well as a reason to use it) a week after a boss of mine told me it wasn't an effective use of my off time

There's a tip-of-my-tongue one I keep hoping would crop up again here, but I haven't been able to find since: it was something about a site that showed example exploits inspired by high-profile breaches that happened IRL. It's unfortunate, bc that sounded fascinating

[0] https://overthewire.org/

chaosharmonic··on I applied for a software role at FedEx and was asked to take a personality test
I recently withdrew an application for the first time, after a recruiter connected me w Fidelity, bc their initial "interview" was a 1-way video screen that expected me to devote an hour of my time and gave me 24 hours to do that.

Normally an interview is supposed to enable you to find out more about how the company operates, but honestly that alone was pretty telling.

chaosharmonic··on Billions stolen in wage theft from US workers
Worth noting that lawmakers in New York, where the focus of this piece is, recently unveiled a trio of bills[0] aimed at curtailing wage theft, effectively shutting down businesses that steal $1k or more from their employees.

[0] https://www.propublica.org/article/wage-theft-law-new-york-v...

← PreviousPage 5 of 11Next →