HNHacker News
TopNewBestAskShowJobs

saltymimir

274 karma · joined April 27, 2020

submissionscomments
saltymimir··on Total monthly number of StackOverflow questions over time
The obvious culprit here are the LLMs, but I do wonder whether Github's social features, despite its flaws, have given developers fewer reasons to ask questions on SO?

Speaking from experience, every time I hit a wall with my projects, I would instinctively visit the project's repo first, and check on the issues / discussions page. More often than not, I was able to find someone with an adjacent problem and get close enough to a solution just by looking at the resolution. If it all failed, I would fall back to asking questions on the discussion forum first before even considering to visit SO.

saltymimir··on Ask HN: What skills do you want to develop or improve in 2025?
Finally finish a workable infinite canvas + decentralized knowledge graph project. Been way too distracted with other subplots of the project the past few months.

As for the non-technical stuffs, I'd like to at least breach the 25-minute mark in my 5ks (just under 26 minutes flat is fine). Running's been such a revelation for me this year. Definitely agreed with the idea that avoiding burnout is mostly a matter of doing the inverse of what you do on a regular basis[1].

[1]: https://gwern.net/backstop#burnout

saltymimir··on Species in Pieces
Pleasantly surprised that this site’s still around. I remember seeing this back in college, and it was one of the catalysts that got me into building sites and this career in the first place.

(I’m 30 btw, so this site’s quite old by internet standards.)

saltymimir··on Language Evolution: Problems, and What Can We Do About It?
These are the slides that are about to be presented (or has been presented already?) by some of the TC39 committee members.

Some genuinely interesting bits about how the committee sees the entire Javascript ecosystem today and what they envision the future will (probably) look like.

saltymimir··on Ask HN: How to handle Asian-style “Family name first” when designing interfaces?
Ohh boy, as someone who works on a travel booking, service serving customers in Asia, this problem hits hard. I guess the answer depends on how you plan to handle the names once they got submitted.

I happen to be handing that data over to airlines, which has some of the less forgiving, yet fragmented name requirements. If you handle this incorrectly, your customer can't fly, even after they paid for the flight. And for those who say that this doesn't matter as much: It absolutely does. People do get confused by this more frequently than you think. I've seen people losing an entire trip that they saved for, all because of unclear naming requirements.

The way I deal with this is to provide a country and locale specific name fields. You don't have to detect the geolocation or track the user for this, just let them choose whatever locale setting they want, and give them the "sensible" layout. Here are some examples:

- In Vietnam, we use last name then first name.

- In Indonesia, we use first name, then last name, but also give an option to declare that the person doesn't have a last name.

- In Singapore, we use a single field to input the first name and last name.

Even when you've handled the layout convention carefully, the 3rd party you're handing the data to, if one exists, might not give the same care and attention that you do. In my case: some airlines just haven't gotten around the idea that some people simply don't have last names. When a person with a single name wants to fly, airlines want the customer to use the name for both first and last name (e.g. If the person's name is David, then the airline expects "David David"). If you require First Name and Last Name as the input, and don't elaborate on how to fill them, the customer might simply fill the last name with a dot (".") character. The airlines / any other 3rd party won't accept that. For this, I suggest to detail out the ways in which you handle the data and go talk to your providers, if any.

All in all, it's a pretty tough challenge, and the wisdom around this isn't going to fit inside a single HN post. I do commend you for actually thinking about this problem. Good Luck.

saltymimir··on Glykon, was an ancient snake god
> As with previous Macedonian snake cults, the focus of worship at the temple was on fertility. Barren women would bring offerings to Glycon in hopes of becoming pregnant. According to Lucian, Alexander had less magical ways of causing pregnancy among his flock as well.

Wondering what they are :)

saltymimir··on Pocket gets worse the more you use it (2019)
Here's a bookmarklet I've been using to submit HTML page data to a webhook endpoint: https://gist.github.com/theAJFM/c15535c0b7a994b126f41e127466...

It extracts the page's title, the url, and even prompts you to give it some tags if you need some.

You still need to host your own webhook to save it, but that too should be straightforward. Just use firefox's readability.js to strip the bloat elements and save it in your database. You could save it into Airtable like what OP's been doing, or even save it as a file in your cloud storage.

saltymimir··on Pocket gets worse the more you use it (2019)
I decided to take a look at the redesigned mobile app after some time not using it. Can't believe how much worse it got.

I don't appreciate their move towards "social" feed sure, but the reader has genuinely gotten worse. I remember that it used to have the options to adjust:

- Line Height

- Page Width

- Text Alignment

- Fonts beyond the defaults (for paid subscribers, which I am one).

In the new app, it was all gone. Yet, I'm still paying the same premium price for it. The web app still has those perks, but it's probably because there hasn't been any update to it for the past 2 years or so.

I haven't had any use for the app for some years now. Like what many say in this thread, it's not that hard to build a system that replaces it well enough. You just need to make it scrape links, turn them to markdown (personal preference), and index the entire content for FTS in SQLite.

Thanks to the OP for reminding me to cancel my subscription. Now I just need to find a way to export my huge pocket archive before the subscription renews.

saltymimir··on Ask HN: More magazines like Quanta and Noema?
The magazine has ceased publication, but I really enjoyed reading https://reallifemag.com/.
saltymimir··on Show HN: Readwise Reader, an all-in-one reading app
Was a bit skeptical about how good this was gonna be, but I'm definitely impressed.

The improvements are a lot more apparent on desktop. I love the fact that I can do pretty much anything using the command palette and keyboard shortcuts. Feels like this is the kind of browsing experience that I'm most contend with. The GPT-3 "ghostreader" feature was also great; most of the summary / text generations fulfilled my expectations.

If I have to pick on something: the mobile app browsing experience isn't that much better from Pocket or Instapaper. The scrolling and animation feels a bit laggy in my iPhone. The "ghostreader" feature in the app feels very limited and awkward to enable here as well.

saltymimir··on Markdown, Asciidoc, or reStructuredText – a tale of docs-as-code
In my (admittedly) brief experience dabbling with asciidoc, I really don't like the opinionated approach on how styles should be injected to the generated HTML output.

Say that I generate a table using asciidoc's built-in syntax, the output will always generate HTML elements with the CSS classes already defined:

    <table class="tableblock frame-all grid-all stretch">
      <colgroup>
        <col style="width: 50%;">
        <col style="width: 50%;">
      </colgroup>
      <thead>
        <tr>
          <th class="tableblock halign-left valign-top">Column heading 1</th>
          <th class="tableblock halign-left valign-top">Column heading 2</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td class="tableblock halign-left valign-top"><p class="tableblock">Column 1, row 1</p></td>
         <td class="tableblock halign-left valign-top"><p class="tableblock">Column 2, row 1</p></td>
        </tr>
        <tr>
          <td class="tableblock halign-left valign-top"><p class="tableblock">Column 1, row 2</p></td>
          <td class="tableblock halign-left valign-top"><p class="tableblock">Column 2, row 2</p></td>
        </tr>
      </tbody>
    </table>
For me, this output is needlessly verbose for a setup that uses nothing but default flags. Worse, it doesn't provide much of a leeway to change the classes or even let me use some other ways to style the elements.

I prefer markdown's (and markdoc's) approach to styling, in that it doesn't really try to define any. My take on this is that stylings of the output should be be coupled with the toolings, as opposed to being bolted into the language standards.

edit: formatting

saltymimir··on We became experts on Google Play Store policy violations
Our experience with this has been the complete opposite. Apple's reliance on real human reviewers was precisely the issue for us. Your mileage may vary by a lot depending on the region you operate in.

Google's process, while not perfect, made it at least transparent that the process is going to take a while. And at least in our case, the process involved some real people at the end to point out the specific concerns that actually lead to actionables.

Apple's process is slow, and seems to be worse in my region; it's clear that they're severely understaffed here. We spent a good 30 days trying to fix a crash, and they were all spent for either submitting a new app version to Apple, waiting for the review to finish, getting it rejected for some very vague reasons, and waiting for a response from them to elaborate their reasons for the rejection.

saltymimir··on Obsidian 1.0 – Personal knowledge base app
I had the opposite experience with Syncthing + Logseq. The way Logseq is designed, refreshing the entire graph is a must before you even consider editing your pages in another device. I forgot to do it once and after some time editing my pages, I realized that I lost a good chunk of my notes from several days back.
saltymimir··on Obsidian 1.0 – Personal knowledge base app
They do have an Android app now, though? You can download the apk from their github releases page[1], if you don't mind sideloading apps.

[1]: https://github.com/logseq/logseq/releases

saltymimir··on Obsidian 1.0 – Personal knowledge base app
Congrats! Been using the insider builds, so I've used the overhauled UI for quite a while. What I've been waiting for is the mobile app, and as expected you folks delivered. Hands down the best note-taking experience in mobile platforms, and it's not even close.

I'm still using Logseq as my PKMS app by default, but seeing how active you've been with pushing genuinely new (and useful) changes, I might just reconsider this.

saltymimir··on Web Apps better than Electron Apps Because uBlock
If you don't mind the extra setup, you can block domains at DNS level. Something like Pi-hole[1] or NextDNS[2] will prevent those tracker requests in all apps in your device and/or network.

1: https://pi-hole.net

2: https://nextdns.io

saltymimir··on NetNewsWire: Free and Open Source RSS Reader for Mac and iOS
Save for the fact that it doesn't support non-Apple platforms, NNW is pretty much perfect for me. No upsells of extra features or even a need to create an account. Just a very good, clean, and simple reader.
saltymimir··on Interactive Docs with Markdoc
Seconding this, and if anyone is willing to add a performance angle in their assessment, that'd be great too.

I haven't evaluated Markdoc fully, but I did have some experience using both MDX 2 and markdown-it—the parser used by Markdoc. I can honestly say that MDX 2 (and remark for that matter) is a lot slower in parsing bigger markdown files. Anecdotally, I saw markdown-it outperforming remark by a factor of 20 in terms of generating the file's AST alone.

Markdoc with its added complexity may add some penalty to the parsing performance, but does it do so to a point where it gets considerably closer to MDX? I doubt that this is the case, but would love to see someone verify this.

saltymimir··on Show HN: Extract Markdown, HTML or text from content-heavy websites
I maintain something similar today, and I'm guessing that the OP uses some combination of the following libraries too (?):

- Readability (https://github.com/mozilla/readability) to strip down the page's HTML to a bare minimum.

- Turndown.js (https://github.com/mixmark-io/turndown) to convert the plain HTML to a markdown format with the GFM plugins enabled.

- Puppeteer (https://github.com/puppeteer/puppeteer) to download the page.

It costs me only several cents to parse an entire page, and I think OP can make some money out of this if they get the pricing right.

Also, some unsolicited feedbacks on the API:

- An option to enable/disable javascript would be great, since not all pages actually need to have it enabled to be parsable.

- You can probably tweak the header of the headless browser to bypass the paywalls of some sites. Some are as simple as setting the useragent to a crawler bot (like `googlebot`).

- Maybe an option to fill in the front matter (https://jekyllrb.com/docs/front-matter/) with a metadata given in the payload?

saltymimir··on I'm Publishing My Next Book on Substack
It might just be me, but I'm not sure what substack has over other platforms that offer better commission rates or even flat fees. They have some social graph / discovery features, but it feels very half-baked at this point. Most of the people who're tremendously successful on substack, Ted included, seem to already have an audience outside of the platform itself anyway.

In fact, some of the controls that I have to cede to them just to get my posts pay-walled were just unacceptable to me. Just the other day I realized that it's very easy to bypass the paywall to any substack websites. You just simply have to:

1. Change the useragent to 'googlebot'

2. Clear your cookies, if you'd visited the before.

3. Profit(?)

I get that they probably did it for some SEO optimization purposes, but I'd like to have to liberty to opt out of this behavior for my newsletter, hosted under my own domain no less.

saltymimir··on Serverless DNS: Self-hosted DNS resolver at the edge
Not the author of this app, but I found this to be very useful for circumventing domain blocks made by ISPs / sovereign entities[0].

Let's say that the government / some central entity takes the blocking a step further by blocking Cloudflare's DNS-over-HTTPS (DoH) endpoint. I could just spin up a new instance on fly.io (or really any other service of your choosing), and use the new endpoint as the new DoH endpoint.

What I like about this service is the fact that I can still use a blocklist to block trackers & ads, just like how you would with NextDNS. Most of the services listed in the example page are pretty generous with their free plans, so the whole setup may end up being cheaper than the Pro plan[1] of NextDNS.

[0]: A number of quite essential services just got blocked by the government where I live, so this is a very real possibility.

[1]: https://nextdns.io/pricing

saltymimir··on After Obsidian and Logseq, I give Dendron a try
IMO: Obsidian does a good job in making me reflect and review notes, but not enough to prompt me to write more of them. Logseq does the exact opposite.

There's nothing wrong with Obsidian per se, but that's probably the crux of my issue with it. I'm not very naturally inclined to taking notes in the first place, and Obsidian just hasn't made me take that many more notes than I used to.

Logseq on the other hand has an editor that makes it hard for you to even write longer / multi-line blocks. In some ways, I suspect that writing in bullet points or smaller blocks encourages shorter but more frequent note writing, and my brain seems to respond well to that. Obsidian can technically do that to some degree, but the editor doesn't do enough to make me write shorter and more atomic notes, even with the Outliner[0] plugin installed.

[0]: https://github.com/vslinko/obsidian-outliner

saltymimir··on After Obsidian and Logseq, I give Dendron a try
Like (almost) everyone here, I've gone through a lot of note-taking apps in the market. I ended up with a setup of alternating between Obsidian and Logseq, just like the OP at one point.

I like Obsidian a lot. The text editor-like, but not quite a text editor experience seemed like the sweet spot for me. Among all of the apps I tried, it probably has the best reading experience, especially for long-form writings. But then I realized that it didn't really get me to write more notes, and it now acts more like a catalogue for things that I found online. It's just not that different from writing notes in your go-to text editor, and if VSCode couldn't make me write more notes, then neither would Obsidian.

I tried out Logseq later on, and the experience was the complete opposite. The app got me to dump my brain very quickly; writing notes actually became quite addicting. The problem is I hardly ever got back to re-reading my notes. I just never got used to the workflow of jumping through links and reading blocks that look hastily patched up together.

Wish I could find a way to make a reading experience as pleasant as Obsidian, and the writing experience that's as engaging as Logseq. A this point, though, I'm sort of stuck with these two.

saltymimir··on Ask HN: Do You Use RSS?
It's my go-to way of subscribing to blogs / news feed. For every subscription, with some automations, I fetch the newest item(s) once every day and put the content of each item in a markdown file within a cloud storage that syncs to my devices. I can then read those feeds from any markdown editor. If I feel like I'm done with a post, I can just delete it from the folder.

The only pain point I can think of has more to do with feeds getting completely re-built from scratch. Haven't quite figured out a way to de-duplicate repeat feeds when that happens.

saltymimir··on Ask HN: What are you using for a RSS Reader?
I use pipedream[0] to subscribe to RSS feeds and save the file into my cloud storage as a markdown file, all synced to my local device. I can then read them by using whatever markdown reader I have.

[0]: https://pipedream.com. Though I'd say that it's pretty easy to bootstrap a this using a period script in your own device, considering that you probably only need to fetch the feeds once a day at most.

saltymimir··on Ask HN: Have you created programs for only your personal use?
Yep, mostly to do with saving articles and replacing my use of Pocket.

I host a simple API that converts web pages to markdown files using headless browsers and save them into my cloud storage. I can now read the pages offline and free from clutter using a simple markdown viewer or use my own personal website to read them online.

I also have an email address that converts the mails received in it and turn them to markdown files using the same headless browser mechanism. Now my local text editor can sort of act as a mail inbox of its own.

I'm pleasantly surprised by the things I could accomplish with Shortcuts (Mac, iOS) + some webhooks.

saltymimir··on Ask HN: Share your personal site
https://repo.codegazer.io/

Basically a smorgasbord of articles I found online and things I actually wrote.

Mostly intended for personal consumption though, so I tend to intentionally break the site on a regular basis.

Everything here is written in Markdown / MDX. Hosting is done on cloud services (e.g. Google Drive, Dropbox, sometimes S3). All written in text editors, synced on the fly using either commands I built myself / the cloud service's desktop client.

No explicit build process before publishing, all markdown pages get converter on a per-request basis. That's why loading the page the first time could take a while.

Built mostly with Typescript, Next.js, Vercel, and Cloudflare.