HackerTrans
TopNewTrendsCommentsPastAskShowJobs

dougdonohoe

no profile record

Submissions

Show HN: DD Photos App – desktop front end to ddphotos photo album site gen

github.com
2 points·by dougdonohoe·21일 전·2 comments

Show HN: DD Photos – static photo albums, now with Docker and 1-command deploy

ddphotos.donohoe.info
4 points·by dougdonohoe·2개월 전·0 comments

iCloud Photo Sharing Sucks – Can AI Help Me Replace It?

medium.com
3 points·by dougdonohoe·4개월 전·0 comments

Show HN: DD Photos – open-source photo album site generator (Go and SvelteKit)

github.com
71 points·by dougdonohoe·4개월 전·22 comments

comments

dougdonohoe
·21일 전·discuss
Discussion of original release of DD Photos: https://news.ycombinator.com/item?id=47322838
dougdonohoe
·21일 전·discuss
I was frustrated with photo sharing sites. Apple's iCloud shared albums take 20+ seconds to load, and everything else comes with ads, cumbersome UIs, or social media distractions. I just want to share photos with friends and family: fast, mobile-friendly, distraction-free.

So I built DD Photos, an open-source, self-hosted publishing tool. Example: https://ddphotos.donohoe.info/.

It worked great. The sites are fast, but it was developer-heavy (Go, Node, libvips), so I Dockerized it.

It was still tech-heavy (requiring typing in the Terminal and familiarity with unix commands), so I decided to build a friendly front-end that tries to remove the biggest barriers (e.g., editing YAML, CLI, etc.).

I built it in Java/Swing, leveraging the app engine I built 20+ years ago for DD Poker (https://www.ddpoker.com / https://github.com/dougdonohoe/ddpoker). Not surprisingly, it required a tiny bit of modernization :-)

But I got it done and I think (hope?) it is actually easy enough for non-techies to use it. It's also helpful to techies too (I mean who loves editing YAML?). I use it now (eat/dogfood).

I'm seeking feedback and anyone willing to give it a spin. Works on Mac/Linux/Windows.

Thanks!

Doug
dougdonohoe
·4개월 전·discuss
I had asked about Hugo in the first prompt, and it told me what it was, and then my prompt was:

"Huh, could you build my functionality using Hugo [link to repo]? I mean I'm using dynamic JS features"

And the above was the response. I didn't put more than 10 seconds thought into it. The commenter claimed I could build the site with less code with a tool I had never heard of and I was curious if I had missed something.
dougdonohoe
·4개월 전·discuss
I've never heard of Hugo until I saw subpixel's comment. I was curious and asked Claude if I could have built my site using it. Claude's response:

Short answer: technically yes, but it would be a worse fit and require real workarounds.

Here's why your project strains Hugo's model:

The core mismatch — client-side JSON fetching. Your architecture has photogen generate static JSON index files, and then the SvelteKit frontend fetches those at runtime in the browser. This is intentional — it means the HTML shell is pre-built and tiny, and photo data loads dynamically. Hugo assumes it will have all content at build time and bake it into HTML. Your approach of loading JSON client-side is fundamentally at odds with Hugo's philosophy.

PhotoSwipe lightbox + swipe gestures. This is a JavaScript-heavy component for the full-screen photo viewer with swipe, keyboard navigation, and captions. Hugo doesn't prevent you from using JS, but you'd be bolting it on rather than having it as a first-class part of your component model. Managing that in Svelte components vs. Hugo templates is a real quality-of-life difference.

Shareable photo permalinks (e.g. /albums/patagonia/5) that resolve client-side — this kind of dynamic routing within a static shell is SvelteKit's bread and butter. In Hugo you'd have to either pre-generate a page per photo (slow builds, lots of files) or do ugly JS hacks.

Dark/light theme toggle, justified grid layout, OpenGraph tags — these are all doable in Hugo, but you'd essentially be writing a SvelteKit app inside Hugo's templating language, which is less ergonomic.

The bottom line: Hugo shines when your content is known at build time and the interactivity needs are minimal. Your site has a static shell but runtime-dynamic data loading and a rich JS-driven UI. That's exactly the gap SvelteKit fills. Hugo looks applicable at a glance — but once you look at what the site actually does, SvelteKit is the right call.
dougdonohoe
·4개월 전·discuss
Correct - if the resized image is already there it is skippped (this can be overwritten with -force flag).
dougdonohoe
·4개월 전·discuss
Thanks, appreciate it. I'll checkout thumbsup too.
dougdonohoe
·4개월 전·discuss
No real challenges. I made the Go `photogen` tool run in parallel using goroutines (e.g., 3-6 depending on your CPU). It's pretty fast at churning through hundreds of photos.
dougdonohoe
·8개월 전·discuss
My question to my team was always "Is it done, or done-done?". Which is another way to say this, I suppose.
dougdonohoe
·9개월 전·discuss
I worked in the Bay Area during the dot-com boom and large swathes of time were effectively 996. I was generally irritable, gained a bunch of weight (up to 220; am now 170), and eventually burned out. What was old is now new. Perhaps AI encourages 996'ing, but people will still burn out just the same.
dougdonohoe
·9개월 전·discuss
Feel this. I don't even use Alexa, Siri or Hey Google in my house. My fridge is a fridge and not wifi enabled.
dougdonohoe
·9개월 전·discuss
Soylent Green is people!
dougdonohoe
·10개월 전·discuss
Duolingo makes it hard to ignore - the whole app is gamified. It's like ignoring water while swimming in the ocean. Yes, you can turn off notifications, but sometimes they were helpful.

I think gamification triggers some innate feature of our brain, just like TikTok or Reels or mobile games, etc. It is designed to be hard to ignore.
dougdonohoe
·10개월 전·discuss
I can relate to this post - great thoughts!

I took Spanish in high school and college, so had a rudimentary understanding of verb tenses and some vocabulary. Before I walked the Camino de Santiago el Norte (45+ days in Spain), I used Duolingo to brush up on my Spanish.

It helped my reading most, my speaking a fair amount and my listening/conversation the least. I was able to ask questions, but was often flummoxed at any reply that wasn't the most basic.

I grew to hate the gamification, but was addicted to my "streak' also ... using math lessons when I didn't feel like doing a Spanish lesson. The so-called "leagues" were kind of useless since the same people weren't in the league from week to week. Any friendly competitiveness to "learn more" was lost when randomly assigned to a different group each week.

I finally abandoned the app this spring.

I'm trying Babbel now since I'm going back to Spain for a month and Patagonia next year.
dougdonohoe
·10개월 전·discuss
[flagged]
dougdonohoe
·11개월 전·discuss
I don't have confidence that systems built on top of a specific model will work the same on a higher version. Unlike, say, the Go programming language where backwards compatibility is something you can generally count on (with exceptions being well documented).

I wouldn't want to be in charge of regression testing an LLM-based enterprise software app when bumping the underlying model.
dougdonohoe
·6년 전·discuss
Um, no. My day starts at 7:30 or 8:00 am. Standup is at 11am. I'm about 1/2 done with the day when standup happens. Other folks on my team start work at 10:00 am, so it's closer to the start of the day. I prefer having 1/2 day to get stuff done by the time standup rolls around.