Using Django and PyEphem to Determine the Location of White Fuzzies

🔖 AstroChallenge  astronomy  code 

I’ve been working on new project recently called AstroChallenge. While the details of what exactly AstroChallenge is will have to come later, rest assured, it has to do with Astronomy.


One of the bits of information I’m interested in is whether a particular celestial object is visible in the sky or not. Given an observer’s latitude, longitude and elevation and an object’s right ascension and declination it becomes a straightforward calculation.


How Greece Came to Belong to the Greeks

🔖 greece 

I met Amalia at the Thessaloniki Pythess (Python) meetup (at which I gave one awkward english presentation) which had migrated to a lounge under the Archaeological Museum of Thessaloniki. I thought the museum looked pretty cool, so I decided I would go the next day. I propositioned the group to see if anyone else was interested in joining me, Amalia was the only one brave enough to to say so.


We spent a few good hours at the museum and various other historical points of interest around the city. While walking down some buzzing, narrow street Amalia told me a great story about how it is that Greeks came to find themselves in Greece:


An unexpected visit to Istanbul

🔖 Greece 

Here I am in Istanbul (not Constantinople) the city on the Bosporus, the ribbon of land separating Europe from Asia and the Black sea from the Sea of Marmara and thus the Aegean to the East. As my plane glided downward and spiraled towards the glittering city I thought about the Golden Fleece and if it had seen a similar view on it’s journey from Greece to Turkey 3 thousand years ago.



Creating nice looking topo maps for use in GraniteMaps

🔖 cartography  code  granitemaps 

The goal of GraniteMaps is to provide accurate and educational maps for people participating in outdoor activities, so a large part of the project is creating maps that are pleasing to the eye.

The map displayed in granitemaps is actually two layers: the “base map” and the trail layer. The base map is is responsible for displaying the details of the map’s area such as land boundaries, rivers/lakes, major roads and elevation. The trail layer is an overlay of the actual trails and points of interest.


Hello World! In AngularJS

🔖 code 

My coworker recently complained to me how hard it was to find a simple “Hello World” program in AngularJS. I did a google search and found that indeed, all the simplest examples still asked the user to set up a bunch of boilerplate, file structure, etc.

Here is the simplest Hello World in AngularJS I could come up with, and it still shows 2 way binding:


Photographing the Triangulum Galaxy

🔖 astronomy 
This will most likely be my last “Photographing X space thing” where X is some object we studied in Observational Astronomy at Cabrillo College. The first was Comet Jacques, a small icy object moving within our solar system. Next up was the beautiful Great Nebula in Orion, a star factory near to us in our own galaxy. Here finally we have the Triangulum Galaxy one of the closest galaxies in our local group. Read more...

Photographing the Great Nebula in Orion

🔖 astronomy 
The winter skies bring new treasures. The Great Nebula in Orion, also known as Messier 42, or just the Orion Nebula, is one of the brightest nebula in the night sky located in, you guessed it, Orion. The nebula is actually visible to the naked eye: to find it look at Orion and locate the 3 “stars” that make up his “sheath”. The middle star is not a star, it is the nebula. Read more...

Building a trail map for Android using Ionic and Leaflet

🔖 code  cartography  granitemaps  featured 


Edit 11/27/2014: GraniteMaps Santa Cruz is now available on the iOS store! link

It took me a while, but over the weekend I officially submitted my first app into the Google Play Store:

GraniteMaps: Santa Cruz is a digital trail map for those looking to hike, ride or trot the trails in and around Santa Cruz, CA. GraniteMaps: Santa Cruz provides an easy to read topographical map, current location, trail list, and extra information on local wildlife.

So technically, how did all this come together? Using a bunch of awesome libraries held together by dirty hacks, of course!


Photographing Comet Jacques

🔖 astronomy 
This is Comet Jacques. There are many photos of it online, but this one is mine. This photo was taken on September 23rd, 2014 when the comet was about 1AU from earth, using a SBIG ST2000XCM color CCD camera mounted on a 12” Meade LX200. It was a little late to be photographing this comet, but I couldn’t resist the opportunity to caputre it. And with all the excitement about the Rosetta mission recently, I thought it would be a great time to fix up the image. Read more...

Making ng-grid scroll and select naturally with arrow keys

🔖 code 

The default behaviour of angular’s ng-grid library while using multiselect is a little strange. By default using the arrow keys will select multiple rows. I was looking for behaviour that would only select rows if ctrl or shift were being held. ng-grid also seems to have an issue with not showing the currently selected row in the viewport, causing the table not to scroll properly. The following code placed in your gridOptions object addresses both issues: