James' Coffee Blog
jamesg.blog · Personal blog · on HN since 2021
James, a developer, writes about personal programming projects, technical writing, data structures, and the indie web.
What HN saysHN links it for his projects such as a feed reader and spreadsheet, and commenters note his open-source tools and Homebrew Website Club.
38HN people shared it
12linked it in comments
147stories submitted
1.1Kstory points
5 months agolast shared
2021people per year2026
Most-shared posts
- 1Challenging programming projects you should try7 people · 26 points · first shared 2024 · 6 comments on HN
- 2Making my bookshelves clickable4 people · 128 points · first shared 2024 · 29 comments on HN
- 3Adventures Building a Spreadsheet in Python4 people · 9 points · first shared 2024 · 1 comments on HN
- 4Advent of Technical Writing (Complete)3 people · 5 points · first shared 2023 · discussion on HN
- 5Software Technical Writing: A Guidebook [pdf]2 people · 181 points · first shared 2024 · 12 comments on HN
- 6My favourite data structure: The trie2 people · 41 points · first shared 2024 · 11 comments on HN
- 7Cataloguing my vinyl collection with computer vision2 people · 24 points · first shared 2024 · 2 comments on HN
- 8Build a Query Language in Python2 people · 13 points · first shared 2024 · discussion on HN
- 9Advent of Technical Writing: Code Snippets2 people · 11 points · first shared 2023 · discussion on HN
- 10Precomputation2 people · 9 points · first shared 2024 · 1 comments on HN
- 11Papers with Code RSS Feeds2 people · 4 points · first shared 2024 · discussion on HN
- 12The Windows 98 Manual2 people · 3 points · first shared 2024 · 1 comments on HN
- 13Building a Lyrics Recommendation Bot2 people · 2 points · first shared 2023 · discussion on HN
- 14Building a personal predictive text engine2 people · 2 points · first shared 2023 · discussion on HN
- 15What are effective ways to sift through new research?2 people · 2 points · first shared 2024 · discussion on HN
What HN people wrote when they linked it
zerojames · 2023-09-17
Hello everyone! I have been co-hosting the Europe Homebrew Website Club for the last year and a half.
During the calls we come together to chat about websites: what you are building, what you want to build, and how you can build it! If you are interested in the web, I (and the rest of community!) would love to see you!
P.S. My site is https://jamesg.blog -- what's your domain name?
rakoo · 2024-12-20
For reference, and not implying it's better or worse than your work OP, I've pleasantly used Fraidycat (https://fraidyc.at/) in the past. It's a webextension, so completely local, and also incorporates the idea of having a "calmer" experience: no infinite list of links to check, different update rates, ...
I love your philosophy page, OP ! (https://jamesg.blog/2024/11/30/designing-a-calm-web-reader/)
fabianholzer · 2024-08-21
Well, it is hard to change a company from the oral/meeting-driven style to an async writing-based culture and a fear even the best resource won't really help with that. But since you've asked also on an indiviual level, I found some nuggets on technical writing in https://jamesg.blog/2024/01/03/software-technical-writing/ - certainly way better than a SEOed listicle
exprez135 · 2024-12-20
The tool actually is open source, so you could self-host it if you wish. MIT license, in Python. The repository [1] is linked in the blog post the author wrote about the project [2].
[1]: https://github.com/capjamesg/web-reader
[2]: https://jamesg.blog/2024/11/30/designing-a-calm-web-reader/
tmtvl · 2024-06-18
Link seems broken? I assume you meant this: https://jamesg.blog/2024/06/18/designing-software/
Crestwave · 2024-03-01
> curl -sL -H "Accept: text/roff" https://jamesg.blog/2024/02/28/programming-projects/ > post.page && man ./post.page && rm post.page
What if I have a post.page in my current directory?
> curl -sL -H "Accept: text/roff" https://jamesg.blog/2024/02/28/programming-projects/ > /tmp/post.page && man /tmp/post.page
What if another user runs the command at the same time, then?
Or what if a malicious user creates a 666 mode /tmp/post.page file beforehand, detects when you finish writing to it, then attaches a payload right before `man` reads it?
Unfortunately, there is no perfect solution for this problem; I run arbitrary html, css, and javascript every day by browsing the web. It's debatable whether switching to command chains instead of piping results in overall benefits. Of course, the same goes for vice versa as well.
_joel · 2024-02-29
From the post
curl -sL -H "Accept: text/roff" https://jamesg.blog/2024/02/28/programming-projects/ > post.page && man ./post.page
If curl's process is interupted, it'll generate a non-0 exit code and the man command won't be exectued. That's how double ampersands work in shell.
penguinjanitor · 2024-02-29
Maybe 'man <(curl -sL -H "Accept: text/roff" https://jamesg.blog/2024/02/28/programming-projects/)' works then?
Gormo · 2024-02-29
There's no need to fork or use an intermediate file; you can just pipe straight into `man`:
`curl -sL -H "Accept: text/roff" https://jamesg.blog/2024/02/28/programming-projects/ | man -l -`
yrro · 2024-02-29
FYI, 'curl -sL -H "Accept: text/roff" https://jamesg.blog/2024/02/28/programming-projects/ | man -l /dev/stdin' works for me - no need to safe the roff file locally.
jjice · 2024-01-04
The actual blog post announcing this also has an epub! This looks very thorough and an interesting Kindle read.
https://jamesg.blog/2024/01/03/software-technical-writing/
CharlesW · 2023-07-29
> I think a framework like this should provide abstractions that allow people to focus on the important part like prompt engineering and productionizing the app and worry less about how to figure out stuff like this.
I appreciate the detailed explanation, thank you!
If you'll permit another noob question, can/should frameworks like this include source attribution for responses? Based on articles like https://jamesg.blog/2023/04/02/llm-prompts-source-attribution/ I'd guess the strict answer would be no, and that any strategies you might use to elicit them might hallucinate citations.