Posts
Upgrading Rails Webpacker and TailwindCSS
In my continuing effort to consolidate technologies used in my projects I'm changing an existing Rails app to use Webpacker and TailwindCSS, and away from Bootstrap.
These are the steps I took to get TailwindCSSv2 working. Add webpack to Rails 5 covers the whole process, including moving existing JS and CSS files to Webpacker.
Hosting side projects - Dokku
Where should I host my side project? It's a question I ask every time I start a new project. I've tried so many different options I have to lookup where each project is hosted.
This is annoying and makes development slow. It takes time to remember where a project is hosted and then remember all the different options and commands for those environments.
New tools for the new year
Some new tools I've come across that I'm finding useful.
Ruby on Rails deployments to Elastic Beanstalk 2021
I've run a number of projects on Elastic Beanstalk, generally the whole experience is terrible. Still better than running servers yourself, but so far from Heroku.
All my projects end up with a bunch of .ebextensions
files that try to configure the EB server for the application.
They work sometimes, and almost alway break with platform upgrades, even minor upgrades.
Lucky Framework deployment with Apex Up
Hosting a [Lucky Framework] application on AWS Lambda using [Apex Up].
Build a Docker image like Heroku with Buildpacks.io
[Buildpacks.io] is bringing buildpacks, like Heroku uses, to anyone. Buildpacks are a better way to build [Docker] images, partly due to caching layers, but also helps build reusable build processes. This is a better intro Turn Your Code into Docker Images with Cloud Native Buildpacks.
CoC Solargraph Ruby Settings
Using [Coc] with [Neovim] in ZSH and a ruby version manager, like RVM, or [ASDF].
Rails Typed JSON Fields
I've been using Rails JSON Serialized Fields for
custom objects stored in Postgresql JSON fields. I found this approach and like it a lot more. It
uses ActiveModel::Type::Value
to create a custom type mapping for ActiveRecord.
Kickstarter by the Numbers
We decided to try Kickstarter for the first product of Stubborn Goods. We reached our goal thanks to our friends and family. This is an overview of what we did and some lessons we learned.
Why Kickstarter?
Stubborn Goods makes packs and bags. Since production requires a minimum quantity order to make sense we thought Kickstarter might be a good way to start.
Besides, I wanted to experience running a Kickstarter project.
Rails JSON Serialized Fields - Validations
Continuing from the earlier post Rails JSON Serialized Fields, this covers how to validate JSON serialized objects from the parent model.
Eleventy: Responsive Images
Route285 is a site of Colorado product companies. I have images of logos & products from those sites, but need to download and display them locally, in case an image changes later. Also, since eleventy-img supports resizing and different formats I wanted to get that stuff working too.
I ran into a couple of snags. First ICO isn't supported, that was pretty easy to work around, but I still wanted
a local version of the file. The useOriginalImage
function handles that. Plus it's helpful for errors and SVG files.
Also, since it's an addNunjucksAsyncShortcode
in 11ty, I needed to change my for
blocks to asyncEach
blocks. That took a while
to figure out as it just results in those templates returning nothing.
Using a bitmask for options in Rails
Sometimes I like storing a set of options for a model as in integer in the DB, but still want a nice interface to use those options in code. This is one approach I've been using.
Jupyter Labs and Ruby
Wanted to setup Jupyter for Ruby to test out some ML stuff. Here's the setup I used and some issues I ran into.
Devise JWT Authentication in Rails
Here's one approach to adding API authentication to a Rails application that's already setup with Devise and Cancancan. We'll add a Warden strategy to process a Token if it's passed in the request.
Wealth Creation Ladder
The ladders of wealth creation: a step-by-step road map to building wealth by Nathan Barry clicked with me. It provided a good framework to think about where I'm at and where I'm going. Thank you Nathan!
Below is a summary of points and where I'm at, my journey, and moving forward. Please read his article!
Eleventy Webmentions
Owning my content and making it easy to post are both important to me and I've been slowly working to do that more. Moving my blog to 11ty was a big step in that direction. Now with webmentions and bridgy it's easier to share content. This post talks about what I've setup to connect my blog to the indieweb and some of the closed networks.
Testing Forestry w/ 11ty
This is some
markdown
Rails 6 and multiple uploads
[Active Storage] is awesome for uploading images, but handling has_many_attached
needs
some additional stuff if you want be able to add and remove specific images.
This is how I setup multiple uploads so files can be added and deleted without re-uploading the files.
Rails 6 Inky Emails
Making emails look nice is a huge pain! [Foundation Emails] help by giving you short HTML tags that are expanded into HTML for emails and nice classes for styling.
Getting early adopters for CommandWP
[CommandWP] is getting to a point where I'd like to get some early adopters using it. I'm not sure what a good approach might be. Here's what I'm thinking about.
Add Webpack to Rails 5
The push to use webpack with rails is getting too much to resist!
You can setup some good stuff with sprockets, but it's a pain and a lot of it doesn't seem too updated.
So... to get things like good ES6 support, minification, easier script managment with Yarn, and PostCSS support; It's time for webpacker
11ty 404 page template
Example 404 page for an 11ty site.
Rails Turbolinks not firing JS on load
VIM Search and Replace
Multiple file search and replace using VIM and renaming files with the command line.
Webdev like it's 1997
When I started learning to create webpages the web was fun and crazy and annoying. It was also open and easy to get started.
There are a few trends that are bringing some of that web back. I'm loving it!