Modeling Physics (Gravity and Drag) in Processing
My girlfriend (an artist) is in one of Cooper Union’s learn-to-computer-program courses. The language they’re using is called Processing, a very simple programming language based on Java and aimed toward graphical output. The project she decided to do was to make a simple bounce-a-ball game, and she asked me for help with the physics of the ball motion. I helped her of course, but being an engineer, I took what I did and expanded on it (and maybe went over the top). What I ended up with was a gravity simulator that also takes into account inelastic collisions, air friction for laminar flow around the ball, and drag force for turbulent flow around the ball. The code is open for you to play with, all variables are parameterized (everything from the size of the ball and screen, to the density and viscosity of air), and heavily commented.
Drastically Reduce Your Development Time (Project Planning and Execution)
We consider ourselves to be a rapid-development, rapid-deployment team. We do most of our projects in half the time than other teams would. Lots of people have asked us how we do it, and we’re finally ready to share our secret with you. As a caveat: this is what works for us– it may not work for you, but we do believe this is the best approach to use when developing any sort of application or product. We also strongly believe that if it weren’t for this approach, developing applications would take twice as long. Try it out for yourself!
CSS for Programmers (and anyone else who appreciates clean, approachable CSS)
When used properly CSS can be an elegant and efficient way to express the presentational rules for a web page. Programmers typically love and embrace tools that provide for separation of concerns, as this is often the best method of managing complexity. So it’s strange to me that some of the most bloated, mangled and unmaintainable CSS I’ve ever seen was written by programmers. I might expect this type of behavior from designers/illustrators, but come on, not Ruby on Rails programmers–a group of people willing to accept subpar raw-performance for improvements in code architecture and readability (myself included) should be all over this CSS stuff.
Ruby on the Client Side
A Google search for cross-platform development languages results in the usual suspects: Java, Python, and C/C++. We needed something a bit more agile for the newest project we’re working on, and decided to start from the ground up with Ruby. We’ve discovered that with the right tools and some ingenuity, it’s actually a wonderfully efficient tool for writing client side applications.
Peak Picking Algorithm
Recently, I was hired for a project for which I had to develop a peak-finding algorithm, graph a set of data points, and mark the peaks. Internet searches revealed no easy-to-follow instructions on how to actually find peaks within a data set, so I decided to tackle the problem myself. Although I came up with a solution specific to chemical spectroscopic datasets, this should work for all sorts of data. Read on for instructions!