Showing posts with label Weekend. Show all posts
Showing posts with label Weekend. Show all posts

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

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

Tuesday, July 3, 2012

Weekend Project: Replace Active Directory with Resara Server and Samba4

Samba4 aims to be a drop-in Active Directory server replacement. It's still in alpha, so the easy way to try it out is with Resara Server, which supplies a polished administration console and decent documentation. So grab your Windows peecees and come take Resara for a spin.

Active Directory is the keystone in Windows networks, so an open source replacement for it is very big deal. Samba4 is designed to be an AD replacement, and it is the only open source project with this goal. Samba4, like Samba3, is a LAN manager that supports Windows, Mac, and Linux clients. Samba4 is in alpha, so you don't want to put it on production machines yet. But you can start getting familiar with it, and this is a good time because the Samba team expects their first 4.0 release to come out this year. It's been a long journey, as Samba4 has been in development since 2003.

There are multiple ways to get Samba4. You can download alpha sources, nightly builds for those who find that alpha releases are not adventurous enough, and your distro might have packages.

The easy way is try a nice prefab setup like Resara Server. Resara integrates all the pieces, supplies a good graphical administration console, and has decent documentation. You can download full ISO images, a VirtualBox OVA image, or just install the Resara packages on your Ubuntu system. The latest release of Samba4 is 4.0.0alpha20, and Resara Server uses 4.0.0alpha17.Figure 1: The Resara Server desktop and login dialog.

There is a good detailed howto on installing, configuring, and testing a Samba4 domain controller, which includes some helpful videos. This is also a great help with Resara server.

The idea of creating a drop-in replacement for Windows Active Directory is a noble one. AD is expensive in multiple ways: overpriced over-complicated licensing, high hardware requirements, inefficient cumbersome administration, and gratuitous lockin "features".

On the client side, Windows PCs are very particular about how they connect to a network, and they require some kind of AD support for almost everything. Adding to the fun, AD relies on Kerberos, DNS, and LDAP. But not nice ordinary Unix Kerberos, DNS, and LDAP; it wants special "enhanced" features just for Windows. (You didn't expect real interop, did you?) Microsoft networking protocols rely on remote procedure calls (RPCs) in amazingly creative – or bizarre, take your pick – ways that are difficult for a third party to implement. Samba3 will never advance beyond being a Windows NT-style domain controller and Active Directory member. Replacing Active Directory server is Samba4's special job.

I tested Resara Server 1.1.2, released April 18, 2012. This is a minor bugfix to the major January 1.1 release. I tried the standard commercial version, which offers a 30-day free trial. There is also a free-of-cost community edition and an enterprise version. The free version includes:

Active Directory-style domain controllerUser managementNetwork host managementFile sharesAutomatic drive mapping for Windows clients

The commercial and enterprise additions include WebDav for Web-enabled file sharing, technical support, server configuration backup, and multi-server replication with failover. Standard costs $749.99 for up to two servers, and the enterprise price tag of $1199 is for unlimited servers. The price tag includes a year of unlimited support. That's all you pay – there are no user or client licenses, and no additional software licenses for the myriad services and applications that make up Resara Server.

Resara also offers a number of hardware bundles. The Mini costs $1299.99; it's small, quiet, includes two hard disks in a RAID 1 configuration, and supports USB-attached storage. The Pro starts at $1799 and the Rack at $1899. These are the same except for the form factor, supporting a maximum of 6TB storage, hot-swap RAID 5, dual NICs, and an Atom D525 processor. All three have a three-year hardware warranty and one year of unlimited support.

Installing Resara was a bit mind-bending because it's stock Ubuntu 10.04 LTS with the GNOME desktop, so the installer messages are all about desktop apps like F-Stop, chat, and OpenOffice. Other than that little bit of dissonance for a LAN server it was uneventful, a typical easy fast Ubuntu installation. The partitioner was a bit annoying; I chose to let the installer automatically partition the whole disk, expecting that I would have a chance to review this and make changes. But no. It divided the disk into a root and swap partitions, and did not report their sizes or offer an option to make changes. The advanced button only gave bootloader and network proxy options.

Resara uses the generic Ubuntu kernel, rather than the server kernel. The Resara Admin Console requires a graphical desktop environment. This can be on the server, or you can run administer it remotely because the Admin Console can be installed on any Linux, Mac, or Windows PC.

The Admin Console has a clean appearance and logical organization. It supports the usual configurations: users, groups, networks, network hosts, shares, name services, and storage management. A nice feature is being able to manage LDAP organizational units (OUs) from a graphical interface. You can control all the usual Windows folderol such as roaming profiles, user file storage, and login scripts. A rather large missing piece is a group policies manager; you have to edit group policies on a Windows machine using the Windows remote server administration tools.Figure 2: Setting up WebDav in the Admin Console.

Active Directory protocols are extremely picky about time and DNS, so Resara sets these up during installation. When you're joining A new Windows clients to a Resara domain, make sure that the Resara server is the only DNS server configured on the client.

Resara server can be joined to an existing AD domain, but this is not supported in the Admin Console. If you want to try this, follow this Samba4 howto.

The Samba team plan to include a tool for migrating from Samba3 in the Samba 4.0 release. Migrating from Active Directory is a lot trickier. One way to do it manually is to join Resara/Samba4 to an existing AD domain, replicate it, and then promote the Resara/Samba4 server to primary domain controller. I think that providing a good utility to automate this process will be the #1 driver of Samba4 adoption.

The current release of Resara is good for smaller shops with fairly simple networks. It's fast and easy, and doesn't require an über Linux or Windows guru. But, the Admin Console is not complete, and you'll still want to be acquainted with the command line for complete functionality, remote administration, and troubleshooting. There isn't any documentation for the Resara commands, which are in the rdsutils package. The Resara people are active in the forums and IRC, so you can usually get fast answers. There is a secure VPN option to let a Resara support engineer log into your server and examine it remotely.

Should you buy Resara server for your business? If you're already a Samba and Linux guru, you probably don't need it. If you want a nice prefab system that's ready to go to work, Resara has a lot going for it. Check out the free trials and then decide.


View the original article here