Tutorials

htmx on Sinatra: interactive web pages with hypermedia

A brief course in the absolute basics of web development, using two minimalist libraries: Sinatra and htmx.

Articles

  • Building apps data-first with Sinatra

    (Why, after 12 years with the Ruby stack, I like Sinatra more.)

    I built my first Rails app in 2009, and have used it periodically for both websites and apps ever since.

  • Protospint

    I always wanted to master product development. It's what drove me to become a full-stack web developer, and then expand into UX methods and UI design through a lot of self-guided education.

  • Why I am excited about Light Table

    I remember the first time I sat next to a real programmer and watched him work. This dude (with whom I was doing my first programming class assignment) was typing C code in Emacs at typewriter speed. I don't remember him ever looking down at the keyboard. He was in a state of total immersion, fingers flying all over the keyboard. He was the archetypal programming whiz-kid: self-taught, coding since he was 14, and a blend of hubris and limitless curiosity.

  • The long-form page

    Over the past year or so, I've seen some outstanding examples of what I call art-directed long-form. An emerging content type that's unique to the web, and can be defined as:

    A lengthy, in-depth treatment of a particular subject, supported with references, and designed with custom art direction.

  • The most important (and overlooked) SEO strategy

    When tasked with website optimization, I start with diagnosing the areas where the website fails to implement the low-hanging fruit. Most often, this turns out to be the lack of addressability of important resources.

  • Choosing your first CMS: the checklist

    When I discuss Content Management Systems with content owners, it often becomes apparent that they have no system or set of criteria for choosing the right one. Ideally, the CMS is the reflection of the business and the publishing workflow of the company. The reality is that in most cases, the CMS is chosen by the design firm that is doing the job, with WordPress as default.

  • Test-driven development: two scenarios

    A litte write-up on how teams recruit for TDD.

  • Some screencasts I'd like to see

    I’ve written before about how much I enjoy home-brewed publications on software development. However, I often catch myself thinking: “If someone did a screencast about this, it would hit right home”. So, here are some screencasts I’d seriously consider paying for.

  • Some self-published programming books worth knowing about

    I'm delighted when I see a self-published book on software development. To take the time and put one's technical expertise into a book seems to be quite an undertaking. But this is exactly what more developers are doing nowadays, and the web's distribution mechanisms ensure that valuable material gets the attention it deserves.

  • Lisp and Brain Neurochemistry

    Lisp changes the way you think.

    I recently did experiment with solving a programming puzzle. I started off using the object-oriented way, then abandoned the effort mid-way to code the whole thing from scratch using a more data-first, functional approach.

  • Hands-down the best introductory Clojure video tutorial

    If you've watched the Rich Hickey videos about the philosophical underpinnings of Clojure and would like to get practical with the language, I recommend watching the "Intro to Clojure" series of videos created by Code School. I find this to be a brilliant introduction to Clojure and Lisp — as dense and comprehensive as one can get in 10 videos of about 8 minute average duration.

  • On the shoulders of...

    Here's to the giants of the digital age we lost this year - the inventors, scientists, & entrepreneurs. The list is by no means exclusive; it's just off the top of my head.

  • List of companies that support SOPA? Download here.

  • Why you don't need a Social Media Strategy

    I am ever fascinated by the amount of new business books whose mission it is to convey to The Enterprise the benefits and finer details of having a "Social Media Strategy". It reminds me of the time every such business was searching for ways to profit from "this Internet thing".

  • Why I support Wikipedia

    I just donated to Wikipedia. Here's why.

  • Are you process-oriented or product-oriented?

    It seems like job advertisements for Rails developers tend to fall into two general categories. In the first one, a company is looking for a Rails developer who also is adept at system administration, deployment, and tasks related to application performance and monitoring. The second type of job ad looks for a Rails developer who is also capable of front-end code, understands User Interface design, and has an appreciation of User Experience.

  • Problem-solving with Automata-Based Programming

    Recently when working with CSS, I wanted to automate some deployment-related tasks: I needed to combine a number of CSS files into a single file; fix image paths from production to deployment values; and strip out the contents from the resultant file. So I wrote a script that I now call each time I move from development to deployment, such when introducing modifications or adding pages to a site.

  • Ben the Bodyguard

    This is possibly the most unusual ad reel for a web app I've ever seen.