Longer posts The RSS feed for Longer posts.

  • Something Is Going On

    I’m still working on this, but I’m heading in the right direction. I realize that every blog post should have a title so that my RSS flow feed looks great. 👀 Continue reading →

  • I'm rebuilding Flickr!

    Well, maybe not, but here’s a description of my recently created photo-sharing webapp. And I have many more ideas to improve this. Photo Sharing WebApp - Feature Overview A modern, full-stack travel photo gallery built with Next.js 15, featuring intelligent photo management, interactive maps, and seamless cloud storage integration. 🌟 Highlights Zero-Database Architecture: Uses Vercel Blob for photos and Redis (via Vercel KV) for metadata Privacy Controls: Public, unlisted, and private album visibility options Interactive World Map: Displays photo locations extracted from EXIF GPS data Responsive Design: Optimized for all devices from mobile to desktop Admin Panel: Complete photo management without leaving the browser 🎨 Public Gallery Features Album Management Collapsible Albums: Each travel album can be expanded or collapsed independently Smart Defaults: Most recent album automatically expands on page load Album Metadata: Title, description, and date for each collection Privacy Levels: Public: Visible to everyone on the homepage Unlisted: Only accessible via direct link Private: Visible only to authenticated admins Photo Display Grid Layout Options: Three display modes to suit your preference Comfortable: Spacious 2-5 column grid with square thumbnails Compact: Dense 3-6 column grid for maximum photos per screen Masonry: Pinterest-style layout preserving original aspect ratios Layout Persistence: Grid preference saved in browser localStorage Newest First: Photos automatically sorted by upload date (newest at top-left) Rounded Thumbnails: Modern, elegant aesthetic with subtle shadows Hover Effects: Smooth scale and brightness animations on interaction Upload Date Display: Shows when each photo was added (in comfortable/masonry modes) Lightbox Viewer Full-Screen Experience: Distraction-free photo viewing Navigation Controls: Keyboard arrows (← →) for previous/next On-screen navigation buttons ESC key to close Photo Captions: Optional descriptions displayed below photos Smooth Transitions: Animated photo changes with loading states Mobile Optimized: Touch-friendly controls and responsive sizing Interactive Features World Map Integration: Leaflet-based interactive map Clustered markers for photos with GPS coordinates Click markers to view photos from that location Automatic bounds fitting to show all locations Album information in marker popups Random Featured Photo: Displays a random photo from all albums on homepage Changes on each page load Shows caption if available Mini Thumbnails: Collapsed albums show preview of first 5 photos Smooth animation on expand/collapse Photo count badge for albums with 6+ photos Content Syndication RSS Feed: Subscribe to new photo uploads at /feed. Continue reading →

  • Building A Dedicated Photo-Sharing Website in Claude Code

    Thinking about the upcoming trip to Egypt, I realized I still didn’t have a good solution for sharing photos and comments beyond the usual social networks. Drawing on my experience from the past few weeks deploying web applications on Vercel, I decided to try the same by building a website for sharing and viewing photos. The additional complexity here is that the viewing portion is separate from the photo upload section. Continue reading →

  • Apple Creator Studio - A Few Comments

    On today’s announcement by Apple: Now we know why it took so long for Apple to update Pages, Numbers and Keynote. Where is iWork? Why no iWork subscription without the pro stuff? I don’t understand this bundling of pro apps with consumer-generalistic apps. Is Apple trying to upsell Pro Apps to consumers via a new subscription? They might be. I don’t think pros want to get Numbers or Pages, though. Icons are utterly un-Apple, or Apple has become something I no longer relate to software-design-wise. Continue reading →

  • On Scrollbars

    After reading a recent Gruber article about the macOS Tahoe window-resizing issue, I found a setting in Appearance that keeps scrollbars always visible. It’s somewhat odd because of the scrollbar’s thickness. I wish Apple would make them thinner and less noticeable. I’m unsure if I’ll get used to this. Note: On Windows 11, scrollbars are always visible by default but are less obtrusive. 🤷🏻‍♂️ Apple was once known for leading with excellent design and great visual taste, but this is less obvious nowadays. Continue reading →

  • On Apple’s Deal with Google

    Back in November, Google announced Private AI Compute, positioning themselves to offer something like Apple’s Private Cloud Compute. It might be something that OpenAI wasn’t willing to do or didn’t see a fit in their business mission. By offering Private AI Compute, Google might have secured the business with Apple. Anyway, it’s becoming impressive how Google is taking back the lead in AI. Lastly, maybe we will see Google Gemini being added to this week’s next beta of iOS 26. Continue reading →

  • When Things Go Wrong With AI-Generated Code

    My first bad experience: the code generated by Claude Code made my dashboard unresponsive in my browser. Eventually, the data stopped updating. After a ten-minute debugging session, I asked Claude Code to revert the change, and it did so promptly. But then I started getting execution failure notices on Discord. A lot of notifications. Then I started investigating… It appears the browser was making frequent refresh requests to one of my workflows, which depleted my Claude pay-per-use credits. Continue reading →

  • My Defaults as of 2026-01-10

    Changes from the last edition are in bold. ✉️ Mail Client: Fastmail 📨 Mail Server: Fastmail 📝 Notes: Craft + Apple Notes ✅ To-Do: Things 3 📷 iPhone Photo Shooting: Camera.app 📚 Photo Management: Photos.app + Photomator 🗓️ Calendar: Calendar.app 🗄️ Cloud file storage: iCloud 📰 RSS: Reeder connected to Inoreader 📇 Contacts: Contacts 🕸️ Browser: Mobile Safari + ARC Browser on Mac + ChatGPT Atlas 🧠 AI: ChatGPT + Claude AI 🔎 Search: Kagi Search 💬 Chat: iMessage (WhatsApp when abroad) 🔖 Bookmarks: AnyBox 👓 Read It Later: Inoreader 📜 Word Processing: Ulysses, Craft 📊 Spreadsheets: Numbers 🛝 Presentations: Keynote 🛒 Shopping Lists: Reminders 🧑‍🍳 Meal Planning: None 💰 Budgeting & Personal Finance: Numbers 🗞️ News: La Presse (Apple News for English news) 🎶 Music: Apple Music 🎧 Podcasts: Apple Podcasts 🔐 Password Management: iCloud Keychain & Apple Passwords 👨🏻‍💻 Blog hosting: Ghost, Micro. Continue reading →

  • On Tahoe Icons

    Just finished reading “It’s hard to justify Tahoe icons”, which many UI design pundits and non-UI experts, as well as simple, passionate Mac users, have been referring to a lot recently. I appreciate the documentation effort. It’s really well done. Very convincing. But… Designers age and are gradually replaced by a younger generation. Whether you like it or not, they bring new beliefs (justified or not), design principles (better or not), and values (questionable or not). Continue reading →

  • An Important Lesson

    When I started my studies in computer science over 40 years ago, we learned to read functional specifications and then translate them into machine instructions (COBOL, FORTRAN, Pascal, etc.). It was the training of a programmer. I knew that one day I could become the person who writes functional specifications. I didn’t become a programmer, nor did I work in the development world. Due to my recent experience with Claude AI, Claude Code, and Vercel to create custom applications, I realize that I have become the one who writes functional specifications, but for processing by artificial intelligence. Continue reading →

  • On OpenRouter.ai

    I just finished reading about the service openrouter.ai. I was curious to understand the purpose of this service as well as its business model. I saw several instances of this service being used in n8n workflows. The problem I see with this service is that it makes the consistency of the quality of responses from the requested LLMs even more unpredictable. Each request could be handled by LLMs with different characteristics and performance from one time to another. Continue reading →

  • Launching Numeric Citizen Blog Digests

    Today, I’m excited to share my latest idea and creation: a website collecting my Micro.blog posts, monthly digests. What, another website? Yup. In case you didn’t know, Micro.blog has a newsletter capability. My blog offers readers the opportunity to subscribe to a monthly blog post digest delivered to their inboxes. Plus, each digest is also available as a webpage (here’s the index page if you are curious). It’s a great way to get a quick overview of everything I published for a specific month. Continue reading →

  • And the next n8n project is?

    My next project with n8n automation is to build a replacement for Mailbrew. 🫣 I’m facing many architectural decisions: How do I fetch content (web or RSS feeds)? How do I extract articles for more efficient summarization? How do I combine the results? How do I control the size of the summary? Do I need some form of temporary data persistence within the workflow? How do I minimize LLM credits usage? Continue reading →

  • MacUpdate Is Dead?

    From MacUpdate website: Unfortunately MacUpdater 3’s promised lifetime of “until 2026-01-01” is now over. There will be no MacUpdater 4 or any continuation of the MacUpdater product from us. Our daily maintenance has been stopped and we don’t verify updates anymore. MacUpdater 3.5 is now unsupported but free-to-use including all previous “Pro” features. WTF?? 😩 Continue reading →

  • Let's Start 2026!

    This is my first post of the year on Micro.blog. Despite the overall global, political, and economic challenges that don’t seem very promising, I am personally looking forward to 2026. Travel-wise, I have four planned: Egypt, Mexico, France & Thailand. This could also be a productive year for photography. I’m looking forward to those trips as we celebrate our 20-year relationship, my wife and I. 😊 Tech-wise, it’s the year of the iPhone upgrade. Continue reading →

  • In 2026, I’ll Keep an Eye On…

    I’m already turning my attention to 2026, in no particular order: Ghost.org next moves, now that are a better Fediverse citizen. Plausible Analytics, which seems to be overkill for my needs but I might find a use for their service exposure via their APIs. Craft because they finished the year with a bang and I’m super anxious to learn what’s next. Apple because of Apple Intelligence and Siri promised updates. Will they deliver? Continue reading →

  • Craft & Inoreader in 2025

    In 2025, two notable apps or services received numerous and meaningful updates: Craft and Inoreader. Craft received long-awaited tag support, with APIs and MCP support added. The latter two are quite transformative, and I expect 2026 to bring many new users to the app. Personally, I’m barely scratching the surface of Craft APIs. Craft is at the center of everything that I create, and I couldn’t think of a better app to support my creative journey. Continue reading →

  • And Now Microblog Poster Web App is Live!

    It’s a web app (on Vercel) just for me to use so that I can write blog posts on the go with a clean UI. It’s my second web app on Vercel built entirely with Claude AI. Continue reading →

  • Who's Right?

    Apparently, web analytics is not an exact science. Here are three web analytics versions of the same period: from November 23rd to December 23rd (Top: Ghost Analytics, Middle: Plausible Analytics, and Bottom: Tinylytics). Plausible feels conservative, with about half as many unique visitors as Ghost, while Tinylytics seems to overestimate. The patterns are barely the same, too. Who’s right? Continue reading →

  • Consuming AI Can Be Expensive

    '' Continue reading →