.

Tuesday, July 10, 2012

Weekend Project: Open Source Crowd Mapping with Ushahidi

Visualizations and crowd mapping keeps getting cooler, and with Ushahidi and Crowdmap, individuals have the open source tools to share personal experiences on their own terms. Swahili for "testimony" or "witness," Ushahidi was developed in 2008 to help map reports of violence in Kenya after the post-election fallout. Think Kenyan citizen journalists with web and mobile phone access. Since the project started, Ushahidi has grown into a team of volunteers in Africa, Europe, South America, and the United States.

ushahidiIn addition to being used to monitor political unrest, Ushahidi was deployed globally to track the Swine Flu outbreak. Users can submit reports using any device with a digital data connection, such as SMS messages, MMS, or online. Reports are posted in "near real-time" onto interactive maps, which can be viewed from a computer or smartphone.

The Ushahidi site includes links to pages explaining system requirements, a download option, installing and upgrading Ushahidi, Ubuntu and FreeBSD installs, and a link to instructions for installing the platform on a Dreamhost server. Mobile apps for iOS and Android are also available. All the software is free and released under the LGPL License and public repositories are on Github.

I downloaded the iOS app to my iPhone to test out the platform. A demo is included in the mobile app, or you can link to an existing map if you have the URL. Another option, Find Maps Around Me lets you look for maps, such as the Open Source Ecology map or the Bedbug Mapper. I opened the Open Source Ecology map, which showed a green pin for my location and then some red pins throughout the U.S., a couple in South America, four in Europe, and one in Australia. Each red pin represents an Open Source Ecology project contributor, and clicking on the pins opens up the contributor pages with details about their roles on the project, photos, and links to news and videos.

The Bedbug Mapper isn't as cool as it sounds. It's only one report, which is dated 2010 and marked "unverified;" however, you can see how mapping bedbugs could come in handy during a bedbug epidemic. A button in the bottom, right-hand corner of the app lets users add reports, with fields for Title, Description, Category, Date, Location, Photos, and News URL. Reports can be viewed as a list or as pins on a map.

Another option is Ushahidi in the cloud, which is Crowdmap. It's no install required and only minimal configuration necessary. After creating a new account on Crowdmap, which was as easy as entering my name, a password, and map name, I used the new map URL to create a new map on my iOS app: https://trampslikeus.crowdmap.com.

crowdmap

I've recently taken up trail running and hired a running coach, Coleen, whose business name is taken from lyrics in the Bruce Springsteen hit song "Born to Run." Now to test out the map on the road... or trail, in this case. Before getting started with a new map, you might want to watch the Ushahidi Crowdmap 101 video.

createmap

On the Site Settings page, you can name your site, add a tagline and banner, and tweak some settings to control who can submit reports and how your front end and admin pages look. The Map Settings page allows you to change the default location, which is Kenya. I changed mine to the United States.

map settings

Next, choose your map provider and get an API key, then tweak some settings for how your reports will display on the map. You can also adjust settings for SMS, Email, and API. Under the Facebook settings, you can add a Facebook app, assuming you've created one. I skipped that part for now. The External Apps option lets you add apps; the Ushahidi iPhone and Android apps are included by default in the list, but you can remove them.

Next to Settings, there is a Manage option, which is where you edit categories, for example. I created categories for trails, organized trail runs, races, alerts, and incidents.

categories

The Forms option lets you edit the default form fields or create a new form. I added a new drop down field to rate trails and runs from Excellent to Tragic. Other settings include Pages, News Feeds, and Layers. I selected Scheduler to adjust my Alerts and Email settings.

scheduler

The Public Listing option lets you categorize your map; I chose Recreation. Then you can add a description and make your map publicly available.

public listing

An experimental feature, Actions, lets you set a Trigger, such as Report Added or Checkin Recorded. I chose Checkin Recorded and made the Response be Log it. Other options for responses are to email or assign a badge.

trigger

The Badges option lets you pick a badge or upload your own badge. I'll revise this option later with badges for race medals, running club logos, and scenic routes.

badges

Next, I selected a Theme and chose one that was geared toward check ins. Finally, I added an About page with some information to explain the point of Tramps Like Us.

theme

With my iPhone in hand, and prior to tweaking all the admin settings I just described, I decided to add a real report to my Tramps Like Us map to describe my Thursday night group trail run. I took a photo of my fellow runners, added the title and description for my report, and the date and time were automatically added by the iPhone app. Because I hadn't adjusted all my admin settings before my evening run, I assume that is why I got an upload error message, and another, and another. Later I tried adding my report from my laptop, and then I got a new error, which I reported to the developers.

After logging into the Crowdmap admin page for Tramps Like Us, I saw my 10 reports, which were waiting approval. So, despite my upload error messages, my reports had actually been uploaded. In hindsight, adjusting all of the admin settings before running in the woods with the Lawrence Trail Hawks would have been a better idea.

I'm still playing around with Crowdmap and my Tramps Like Us map. My fellow runners were intrigued when I told them about the app, so I expect we'll use this for a while and see how we like it. There are also plenty of other maps out there to explore and plugins and tips to try. Overall, Ushahidi and Crowdmap seem to be flying below the radar and not getting the attention they deserve from the open source community, citizen journalists, activists, and those of us who are always looking for a fun new way to blend our online worlds, mobile devices, personal experiences, and real-world surroundings.

If you are using Ushahidi or Crowdmap, or you start using it, let us know about your experiences in the comments and tell us about your map and reports.


View the original article here

Weekend Project: Bug Out with Entomologist

Bug trackers are great. They are a critical tool for open source development – as a collaboration medium for teams, as a way for projects to communicate back-and-forth with users, and as an organizational tools for individual developers. But as open source software spreads further and further, one inevitably finds oneself with a bit of a Web 2.0 problem – every major project uses its own, separate bug tracker. The more projects you're involved with, the easier it is for information to get lost among all the clutter and noise. That's where Entomologist comes in, providing one interface for multiple bug-tracking systems, whether you are a developer managing your code or a user following progress.

The Entomologist project offers a Qt-based desktop client that can connect to multiple bug trackers, managing your account information separately for each, but providing you with tools to keep your to-dos all in one place. In other words, you can use one app to keep track of the bugs assigned to you, the bugs you reported, or the bugs that you are monitoring for your own information.

In theory you could keep a browser window open with tabs for every project that you interact with, but that is far less practical. For starters, all of the tabs have to remain open. In addition, you generally have to navigate to separate pages for each function (checking bug status, adding a comment, changing a field for triage). Perhaps most importantly, thanks to HTTP, you periodically need to re-authenticate every single account, interrupting your workflow.

Because Entomologist both maintains the login information for each account and provides one-click, native-access to the bug management functions, it bests the tab-jungle approach on all counts. It also enables some cross-project functionality that only a unified interface could access, although there is still plenty of room for this feature to grow.

Entomologist is cross-platform; there are binaries for proprietary OSes as well as packages for Debian, Fedora, Mandriva, OpenSUSE, and Ubuntu. If your distribution is not on that list, you can also grab the source code from the project's Git repository. The latest release is 1.1.2. You will need Qt 4.6 in order to compile it. Entomologist Overview

When you first launch Entomologist, you will need to configure the bug tracker accounts that interest you before you can do any real work. You can add them through the File -> Add Tracker menu item. Currently, Entomologist supports Bugzilla 3.2 and newer, Trac 0.12 and newer, and MantisBT. You will need to supply your account credentials as well as the bug tracker type and server URL for each tracker you add; fortunately you can also assign each one a helpful name.

After you add the new tracker account, Entomologist will synchronize, grabbing your reported and assigned bugs. You can configure the application to periodically re-sync, which is good for those projects you check less frequently. By default, each project tracker that you add gets a tab of its own, which shows all bugs associated with your account – your assignments, your reported bugs, your CC-list bugs, and those that you monitor voluntarily. You can toggle each category through the Show menu. One of the perks of working with this information in a native app is that you can quickly sort on any column – date, severity, status, etc. The list of attributes varies depending on the bug tracking system, of course.

You can double-click each bug to pull up a detailed report, including the original description and the full comment log. From this view you can add new comments as well as alter the bug's attributes (assuming you have the appropriate permissions on the server, that is). Any changes you make are highlighted in red, and will not be pushed to the server until you click on the upload button. You can undo your adjustments before uploading them if you change your mind, thanks to the "Revert Changes" button.

Regrettably, this detail view is also the source of the one serious bug I found in Entomologist itself – for the comment thread, the application incorrectly pulls in the text and background colors from the system theme, which in a dark UI theme means you get unreadable light-on-white text. Strangely, in the description field the text is also not selectable, which is inconvenient if you want to copy the text, but also makes it impossible to bypass the bad color scheme by selecting the entire text block, a trick that works elsewhere. I have been using dark UI themes consistently for several years now, and I can attest to the fact that Entomologist is far from alone in making this mistake, but it still renders the interface virtually impossible to read, and it needs fixing.

Simply consolidating a horde of unrelated bug lists from incompatible projects in a desktop application would make Entomologist a nice utility, but it goes further. For starters, you can initiate searches on any of the configured trackers – or on all of them collectively. The results are inspect-able just like your personal bugs, and you can add comments or change attributes (again, assuming you have sufficient privileges). This allows you to search for bugs by content, and to perform triage on a project's unconfirmed or unsorted reports.Entomologist Detail

The application also offers a to-do list feature, which lets you drag-and-drop bugs from the bug list window onto a separate panel. The to-do list pane opens up as a sub-window to the left of the main bug view (although it can be detached); presumably this is to make drag-and-drop more convenient. When you drop a bug onto your to-do list, you get a couple of additional fields for personal use – a target date that you can pick, and a "Completed" checkbox.

You can actually create multiple, distinct to-do lists (a feature which borders on overkill in my book), and you can synchronize your lists with Google Tasks. I would also like to see a little more detail provided in the "completion" field – all or nothing is barely helpful. But the developers say that they are working on expanding the feature set, so perhaps there are more task-management features in the works.

Last but not least, although so far we have examined only the desktop client app, the Entomologist project also has a mobile client in the works. So far there are Android and Blackberry downloads available (no word yet on other platforms). Interesting to note, however, is that the mobile clients do not support managing multiple, heterogeneous bug trackers in a single app – the clients are one-tracker-at-a-time only, and for the moment at least, only Trac is supported.

Speaking of what's in the works, the project has posted a roadmap online that gives a brief overview of where things are headed. Improvements to search are in the works, so that you can search on specific key fields – such as restricting your search term to bug-submitters by searching for reporter:foobar. Additional issue trackers are in the works as well, which is probably a bigger improvement – GitHub is coming first, with others to follow.

In the medium term, the project wants to offer a combined, unified view of all of the bugs the user is subscribed to. That will no doubt help busy coders by putting everything in plain sight at the same time. In addition, the to-do list synchronization feature is slated for an expansion as well, with support in the works for the Remember The Milk service and for WebDAV servers. There are also more general plans for adding scriptable actions and perhaps support for plug-in modules.

Ultimately, however, Entomologist already does the most important part of the job, which is decoupling bug trackers from the browser. Most of the trackers in use in the wild offer good collaboration features, but very few people have the luxury of only needing one.

Combine that with the ability to work offline, and the more powerful sorting and searching features of a native desktop app, and you gain productivity. It will be interesting to see where the mobile version and the future enhancements to the desktop edition take the concept, but it is already useful enough to start using if you have bugs to wrangle.


View the original article here

UEFI Secure Boot: Big Hassle, Questionable Benefit

Microsoft requires UEFI "secure" boot for Windows 8 certified hardware. More security is good, right? Even if it locks out Linux?

Microsoft is requiring Windows 8-certified hardware to ship with UEFI Secure Boot enabled. This prevents installing any other operating systems, or running any live Linux media. There are ways to get around Secure Boot-- but why should we, once again, have to jump through Microsoft hoops just to use our own hardware the way we want to?

UEFI is the Unified Extensible Firmware Interface, a new firmware to replace the elderly and inadequate PC BIOS we've been using since the dawn of the x86 personal computer era. The PC BIOS (basic input output system) supports only 16-bit processes and 1MB of memory addressing, so it performs only the minimal tasks necessary to start a computer, and then hands off to the next-stage bootloader, like GRUB, LILO, or Syslinux. We've been shackled to the 4-primary partition master boot record, and unable to boot > 2.2TB hard disks because of the PC BIOS.

UEFI was originally EFI, which was developed by Intel as a modern alternative to the PC BIOS. Now it's supported by a big ole industry consortium populated by pretty much everyone in tech. UEFI is really a little operating system, so it can be programmed to do just about anything: boot fast, play games, allow remote access without starting the operating system, shutdown, Web surf, and all those things that the Linux pre-boot environments promised. It supports both a pretty mouse-driven graphical interface, and a console interface. It has its own networking stack, and supports its own set of device drivers so you can have video, networking, peripherals, and other functions available during pre-boot. It has its own built-in boot menu. It has 32-bit and 64-bit modes. It boots > 2TB hard disks and uses the GUID (globally unique IDs) partition table instead of the moldy old MBR. There is a still a limit on the size of hard disks it can boot -- 9.4 zettabytes. I expect that most of us will be able to deal with that limitation.

Figure 1: A simple diagram that shows where UEFI fits in system startup.

(Image courtesy Wikimedia Commons)

UEFI supports two types of services: boot-time and runtime. Boot services are available while the UEFI firmware controls the system, and runtime services are available both during firmware control, and after the operating system takes over. UEFI has a BSD-licensed core, and then vendors can customize extensions as they like, including closed-source drivers, support for legacy operating systems, and other extensions.

Of course all this flexibility and feature-ful goodness comes at a price: the core source code contains over 7000 files and over 100MB of code. It's about 10 percent the size of the entire Linux kernel, and if you remove all the drivers from the kernel UEFI is bigger than the core kernel. Which is a fair comparison, because most UEFI hardware drivers are not in the core.

It would take a few articles to write a detailed UEFI overview. Check out the UEFI specification to learn more. It's over 2,200 pages, but it is a free download and the first few chapters are informative even for non-developers.

The PC BIOS was long overdue for retirement, but is UEFI an improvement? UEFI is huge, and it duplicates a lot of operating system functionality. More code equals more features. It also means more bugs, and more potential vulnerabilities, which is worrisome in a pre-boot environment that holds to the keys to every part of your computer, all of your software and hardware.

Windows has become somewhat less vulnerable in recent years, partly because of tools like validation checkers. There is a chain of validation that goes something like this: The bootloader asserts that the kernel has not been tampered with, and allows it to boot. Microsoft has required signed drivers for the past few years, so the next step is for the kernel to verify driver signatures. Then when users run a malware scanner they have a reasonable assurance that the answers it gets from the kernel are accurate. So a logical point of attack is the bootloader. Compromise the bootloader, and then you can load the kernel into memory and alter the kernel in memory. And then do whatsoever you will.

But even if your bootloader, kernel, and drivers are safe, this does nothing for userspace, like infections via Web browser. There are plenty of meaty morsels for malware to munch in userspace, and anti-malware software is never 100 percent.

Despite all the questions about its safety and actual security benefits, Microsoft requires, as a condition of receiving the official Windows 8 certification, that hardware vendors enable UEFI Secure Boot by default on client systems. They may use their own signing keys, or Microsoft's. There are financial incentives to getting that official certification, so they'll all do it. Windows 8 will boot without Secure Boot, and it will install on legacy hardware. But later this year, as the new OEM Windows 8 PCs enter the market, they're going to ship with UEFI Secure Boot turned on. So everyone who doesn't want to hassle with Secure Boot will be forced to. Originally Microsoft did not even want a disable option, or to allow users to use their own keys and certificate authorities, but they changed their minds for x86 hardware.

Fedora and Red Hat, wanting to keep their users' options open, have chosen to pay the $99 fee to be signed with Microsoft's keys. This will allow Fedora 18 users to use Secure Boot-encumbered systems without disabling it, and eventually Red Hat Enterprise Linux as well. Other distributions are still figuring out what to do.

Implementing Secure Boot for Linux has a number of technical and GPL hurdles, which Matthew Garrett describes in Why UEFI secure boot is difficult for Linux. Executive summary: It means trading ease of use and flexibility for what I think are dubious benefits.

How to turn it off on your x86 device? That will depend entirely on the hardware vendor's implementation. Users will have to enter their UEFI interfaces and hunt down the Secure Boot control, which could be called anything and buried anywhere. I have been unimpressed with the quality control that went into the PC BIOS for all these years, so who knows what fun awaits us in messing with UEFI firmware settings.

ARM hardware is another story-- Secure Boot is mandatory and cannot be disabled. (See page 122 of the Windows 8 hardware certification.)

To deliver some actual security, Secure Boot needs a bulletproof pre-boot environment, and a trusted, secure certificate authority and signing keys. So the second big question, after "Bulletproof? What's that?" is whose CA and keys? Microsoft already has a CA infrastructure in place for signing drivers.

But haven't we learned that the root CAs are vulnerable? How many times has Verisign been compromised? Bruce Schneier calls the certificate system "completely broken." Who hosts Microsoft's CA? Verisign. Have we already forgotten the Flame malware that spoofs Microsoft's own CA, takes over Windows Update, and fools Windows computers believing that the malware they're installing is genuine trusted signed binaries?

To borrow Bruce Schneier's wonderful phrase, I think this just another piece of security theater that will inconvenience many and benefit no one. Except for whatever value is derived from forcing purchasers of new hardware to be Secure Boot beta testers, and to once again dance to Microsoft's tune.

Additional References

Making UEFI Secure Boot Work With Open Platforms, a good and sensible proposal from the Linux Foundation.
Digital Certificate Authority Hacked, Dozens Of Phony Digital Certificates Issued
EFI and Linux: the future is here, and it's awful - Matthew Garrett
Sam Varghese asks why does the industry, all full of heavyweights like IBM, Novell, Red Hat, and HP, still let Microsoft call the shots?
Unified Extensible Firmware Interface on the Arch Linux Wiki is a nice UEFI howto.
UEFI Secure Boot, Red Hat's announcement of support for Microsoft's key registration scheme for booting Red Hat on Windows 8 hardware.
Gentoo Wiki on UEFI kernel and bootloader configuration.
Booting Linux natively on a UEFI system (without BIOS CSM) using GRUB2 from the Ubuntu Wiki.
Coreboot (formerly LinuxBIOS) Supported Motherboards


View the original article here

Weekend Project: Get to Know LocalWiki for Local Information Sites

Wikis have a well-earned place among the ranks of content management systems (CMSes) as the de facto solution for crowdsourced, document-centric sites. But they are not one-size-fits-all. The encyclopedic style of MediaWiki is a good fit for Wikipedia, but TikiWiki makes for a better groupware solution thanks to features like access control and office document support. Let's take a look at one of the more unusual offerings among open source wikis: LocalWiki, which is focused on building community-driven, local information sites.

The LocalWiki project rose out of a particular community-centric site called Davis Wiki. Founded in 2004, Davis Wiki was geared towards providing an information resource for the Davis, California region — including everything from local businesses and features to local history, and documenting everything from major news events to lost pets. The software was written to be easy-to-use for non-technical people: no specialized markup language to learn, no preview-and-commit workflow, and no arcane diffs in page history — but very big yes on accessibility.

The reasoning goes that it is community members that hold most of the community's knowledge, so the software has to be usable by everyone in the community. Or, as the first year report put it, "on the local level, everybody's an expert" ... and the wiki needs experts. Fast forward a few years and the project had taken off so much that it was awarded a 2011 grant from the Knight Foundation to transform the custom site software into a reusable, easily-installable open source project.LocalWiki

The LocalWiki team also selected a handful of "focus communities" to work with hand-in-hand, getting feedback on the code and helping them to grow their own sustainable local project. The first was in Denton, Texas, in the Dallas-Forth Worth metroplex area. There are now six focus communities, and more than 180 independent LocalWiki installs worldwide.

The LocalWiki software is written in a combination of Django and custom Python code. In addition, it relies on PostGIS for mapping functions, the Apache Solr search engine, and the Jetty web server (which is a dependency of Solr). The package is pre-built for Ubuntu, and the project strongly encourages using Ubuntu as the deployment platform, but there are installation instructions for other OSes as well. By default, the wiki uses the CloudMade map server, which requires a free API key, but this is configurable.

The installation process itself is simple. You run the Python-based installer from the software package, create an empty database, and head to the web administration interface. Like any good publicly-editable CMS, there are frameworks in place to manage users and groups (including blocking accounts), control access to features (such as maps) by content type, and restrict permissions to specific resources (such as the front page). Each site is themable, can use TLS/SSL encryption if desired, and supports optional plug-ins for embedded video and other advanced features.

The basic operations are straightforward, though — by design. The LocalWiki team intentionally set out to simply the article creation and editing process, observing that open source wiki packages tend to rely on specialized wiki-markup languages, while WYSIWYG remained staunchly the turf of proprietary, commercial services. LocalWiki's editor uses a word-processor-like toolbar to directly edit page text with full control over text style, formatting, and page divisions; we have gotten used to the WYSIWYG approach in blog back-ends, but it is still a rarity on wikis.LocalWiki Preview

More importantly, though, the WYSIWYG features extend beyond font styling to the aspects of page editing that newcomers are likely to need help with. It provides simple pop-up insertion boxes to handle links and images, automatically creates caption boxes, and even performs spell-checking. When you create a new page, it automatically searches to make sure that there is not an existing page on the same topic. A lot of work went into the revision-viewing feature, too. It provides clearer insertion/deletion highlighting than you will find in other wiki systems, and shows changes on rendered versions of the page (rather than in the source code).

The biggest single difference that separates LocalWiki from other wiki projects is its integrated support for mapping. This is clearly a vital feature for geographically-local communities; every feature of a local wiki involves a place: where news events happen, where sites are found, where neighborhood boundaries are, and how to get from point A to point B.

You can add a map to every page; by default LocalWiki uses CloudMade map layers, but this is adjustable on the back-end. On each map, the page editor can draw several types of feature: point-of-interest markers, lines that serve as paths or travel directions, and polygonal regions. You can annotate maps, and the changes any editor makes to a map are visible in the page's revision history, just like text changes.

The project says that this map-driven alternative interface helps communities grow their sites in a natural manner, because many local "features" have loosely-defined borders — such as the bounds of a neighborhood or city region. There may be a specific, historical border between neighborhoods or subdivisions on file somewhere, but more often people attach semantic meaning to place names, and the delineation is not fixed.

LocalWiki also provides a map-based overview of the entire wiki site, where visitors can see all of the place-bound markers, points, and regions on one map of the city or community, then dive in to a particular region based on what they see. This can be a more natural way to explore a town, as well as provide visual cues to nearby topics of interest.

One reason that the Davis Wiki software was spun off into the LocalWiki projects is that other cities were interested in starting similar geographic community wikis — but the original stand-alone code was not portable or easily maintained. That has changed, and LocalWiki now makes regular releases. The latest is version 0.3, released March 29, 2012. It adds two new features of note.

The first is support for tagging articles. Tags are text-labels assigned by users; each article can have as many tags attached as the user community wants to add, and they offer an alternative means to navigate the site documents. Obviously tags are not a new feature in the software world, but it is surprising how slowly they have come to wiki packages. In contrast, MediaWiki's built-in semantic indexing feature is its categories. But LocalWiki tags are easier to assign (no source editing required) and easier for the reader to navigate.

The other new feature is a dashboard view for administrators. This gives admins an overview of activity on the site: visits, users, pages, and other statistics. LocalWiki's stats dashboard automatically creates time-based charts, so a quick glance gives you an indicator of the large-scale growth or health of the site.

LocalWiki has proven successful at motivating communities to create and curate their own content — take a look at Triangle Wiki for one example. But the ease-of-editing and simple map integration features are not intrinsically bound to geographically-local groups, so you might well ask if any of those features will make it into other open source wiki projects. The answer is apparently yes; the LocalWiki team says it is working on a more generic build of the package that will be useful as a general-purpose wiki infrastructure.

So no matter what topic you need to keep tabs on, you will have easy-to-use software to support it — which means more contributors from outside the relatively narrow realm of CMS experts and markup-language fans. If you want to start a LocalWiki project for your town, hamlet, or burg, the project provides a step-by-step guide to starting, building out, and sustaining a volunteer wiki project. Just don't forget to come back to the LocalWiki site and add your site to the map.


View the original article here

Weekend Project: Discover Linux Astronomy Tools

Considering Linux's foothold in everything from embedded devices to supercomputers, describing the project's growth as astronomical is no exaggeration. But it is a literal truth, too, as Linux and open source software power scores of professional and amateur astronomy projects. Whether you need to precisely drive a large telescope for scientific purposes or just want to create decent-looking astrophotography, chances are there is a project out there already suited for the task.

Step one is figuring out where to point your telescope. If you don't know where to look, the chances are you won't see anything interesting. Fortunately, just about everything from the local planets and asteroids out to deep sky objects is well-cataloged; what you need is a way to translate the celestial position of an object into the coordinates for your position on the ground, at the point in time you intend to be looking up. Astronomers use tables called ephemerides to keep track of these ground-observer positions. But with a computer at hand, you can put away then pencil and paper, and calculate your spotting information on-the-fly.

At the simple-end of the spectrum you find CLI tools like aa (for Astronomical Almanac), a GPLv2 app that calculates positions and velocities for planetary bodies and stars, with a simple, menu-driven interface. It is packaged for Debian, so other distros may carry it, too.

PyEphem is a flexible Python alternative that lets you load in your own data sets from other sources; available options include the International Astronomical Union, NORAD, and interesting private collections such as old space probes.

Skycalc mixes ephemeris functionality with a heads-up planetarium-style display. An even more flexible package is uniMap, which integrates photo-matching and other features discussed below. Finally, check out Ephcom and XEphem, which are older applications but are still good to have around.Skycalc

Two other projects related to the task of generating ephemerides are creating your own charts and logging observations. PP3 is a LaTeX chart generator; it can help you plot out your sky-watching session or create visual aids. Observation Manager allows you to take careful logs of what you see – which will come in handy when you discover that comet that isn't listed in anyone else's ephemeris....

Once you know precisely where to look, however, you'll rapidly discover that you need a lot of precision control to aim your telescope and to track objects as the sky moves. A lot of amateur astronomers shell out big bucks for devices that will automatically rotate their telescopes to track the sky, or even dial-in an object by name. That sounds like no fun at all, but luckily there is a homebrew, open source route, too.

Obviously your controller software will need to be tailored to your hardware, but there are only a few major vendors. If you have a Celestron scope, NexControl is for you. XmTel supports Celestron NexStar, Meade LX200, Planewave Instruments, Galil motion controllers, and several other systems – plus it can be controlled remotely, thanks to the open source INDI software stack.

Some slightly older applications may be worth checking out if you have tricky hardware needs, such as Nova, which bundles telescope control, ephemeris, and image capture, or STV, which is built to control SBIG brand guide systems.

The above projects target specific hardware, but there is something to be said for the complete do-it-yourself approach, too. Many people get into amateur astronomy with low-cost Dobsonian telescopes, and add their own equatorial mounts later. There are experienced builders like BBAstroDesigns who offer hand-made telescope controllers, and makes the hardware designs and software available for free.

Open PHD Guiding (which stands for "Push Here, Dummy") is a hardware-neutral system that is self-calibrating, so you can let the software figure out how fast the motors move the telescope. Open Focus is a similar project focused (no pun intended...) on autofocusing, which is no simple feat.

In addition, there are plenty of Arduino-based solutions, like ejholmes's ASCOM Driver. A great place to get started with homebrew control is the SGL Observatory Automation project, which tackles focusing, telescope control, and several other pieces of observatory automation.

You can certainly have an excellent stargazing experience using solely the human eye (well, through the telescope), but if you want to capture digital photos of the night sky, open source software can help you there, too. As with telescope control, there are solutions for commercial products and for homebrew devices.

For SBIG's USB CCD capture devices, NightView can control the camera, setting the binning mode, exposure type, and shutter length, as well as set the CCD temperature and control any filter wheels attached. For serial and parallel-port SBIG cameras, you will want to look at Shiny.

XmCCD, from the makers of the XmTel software mentioned above, supports some SBIG and Apogee models, plus several brands of filter wheel. GCX is older, but supports some Meade cameras.

Qastrocam and its sibling Qastrocam-g2 are both designed to work with standard webcams – although you will need to mount them to your telescope with an adapter, and your results will be better if you get a high-quality, CCD-based webcam. Audela bridges the gap, providing a uniform interface to USB webcams, more expensive CCD capture devices, and even DSLRs.

Capturing raw images is not the end of the process, however. You will still need post-processing software to transform your data into usable pictures, whether for aesthetic or scientific purposes. That is because astrophotography pushes the limits of even the best capture device, due to the dim light of sky objects. For pure photography, you will generally want to make multiple exposures and stack them together to produce sharp images. For any sort of scientific usage – even ensuring something as simple as accurate color – you will tackle a task called "reduction" that attempts to alleviate the effects of sensor noise and ambient heat, by averaging multiple frames, subtracting "dark frames," and so on. You may also need to precisely align your images and identify objects by their catalog numbers.

On the scientific front, there are a lot of packages to choose from, including all-in-one packages like AstroBuffer, SAOImage DS9, FITS Liberator, and GCX (mentioned above), plus standalone tools that tackle one part of the process – sometimes intended to be called from scripts and other applications.

In this category you will find ISIS, IRAF, stecf, SWarp, WCSTools, and WeightWatcher. A whole other suite of options are available for matching the objects in your images to known celestial catalog entries, such as SExtractor, and Montage.

But don't worry if the high-end tools seem intimidating at first glance; there are "amateur" applications as well, such as uniMap (mentioned above) and Dark Master. In addition, many of the all-in-one processing apps are perfectly suited to producing frame-worthy images. Just be aware that you may have to read up a bit on which of the options interest you and which are overkill.

We may not have space stations and orbital telescopes running completely Linux-based software, yet. But as you can see, Linux and open source have a wealth of technology to offer the astronomy sector, from amateurs building their own telescopes right up to full-time researchers processing deep-sky imagery. In fact, there is so much out there that it almost seems too easy. But you can always seek refuge from the throngs by going even further afield, say to radio astronomy. As a matter of fact, yeah, Linux and open source software at work there, too – such as GNU Radio Astronomy and AIPS – but at least it is slightly less crowded.


View the original article here

Weekend Project: Math, Science, and Ubuntu Come Together in Mathbuntu

Mathbuntu brings a nice batch of math and science software, textbooks, and other goodies to Ubuntu and Kubuntu. Let's try it out and see if it makes us smarter.


Mathbuntu can be obtained in three ways. One is to download and run its slick little installation script for existing Ubuntu and Kubuntu systems. This adds all the Mathbuntu bits without having to download the whole distro. It will take a while because it downloads a lot of packages.


You can order a DVD for a few bucks, and there are also complete downloadable .isos. The available versions are K/Ubuntu 11.10 and 12.04, both 32- and 64-bit. The download links on the download page are obscured, which is sad for wget fans, but there is still a way to use wget. I certainly do, because it automatically retries interrupted downloads and supports rate-limiting. It seems that ever so many FOSS projects and distros like to play funny games with download links, so one way to find them is to go ahead and start the download with Firefox. Then the Download Manager will tell you when you right-click on your download, as in figure 1.


Mathbuntu download


Click on Copy Download Link, and then middle-click paste in a terminal. Now you can prepend your favorite wget incantation, like this one that continues interrupted downloads and limits its bandwidth to 100k:


$ wget -c --limit-rate=100k http://www.mathbuntu.org/iso/MathKubuntu12.04-amd64.iso


There is a lot of installation help on Mathbuntu.org, including videos.


The download images are over 2GB. Burn one to a DVD and there's your live DVD and installation disk, and of course you can easily make a bootable USB stick. I installed a Kubuntu image and gave it a whirl.


However you get Mathbuntu, what does it give you? For starters, you get a batch of open source and public domain textbooks, such as the highly-regarded three-volume "History of Modern Mathematics" by David Eugene Smith, "Introduction to Real Analysis" by William Trench, and "Elementary Calculus: An Infinitesimal Approach" by H. Jerome Keisler.


I have a special fondness for readily-accessible textbooks. Textbooks have traditionally been a bit of a racket; "new" editions often contain only trivial changes, and they're expensive. Textbook publishers are discovering both the good and bad sides of high tech: digital distribution is cheaper, faster, and more flexible, but fences and walls are also tempting. And so students get to have fun adventures with purchasing time-bombed access codes which they cannot re-sell, and which sometimes don't work, and good luck sorting that out. I like books I can just pick up and read without drama, and resell or give away.


There is a fair bit of good science and math software for Linux, and Mathbuntu collects a sizable herd of it, including: 

LaTeX (typesetting)Scilab (MATLAB clone)Maxima algebra systemwxMaxima (graphical Maxima interface)Octave (MATLAB clone)QtOctave (graphical interface for Octave)R (statistical computing)RKWard (graphical interface for R)Sage (mathematics)GeoGebra (geometry and algebra)K3DSurf (3D surface generator)Xfig (vector graphics)XPPAUT (differential equation solver)IFS Tools (create Iterated Function System fractals)KmPlot (mathematical function plotter.)

Mathbuntu also includes links to meaty online educational sites like Khan Academy, MIT Open Courseware, Sage Online, and WolframAlpha, the online answer engine built on Mathematica.


Installation was uneventful, and no, I am not nostalgic for the olden days when installing Linux required determination and iron geek muscles. Installing most any Linux has been a non-dramatic event for many years now, and I like it that way. Mathbuntu expands to about 6GB, and that includes the customary Linux richness of apps like LibreOffice, GIMP, various email, Web, messaging, multimedia, and system utilities. (I shall refrain from making my customary comparison to our big proprietary commercial friend who can barely cram an operating system into 15GB, let alone applications.)


Mathbuntu bootThe bootloader has useful customizations as Figure 2 shows: boot to a serial console and the Plop boot manager, which lets you boot from USB media even on older systems that don't support it.


The menu organization is a little confusing for me, with overlapping entries in multiple categories like Development, Science, and Math. I'd like to see a Mathbuntu category with all the special Mathbuntu apps in one place, a nice one-stop shop for perusing all the goodies and trying them out.


Mathbuntu is maintained by Dr. Leon Brin, who is a mathematician and professor. He is also the author of IFS Tools, and contributes to Maxima. Dr. Brin said in a FLOSS For Science interview that he is open to more contributors working on Mathbuntu. He wants a better website with more interaction with users and contributors, a more flexible installer that lets users tailor the installation, and more documentation and more textbooks. (Figure 3 shows the Mathbuntu KDE desktop.)


Mathbuntu desktopI've long felt that one of Ubuntu's strongest features is the common repositories that serve all Ubuntu flavors: Kubuntu, Ubuntu Server, Edubuntu, Xubuntu, Lubuntu, and all the myriad independent offshoots. This means that any single Ubuntu installation can easily morph into any variant by simply installing a few packages, rather than having to support a completely new installation. This also makes it easy to roll out specialty variations like Mathbuntu without introducing incompatibilities. Mathbuntu is useful for the math and science nerd who already knows what software they want, and especially useful for introducing Linux users to some of the great math and science apps in Linux.


View the original article here

Friday, July 6, 2012

Tizen Developer Conference Agenda Announced

HTML5 app developers and device makers, this conference is for you!

The Tizen project just posted the schedule of events for the first Tizen Developer Conference, which will be held in San Francisco on May 7-9, 2012. The agenda includes sessions that cover the Tizen platform itself, application development, and the community, with a special track for In-Vehicle Infotainment, or IVI.

There will be two parallel tracks on the Tizen Platform. The "Platform Introductory" track will discuss the Tizen architecture, development tools, web runtime, and various frameworks, including security, applications, UI, and graphics. It will also include talks on telephony, the Bluetooth stack, and location services.

The "Platform Advanced" track will discuss the need for standard accessibility APIs in Tizen, mobile text input challenges, details of the Tizen emulator, practical lessons in application development, optimizing services for systemd, using the Web API test suite, WebKit2/EFL, OBS, and a deep dive into DRM (Direct Rendering Manager) in the Tizen kernel.

There will also be two tracks on application development in Tizen.

The "Application Introductory" track will cover the WebAPIs, WebCL for hardware acceleration, the Web UI framework, push notifications, and rich application development in HTML5 including touch input, gaming, and the use of . It will also include a session that helps developers determine which parts of the Tizen stack should be used when building or porting applications.

The "Application Advanced" track will focus on best practices when designing applications for low power, performance, security, beauty, and portability, and will include deep dives into cloud storage and podcasting HTML5 applications.

Sessions in the "Project & Community / Upcoming Technologies" track will cover the state of the Tizen community, how to engage with open source projects, and discussions of Wayland, oFono, and secure NFC applications.

Finally, the IVI track held on day two will include talks on the potential of Tizen in the automotive industry, the Tizen IVI architecture, security, and HTML5 application development for IVI.

As you can see, the conference focus is on the technologies in and around the Tizen platform, as well as best practices for HTML5 application development. If you are planning to build Tizen devices or write applications for the platform, this conference is definitely for you.

Registration is open now. Hope to see you there!


View the original article here