Simple Blog Example in Flask

As part of my efforts to improve my Python knowledge, I’ve been looking at the Flask framework for a way to build Python-backed web apps. I’ve only been looking at it for a short time, but I’m really impressed with how simple it is. In some ways, it reminds me a lot of when I first saw Express. Before that, I wasn’t sure I was going to like Node.js as it felt like a lot of work to build a simple app, but Express handled a lot of the boring parts. The same applies to Flask. To get an idea of how easy it is, here’s the basic "hello world" from the quickstart: from flask import Flaskapp = Flask(__name__)@app.route("/")def hello_world(): return... more →
Posted in: JavaScript

Links For You (1/11/25)

Welcome to the first Links For You of 2025. I’m currently writing this from, I kid you not, the Danube in Austria. My wife and I are a bit over halfway through a European vacation (one we planned before Adobe decided to give me an early Christmas gift of a layoff). So far, it’s been absolutely glorious, and I plan on writing about the experience later this month. On with the links! CSS Light and Dark Themes Made Easy First up is the wonderfully named, "Come to the light-dark() Side", by Sara Joy. This looks at how native CSS can make light and dark themes incredibly easy to implement. I had no clue it was so easy to implement in CSS, but as I’ve said before, CSS has... more →
Posted in: JavaScript

Building a Bluesky AI Sentiment Analysis Dashboard

As the "Great Social Network Wars" carry on (my term, not anyone else), I’m finding myself more and more enjoying Bluesky. I do more posting on Mastodon, but Bluesky reminds me a lot more of early Twitter. Threads is… ok, but has felt too corporate. I can’t even remember the last time I checked it. Earlier this week, I was poking around the Bluesky API and was incredibly happy to discover that their Search API does not require a key and supports CORS, which means a simple client-side application could make use of it. In the past I had built similar tools for Twitter, back when it had a decent API, and I thought it might be fun to build something for Bluesky, specifically,... more →
Posted in: JavaScript

Onwards to 2025…

For a while now I’ve had a tradition here where I end my "blog year" with a wrap up post looking back at how the year went and figuring out what I want for the upcoming year. This is, honestly, a post just for myself, but as usual, I’m always open to what people think, so feel free to leave me a comment below. Career and Conferences This year marked my (nearly) fourth year at Adobe, but as I said earlier, my time has ended. While I’m not happy with the timing, I have to be honest with myself and say it was time to move on. I am incredibly proud of what I accomplished at Adobe. I grew quite a bit as a developer evangelist/advocate, and I can look at what I did for the... more →
Posted in: JavaScript

Links For You (12/28/24)

Welcome to the last Links For You for 2024. Believe it or not, I started this series way back in April of 2022, and I don’t know about you, but it’s been one of my favorite features of my blog. I love sharing cool links (and music videos!) with readers, and I hope yall have enjoyed it as well. This is my second to last post for the year so there’s still a bit more content coming, but for now, let’s get into the cool stuff! An Alpine.js Bluesky RSS Reader Folks know I love Alpine.js, and this first post is a great example of why. Andy Jarrett demonstrates how he built a RSS reader of his Bluesky profile using Alpine.js. It’s relatively simple to do so, and one of... more →
Posted in: JavaScript

Classifying Documents with Generative AI

Generative AI and documents is a fairly common topic these days, typically in the form of creating summaries or asking questions about the documents. I was curious how generative AI could help in terms of classification. Way back in January of this year, I blogged about using Google’s Gemini API to classify images based on whether they were a photo, screenshot, or meme: "Using GenAI to Classify an Image as a Photo, Screenshot, or Meme". That actually worked well and I thought perhaps it could work with text as well. Specifically: Your organization gets an influx of documents, lets say many per day… And you would like to categorize them for sorting/processing later Before... more →
Posted in: JavaScript

Automating Object Detection with Google Gemini GenAI and Pipedream

For my last technical post of the year (although I can’t promise I’ll stop blogging!), I wanted to share an interesting workflow I built using Google Gemini and Pipedream. The idea was somewhat simple – how difficult would it be to build a "general purpose" workflow to look for objects in images and trigger an alert if certain things were found. Here’s what I was able to build. Step One – Image Input In my mind, I imagined this workflow would be tied to some service that was either streaming in video or generating still images. You could image a security camera posting new pictures every 30 seconds or so, or some other system that takes a picture at a regular... more →
Posted in: JavaScript

In Search of My Next Role

This week I discovered, unfortunately, that my position at Adobe has been eliminated. I’m incredibly proud of what I’ve achieved during my time at Adobe, but now need to find my next opportunity. If you’ve ever gained anything from one of my posts, or presentations, I’d absolutely love a recommendation or referral for a position in developer relations. I’m also looking for a role where I could mentor, or lead, a team of developer advocates/evangelists. So, if you know of a role, or have a role yourself, please reach out! Raymond Camden… more →
Posted in: JavaScript
1 14 15 16 17 18 104