[amscotti@128bit.io ~/posts]# grep -l "howto" *.md | xargs -n1 head _
grep results
# Howto
- 39 posts matched
Date: January 01, 2017

An evaluation of BitBucket Pipelines, a continuous integration service reminiscent of Codeship. Discusses trying to replace Codeship with BitBucket Pipelines for publishing this blog, showing how to configure pipeline tasks and examining feature similarities, noting potential time savings from removing Docker image downloads in build process.

Date: June 16, 2012

An introduction to Mozilla's BrowserID authentication service which lets users sign in with email credentials managed by Mozilla, avoiding storing user passwords. Includes Sinatra example with HAML templates and JavaScript integration using navigator.id.get(), with full code available on GitHub.

Date: June 13, 2012

Demonstrates combining Amazon SQS queues with SES email service for background email processing. Shows architecture where web applications queue email jobs, worker processes consume from SQS and send via SES, with code examples in Node.js and Ruby handling queue messages and email sending.

Date: April 22, 2012

Code examples for generating MD5 hashes in three additional programming languages. Shows both quick one-line hashing and incremental update method for large data processing. Continues series of MD5 implementations across different languages including previous Python, Ruby, and Groovy examples.

Date: April 16, 2012

An example of adding WebSocket support to Sinatra applications using em-websocket gem. Shows how to start WebSocket server alongside Sinatra, handle connections and messages for real-time bidirectional communication, enabling features like live chat or real-time updates in Sinatra apps.

Date: March 03, 2012

An introduction to MongoMapper as an Object-Document-Mapper for MongoDB. Shows how to create model classes and use them within Sinatra applications, providing Active Record-like familiarity for database operations without the complexity of full Rails framework for micro applications.

Date: February 15, 2012

A Ruby script for archiving Loggly logs into MongoDB using Heroku worker. Fetches archived log files from Loggly API using HTTParty, processes and stores them as documents in MongoDB with metadata about source and timestamp, demonstrating NoSQL storage for log data.

Date: February 08, 2012

Exploring MongoDB with Ruby using mongo driver for database operations. Demonstrates basic CRUD operations with MongoDB shell, connecting with Ruby, performing queries and updates, and noting similarities and differences to SQL databases in document-oriented storage approach.

Date: January 29, 2012

An introduction to MongoDB installation and basic usage on MacOS. Covers downloading and extracting MongoDB binaries, creating symbolic links for version management, setting up /data/db directory, configuring environment variables, and testing with mongod server and mongo shell client.

Date: November 25, 2011

Sinatra example using linkedin gem for OAuth authentication and LinkedIn API access. Shows helper methods for login checking, profile retrieval, and connections listing with access tokens stored in sessions, adapted from Rails example for Sinatra's micro-framework simplicity.

Date: November 21, 2011

A Sinatra authentication example using sessions, BCrypt for password hashing with salts, and HAML templates. Demonstrates signup/login flow with in-memory user storage for prototyping, showcasing Sinatra's simplicity for building micro web apps suitable for hosting on platforms like Heroku.

Date: November 10, 2011

Ruby example using Amazon Web Services SDK to publish messages to Simple Notification Service topics. Demonstrates getting SNS interface, finding topic by ARN, and publishing messages which can be delivered as SMS or emails, perfect for form-based notifications in Ruby applications.

Date: September 12, 2011

Introducing CoffeeScript as a cleaner pre-compiled JavaScript alternative inspired by functional programming talks at No Fluff Just Stuff. Shows how CoffeeScript's concise syntax transforms Project Euler 001 solution into elegant functional code with range comprehension and arrow functions, compiling to clean JavaScript output.

Date: September 05, 2011

Solving Project Euler problem 001 in multiple programming languages to maintain skills. The problem asks for sum of all multiples of 3 or 5 below 1000. Includes solutions in JavaScript (both original and ES6), Ruby, Groovy, and Python, with plans to add Clojure solutions for cross-language functional programming practice.

Date: July 13, 2011

Step-by-step installation guide for Scala, an object-oriented and functional programming language on the JVM. Covers downloading via curl or browser, verifying MD5 checksum, extracting with tar, moving to /usr/share, creating symbolic link for version management, updating .profile with SCALA_HOME and PATH, and verifying installation.

Date: May 01, 2011

A guide for managing multiple SSH private keys on a single system, useful for accessing different servers or working with Amazon EC2. Shows how to configure the .ssh/config file to specify different identity files, hostnames, users, and ports for each server, enabling easy SSH access by hostname alone.

Date: April 07, 2011

Similar installation process to Groovy/Grails, guiding through setting up JRuby on Mac OS X. Covers downloading tar.gz release, moving to /usr/share, creating symbolic link for easy version management, updating .profile with JRUBY_HOME environment variable and PATH, and noting that JRuby's gem command overrides standard Ruby's gem requiring full paths.

Date: April 03, 2011

A guide to setting up remote Git repositories on Linux servers via SSH or on USB flash drives. Covers creating a bare repository with git init --bare, using --shared flag for team projects, pushing to remote repositories, adding remote servers for easier access, and leveraging SSH keys for authentication.

Date: March 31, 2011

Step-by-step guide for installing Groovy and Grails on Mac OS X with symbolic links for easy upgrades. Covers downloading binary releases, moving to /usr/share, creating symbolic links to simplify version changes, updating .profile with GROOVY_HOME and GRAILS_HOME environment variables and PATH settings, and verifying installation.

Date: March 03, 2011

A Ruby example demonstrating how to pull friend data from Twitter API and use Geokit gem to geocode their profile locations. Code retrieves friends list, checks for location data, queries Yahoo's Geocoding API for coordinates, noting API rate limits and that profile locations may not reflect actual posting locations.

Date: January 19, 2011

Demonstrates how to parse poorly formatted HTML using Groovy with TagSoup library to handle errors. Example code pulls NFL passing statistics from nfl.com by parsing HTML tables and converting them to structured data, with plans to push to a NoSQL database.

Date: October 02, 2010

A Ruby example demonstrating how to interact with Lyris ListManager's SOAP API using HTTP POST instead of built-in SOAP libraries. Shows how to manually construct the SOAP envelope XML, set proper headers including authentication, and parse the response for adding members to mailing lists.

Date: July 30, 2010

A Groovy function demonstrating how to replace high-level Unicode characters with their HTML entity equivalents. The entitize function iterates through a string, converting characters with code points above 127 to numeric character references like € for the Euro symbol, useful for HTML/XML output.

Date: July 23, 2010

An exploration of ZFS send and receive commands for filesystem management and backup. Covers taking snapshots, outputting to files, combining with gzip compression and OpenSSL encryption for secure storage, using zfs receive to restore filesystems, and copying filesystems securely over SSH between systems.

Date: June 15, 2010

A Groovy script demonstrating how to use the StopForumSpam API to check email addresses against a database of known spammers. The script reads emails from a text file, queries the API, and reports how many times each email has been reported, showcasing Groovy's concise syntax for API integration.

Date: June 13, 2010

A comprehensive guide to using the PF firewall on FreeBSD to block SSH brute force attacks. Covers enabling PF, creating a brute force table with tracking rules, and using pfctl commands to manage blocked IPs, providing automated protection against password guessing attempts.

Date: June 03, 2010

A Groovy script demonstrating how to pull and parse character data from the World of Warcraft Armory. Uses XMLSlurper to fetch guild information and extract level 80 characters grouped by class, showcasing Groovy's cleaner syntax compared to Ruby for XML processing.

Date: May 31, 2010

A practical guide to encrypting and decrypting files using OpenSSL with AES-256-CBC encryption. Covers basic file encryption/decryption, piping data through OpenSSL for processing, and using the same algorithms for consistent encryption and decryption operations.

Date: May 28, 2010

A guide for creating SFTP-only users on FreeBSD that can transfer files securely but cannot log in via SSH to run commands. Covers creating a dedicated group, configuring sshd_config with chroot and ForceCommand settings, and adding restricted users.

Date: May 09, 2010

A Ruby script demonstrating how to pull character data from the World of Warcraft Armory website. The code fetches XML from the armory, parses guild information, and extracts level 80 characters with their names, levels, and classes into a sorted list.

Date: April 21, 2010

An introduction to SSH tunneling techniques for secure data transmission. Covers dynamic port forwarding for web browsing and IM clients, local port forwarding for RDP/VNC access, and reverse tunneling for accessing systems behind firewalls. Includes examples and automation scripts, plus instructions for PuTTY users on Windows.

Date: April 10, 2010

A comprehensive guide to creating and using SSH keys for secure passwordless authentication. Covers key generation, understanding public-key cryptography, key distribution using authorized_keys, and using PuTTY on Windows to enable secure login and automate file transfers without passwords.