As a self trained, informal, fly by the seat of my pants programmer, I am hardly the “best” person to give advice about teaching other how to program. I have no formal background in computer science and have never had anyone teach me to program, it’s just been something that I’ve played around in by […]

# Category: Computer Science

## Faster Gridding in R

So all oceanographers are familiar with the results of gridding, even if they are not so familiar with the process. Gridding is, in general, any method that will take observations and output interpolated (and sometimes extrapolated) data that is placed onto a regular, well-behaving grid. Below is a simple illustration of just such a process […]

## Daily Dose: Efficiency at Work

Prioritizing goes hand in hand with efficiency and productivity whether it’s extreme (like triage) or the mundane (like paying bills), but how often do we actually stop and think about the process? While at the bar yesterday my friend asked me a question about how I deal with my data. In particular the question was […]

## Call me Ishmael: computers, the sea and the stars

While ancient and modern mariners alike look up to the stars for direction, oceanographers look to the sea. Our research in particular involves moving with the water wherever it may happen to take us since we want to measure how a patch of water develops and changes over time. On my latest cruise I found […]

## For lack of a better word: Clumpiness

We perceive randomness every day whether it’s the shape that clouds take or the number of red lights we face during our commute, so it is not surprising that our intuition is well suited to some of these phenomena. The human mind attempts to bring order to the chaos as it were, and in doing […]

## Julia Language for Scientists

Today I wanted to take a moment and introduce a programming language to my friends and colleagues. While certainly not a common topic, I do so because I believe that it is well worth your time. Rather than trying to get non-programmers into a language, I write this for the already initiated such as those […]

## Data Compression: Benchmarking Performance on Generic Data

Data compression is one of those things that most people don’t really think about. We all know about the benefits of using a ZIP file if our attachment is too large or if we have a bunch of files we want to share with someone over email. Outside of those niche uses, data compression by the […]

## Modern Data Organization for the Modern Scientist

Scientists handle a lot of data, I mean a lot of data. The type and format of the data varies, but the predominate format used in oceanography is definitely the humble spreadsheet. Without firsthand knowledge of the practices common in other disciplines I cannot comment on the universality of spreadsheets, but I imagine that the situation […]

## Getting Started in 3D Printing

As someone who enjoys working on projects and tinkering with everything from computer systems to welders, I’ve always had a passive interest in 3d printing technology; yet I never seriously considered getting a one for myself. 3d printers work in much the same way a normal printer does, except instead of ejecting ink out of the […]

## Interpolating Bathymetry to Unstructured Mesh

A few weeks (perhaps months) ago I introduced the side project that I am involved with (here) whereby our aim is to develop a hydrographic model for Apalachicola Bay, Fl. Today I wanted to provide an update for that project while also sharing some interesting problems that we’ve had to work around. To see the […]

## Marine Geochemistry: a particle flux model

While on a run yesterday in my new Xero brand running sandals[1], I found myself thinking about the proposal I have to write for marine geochemistry. Since I have read a fairly comprehensive assortment of water column particle flux papers, I figure it might be a good fit for this proposal. Vertical carbon flux, which […]

## Common Image Formats Explained

After a recent conversation with a friend about photography and digital images, there seems to be many unanswered questions out there regarding the wide variety of image formats which have become commonplace in our lives. A few months ago I wrote a short article on HDR Photography (link) since so many people were asking questions […]

## Independent Exploration: Picking a Model

At the onset of the semester, myself along with Taylor, Xu and Erick committed to setting up and running a 3d hydrographic model of Apalachicola Bay. Since the primary goal of these weekly meetings was to learn how to take a modelling project from start to finish, we needed to be deliberate about our choice […]

## Analyzing YSI data through clustering

Update 10/13/15 – Minor improvements to code and an update to the latest findings. CTD data (conductivity, temperature and depth) from a YSI provides a quick and methodologically simple way to estimate the current water column state by, literally, dropping an instrument off the side of a boat. During each deployment the YSI records the […]

## The Future of R

On a day to day basis, I use the R programing language more than any other language (e.g Python, Java, Fortran, Matlab…), and there is a good reason for it: R excels at the sort of work I do. It has been extremely well suited to my modeling work, especially when going to analyze the […]

## Markov Chain Monte Carlo: A Practical Introduction

Markov Chain Monte Carlo simulation sounds, admittedly, like a method better left to professional practitioners and the like; but please don’t let the esoteric name fool you. MCMC, as we like to call is, is a powerful yet deceptively simple technique that can be useful in problems ranging throughout science and engineering. Since this promises […]

## Finalizing my research, the CCELIM model, in R

For the past 6 months I’ve been working on an inverse modeling project as a ‘starter’ graduate project, and today I am announcing that I can see the light at the end of the tunnel. While there is certainly more work ahead, especially with regards to the manuscript, the model and the code are just […]

## Which Witch is Which

This post is an elaboration of an iRKernel Notebook which can be found at http://misc.tkelly.org/Which_Witch.html. For a previous article on the iPython Notebook, see here. Every programming language comes pre-packaged with certain basic functions, or methods, that are considered standard. These generally include methods for sorting objects, conversions between basic types (e.g. integer float string), […]

## iPython Notebook

Even though Python is one of those skills I’d love to claim proficiency in, I haven’t worked on a real project in the language in quite some time. I’ve always felt more comfortable in statically-typed languages, like Java, where I know exactly how the data is structured[1]. When a friend sent me a NPZ model he’s […]

## Making R your own: Scripting & Tweeting

Previously I have spoken on the merits of the R programming language (here) and alluded to its place in my research (here)[1], so today I thought it was about time to share how I approach using R in my research. R–just like any other tool–needs to be leveraged in such a way that the use […]

## Code Walkthrough: Inverse Modeling

In previous articles (here and earlier here) I covered in some cursory way my current research into the California Current and about the technique of Inverse Modeling, so today I wanted to delve into the actual tools and code that I’ve developed. To review, an inverse model is An inverse model seeks to solve a series […]

## Optimizing R Code in my Model

Recently I have been talking a fair bit about my inverse modeling work, so now that it’s summer I finally have time to clean up the code base. Now that the code is working fairly well and offers all of the main features that I can think of, the goal is to get it running […]

## End of the Semester

Believe it or not, but it is already the end of the semester for me and my peers. Somehow nearly four months have disappeared once again into that historical accident that we call the past. Since each of my three classes have required a project to be done for the final, I figure that I may […]

## Paper of Note: Re-designing Distance Functions and Distance-Based Applications for High Dimensional Data

While it may be argued–and successfully so–that this is an article pertaining to an esoteric subset of computer science that few people will ever find practically useful, you may actually find it quite intriguing. I’ve found the article quite eye-opening and I’m certainly no computer scientist. What this article does do, which I feel is critically […]

## Remote Sensing Part 2

In a previous article I described a technique to determine the dye concentration from drone images, and I hope it sounded like a reasonable plan. Nevertheless, this plan did go ary when less than ideal conditions arose and the results got jumbled with the imperfections of the real world. So to make amends, I will […]

## How Twitter Improved my Ecological Model

For a last couple weeks I’ve been working on a marine ecosystem model using a technique called Inverse Modeling[ref]I’ll be sure to do a writeup on what Inverse Modeling is and what makes it interesting in the future.[/ref]; and while there’s been lots of progress, I’m starting to get to the point where the model takes some […]

## Computational Fluid Dynamics: Improving FTCS

Today I wanted to share as series of interesting finite difference schema that is much less about the implementation and more about the mathematical underpinnings of the system. This is intended for someone who may be new to finite difference models yet found feel confident with the material I presented last time (Finite Difference Schema). […]

## Finite Difference Schema

I want to share with you a step by step guide to how I structured, simulated, and compiled my results for comparing two basic finite difference approximation schema. The system which we will be modeling is given by this differential equation: You are not alone if you are feeling uneasy upon looking at this equation; but […]

## Finite Difference Implementation

For my numerical methods course–a course centered around the tools and techniques used in modeling ocean systems–we have been tasked with programing a 1D model of a differential equation with simple initial conditions. Our implementation has to be in Fortran, a computer language with a long history, which has been a bit of a learning […]

## Ray Tracing, or Why I bite off more than I can chew

I’ve spent countless hours and a considerable about of energy on getting my ray tracer up and running, and this is what I have achieved: While it may look like modern art[ref]Actually, since art exists independent of intent and as a result of a observer-entity interaction, this picture would be “art”. Whether it is modern […]