Articles
Welcome to my blog dedicated to computers and technology. Although I try to focus on programming, statistics, and bioinformatics I sometimes stray to other topics on my mind. Below are several articles categorized by subject. If you are looking for something in particular, please use the search box in the upper right.
There is currently 93 articles available.
Bioinformatics
Molecular Surface Reconstruction using Marching Cubes
Constructing the surface of a molecule in 3-dimensions using the marching cubes algorithm.
Genome Browsers: 4 Free Bioinformatic Software Tools
An overview of four bioinformatics tools to visualize genomic data.
What is Bioinformatics: A Primer
What is Bioinformatics? A very broad field using computation to study biology: from protein structure analysis to writing production software for data storage and analysis. What are the requirements? Where does one start?
Bioinformatics: Sequence File Formats
A list of common file formats used in bioinformatics to store DNA and protein sequence information.
The Art of Sequence Alignment
Visualizing pairwise sequence alignments as spectrums of color and patterns.
GeneCoder - Command Line Utilities
GeneCoder provides a command line interface for automation. This tutorial introduces the command line interface for use in Molecular Biology.
GeneCoder: Common Sequence Manipulations
A tutorial on how to perform simple sequence manipulations using GeneCoder molecular biology software.
GeneCoder: Restriction Enzyme Sequence Analysis
A tutorial on performing restriction enzyme sequence analysis using GeneCoder molecular biology software.
GeneCoder: Access NCBI Remotely
A tutorial on how to access NCBI remotely using GeneCoder molecular biology software.
GeneCoder - Assembling Sequences
How to align and assemble Sanger DNA sequence trace files against a reference sequence using GeneCoder molecular biology software.
GeneCoder: Sequence Regions
How to annotate sequences using regions in GeneCoder molecular biology software.
GeneCoder Overview
Brief overview of GeneCoder molecular biology software.
GeneCoder - Common Sequences
Often one is given a DNA sequence with no annotation. This tutorial steps through the process of identifying common DNA sequences using GeneCoder Molecular Biology Software.
BLAST Alignment in Java
A tutorial for how to perform automated remove BLAST alignment using JeUtils.
JEeutils - Access NCBI from Java
A tutorial for using JeUtils to access NCBI using Java.
Books
Book Review - Ignorance: How it Drives Science
Review of Stuart Firestein's book Ignorance: How it Drives Science
Review - Big Data: A Revolution That Will Transform How We Live, Work, and Think
Book Review - Big Data: A Revolution That Will Transform How We Live, Work, and Think
Review: Doing Bayesian Data Analysis
Bayesian Statistics is a field of statistics based upon probabilities, or how much you believe a hypothesis. This article reviews the book Doing Bayesian Data Analysis by John Krushce
Review: Reinventing Discovery by Michael Nielsen
Having been a scientist for over ten years, I have seen different ends of the spectrum when it comes to sharing data and ideas. I review Reinventing Discovery by Michael Nielsen, a book describing the current state of the openess of the scientific co
Games and Graphics
Creating a Progress Dial
How to create an animated progress dial in java.
Identifying Strange Attractors
A method for identifying strange attractors.
Three Video Editing Techniques with ffmpeg
Three movie editing techniques using ffmpeg.
The Aizawa Attractor
The Aizawa Attractor
Strange Attractors: The De Jong Attractors
Strange Attractors: The De Jong Attractor
Drawing a Continuous Bezier Curve
How to draw a continuous Bezier curve from a set of points.
Programming the Lorenz Attractor
A Java, C, and Javascript implementation of the Lorenz Attractor
Modeling the Rubik's Cube with OpenGL
Visualizing a Rubik's Cube using OpenGL.
Rubiks Cube: Computer Simulation
How to computationally model the Rubik's Cube
Maze Generation Algorithm - Depth First Search
Generating Mazes using a backtracking algorithm.
Conway Game of Life in Java
Conway's Game of Life in java Swing
Evolutionary Art using a Genetic Algorithm
Creating art using computer simulations of evolution.
3-Dimensional Metaball Computer Graphics
Computer Graphics of Metaballs - Organic 3-Dimensional Objects
3-Dimensional Smoothing: Catmull-Clark Subdivision
Surface smoothing using Catmull Clark
Controlling Scalable Vector Graphics (SVG) using Javascript
Using Javascript to draw graphics dynamically on a webpage.
The Art of Sequence Alignment
Visualizing pairwise sequence alignments as spectrums of color and patterns.
Counting Sudoku Solutions in Java
How many possible sudoku solutions are there? In this article we use code and math to count the ways.
How To Create a Solved Sudoku
When I first started playing with writing a sudoku game, I took the long way to create sudoku templates. Here I provide a simple method to generate solved Sudoku puzzles.
Math
Discrete Categorical Random Sampling
How to randomly sample from a discrete list of categories, each with a different probability of being selected.
PCA For 3-dimensional Point Cloud
Principal Component Analysis for 3-dimensional Data
Identifying Strange Attractors
A method for identifying strange attractors.
The Aizawa Attractor
The Aizawa Attractor
Strange Attractors: The De Jong Attractors
Strange Attractors: The De Jong Attractor
Programming the Lorenz Attractor
A Java, C, and Javascript implementation of the Lorenz Attractor
Evolutionary Art using a Genetic Algorithm
Creating art using computer simulations of evolution.
Reaction Diffusion in 3-Dimensions
Simulating Reaction Diffusion in 3-dimensions
The Julia Set Fractal
Creating images and movies with Julia Set Fractals.
Optical Character Recognition using PCA
Optical character recognition (OCR) using principle component analysis.
Reaction Diffusion: The Gray-Scott Algorithm
Reaction diffusion represents a type of reaction and, when modeled with a computer, can be used to create elaborate shapes and patterns.
Counting Sudoku Solutions in Java
How many possible sudoku solutions are there? In this article we use code and math to count the ways.
How To Create a Solved Sudoku
When I first started playing with writing a sudoku game, I took the long way to create sudoku templates. Here I provide a simple method to generate solved Sudoku puzzles.
Programming
Preventing Hash Collisions
Steps to Prevent Hash Code Collisions
The Java Javascript Engine
Running the Javascript from a Java Application
Creating a Progress Dial
How to create an animated progress dial in java.
Discrete Categorical Random Sampling
How to randomly sample from a discrete list of categories, each with a different probability of being selected.
LinkedList versus ArrayList
Java: LinkedList versus ArrayList
GUI Builders Pitfalls
Why avoid using a GUI Builder? This article explains the downsides.
Identifying Strange Attractors
A method for identifying strange attractors.
Custom Serialization in Java
How to customize java object serialization.
Drawing a Continuous Bezier Curve
How to draw a continuous Bezier curve from a set of points.
Programming the Lorenz Attractor
A Java, C, and Javascript implementation of the Lorenz Attractor
Modeling the Rubik's Cube with OpenGL
Visualizing a Rubik's Cube using OpenGL.
Rubiks Cube: Computer Simulation
How to computationally model the Rubik's Cube
Sorting the Indexes of an Array
How to sort the indexes of an array based upon the values of the array.
Maze Generation Algorithm - Depth First Search
Generating Mazes using a backtracking algorithm.
Conway Game of Life in Java
Conway's Game of Life in java Swing
Autocomplete Drop Down in a Java JComboBox
How to program a Java Swing JComboBox for autocompletion
Enable/Disable JComboBox Items in Java Swing
How to use Java to enable/disable items in a Swing JComboBox
Line Numbers in Java Swing
How to draw line numbers in a JComponent such as a JTextArea or JTable
Evolutionary Art using a Genetic Algorithm
Creating art using computer simulations of evolution.
3-Dimensional Metaball Computer Graphics
Computer Graphics of Metaballs - Organic 3-Dimensional Objects
3-Dimensional Smoothing: Catmull-Clark Subdivision
Surface smoothing using Catmull Clark
Molecular Surface Reconstruction using Marching Cubes
Constructing the surface of a molecule in 3-dimensions using the marching cubes algorithm.
Reaction Diffusion in 3-Dimensions
Simulating Reaction Diffusion in 3-dimensions
Google's ReCaptcha Service
An overview of Google's ReCaptcha Web Service.
How to Sort a Large File
How to sort a file too large to be held in memory.
The Julia Set Fractal
Creating images and movies with Julia Set Fractals.
When to Construct a new String Object in Java
When is it necessary to construct a new String in Java?
Java: The Misuse of a TreeSet
An example for how a TreeSet in java can be misused in the context of sorting objects.
Optical Character Recognition using PCA
Optical character recognition (OCR) using principle component analysis.
Reaction Diffusion: The Gray-Scott Algorithm
Reaction diffusion represents a type of reaction and, when modeled with a computer, can be used to create elaborate shapes and patterns.
Controlling Scalable Vector Graphics (SVG) using Javascript
Using Javascript to draw graphics dynamically on a webpage.
Java and Swing: an iPhone-like JScrollpane Component
A demonstration of programatic iPhone drag capability using Java Swing.
R Programming Through Java
How to run R code through a java application
The Future of Java Applets
Java applets have been around for almost twenty years. What does the future hold for Java based Applet technology?
Technical Forums: What Not to Do
Online technical forums can be a great resource to overcome a problem or answer a question in the context of school, hobby, profession, or research and can be a great supplement to learning a new skill
Finding Similar Webpages by Text Mining
While creating this website, I thought it would be useful to implement a related webpages feature. In this article I step through this process in detail.
Deploying a Java Application As a Native Mac
Java is known for its cross-platform performance. However, native applications often have unique look and feels not provided by java. I introduce ways to customize a java application towards the look and feel of apple macintosh operating system nativ
Analyzing Apache Weblogs In R
Although many web hosts and utilities such as google analytics provide statistics for website usage, it can sometimes be enlightening to drill deeper into the traffic of a website. This tutorial breaks d
BLAST Alignment in Java
A tutorial for how to perform automated remove BLAST alignment using JeUtils.
JEeutils - Access NCBI from Java
A tutorial for using JeUtils to access NCBI using Java.
Constructing Builder Set Methods in Java
There are occasions in programming when one must build a very complex class, whose construction is dependent upon a great number of parameters - parameters which vary in both value and number. This article presents a technique for readily building cl
Creating Editable Google Maps
Several months ago I was approached and asked to write a framework that allows multiple users to add and edit markers to a google maps user interface. This article summarizes that work.
J2EE: Changing Objects with Remote Interfaces
An experience in changing object using Java.
Saving Objects in Java
A tutorial for how to save objects in XML using Java.
The Importance of Access Modifiers
Introduces the importance of access modifiers through examples.
Knowing When a Thread Stops
Java code for how to determine if a Thread has finished.
Counting Sudoku Solutions in Java
How many possible sudoku solutions are there? In this article we use code and math to count the ways.
Custom Undo/Redo Solution in Java
Quite often I wish to implement undo and redo features in an application. I provide java examples for how to implement this in a java application.
Statistics
Discrete Categorical Random Sampling
How to randomly sample from a discrete list of categories, each with a different probability of being selected.
PCA For 3-dimensional Point Cloud
Principal Component Analysis for 3-dimensional Data
Dummy Variable Trap in Regression Models
The Dummy Variable Trap: using categorical data properly in a regression model.
Optical Character Recognition using PCA
Optical character recognition (OCR) using principle component analysis.
The Monty Hall Problem
Choose one door of three, hoping there's a prize behind the door you choose. If another door is opened without a prize, should you change your original choice to the other remaining door?
Review: Doing Bayesian Data Analysis
Bayesian Statistics is a field of statistics based upon probabilities, or how much you believe a hypothesis. This article reviews the book Doing Bayesian Data Analysis by John Krushce
Finding Similar Webpages by Text Mining
While creating this website, I thought it would be useful to implement a related webpages feature. In this article I step through this process in detail.
Technology
3-Dimensional Smoothing: Catmull-Clark Subdivision
Surface smoothing using Catmull Clark
Reaction Diffusion in 3-Dimensions
Simulating Reaction Diffusion in 3-dimensions
Review - Big Data: A Revolution That Will Transform How We Live, Work, and Think
Book Review - Big Data: A Revolution That Will Transform How We Live, Work, and Think
Google's ReCaptcha Service
An overview of Google's ReCaptcha Web Service.
The Anatomy of a URL: Understanding the elements of a Web Address
The anatomy of a website URL. What elements a URL is composed of, and how those elements are used by a browser and web server.
The Future of Java Applets
Java applets have been around for almost twenty years. What does the future hold for Java based Applet technology?
Electric Vehicles Emissions
When I think about electric vehicles, I think zero emission 'green' transportation. Here I breakdown the how efficient, based upon current statistics, electric vehicles truly are.
Review: Reinventing Discovery by Michael Nielsen
Having been a scientist for over ten years, I have seen different ends of the spectrum when it comes to sharing data and ideas. I review Reinventing Discovery by Michael Nielsen, a book describing the current state of the openess of the scientific co
Linux Command Line: Beginner Tools and Commands
A list of important linux command line commands for the beginning linux user.
Website Design
Creating a Progress Dial
How to create an animated progress dial in java.
Google's ReCaptcha Service
An overview of Google's ReCaptcha Web Service.
Controlling Scalable Vector Graphics (SVG) using Javascript
Using Javascript to draw graphics dynamically on a webpage.
The Anatomy of a URL: Understanding the elements of a Web Address
The anatomy of a website URL. What elements a URL is composed of, and how those elements are used by a browser and web server.
The Future of Java Applets
Java applets have been around for almost twenty years. What does the future hold for Java based Applet technology?
Create Your Website in Five Steps
Creating a website may be daunting, but breaking down the problem and tackling each step individually makes the process that much easier.
Analyzing Apache Weblogs In R
Although many web hosts and utilities such as google analytics provide statistics for website usage, it can sometimes be enlightening to drill deeper into the traffic of a website. This tutorial breaks d
Creating Editable Google Maps
Several months ago I was approached and asked to write a framework that allows multiple users to add and edit markers to a google maps user interface. This article summarizes that work.