Yeraze's Domain 3.0

Supercomputers, Programming, and Life in Mississippi

Entries for the ‘Software’ Category

Southern Baptists unveil digital music tool

Just saw this on the Clarion Ledger: Southern Baptists on Thursday unveiled a new online digital music tool akin to Apple’s iTunes, which not only offers downloadable Christian music but allows users to custom arrange songs and produce corresponding audio files and sheet music. Lifeway Christian Resources, the research and publishing arm of the Southern [...]

End of Innocence – Mac Trojan Horse in the wild

It seems that overzealous freeloaders have cause the proliferation of a fairly nasty Trojan Horse in the OSX community.  It’s currently available in the Pirated Torrents for Apple’s new iWork`09.  The only known cure: Format and Reinstall.  Two words that I never thought I’ld hear from the Mac community. Intego has discovered a new Trojan [...]

iPhone Twitter App Battlemodo: Best and Worst Twitter Apps for iPhone

GizModo has an amazing writeup on several of the iPhone’s Twitter Apps, giving pros and cons for each one. I’m a Twitterfon using, after having tried several of the others and seeing the exact same problems they describe.  Great article for iPhone+Twitter users. The Quicklist • Best Overall: Tweetie • Best Paid: Tweetie • Best [...]

NetNewsWire – or – Why would I use an RSS Reader Client?

As a relative newbie to the Cult of Mac, I’m always looking for neat pieces of software to optimize my Mac Experience.  One I hear about over and over again is a tool called "NetNewsWire".  It’s an RSS Aggregator desktop client, which a few neat features like the ability to sync with their iPhone version.

This is an app I simply don’t understand.  Why is it so popular?  I currently use Google Reader for my RSS needs, and before that BlogLines.  With a Web-based RSS reader, it retrieves new feeds in the background, and I can then hit the website from anywhere to browse feeds, and I don’t need to worry about syncing.  Both tools offer a nice iPhone interface and it all works fine.  With the desktop client, I’ld have to fire up the app and wait for it to poll all my RSS feeds (currently 180), before reading.  And it wouldn’t work when I leave my Mac and go to work (a Windows Machine where I can’t install software).

Am I missing something?  What makes NetNewsWire a "must-have" for the Mac?  Is it simply a personal preference thing?  Is there some amazing feature that Google Reader doesn’t/can’t have?  Have I misunderstood how NNW works?  I’m not trying to bash the product, I’m just trying to figure out why I would want it. [tag:rss][tag:netnewswire][tag:mac]

Public WiFi Security with OpenVPN

Now that I own a laptop, I’ve found myself scouting out public WiFi on a regular basis.  Coffee shops, bookstores, fastfood joints, all seem to have WiFi these days.  But if you’ve spent any time reading up on Computer Security, you know that free public WiFi can be dangerous.  It’s really easy to sniff the traffic in the clear and pull out passwords and other information.  The main solution you hear about is "Use a VPN".

VPN’s used to be in the realm of big dedicated hardware from folks like Cisco.  However, in recent times it’s become more and more common. I spent some of last week setting up openVPN, an open source VPN Client & Server.  Using OpenVPN, I can tunnel all of my traffic through a secure and encrypted link to a trusted server, thwarting anyone attempting to sniff the connection.  It’s similar to SSH Tunneling, however it tunnels everything on my machine without manually having to set up a bunch of tunnels.

Using the documentation on their site ( The HOWTO ) I was able to get the server loaded on a RedHat Linux box without much trouble using the provided "server.conf" as a template.  Then I setup "Tunnelblick" on my Macbook for a client, and tada! It works beautifully.  The one change I had to make on the server was to add :

         push "redirect-gateway def1"

to the server.conf, to force it to route all data through the VPN.  Without this, it only routes traffic on the local subnet (10.0.x.x by default).

With it working on my laptop, I decided to set it up on my wife’s Windows laptop.  I was able to install the windows client from OpenVPN.net and use almost the same client.conf as i used (Just changed the path to the keys & certificates), and it works like a charm.

So, if you have a remote server (At your home, a remote webserver, etc) and some time to set it up, I highly recommend it. It adds alot of much-needed security when using a public WiFi point. [tag:openvpn][tag:wifi][tag:security]

I apologize if this is less than coherent.  I’m overcoming a stomach virus.

Tweaking the Mac

Today is a site-wide outage at work while they upgrade all of the Networking Hardware from Gig-E Copper to 10Gig-E Fiber (and replace alot of other hardware just for good measure).  That means I’m "Working from home" today.  However, with all of the work resources offline, that means I’m pretty much stuck with monitoring and updating the Viz Website (http://daac.hpc.mil) and doing documentation/offline work.  I have, however, gotten several hours to "tweak" my new MacBook laptop and I’ve found alot of neat things that I thought I’ld chronicle here for anyone interested:

  1. The Dashboard – While I’ve used the Dashboard for a while, I put my first "Website Clipping" on their: The Daily digest for IWantSandy.  Now a quick "F4" and I can easily see what sandy’s got for me to do today.
  2. iCal – I setup iCal to download my calendar from iWantSandy and show the ToDo’s.  This integrates with alot of other apps very nicely, and it’s pretty seamless.
  3. Mail.app – I configured OSX’s Mail.app to check my GMail account via IMAP.  This integrates with the flow of the system much better than the web interface (better notifications, links in with various apps "Email to" functionality, etc).

Those 3 setups have greatly improved the usability of the system and added alot of neat new cooperation.  The "Todo" list imported from Sandy via iCal shows up in my mail.  I can use Mail.app to create "Notes" which show up as emails (although I doubt I’ll use this much since i have EverNote for this).  Meeting invites sent via email will be retrieved by Mail.app and automatically added to my iCal calendar (but not added to Sandy, but that’s not hard to achieve manually). 

Any other neat tricks I should try?[tag:mac][tag:osx]

Shrinking and Compressing PDF’s

Since I began using EverNote a few weeks ago, I’ve added alot of information to my account.  Once I figured out a good way to work it into my routines, I found the PDF indexing capabilities particularly useful.  I’ve since added every issue of every MSRC magazine I can find into my Evernote, for it’s superior indexing support.  Now I can simply search for a researcher and find every article at every center that he authored or that mentions him.  However, a few of the sites generate unusually large PDF files (I’m looking at you NAVO Navigator, with your 40Meg PDF). At first I thought there was simply no way for me to get these into EverNote, because of EverNote’s 25Meg limit on entries. After some research, however, I found a way using the Mac’s built in tools to shring these PDF’s by over an order of Magnitude. 

For starters, simply download and open the PDF’s in the built-in "Preview" app.  If you hit the File -> "Save As" menu option, you’ll be presented with the option to Save this PDF to disk, and possibly apply a "Quartz Filter".  The Quartz Filter menu shows some promise, but the built-in "Reduce Filesize" filter completely scrambles the colors, rendering the resulting file unusable.

 

"Save As" dialog The Original (left), and "Reduced Filesize" versions (right)

 So the goal is to create a new Quartz Filter that will still reduce the filesize, but not scramble the colors. [tag:mac][tag:apple][tag:pdf][tag:evernote]

Wiimote with Linux

This week at work I’ve been lucky enough to get a new project.  I’ve been attempting to get a Nintendo Wiimote to work with a Linux system so that we can use it as the new input device for our Renderwall.  I was given (temporarily) a Laptop with RedHat Enterprise Linux 4 (OId, I know) with full root priviledges (but no network access) to work on.

I got a DLink DBT-120 for the Bluetooth communication, and an el-cheapo wireless sensor bar.  Plugging in the DBT-120 worked magically without any intervention from me (Linux hardware support has come a looong way).  I pretty easily got the ‘hcitool scan’ to show the Nintendo Wiimote.  Next step was to actually compile something usable for it.

I finally settled on CWiid (At http://abstrakraft.org/cwiid/).  It has a good selection of demos and an API.  To get it to compile, I did have to upgrade Flex (compiled from source) and install the bluez-libs-devel RPM to get the bluetooth headers.  With that in place, everything works just great!

As a final feather in my cap, I setup wminput.  it’s a simple daemon that will let the Wiimote inputs emulate (via uinput) a Mouse & Keyboard, so I was able to use it to interact with our openGL demos without any code changes.  It’s all pretty slick and pretty easy to use.

So, where to from here?  Well, I’m going to build a simple GLUT-type wrapper to work with the Cwiid API, so that we can get low-level access to the LED’s, battery information, and tracking data.  With that, I should be able to pretty easily gather a set of demos that we can use to show visitors!  I’ll post back more as I get more stuff working!
[tag:wiimote][tag:linux][tag:programming][tag:cwiid]

Outlook Macro : Move to Specified Folder & Mark As Read

As a victim of Microsoft Outlook, I hear alot about using it in the GTD philosophy.  One of my favorite websites, LifeHacker, extolls it’s virtues (GTD, not Outlook) on a daily basis.  Yesterday they posted an article about how to modify your toolbars to give you shortcut keys for "Copy to folder" and "Move to folder" actions.  I don’t know why I never thought of that before.

I quickly set that up, and then realized I could add an additional shortcut for "Mark as Read" (our IT staff has disabled the ability to Mark as Read when Previews).  With those in place, I decided I might actually try another GTD point: an empty inbox.  The key to an empty inbox is to have a place to dump mail you’ve read and responded to, but don’t really need anymore except for reference.  They call it an "Archived" or "Processed" folder.  While I could do this with the "Move to" shortcut, I had to select the folder everytime.  With a bit of googling, I was able to setup an Outlook VB Macro (Under the Tools Menu) to Mark the message as read and move it to my personal PST file, in a folder called "Ancient Archive".

For everyone else’s benefit, the VB code is as follows:

Sub MoveToArchive()
On Error Resume Next
    Dim objFolder As Outlook.MAPIFolder
    Dim objNS As Outlook.NameSpace, objItem As Outlook.MailItem

    Set objNS = Application.GetNamespace("MAPI")
    Set objFolder = objNS.Folders("Personal Folders").Folders("Ancient Archive")
‘Assume this is a mail folder
 
 
    If objFolder Is Nothing Then
        MsgBox "This folder doesn’t exist!", vbOKOnly + vbExclamation, "INVALID FOLDER"
    End If
 
 
    If Application.ActiveExplorer.Selection.Count = 0 Then
        ‘Require that this procedure be called only when a message is selected
        Exit Sub
    End If
 
    For Each objItem In Application.ActiveExplorer.Selection
        If objFolder.DefaultItemType = olMailItem Then
            If objItem.Class = olMail Then
                objItem.UnRead = False
                objItem.Move objFolder
            End If
        End If
    Next
 
    Set objItem = Nothing
    Set objFolder = Nothing
    Set objNS = Nothing
End Sub

[tag:outlook][tag:gtd][tag:lifehacker][tag:macro]

Project Management with Trac & SVN

Back at Z-Kat, I remember we spent alot of time trying to get a web-based project management system up and running.  We were already using CVS for source control, and we had a Twiki advocate on staff who got Twiki up and running, and we eventually setup BugZilla for ticket tracking.  It all worked pretty well in it’s individual pieces, when you wanted to start linking things together it got a big confusing.  We eventually wrote some code to allow us to reference ticket numbers from CVS commits, and put some stuff in the Wiki to let us reference things.  With CVSWeb operating, it was almost a project management system but always felt a bit kludgey.

Well, with Final Colony taking off and myself and a friend working on it, I thought we needed something similar.  Not wanting to rebuilt the previous solution, I dug around the net and eventually found Trac.  It does everything the previous solution I mentioned did and more.  It’s got an integrated Wiki & Ticketing system, and links with Subversion for source control.  It all cross-links so that you can directly reference code & changesets in wiki edits & tickets, and vice versa.  They provide SVN post-commit-hooks to even allow you to commit code with a message that says "This fixes #45 and #46" and have those two tickets closed, with the SVN commit message added to the ticket.  It’s a complete & powerful system that does everything I need.  It’s written entirely in Python, and can be a bit of a Bear to install, but it’s worth it.  And if you don’t have access to Apache, they even provide a standalone python version you can run on your own machine to manage data. 

The one hurdle I had to overcome was converting my existing CVS repository to SVN. For this, I found a great tool called cvs2svn that converts your repository with full revision history, branches, and tags.  Since then I’ve fallen in love with SVN.  Life is so much easier than with CVS.  All your changesets are full transactions, so never again do I commit a bunch of files and have it die halfway through with a version mismatch.  Never again do I have to find cryptic date & timestamps to checkout a complete working version, just get "Version 738".  I remember Lou’s masterful TCL scripts to attempt & cobble together data like the "Date" of a Tag.  Such things are trivial with SVN.

So, for those of you out there doing development that have not had the opportunity to use subversion & Trac, i highly recommend it.  It’s a great solution to so many of the problems I spend my days complaining about.
[tag:trac][tag:subversion][tag:software][tag:project]