<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: alexwlchan</title><link>https://news.ycombinator.com/user?id=alexwlchan</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 21:07:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=alexwlchan" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[How I use the notes field in my password manager]]></title><description><![CDATA[
<p>Article URL: <a href="https://alexwlchan.net/2025/password-notes/">https://alexwlchan.net/2025/password-notes/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42625484">https://news.ycombinator.com/item?id=42625484</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 07 Jan 2025 18:18:10 +0000</pubDate><link>https://alexwlchan.net/2025/password-notes/</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=42625484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42625484</guid></item><item><title><![CDATA[Using static websites for tiny archives]]></title><description><![CDATA[
<p>Article URL: <a href="https://alexwlchan.net/2024/static-websites/">https://alexwlchan.net/2024/static-websites/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41866554">https://news.ycombinator.com/item?id=41866554</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 17 Oct 2024 05:00:38 +0000</pubDate><link>https://alexwlchan.net/2024/static-websites/</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=41866554</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41866554</guid></item><item><title><![CDATA[Digital Decluttering]]></title><description><![CDATA[
<p>Article URL: <a href="https://alexwlchan.net/2024/digital-decluttering/">https://alexwlchan.net/2024/digital-decluttering/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41534913">https://news.ycombinator.com/item?id=41534913</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 13 Sep 2024 20:39:58 +0000</pubDate><link>https://alexwlchan.net/2024/digital-decluttering/</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=41534913</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41534913</guid></item><item><title><![CDATA[New comment by alexwlchan in "Creating a Safari webarchive from the command line"]]></title><description><![CDATA[
<p>1/ Why not wget?<p>For this project I wanted a consistent file format for my entire collection.<p>I have a bunch of stuff I want to save which is behind paywalls/logins/clickthroughs that are tricky for wget to reach. I know I can hand wget a cookies file, but that’s mildly fiddly. I save those pages as Safari webarchive files, and then they can drop in alongside the files I’ve collected programatically. Then I can deal with all my saved pages as a homogeneous set, rather than being split into two formats.<p>Plus I couldn't find anybody who'd done this, and it was fun :D<p>This is only for personal stuff where I know I'll be using Safari/macOS for the foreseeable future. I don't envisage using this for anything professional, or a shared archive -- you're right that a less proprietary format would be better in those contexts. I think I'm in a bit of a niche here.<p>(I'm honestly surprised this is on the front page; I didn't think anybody else would be that interested.)<p>2/ Proprietary format: it is, but before I started I did some experiments to see what's actually inside. It's a binary plist and I can recover all the underlying HTML/CSS/JS files with Python, so I'm not totally hosed if Safari goes away.<p>Notes on that here: <a href="https://alexwlchan.net/til/2024/whats-inside-safari-webarchive/" rel="nofollow">https://alexwlchan.net/til/2024/whats-inside-safari-webarchi...</a></p>
]]></description><pubDate>Tue, 04 Jun 2024 15:40:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=40575730</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=40575730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40575730</guid></item><item><title><![CDATA[New comment by alexwlchan in "Making a PDF that's larger than Germany"]]></title><description><![CDATA[
<p>Argh! I knew I was going to make a numerical mistake somewhere, thanks for spotting it. Correction will be up shortly. Thanks for spotting it! :D<p>And thanks for the text example! This looks like what I was trying, but clearly I had a mistake somewhere.</p>
]]></description><pubDate>Thu, 01 Feb 2024 06:33:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=39213281</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=39213281</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39213281</guid></item><item><title><![CDATA[Making a PDF that's larger than Germany]]></title><description><![CDATA[
<p>Article URL: <a href="https://alexwlchan.net/2024/big-pdf/">https://alexwlchan.net/2024/big-pdf/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39210507">https://news.ycombinator.com/item?id=39210507</a></p>
<p>Points: 712</p>
<p># Comments: 149</p>
]]></description><pubDate>Wed, 31 Jan 2024 22:47:47 +0000</pubDate><link>https://alexwlchan.net/2024/big-pdf/</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=39210507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39210507</guid></item><item><title><![CDATA[New comment by alexwlchan in "Cleaning up my 200GB iCloud with some JavaScript"]]></title><description><![CDATA[
<p>Yeah, that was what I thought when I first worked with these APIs! But when you use PhotoKit, you have to explicitly opt-in to downloading files from iCloud.<p>AFAICT, PHAsset is only metadata. When I'm downloading the full-sized images, I use PHImageManager.requestImage() and pass in the PHAsset I'm looking at [1][2]. I know there's something similar for video, but I've never used it.<p>You can control the behaviour by passing a PHImageRequestOptions instance. This includes an isNetworkAccessAllowed bool which controls where Photos.app will download the file from iCloud if not present locally, and it defaults to false.<p>[1]: <a href="https://developer.apple.com/documentation/photokit/loading_and_caching_assets_and_thumbnails" rel="nofollow">https://developer.apple.com/documentation/photokit/loading_a...</a><p>[2]: <a href="https://developer.apple.com/documentation/photokit/phimagemanager#1656241" rel="nofollow">https://developer.apple.com/documentation/photokit/phimagema...</a><p>[3]: <a href="https://developer.apple.com/documentation/photokit/phimagerequestoptions/1616934-isnetworkaccessallowed" rel="nofollow">https://developer.apple.com/documentation/photokit/phimagere...</a></p>
]]></description><pubDate>Sat, 06 Jan 2024 08:21:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=38889599</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=38889599</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38889599</guid></item><item><title><![CDATA[New comment by alexwlchan in "Cleaning up my 200GB iCloud with some JavaScript"]]></title><description><![CDATA[
<p>> I think that all "photos" or "videos" are just a view of the underlying "photo or video object". If you crop a video, the full-size video will remain. Only if you export the video, it will be cropped and the smaller file size will manifest.<p>Yup, the Photos app keeps the unmodified original file, and then any edits/crops are stored separately. You can always revert to the original file and redo your edits. So they might be storing multiple copies of the same image, with and without edits.<p>Which API were you looking at for "file size"?<p>I was able to get the size data from Photos.app with the PhotoKit API [1]. I've only tested it with my library of ~26k items, but it was useful for getting an indicator of the biggest items. (Although I didn't think to check whether exporting a 1GB video caused my iCloud usage to drop by 1GB.)<p>[1]: <a href="https://alexwlchan.net/2023/finding-big-photos/" rel="nofollow">https://alexwlchan.net/2023/finding-big-photos/</a></p>
]]></description><pubDate>Fri, 05 Jan 2024 18:44:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=38882867</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=38882867</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38882867</guid></item><item><title><![CDATA[Tag your infrastructure-as-code resources with a link to their definitions]]></title><description><![CDATA[
<p>Article URL: <a href="https://alexwlchan.net/2023/tag-iac-resources/">https://alexwlchan.net/2023/tag-iac-resources/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37172740">https://news.ycombinator.com/item?id=37172740</a></p>
<p>Points: 10</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 18 Aug 2023 08:23:11 +0000</pubDate><link>https://alexwlchan.net/2023/tag-iac-resources/</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=37172740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37172740</guid></item><item><title><![CDATA[New comment by alexwlchan in "Ask HN: Could you share your personal blog here?"]]></title><description><![CDATA[
<p><a href="https://alexwlchan.net/writing/" rel="nofollow noreferrer">https://alexwlchan.net/writing/</a><p>I passed 400 posts a month or so ago; been writing for about a decade. It's a mix of programming, arty stuff, digital preservation, personal thoughts – the first link describes the sort of writing I do, and examples of each.<p>Some favourites:<p>* <a href="https://alexwlchan.net/2022/screenshots/" rel="nofollow noreferrer">https://alexwlchan.net/2022/screenshots/</a> – You should take more screenshots, a perennial darling of HN<p>* <a href="https://alexwlchan.net/2022/marquee-rocket/" rel="nofollow noreferrer">https://alexwlchan.net/2022/marquee-rocket/</a> – Launching a rocket in the worst possible way, aka abusing the <marquee> tag<p>* <a href="https://alexwlchan.net/2022/bure-valley/" rel="nofollow noreferrer">https://alexwlchan.net/2022/bure-valley/</a> – A day out at the Bure Valley Railway, trains!<p>* <a href="https://alexwlchan.net/2022/snapped-elastic/" rel="nofollow noreferrer">https://alexwlchan.net/2022/snapped-elastic/</a> – Finding a tricky bug in Elasticsearch 8.4.2, the sort of deep-dive debugging I don’t do often enough<p>(And a fairly basic post about prime factorisation with Python has been on the HN front page several times, for reasons I do not understand at all)</p>
]]></description><pubDate>Tue, 04 Jul 2023 20:11:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=36591933</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=36591933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36591933</guid></item><item><title><![CDATA[New comment by alexwlchan in "Testing JavaScript without a (third-party) framework"]]></title><description><![CDATA[
<p>This is a follow-up to Writing JavaScript without a build system (<a href="https://jvns.ca/blog/2023/02/16/writing-javascript-without-a-build-system/" rel="nofollow">https://jvns.ca/blog/2023/02/16/writing-javascript-without-a...</a>)<p>Discussed here: <a href="https://news.ycombinator.com/item?id=34825676" rel="nofollow">https://news.ycombinator.com/item?id=34825676</a></p>
]]></description><pubDate>Tue, 21 Feb 2023 06:58:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=34877660</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=34877660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34877660</guid></item><item><title><![CDATA[Testing JavaScript without a (third-party) framework]]></title><description><![CDATA[
<p>Article URL: <a href="https://alexwlchan.net/2023/testing-javascript-without-a-framework/">https://alexwlchan.net/2023/testing-javascript-without-a-framework/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=34877659">https://news.ycombinator.com/item?id=34877659</a></p>
<p>Points: 3</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 21 Feb 2023 06:58:15 +0000</pubDate><link>https://alexwlchan.net/2023/testing-javascript-without-a-framework/</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=34877659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34877659</guid></item><item><title><![CDATA[Launching a rocket in the worst possible way]]></title><description><![CDATA[
<p>Article URL: <a href="https://alexwlchan.net/2022/12/marquee-rocket/">https://alexwlchan.net/2022/12/marquee-rocket/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=34017219">https://news.ycombinator.com/item?id=34017219</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 16 Dec 2022 17:16:58 +0000</pubDate><link>https://alexwlchan.net/2022/12/marquee-rocket/</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=34017219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34017219</guid></item><item><title><![CDATA[New comment by alexwlchan in "Australian activist can't use encrypted apps, must let police access phone"]]></title><description><![CDATA[
<p>Apparently so: <a href="https://en.wikipedia.org/wiki/List_of_works_rejected_by_the_British_Board_of_Film_Classification" rel="nofollow">https://en.wikipedia.org/wiki/List_of_works_rejected_by_the_...</a><p>I’m surprised by how long the list is; I thought it was much rarer and more exceptional. The only time I’d heard of them rejecting a film was when it showed unsimulated animal cruelty, but I guess there must be other reasons.</p>
]]></description><pubDate>Mon, 01 Aug 2022 11:41:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=32304609</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=32304609</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32304609</guid></item><item><title><![CDATA[YAML file will self-destruct in five seconds]]></title><description><![CDATA[
<p>Article URL: <a href="https://alexwlchan.net/2019/12/yaml-impossible/">https://alexwlchan.net/2019/12/yaml-impossible/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21769826">https://news.ycombinator.com/item?id=21769826</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 12 Dec 2019 06:54:07 +0000</pubDate><link>https://alexwlchan.net/2019/12/yaml-impossible/</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=21769826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21769826</guid></item><item><title><![CDATA[New comment by alexwlchan in "The Design and Use of QuickCheck"]]></title><description><![CDATA[
<p>For CI systems like Travis, people add it to the cached directories, and it's shared between runs. I know Travis, Circle and AppVeyor all have some way to cache data between runs – nominally for dependencies, but .hypothesis works too.<p>According to our docs (<a href="http://hypothesis.readthedocs.io/en/latest/database.html?highlight=database#sharing-your-example-database" rel="nofollow">http://hypothesis.readthedocs.io/en/latest/database.html?hig...</a>), you can check the examples DB into a VCS and it handles merges, deletes, etc. I don't know anybody who actually does this, and I've never looked at the code for handling the examples database, so I have no idea how (well) this works.<p>If tests do throw up a particularly interesting and unusual example, we recommend explicitly adding it to the tests with an `@example` decorator, which causes us to retest that value every time. Easier to find on a code read, and won't be lost if the database goes away.<p>(Disclaimer: I'm a Hypothesis maintainer)</p>
]]></description><pubDate>Tue, 13 Jun 2017 06:06:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=14543112</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=14543112</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14543112</guid></item><item><title><![CDATA[New comment by alexwlchan in "Truecrypt report"]]></title><description><![CDATA[
<p>There's a paragraph in the Phase I Audit Report (published a year ago) which includes a checksum:<p>> The iSEC team reviewed the TrueCrypt 7.1a source code, which is publicly available as a zip archive (“truecrypt 7.1a source.zip”) at <a href="http://www.truecrypt.org/downloads2" rel="nofollow">http://www.truecrypt.org/downloads2</a>. The SHA1 hash of the reviewed zip archive is 4baa4660bf9369d6eeaeb63426768b74f77afdf2.<p>The Phase II report (today;s release) claims to be auditing 7.1a, so I assume it's exactly the same version and ZIP file.<p>Last June, they published "a verified TrueCrypt v. 7.1 source and binary mirror", including file hashes, on GitHub: <a href="https://github.com/AuditProject/truecrypt-verified-mirror" rel="nofollow">https://github.com/AuditProject/truecrypt-verified-mirror</a><p>I just cloned that repo and inspected the source ZIP; the SHA1 sum matches what they quote in the report.</p>
]]></description><pubDate>Thu, 02 Apr 2015 20:26:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=9312979</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=9312979</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9312979</guid></item><item><title><![CDATA[New comment by alexwlchan in "Ask HN: How do technical non-developers help with open source projects?"]]></title><description><![CDATA[
<p>Stack of pull requests coming your way :-)<p>(I was having some bad dreams, and apparently proofreading healthcare documents was what I needed to shake it. Thanks!)</p>
]]></description><pubDate>Thu, 02 Apr 2015 03:21:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=9308480</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=9308480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9308480</guid></item><item><title><![CDATA[New comment by alexwlchan in "John Siracusa's OS X 10.8 Mountain Lion Review"]]></title><description><![CDATA[
<p>Even if you could raise the money, I doubt that he would do it, or that it would be comparable to his OS X articles.<p>If you listen to Hypercritical (his weekly 5by5 podcast), you'll have heard that he struggles just getting the OS X reviews out the door. Since Apple is trying to move to a yearly release cycle, that’s just going to get harder. When’s he going to get the time to write an Ubuntu review?<p>It’s also worth considering that, “He has been a Mac user since 1984” (from his Ars bio). Part of what makes his reviews so good is his deep-rooted knowledge of the Mac platform, and having watched OS X (and previous versions of Mac OS) “grow up”, so to speak. I don’t know how much experience he has with Ubuntu, but I bet it’s not as extensive as OS X.<p>And that’s putting aside all the arguments of whether it’s a good thing to do, or whether the Ubuntu community would want him to write such a thing.</p>
]]></description><pubDate>Thu, 26 Jul 2012 12:09:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=4295575</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=4295575</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4295575</guid></item><item><title><![CDATA[New comment by alexwlchan in "The Marco.org Review of John Siracusa’s Review of OS X 10.8 Mountain Lion"]]></title><description><![CDATA[
<p>> I'd love to get a feed of Daring Fireball with just the longer pieces.<p>You’re in luck: <a href="http://daringfireball.net/feeds/" rel="nofollow">http://daringfireball.net/feeds/</a><p>> A feed containing only the longer, feature articles (like the “old” DF feed) is available as a less-frequently-updated alternative: <a href="http://daringfireball.net/feeds/articles" rel="nofollow">http://daringfireball.net/feeds/articles</a></p>
]]></description><pubDate>Wed, 25 Jul 2012 14:40:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=4291141</link><dc:creator>alexwlchan</dc:creator><comments>https://news.ycombinator.com/item?id=4291141</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4291141</guid></item></channel></rss>