HNHacker News
TopNewBestAskShowJobs

johnsbrayton

51 karma · joined December 27, 2012

submissionscomments
johnsbrayton··on Unread 5.0
Unread 5.0 is available. This update adds huge improvements to article list thumbnails, syncing with FreshRSS and Miniflux, and much more.

Unread is an RSS reader with beautiful typography and a variety of color themes. Unread is available for Mac, iPhone, and iPad.

johnsbrayton··on Cloudflare to introduce pay-per-crawl for AI bots
I distrust Cloudflare so much. I have been trying to get my RSS reader on their Verified Bots list for years, but their application form appears to go nowhere.
johnsbrayton··on [dead]
This is interesting. But I’ve never once even noticed a police officer touching my car’s tail lights when I have been stopped. I am wondering if I was just oblivious or if it does not happen everywhere.

I am in Massachusetts, if that is relevant.

johnsbrayton··on Sonos CEO Patrick Spence steps down after disastrous app launch
I am sure there are rewrites that were necessary or beneficial. But I think it’s fair to say that usually they are a mistake.

And a lot of “bad code” comes from starting to write clean code and then coming across a variety of assumptions that prove incorrect, and real-world considerations that add complexity.

johnsbrayton··on What's your favorite RSS feed reader?
Unread is now available for Mac as well. (Full disclosure: I am the developer.)
johnsbrayton··on Unread: An RSS Reader – Now Available for Mac
BTW feel free to send me feedback directly - support@goldenhillsoftware.com
johnsbrayton··on Unread: An RSS Reader – Now Available for Mac
I encourage you to try Unread and see if you still feel that way. NetNewsWire is a fantastic app, but the two apps are very different.

Unread is also a free app. Premium features are available with a subscription.

johnsbrayton··on Unread: An RSS Reader – Now Available for Mac
Thank you for trying Unread.

I am considering an option to use system standard fonts.

Unread respects night mode, and lets you set one theme for light mode and another for dark mode. I do not have plans for a Mac default theme.

The handling of summary-only feeds: Unread can retrieve the article from the webpage and show you webpage text. You can switch between feed text, webpage text, or both for any article. Unread lets you make that change apply to all articles from that feed. Unread even tries to figure out which feeds are summary-only, and sets the default display mode to webpage text when it is.

johnsbrayton··on Is YouTube starting to protect channel RSS feeds?
I am seeing 404s for YouTube’s RSS feeds. I hope this is a temporary bug.
johnsbrayton··on Git rebase, what can go wrong
I do squash merges but keep the feature branches. So after determining that I made a change as part of a big pull request, I can then look at the commit/blame history for the pull request source branch if necessary.
johnsbrayton··on I don't want to host services but I do
I wish I did. My approach is that I have a ruby script that runs every five minutes and does a bunch of tests. The script takes a couple minutes to execute. It connects to servers via SSH to check things out, does end-to-end-tests, then it writes its result to a JSON file.

It runs on a Linode instance with a webapp whose sole responsibility is to respond to Pingdom requests. There are two URLs that Pingdom looks for: one that returns a 500 if the JSON file indicates an issue that warrants texting me. A second that returns a 500 if the JSON file indicates an issue that warrants emailing me for a lower priority issue. Pingdom is configured accordingly.

If for any reason the JSON file has not been written in the past 10 minutes (?) or cannot be read and parsed, both URLs return a 500.

The script has a log file, so when I get an alert I can check the log file to determine what is wrong.

This is likely atypical, but it works really well for me. My scripts do the work of monitoring the heck out of everything. I only need Pingdom (or a service like it) to monitor two URLs and do the texting/emailing.

But my overall approach is to think of monitoring like unit tests or integration tests: when I think of something that could go wrong, I try to make sure there is monitoring that can detect it and alert me. When possible, before it becomes urgent. And when something does go wrong that is not automatically detected, it's a high priority to add monitoring around that.

johnsbrayton··on I don't want to host services but I do
Great article. While it mentions monitoring, it took me a long time to appreciate how beneficial it is to do monitoring really well. Things like:

• Knowing when disk space, inode usage, or memory usage get high, long before it’s an emergency.

• Automated monitoring of SSL certificate expiration dates, letting you know days before a certificate expires. Whether or not you use something like certbot, have a separate process that automatically tells you a certificate is close to expiration.

• Automated periodic end-to-end testing of moving parts. Like if you run an email server, a process that sends something from your server to a gmail.com address, and then checks the gmail.com inbox to find the message.

• Automated periodic testing that unexposed ports remain unavailable from outside the device or private network.

• Automated checking that a Linux instance is successfully checking for and installing security updates, and is not waiting for a reboot. • Automated checking that backups are working as expected. You might not be able to automate periodic restore testing, but at least check that backups do not appear to be silently failing. • Separating out low priority alerts from high priority alerts. You want to get woken up when necessary, but not for an issue that can wait until you are at your desk.

johnsbrayton··on Use RSS for privacy and efficiency (2021)
JSON Feed - https://www.jsonfeed.org/
johnsbrayton··on New Hampshire set to pilot voting machines that use software everyone can see
Ballot boxes that scan ballots are auditable because they keep the paper ballots.

In my state, election workers have to ensure that the number of ballots is the same as the number recorded by the ballot box on election night - although we don’t recount who voted for who. The ballots are preserved.

johnsbrayton··on Prepare for the OpenSSL 3.x Secvuln
Thank you both!
johnsbrayton··on Prepare for the OpenSSL 3.x Secvuln
Does anyone know what whether the default apt repositories for Ubuntu 22.04 will be updated right away?
johnsbrayton··on Ask HN: How do you deal with the emotions of customer support?
If you aren’t already doing this: keep customer support email out of your personal/business email.

I access customer support email via Fastmail’s web interface. I check it several times a day, but only from my computer (not my phone) and only when I am in the right frame of mind. This helps me a lot.

johnsbrayton··on RSS Feed Best Practices
I mostly nodded as I was reading your advice. I particularly appreciate that you recommend including full article content in feeds, not changing entry IDs, and adding discovery `link` elements to HTML pages.
johnsbrayton··on RSS Feed Best Practices
I develop Unread (https://www.goldenhillsoftware.com/unread/).

I have some complex logic to find a hero image that is sometimes in a feed entry outside the HTML, and prepend it to the top of the article -- but only if there is not another reference to that image in the article. It is complicated because sometimes there will be hero-image.jpeg in the article and hero-image-1200x500.jpeg outside the article, and I have to judge whether the images are the same.

I am in favor of embedding the image into the HTML, and not adding it elsewhere.

johnsbrayton··on You Don’t Need a UI Framework
I am not sure I agree with this for complex webapps. But I do see many brochure websites and news websites that incorporate megabytes of JavaScript and CSS to display text — and I wonder why all that client-side code is necessary.
johnsbrayton··on Ask HN: How to make the home buying/selling process suck less?
Most also only ever go through a small number of real estate transactions in a lifetime. If it’s your first or second purchase or sale, the agent is worth it. On your third or fourth maybe not — but how many buy more than two or three properties in a lifetime?
johnsbrayton··on Extracting web page content using Readability.js and shot-scraper
FWIW I offer a (paid) webpage content extraction API:

https://www.goldenhillsoftware.com/webpage-text-api/

johnsbrayton··on Donald Trump has no Browser on his phone and does not use any kind of PC
Trump is the ultimate stress test of childproofing.
johnsbrayton··on How Dropbox securely stores your passwords
They store hashes, not the password. The article makes that pretty clear.

That said, the title could have been chosen more carefully.

johnsbrayton··on Google recommends inlining small CSS
You're absolutely right.

The guidelines I outlined don't work well if retrieving the CSS requires a subsequent DNS lookup. One could argue that serving CSS from the host that serves the HTML is a good idea, but there are other tradeoffs involved.

johnsbrayton··on Google recommends inlining small CSS
I agree that Google's recommendation here is a poor one in most cases.

It would be better to do the following:

1. Have only one or two external CSS files per page.

2. Serve CSS compressed when possible.

3. Ensure that CSS does not require any server-side processing or compression, that the server just spits out a .css or .css.gz file when the CSS is requested.

4. Ensure that the CSS files are relatively small.

5. Serve the CSS files with a very long cache time and with a version/hash string in the object name.

6. If feasible, make CSS changes relatively relatively rare.

If you do all of these things, adding the style into the web page will clutter your HTML and slow things down for frequent visitors. Yes, it might also increase perceived performance for some users who have not visited the site since the last change to the CSS.

johnsbrayton··on Google APIs are Down
I am seeing similar problems with Google CalDAV.
johnsbrayton··on Dumped by Google
My Mac app, CloudPull, closely resembles that description. It runs in the background on your Mac, backing up Gmail, Google Contacts, Google Calendar, Google Drive, and Google Reader. It performs backups every hour, and keeps snapshots for 90 days.

You can download CloudPull from: http://www.goldenhillsoftware.com/

CloudPull is free for a single account. For $9.99, you can upgrade to get premium features including support for up to ten Google accounts.

John

johnsbrayton··on Hallelujah! CloudPull successfully scrapes "tag" data from Google Reader
The closest thing I know of for other operating systems is BackupGoo. http://www.backupgoo.com/ BackupGoo does not back up Google Reader, but it does back up other Google services.
johnsbrayton··on Google Reader shutting down
My Mac app, CloudPull, will do exactly that. It will also back up Google Reader, Google Calendar, Google Contacts, and Google Drive. http://www.goldenhillsoftware.com/cloudpull/
Page 1 of 2Next →