RSS Amplifier

Blog

Karl Herrick

A technologist and web developer

karlherrick.comRSS feed ↗50 posts

Latest posts

On Developing Loops

Watch as four running instances of ShadowClaw work together while responding to a scheduled task. Each agent has its own set of tools, its own evaluation of the prompt, can spawn sub-agents, respond to peers, and write to the file system. Open the app or visit the project to learn more: https://github.com/xt-ml/shadow-claw

Block Garden

After working on Sprite Garden for a bit, I was curious if experimentation with WebGL using the same overall setup would be possible, and it was surprisingly enough that I ve forked it, and called it Block Garden. The same overall tiles are available to place, only this time as blocks with the player starting in Continue reading "Block Garden"

Sprite Garden

I ve wanted for some time to build a canvas based JavaScript game after checking out things like the breakout game tutorial on MDN or reading and working through early Raspberry Pi project books, but I never felt like I built something I enjoyed. Iterating through the basics and gradually improving on this piece by piece Continue reading "Sprite Garden"

Declarative Shadow DOM

The web platform continues to grow, and features continue to land as baseline. One that I have been anticipating being widely supported across the latest browsers has been declarative shadow DOM. In essence, it enables Web Components to be server-side rendered and shown on the client without JavaScript. Check out the example below, where shadow Continue reading "Declarative Shadow DOM"

A place to render web applications

I ve added a hobby project to my GitHub profile that has been given the title Apps as it is a progressive web app that aims to adhere to the App Shell model. The primary routes are prerendered as static HTML during the build process and are loaded lazily at runtime to ensure a smaller client-side JavaScript bundle. The source code is hosted on GitHub and comprises several Continue reading "A place…

C# in the Browser Without Blazor

I ve talked about an experiment with Blazor in the past, but wanted to see how it would go building something small in C# for the browser without going through that process. With .NET 7 it doesn t seem too hard, so I went ahead and created an example repo to demonstrate. I am relying on JSExport Continue reading "C# in the Browser Without Blazor"

Using Open

When using the terminal on my Mac, I often use the open command to get a view of the current directory in Finder and generally use it to… open up things. So, while using other operating systems, I have naturally wanted similar functionality. To my recent surprise, I found it within Haiku, and it turns Continue reading "Using Open"

The Web Is Dynamic

HTML, JavaScript, and CSS are key parts of the Open Web Platform as they assist in creating customized, yet reusable solutions that anyone might need to build high quality, robust web applications—without requiring unnecessary complexity. In this small example, a few support libraries work together to provide efficient templating, as well as an implementation of Continue reading "The Web Is…

Code Highlighting

It seemed like a neat idea to encapsulate syntax highlighting responsibilities for the various code snippets that I share at times, so I went ahead and wrote a custom element to help me take care of the job. To try it out, install x-postpress-code with your favorite package manager and import into your project. If Continue reading "Code Highlighting"

Fast Traxx Pi

Fast Traxx remote control wired up to the Raspberry Pi Connecting to the Raspberry Pi over SSH to drive the Fast Traxx I thought it was a good time to revisit trying to control an RC car s handheld remote, so I returned to the community assistance I first started at and gave it a try. Continue reading "Fast Traxx Pi"

TensorFlow.js Component Playground

After experimenting with the AIY Vision kit and the Coral USB Accelerator I decided to try edge computing from another angle by wrapping up TensorFlow.js with LitElement to make a few Web Components for testing. The tfjs-backend-wasm package is loaded to use WebAssembly for the backend and while it seems similar to WebGL for lite Continue reading "TensorFlow.js Component Playground"

Compiling pwgen to WebAssembly

While there are many ways to generate strong passwords, I ve been a fan of using pwgen for systems that I stand up. It s usually been an apt-get install away, but there have been times while away from a Linux machine where I couldn t access it like I normally would; right on the cli. After coming Continue reading "Compiling pwgen to WebAssembly"

PHP Web Component

WebAssembly becomes the fourth language for the Web which allows code to run in the browser I ve been enjoying learning a little bit more about WebAssembly. The journey has been long and a bit sporadic as my first introduction to the concepts were with Emscripten shortly after the release of asm.js. Since then, the scope Continue reading "PHP Web Component"

XWeather App

Rendering x-weather along with some of Polymer s App Layout custom elements makes it look a lot better and paves the way for additional features. Also, learning more about various ways to isolate component functionality and exposing desired behavior has been appreciated. Implementing some kind of location search seems like it would be a good next Continue reading "XWeather App"

Racing with the Pi

The Raspberry Pi continues to deliver on cool projects to spend time with the family on. As a non-serious entrant for this year s wood car race, we used a Pi Zero, Pi Camera Module, USB Wi-Fi adapter, and UPS PIco to send it down the track while streaming the video. We were able to build Continue reading "Racing with the Pi"

Experimenting with x-postpress

While building using the custom elements v1 standard is achievable in a normal workflow, high quality libraries providing a wrapper on top of the standard seem like a more productive choice for my usage—especially any that offer a unified way to support Internet Explorer 11. After investigating a few, I decided to give LitElement a Continue reading "Experimenting with x-postpress"

Web Components

When I first started learning HTML, I remember the delight I had after applying only a little markup, and seeing the results after reloading. Even as new techniques were developed to manipulate the page, elements being created and then falling out of usage, and other ways of representing tags emerging, the platform s ability to organize a large amount of content Continue reading "Web Components"

Testing a PWA with Lighthouse

Adding the Audits panel and powering it by Lighthouse was a good move by the Chrome team. It is easier than ever to get a basic check on how well web apps are performing according to pre-defined settings for network and cpu throttling. It also has general mobile emulation. Although there is certainly room for Continue reading "Testing a PWA with Lighthouse"

Going offline with HTML

The time I ve put into developing postpress seems like it has been well spent. I have enjoyed working with the code and appreciate the experiences gained in going through the various exercises. For example, after applying a web app manifest to the project and implementing a service worker, web development seems fun again. Not that Continue reading "Going offline with HTML"

React, Redux, and using the WordPress REST API

Web application development using React, Redux and server-side rendering has been exciting. A great general resource I ve found on the topic is a book from O’Reilly Media titled, Learning React Functional Web Development with React and Redux. It lays out the basics, while describing other helpful tools that one might use in a fully Continue reading "React, Redux, and using the WordPress REST API"

Fun with Cygwin

When interacting with a Windows system regularly, I like to install Cygwin. It has been my tool of choice to tie into Bash, or OpenSSH in some fashion, and from there use customized shell scripts for various tasks. In the past I ve used it as a component in solutions to: host environments for building and Continue reading "Fun with Cygwin"

Playing around with the GoPiGo

The GoPiGo has been exciting to work with as a platform for building robotic cars. In my usage, I started out with the base kit along with an older Raspberry Pi, and then gradually started to add pieces. I installed the wifi adapter (newer RPIs have wifi built in) for remote control, and the camera Continue reading "Playing around with the GoPiGo"

PowerShell for OS X and Linux

Microsoft released PowerShell for OS X and Linux. I tried a simple hello world on Ubuntu 16.04, and it seems to be getting that far. What interesting times we are living in the tech world. I hear that Microsoft ♥ Linux. 🙂 #!/usr/bin/env powershell Write-Host "`nHello, World! `n" $ ./hello-world.ps1 Hello, World!

WordPress on Vagrant

I ve went ahead and updated the WordPress branch within my Vagrant Environments git repository hoping to kickstart all kinds of new experimentation on my own end. When checking it out, you ll find the update including: The latest version of WordPress 4.4.2 An Ubuntu 14.04 based Vagrant box PHP 7, installed from ppa:ondrej/php

Pi Motion – Single Page App

I ve been wanting to return to the motion detection setups I ve created in the past [1, 2] on the Raspberry Pi, and update them a bit using some more recent development approaches. For example, before I used Wiring Pi s gpio utility in a bash script and displayed the results in generated pages using PHP s built-in Continue reading "Pi Motion Single Page App"

HipChat bot on AWS

Over the last year or so I ve spent some time testing out Amazon Web Services. While at first the myriad of options seemed a bit overwhelming, once I figured out what I wanted, it was fairly easy to navigate and manage the setup. In particular I used Elastic Compute Cloud with a Debian Wheezy image Continue reading "HipChat bot on AWS"

Portable Development Environments

I have been enjoying setting up and utilizing my development environments these days. Though that may sound odd to some, it has been that way as I ve been able to isolate them from my main system, allow them to be cross-platform, and easily reproduce them on other hosts. The most efficient way I ve found to Continue reading "Portable Development Environments"

2048 on a Touchscreen Raspberry Pi

As I was checking out the latest accessories for the Raspberry Pi, I stumbled across this nice little shield at Adafruit: PiTFT Mini Kit 320 240 2.8 TFT+Touchscreen. Several days went by before I was certain I had to have it, and when it eventually arrived, I was not disappointed. To start, I followed the Continue reading "2048 on a Touchscreen Raspberry Pi"

Checking out Bolt

Recently I was able to spend some time with Bolt, a tool for Content Management, which strives to be as simple and straightforward as possible. Actually, It was very straightforward, as I only had to: Clone the project from GitHub Get Composer and install Tweak my existing Nginx configuration Export the entries from this installation Continue reading "Checking out Bolt"

Tracking with Tasker

After finding Tasker for Android and realizing all of the potential it has, I had to try it out. To begin, I decided to build a prototype backend service for receiving the location signals sent from the app itself. The possibilities seemed endless. As the website states: Tasker is an application for Android which performs Continue reading "Tracking with Tasker"

Controlling a Lego motor with the Raspberry Pi

When the Gertboard originally came out, it was a do it yourself kit that required soldering, and it had enough pieces that made me want to wait until one was offered pre-assembled (you can still get one like the original from Tandy called the Multiface Kit). After purchasing the latest version, I tried putting one Continue reading "Controlling a Lego motor with the Raspberry Pi"

Lego Car & Raspberry Pi

For awhile I ve wanted to connect an RC car to the Raspberry Pi by wiring up to a Tyco Fast Traxx remote control. There are even products like Pi-Cars now, and entire blogs devoted to the construction of autonomous cars. I decided to build out a similar concept with the help of my kids (read Continue reading "Lego Car Raspberry Pi"

PHP one-liners on the CLI

After checking out a page called Perl one-liners and reading how you could execute Perl inline on the CLI, I decided to try and replicate some grep functionality using PHP one-liners for fun. Interestingly, PHP seems quite slow compared to other tools for my particular task, so I probably won t be using these approaches outlined Continue reading "PHP one-liners on the CLI"

Observations on HTML

In December of 2012 HTML5 became feature complete according to the W3C, meaning businesses and developers have a stable target for implementation and planning. They continued to describe HTML5 as, the cornerstone of the Open Web Platform, a full programming environment for cross-platform applications with access to device capabilities; video and animations; graphics; style, typography, Continue…

Compiling TrueCrypt on Raspberry Pi

These steps were gleaned from the work completed by Reinhard Seiler. Other than the manual download and placement of the TrueCrypt source, the rest should be fairly hands off. So first, get the TrueCrypt 7.1a Source.tar.gz package from http://www.truecrypt.org/downloads2 and copy it to /usr/local/src/ on the Raspberry Pi. Secondly, run the commands below, oh, and Continue reading "Compiling…

Jigging with Debian

I found a package manager for Debian that I ve never heard of: Wajig. History: Motivations for Wajig If you ve tried to remember all the different commands to get different information about different aspects of Debian package management and then used other commands to install and remove packages then you ll know that it can become a Continue reading "Jigging with Debian"

Apple and Foxconn

As I was pulling apart a Power Macintosh 9600/300 today I thought it would be interesting to post about this ribbon cable I found inside. According to Wikipedia these were originally introduced in 1997, so apparently Apple and Foxconn go way back. 🙂

Visualizing Motion

The programmability of the Raspberry Pi comes in handy when you want to change the behavior of a circuit without moving a single wire. In this case, I decided the data I was logging with my former motion detection script was largely useless because it only ever recorded when a motion event occurred, but didn t Continue reading "Visualizing Motion"

Responsive Design View in Firefox

With the faster release cycle and updating of Firefox, it s been interesting to see features show up in the application like they do in web sites. They re there the next time you load it, and are discovered almost by accident if you do not go searching for them on purpose. The other day, while testing Continue reading "Responsive Design View in Firefox"

Logging motion with the Raspberry Pi

Since purchasing the Pi Cobbler Breakout Kit I wanted to digitally plan out the project before connecting a single wire. There seems to be a lot of choice for circuit design software (open source even), but the one I chose is called Fritzing. After I began to download it, I found out that Adafruit has Continue reading "Logging motion with the Raspberry Pi"

Lighting an LED on the Raspberry Pi

Since getting a Raspberry Pi I ve wanted to use the GPIO pins, but have tried to heed the various warnings regarding static and other issues one might face like using 3.3v vs 5v devices or how much power peripherals draw. I could have started clipping onto the pins directly, but decided to progress cautiously and Continue reading "Lighting an LED on the Raspberry Pi"

Arduino Motion Detector

As I have been traveling through Getting Started with Arduino I ve been trying to take on the tinkering mentality described in chapter two titled, The Arduino Way . And as the text in the book states, You should now experiment by looking at all the possible devices that have two contacts that close. So I made Continue reading "Arduino Motion Detector"

Arrival of the Raspberry Pi

I got the Raspberry Pi in yesterday and wanted to show what came with it as well as my first steps. Pictured below is the packaging, top, and bottom view of the board: I didn t receive much in the way of what to do with it once I got it, so naturally I went to Continue reading "Arrival of the Raspberry Pi"

Ubuntu 12.04 with Gimp 2.8

After upgrading to Ubuntu 12.04 from 10.04, I realized Gimp was at an older version (2.6) than 2.8. Presently, here s how 12.04 can run 2.8 without much hassle: sudo add-apt-repository ppa:otto-kesselgulasch/gimp sudo apt-get update sudo apt-get install gimp gimp-plugin-registry

Drupal Modules

I recently completed a project for a customer that afforded me the opportunity to dive into Drupal on better terms. On my first introduction to the software several years back (and Joomla for that matter) I determined I would be able to use my cross-browser theming skills more effectively if I chose WordPress as a Continue reading "Drupal Modules"

Microsoft Visio in LibreOffice 3.5

I like that LibreOffice seems to be experiencing rapid innovation and bloat removal since The Document Foundation was formed, and the software was forked from OpenOffice. While I won t write at length about all the changes I ve noticed, I did want to show one of the new features coming to a stable release due soon. Continue reading "Microsoft Visio in LibreOffice 3.5"

Ubuntu 12.04 Alpha 1

Ubuntu 12.04 LTS Alpha 1 has been released. I enjoyed seeing the PPC builds being available. It makes me think some of the older Apple hardware lying around has some usefulness yet (with reliable, long term supported software that is). Download and test @: http://cdimage.ubuntu.com/daily-live/current/precise-desktop-i386.iso

Thunderbird Attachments Missing

I ran into an interesting issue today after a co-worker reported that he had been receiving emails from someone who claimed there were attachments, however they were not being displayed within the email. After viewing the message source and seeing a base64 encoded block within the email, I wondered if it was Thunderbird doing something Continue reading "Thunderbird Attachments Missing"

Android on VirtualBox

This was fun. A bit of a test drive of Android-x86 3.2 using VirtualBox. I had a hard time getting the internet to work on it, just like I would have if I was at the store playing with it. 🙂 There are how-tos at: http://www.android-x86.org/

Herrick Design

I finally started working on Herrick Design. Its been fun playing with a clean install of WordPress and sub-theming TwentyEleven.