Jan 28 2009

OR: Henry Coe State Park, 1/27/09 – wildlife sighting

Published by Julien Lecomte under Astronomy

As I was driving up the winding road that leads to Henry Coe State Park, I saw a Mountain Lion. It was on the side of the road. It quickly turned around, looked at me for a brief moment, and then took off. This is a reminder that we are in Mountain Lion country, and that observing by yourself is not advisable.

I arrived at the overflow parking lot around 5pm. Rogelio Bernal Andreo joined me around 7pm, followed by Al Howard a bit later.

Overall, I was disappointed with the observing conditions. I don’t think I’ll come back to Coe unless there’s fog. There is just too much light pollution. The milky way was barely visible. The western sky is a total waste, the south is bad, the northern and eastern portions of the sky are just ok. I am not sure the drive is worth it.

I packed up around 11:30pm. On my way down, I saw a wild hog – a big one! It didn’t seem bothered by the passing car and kept going up the hill.


Comments Off

Jan 19 2009

OR: Dinosaur Point 1/17/09

Published by Julien Lecomte under Astronomy

I arrived at Dinosaur Point around 4:15pm. I set up in the middle of the parking lot, which ended up being a fine location as I later found myself surrounded by Dave Cooper, Peter Natscher, Rob Enns and Rogelio Bernal Andreo. There was little wind, but there was a fairly thick haze visible that was made even more visible by the setting sun. I knew then that the weather conditions were not going to be ideal.

My goal for that evening was to 1) try out some new equipment (Starbound observing chair, Televue Panoptic 27mm, Televue Nagler 16mm, Orion RedBeam Self-Powered LED flashlight, ScopeStuff variable counterweight system, Catseye collimation tools, chemical foot warmers) and 2) start my Herschel 400 project.

Let’s start with the equipment. I found the Catseye collimation tools (cheshire and auto-collimator) to be very nice once Peter Natscher explained to me how to use them. I also tried Rob Enns’ laser collimator, which gave me different results. This is probably because my secondary is not perfectly aligned underneath the focuser. I will have to tune this alignment with a sight tube at home.

I found the Starbound observing chair to be a great value, very comfortable. The ScopeStuff variable counterweight system was a great help when pointing near the horizon (it renders the altitude brake useless) The Televue Panoptic 27mm worked great, but I was barely able to reach focus with it… The Televue Nagler 16mm was my favorite eyepiece, delivering great views. I also used an old Vixen LV9mm, which made me feel like I was staring through a peep hole… I’ll have to replace it with a Televue Nagler 9mm (the Ethos 8mm seems a bit too expensive) I found the Orion flashlight to be too bright (even on the “Low” setting) so I put some translucent tape in front of it. But then, I discovered that the battery life was not that great, and I had to manually crank it several times after approximately 3 hours of use. I’ll have to see if I can remove a couple of LEDs to lower the brightness and increase the battery life. Finally, the chemical foot warmers worked nicely, but provided heat for only about 3 hours, not the 6 hours advertised…

Early on, Venus, combined with the haze, was a major source of light pollution. Overall, I feel like I will have to re-observe a lot of objects (especially galaxies and nebulae) Star clusters are usually less affected by light pollution and poor transparency.

I used two atlases: The Pocket Sky Atlas and the Sky Atlas 2000.0. I feel like the difference between these two atlases is too small to justify using both of them. Moreover, I prefer the compact format of the Pocket Sky Atlas. Therefore, I’ll have to get the more detailed Uranometria vol. 1 & 2 in addition to the Pocket Sky Atlas, and sell the Sky Atlas 2000.0.

I only have a red-dot finder, and I sometimes wished I had an optical finder too, especially when the object I was seeking was surrounded by several other conspicuous objects. A couple of times, I wasn’t quite sure which object I was looking at. I especially liked Albert Highe’s setup (his red dot finder is attached to a right angle optical finder scope – although I still wonder whether I should get a right angle or a straight view finder scope…)

Besides my prepared observing list, I observed Sirius’ companion through Peter Natscher’s 24″ scope. It was easy at 600x. I then tried with my 12″ scope at 300x and I was able to see it too, though not as distinctly, and only during rare moments of steadier seeing. I also observed a couple of carbon stars including Hind’s crimson star, and before leaving, around 1am, looked at M51 through Rob Enns’ 16″ scope. Although still low on the horizon, the spiral structure was obvious (but the bridge between M51 and its companion galaxy was not detected) Finally, Dave Coopper’s AstroPhysics refractor gave superb views of Saturn.

Now for my observing list. As I am writing this, I noticed that I forgot to log a lot of important details (For example, instead of saying that a cluster is “large”, I should have tried to estimate its size in arc minutes. I also noticed that as the night went on, the logging got worse…) When I re-visit some of these objects, I’ll have to pay more attention to the quality of my logging. Overall, it was a decent night and I was quite happy with my newly acquired equipment. Cheers!

My telescope, a 12 inch Meade Lightbridge

Peter Natscher and his 24 inch StarMaster

Rob Enns' 16 inch dobsonian telescope

Location: Dinosaur Point [Latitude 37°03'54"N - Longitude 121°10'13"W - Elevation 648ft]
Telescope: Meade Lightbridge 12″ F/5
Eyepieces used:
– Televue Panoptic 27mm (56x – 1.2° TFOV)
– Televue Nagler 16mm (95x – 52′ TFOV)
– Vixen LV9mm (170x – 18′ TFOV)
(All times are PST)

NGC 247 GX Cet 00h47m36.1s -20°42′44″ 9.7 mag 06:40p
Elongated 4×1 N-S, low surface brightness, fairly uniform, only very slightly brighter in the middle.

NGC 157 GX Cet 00h35m14.6s -08°20′48″ 11.0 mag 06:50p
Pretty bright, elongated 2×1 NE-SW, fairly uniform. Faint star nestled inside the halo. Surrounded by two bright stars on a N-S line.

NGC 246 PN Cet 00h47m31.2s -11°49′23″ 10.4 mag 07:00p
Pretty bright, round, with darker areas inside. The E-SE portion is darker. 3 easy stars nestled inside the nebulosity + 1 fainter.

NGC 584 GX Cet 01h31m48.9s -06°49′17″ 11.3 mag 07:10p
Elongated 2×1 E-W, progressively brighter towards the middle, fairly bright overall. Nearby galaxy 5′ E-SE (NGC 586)

NGC 596 GX Cet 01h33m20.0s -06°59′06″ 11.8 mag 07:15p
Fairly bright, round, bright almost stellar core. 15′ W of bright star.

NGC 615 GX Cet 01h35m33.7s -07°17′38″ 12.4 mag 07:20p
Elongated N-S, almost stellar core.

NGC 720 GX Cet 01h53m27.9s -13°41′41″ 11.1 mag 07:27p
Slightly elongated NW-SE, fairly bright, with a bright and almost stellar core.

NGC 908 GX Cet 02h23m30.8s -21°11′38″ 10.8 mag 07:32p
Fairly bright and uniform, gradually brighter towards the center, elongated 3×1 E-W.

NGC 779 GX Cet 02h00m10.7s -05°55′13″ 11.9 mag 07:40p
Fairly bright, elongated 3×1 almost N-S, bright almost stellar core. Eastern side felt darker for some reason. Photos don’t show any dark lane however.

NGC 936 GX Cet 02h28m06.3s -01°06′51″ 11.2 mag 07:45p
Pretty bright, with a bright non stellar core. Looks round. This is supposed to be a barred spiral. I did not however detect any central bar structure. Faint galaxy 10′ E (NGC 941)

NGC 1022 GX Cet 02h39m00.8s -06°38′17″ 12.1 mag 07:52p
Fairly bright, round, somewhat brighter in the middle. My notes mention that the halo did not seem perfectly uniform (?)

NGC 1052 GX Cet 02h41m32.6s -08°12′59″ 11.4 mag 08:00p
Fairly bright, round, somewhat brighter in the middle.

NGC 772 GX Ari 01h59m50.8s +19°03′16″ 10.6 mag 08:30p
Almost round, fairly bright with a bright non stellar core. Did not see any hint of spiral structure.

NGC 1964 GX Lep 05h33m46.4s -21°56′30″ 11.5 mag 08:40p
Slightly elongated SW-NE, fairly bright, almost stellar core. Dim halo. I noted the presence of a faint star in the halo right near the core. I forgot to include its relative position though.

NGC 2215 OC Mon 06h21m17.4s -07°17′16″ 8.6 mag 10:10p
About 30 fairly bright stars scattered within a 10′ roundish area.

NGC 2232 OC Mon 06h27m43.9s -04°45′51″ 4.2 mag 10:20p
Large (50′) cluster of about 20 scattered stars, including 10 Mon.

NGC 2204 OC CMa 06h15m58.8s -18°40′07″ 9.3 mag 11:00p
20+ stars in front of a somewhat milky background. Orange star 10′ to the north.

NGC 2354 OC CMa 07h14m34.4s -25°42′23″ 8.9 mag 11:10p
40+ stars over a milky background. Several dark lanes split the cluster.

NGC 2362 OC CMa 07h19m05.7s -24°58′20″ 3.8 mag 11:15p
Small cluster of about 30 fairly bright stars, centered on an even brighter star surrounded by a darker band.

NGC 2360 OC CMa 07h18m09.8s -15°39′31″ 9.1 mag 11:20p
Large and compressed cluster of stars of comparable brightness.

NGC 2244 OC Mon 06h32m26.1s +04°56′06″ 5.2 mag 11:25p
Very bright and large cluster inside the Rosetta nebula.

NGC 2264 OC Mon 06h41m30.2s +09°53′11″ 4.1 mag 11:35p
The famous Christmas tree cluster. Very beautiful. Did not notice any nebulosity.

One response so far

Jan 14 2009

The YUI library source code is now hosted on GitHub

Published by Julien Lecomte under Web Development

If you haven’t done so already, head over to the YUI Blog for the official announcement. I am proud to have made a (very modest) recent contribution to the library by porting the browser history utility to YUI3 (take a look at the source code) By the way, this new version of the browser history utility supports Opera and IE8 (in both quirks mode and IE7 standards mode) Moreover, it has more features than the YUI2 version, should be easier to use, and weighs a few hundred bytes less (after minification with the YUI Compressor) I’ll try to find some time in the next few weeks/months to write a bit more about YUI3 in general, and the new browser history utility and the YUI Compressor. Stay tuned!

One response so far

Dec 20 2008

Meade Lightbridge 12″

Published by Julien Lecomte under Astronomy

Here are a couple of photos of the Meade Lightbridge 12″ telescope I received for my 30th birthday. Unfortunately, I haven’t been able to take it to a dark site yet because of the bad weather we’ve experienced in northern California in the past couple of weeks. But with a few additional accessories — a few Televue Nagler and Panoptic eyepieces, an observer’s chair and a couple of filters — this rig should be pretty sweet. Cheers!

2 responses so far

Dec 02 2008

The Moon-Venus-Jupiter Conjunction of December 01, 2008

Published by Julien Lecomte under Astronomy

Venus is on the left, Jupiter on the right. Notice the Earthshine, barely visible on this shot. Cheers!

3 responses so far

Oct 26 2008

Stop Using GMT!

Published by Julien Lecomte under Astronomy

GMT, the famous Greenwich Mean Time, is used everywhere. However, we should all consider not using it. Universal Time (UT) — or even better, Coordinated Universal Time (UTC) — should be used instead. Why? In a given location, the real solar time is the time indicated by the Sun on a sundial. It is defined as the angle, expressed in hours, minutes and seconds of time — 1 hour corresponding to 15° — between the sun and the local meridian. According to the definition, it is then 0h when the sun crosses the local meridian, which is noon local time, and not 12h! The mean solar time is the real solar time corrected by the equation of time. The Greenwich Mean Time is the mean solar time at the Royal Observatory in Greenwich, London.

As you can see, GMT refers to an astronomical day starting at noon, and is thus not designed for civil timekeeping. Universal Time is the Greenwich Mean Time adjusted to have a civil day starting at midnight.

Universal Time (UT) is not a perfectly uniform timescale (the Earth’s rotation is not perfectly uniform) To compensate for this lack of accuracy, we now use Coordinated Universal Time (UTC), which is an atomic timescale (thus perfectly uniform) that approximates Universal Time (UT) by less than a second (remember hearing in the news that we need to add or remove a second to our clocks at the end of the year? Those are leap seconds to keep UTC in sync with the Earth’s rotation!)

Do yourself a favor and stop using GMT. Look smart and start using UTC instead. Cheers!

2 responses so far

Oct 21 2008

YUI Compressor and Java Class Loader

Published by Julien Lecomte under Web Development

The YUI Compressor uses a slightly modified version of the parser used in the Rhino JavaScript engine. The reason for modifying the parser came from the need to support JScript conditional comments, unescaped forward slashes in regular expressions — which all browsers support and many people use — and a few micro optimizations. The problem is that many users had the original Rhino Jar file somewhere on their system, either in their classpath, or in their JRE extension directory (<JRE_HOME>/lib/ext) This caused many headaches because the wrong classes were being loaded, leading to many weird bugs.

Today, I finally decided to do something about it. This meant writing a custom class loader to load the modified classes directly from the YUI Compressor Jar file. You can download the source and binary package here:

Download version 2.4 of the YUI Compressor

The skeleton of the custom class loader is pretty straightforward:

package com.yahoo.platform.yui.compressor;

public class JarClassLoader extends ClassLoader
{
    public Class loadClass(String name) throws ClassNotFoundException
    {
        // First check if the class is already loaded
        Class c = findLoadedClass(name);
        if (c == null) {
            // Try to load the class ourselves
            c = findClass(name);
        }

        if (c == null) {
            // Fall back to the system class loader
            c = ClassLoader.getSystemClassLoader().loadClass(name);
        }

        return c;
    }

    protected Class findClass(String name)
    {
        // Most of the heavy lifting takes place here
    }
}

The role of the findClass method is to first locate the YUI Compressor Jar file. To do that, we look in the classpath for a Jar file that contains the com.yahoo.platform.yui.compressor.JarClassLoader class:

private static String jarPath;

private static String getJarPath()
{
    if (jarPath != null) {
        return jarPath;
    }

    String classname = JarClassLoader.class.getName().replace('.', '/') + ".class";
    String classpath = System.getProperty("java.class.path");
    String classpaths[] = classpath.split(System.getProperty("path.separator"));
    for (int i = 0; i < classpaths.length; i++) {
        String path = classpaths[i];
        JarFile jarFile = new JarFile(path);
        JarEntry jarEntry = findJarEntry(jarFile, classname);
        if (jarEntry != null) {
            jarPath = path;
            break;
        }
    }

    return jarPath;
}

private static JarEntry findJarEntry(JarFile jarFile, String entryName)
{
    Enumeration entries = jarFile.entries();
    while (entries.hasMoreElements()) {
        JarEntry entry = (JarEntry) entries.nextElement();
        if (entry.getName().equals(entryName)) {
            return entry;
        }
    }
    return null;
}

Once we know where the YUI Compressor Jar file is, we can load the appropriate class from that file. Note the need to define the package the class belongs to before calling defineClass!

protected Class findClass(String name)
{
    Class c = null;
    String jarPath = getJarPath();
    if (jarPath != null) {
        JarFile jarFile = new JarFile(jarPath);
        c = loadClassData(jarFile, name);
    }
    return c;
}

private Class loadClassData(JarFile jarFile, String className)
{
    String entryName = className.replace('.', '/') + ".class";
    JarEntry jarEntry = findJarEntry(jarFile, entryName);
    if (jarEntry == null) {
        return null;
    }

    // Create the necessary package if needed...
    int index = className.lastIndexOf('.');
    if (index >= 0) {
        String packageName = className.substring(0, index);
        if (getPackage(packageName) == null) {
            definePackage(packageName, "", "", "", "", "", "", null);
        }
    }

    // Read the Jar File entry and define the class...
    InputStream is = jarFile.getInputStream(jarEntry);
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    copy(is, os);
    byte[] bytes = os.toByteArray();
    return defineClass(className, bytes, 0, bytes.length);
}

private void copy(InputStream in, OutputStream out)
{
    byte[] buf = new byte[1024];
    while (true) {
        int len = in.read(buf);
        if (len < 0) break;
        out.write(buf, 0, len);
    }
}

The last thing we need to do is bootstrap the application. In order to do that, we simply load the main class (YUICompressor) using our new custom class loader. All the classes that will be needed at runtime will use the same class loader:

package com.yahoo.platform.yui.compressor;

public class Bootstrap
{
    public static void main(String args[]) throws Exception
    {
        ClassLoader loader = new JarClassLoader();
        Thread.currentThread().setContextClassLoader(loader);
        Class c = loader.loadClass(YUICompressor.class.getName());
        Method main = c.getMethod("main", new Class[]{String[].class});
        main.invoke(null, new Object[]{args});
    }
}

As you can see, it's not terribly complicated to write a custom class loader. Note: I left out all the exception handling code and the import statements for clarity. The final code can be found in the downloadable archive. Cheers!

14 responses so far

Oct 14 2008

The Modern Moon: A Personal View

Published by Julien Lecomte under Astronomy

The Modern Moon: A Personal View (book cover)

I just finished reading The Modern Moon: A Personal View by planetary geologist Charles A. Wood, and felt compelled to write a few lines about this genuinely brilliant book. I have been practicing amateur astronomy for the past 17 years, and have occasionally looked at the moon through various telescopes. But for some reason, our natural satellite has always failed to captivate my attention. I suppose you don’t take interest in what you fail to understand. Moreover, telescopic views of the moon are overwhelming with details, making it hard to decipher what you are looking at. Wood’s book brings order to chaos and does a great job at explaining the science behind some of the surface features of the moon. For this reason, I warmly recommend anybody even remotely interested in lunar geology to read this book. Observers will want to complement it with a good lunar atlas, such as Antonin Rukl’s Atlas of the Moon.

One response so far

Jul 27 2008

Observing the Heavens at Lick Observatory

Published by Julien Lecomte under Astronomy

The Lick Observatory is an astronomical observatory, owned and operated by the University of California. It is situated on the summit of Mount Hamilton, in the Diablo Range just east of San Jose, California, USA. The observatory is managed from the University of California, Santa Cruz, where its scientific staff moved in the mid-1960s. (source: Wikipedia)

Every year, the Lick Observatory presents a summer concert series on Saturday nights to benefit the Lick Observatory Visitors Programs. Tickets are hard to come by, and the shows sell out soon after they go on sale. However, this year, I managed to purchase a couple of tickets, and last night, Brandi and I had the opportunity to spend the evening at the Lick Observatory.

The evening began pleasantly with an observation of solar prominences, shortly followed by an hour long string quartet concert. We then got to observe Messier 17, an emission nebula located approximately 6,000 light years away from us, through the Great 36" Lick refractor (the 2nd largest in the world!) After that, the renowned Geoff Marcy gave a lecture on “Searching for Earth-like Planets” [outside our solar system] Finally, we looked at a few deep sky objects, as well as Jupiter, through amateur telescopes stationed on the parking lot. Below are some photos of this wonderful event. Cheers!

Sunset at the Lick Observatory

Looking back at the bay from Mount Hamilton

A high quality, amateur-owned refractor outfitted with a special solar filter

The Great 36

String quartet concert

Looking back at San Jose

One response so far

Jul 08 2008

An IDE Device Driver for Simplix

Published by Julien Lecomte under System Programming

Over the past couple of weeks, I have been working on an IDE hard disk driver for my hobby operating system Simplix. This driver probes for existing IDE controllers, identifies the IDE devices connected to these controllers, and allows for reading/writing contiguous sectors from/to these devices. It communicates with IDE devices in PIO mode (no DMA) and does not support ATAPI devices (i.e. it does not offer any support for CD-ROM or DVD-ROM drives) At the same time, I also wrote a RAM disk driver, a simple block device interface, and a test program in the form of a kernel thread. This test program reads the first sector of the master IDE device connected to the primary IDE controller, and displays the last two bytes of this sector. These are usually 0×55aa (boot record signature)

Go ahead and take a look at the source code online. You can also download the Simplix distribution, compile it and run it either in Bochs/QEMU, or on a real PC. Below is a screen shot of Simplix running inside Bochs. Cheers!

5 responses so far

« Prev - Next »