Author Archive
Harvest Time Tracking
by admin on Jan.08, 2012, under Linux
Click above to get started with your 30 day trial account, which you can convert to a free forever account (limited to two projects.)
I’ve been looking for a good method for tracking time on projects and tasks. My previous solution was GnoTime, which worked relatively well, but had a few points I was unsatisfied with. Deciding to try something new Google lead to this post from which I discovered Harvest, which is a hosted time management solution. Previously, I’ve only used desktop applications such as GnoTime, Ktimetracker, etc. though I liked the idea of a web tool, as easily accessing it from both work and home was appealing, as well as mobile support for Android. Not having to sync files via Dropbox between systems was certainly appealing, and Harvest offers some very nice features including reporting and even invoicing capabilities.
Setting up a Harvest account takes about two minutes, and I had an initial project and tasks defined right away. The web interface is easy to navigate, and provides start / stop timers for each task, which is a feature I wanted. I should note this is a paid hosting service, however pricing is reasonable, there is a 30 day trial, and the website also is currently promoting “The Harvest FREE FOREVER Plan – 2 Projects, 4 Clients, & 1 User, absolutely FREE” – perfect. Update: Once signed up, you can change simply convert your 30 day trial account to the free account under you account management, upgrade settings.
But it gets better. The first day I left a timer running at work, and the next morning received an email from Harvest informing of this. Nice. Also, over the course of the first week I received some helpful emails (non-spam) to get new users started using some of the features, a web cast invite for how to do invoicing, etc. I also sent them a ticket asking about converting to the free account, and if they had a referral program, and received a response the next day. The referral program credits you time for anyone you refer, though does not credit them – though they of anyone can join the referral program. The big orange button at the top of the article is an example of one of the referral buttons you can get.
You can also export your time to a csv file, which is quite handy, and the invoicing capabilities might be extremely helpful for those needing them (I do not currently use this feature, but it is very nice it is there.)
Now, the icing on the cake would be a Linux desktop widget. While the download site has widgets for OSX and Windows, none was listed for Linux – and, unsurprisingly, the OS X one does not work when installed in plasma. However, this post pointed me to the Harvest Command Line Tool (hcl), a ruby tool designed by Zack Hobson which provides a command line interface which uses the Harvest API to allow task management via the command line. Wow. The Harvest devs are also apparently looking at providing an actual widget in the future per this feature request, but hcl is fine for me. The fact there is a useful API which is being used for tools like hcl is another huge benefit to Harvest.
Installing Harvest Command Line Tool
Installing hcl is extremely easy, as it is available as a Ruby gem. You may also install it from source via the hcl git repo.
Installing with gem was simply a matter of installing rubygems for my distro and then the hcl gem:
#zypper install rubygems
#gem install hcl
(For Ubuntu and Fedora users, this should simply be a matter of installing rubygems as well via yum or apt-get.)
Running hcl the first time prompts for your Harvest account credentials, and your Harvest subdomain – this is the yourdomain part of you yourdomain.harvestapp.com account you created earlier. You may now list your project and start / stop tasks, etc. For example:
paracelsus@linux:~> hcl tasks
1782588 1165030 Prime Enterprises – ORNL – ARM
1782588 1165024 Prime Enterprises – ORNL – Admin
1782588 1165031 Prime Enterprises – ORNL – BDS
1782588 1165029 Prime Enterprises – ORNL – DAAC
1782588 1165032 Prime Enterprises – ORNL – GPGPU
1782588 1165034 Prime Enterprises – ORNL – ITSD
1782588 1165025 Prime Enterprises – ORNL – Project Management
You can view the time for a specific day:
paracelsus@linux:~> hcl show last friday
8:09 ORNL
————-
8:09 total (as of 10:12 am)
And of course start and stop the timer for a project / task and include a log message:
paracelsus@linux:~> hcl start 1782588 1165032 Testing hcl
Started timer for Prime Enterprises – ORNL – GPGPU (0:00) (at 10:21 am)
Additional options are available via hcl –help and further usage examples are available in the documentation at git hub, such as: https://github.com/zenhob/hcl/blob/master/README.markdown
Summary
So far I am quite impressed with Harvest. It provides the features I needed, and the inclusion of an API and tools like hcl are all I needed. I’m looking forward to using it over the next few weeks on my projects.
The referral program is a nice bonus. I had very good success with the Dropbox referral program, so we will see how this one goes.
If you are looking for a time tracking tool, Harvest might well be worth test driving.
From Rocksmith to Free Guitar Effects and Home Studio Recording
by admin on Dec.04, 2011, under Linux, Music, My Life
If you have Rocksmith for PS3 or X-Box, a Realtone guitar cable, and have a PC or Intel-based Mac, you have everything you need to extend your playing from the game into a home studio and guitar effects processing and jamming session, not just for yourself but for friends as well. Want to add vocals? No problem, just plug in that Rockband or Guitar Hero USB microphone and you can record audio too. You have everything to extend your playing from Rocksmith into endless possibilities using your home computer – and it is utterly free. (Compare that to what you have to spend for something like ProTools.)
All you need to do is download a bootable Linux CD, such as AVLinux, boot your computer with it, plug in your guitar using the realtone cable, and run the software on the CD and you can unleash a vast array of guitar audio effects (pedals), as well as easily record yourself (with multiple tracks), add vocal tracks, etc. If you have a MIDI capable drum kit or keyboard (especially with an M-Audio MIDI adapter), you can very likely use them as well.
And the best part: it’s free. There is zero cost for the software as it is based on an Open Source operating system (Linux), and Open Source applications such as Rakarrack, Guitarix, Ardour, Soundgarden and others. AVLinux also comes with commercial software, and previews of other available tools, but everything on the CD is free to use.
Here is how it works:
The realtone guitar interface cable Rocksmith uses is really just a simple USB sound card which is seen as a USB microphone by a computer or console game system. This is actually identical to other 1/4″ to USB adapters such as the Behringer UCG102 Guitar to USB interface. Linux has excellent support for USB audio devices, and the Rocksmith realtone cable uses a chipset which is support by the snd-usb-audio Linux drivers (and for Mac by OS X 10.6). Support is built in to Linux, so you can simply connect the realtone cable to a Linux system and jam away. (However, you can not connect something like the Behringer UCG102 to your PS3 or XBox to use with Rocksmith. Although they perform the same function, the game will only work with the realtone cable. Yep, lame.)
The real magic is not the cable, but Linux. If you have never used Linux, don’t be afraid. If you can download and burn a CD you can get started using Linux. You will actually find Linux itself easy enough to navigate around in, but learning to control the vast number of audio application which are now at your fingertips may take a bit longer. (You can also very likely use Garage Band for OSX, but the wealth of audio tools on AVLinux is an order of magnitude beyond this and is more comparable to ProTools and more.)
The below steps are written assuming you know nothing whatsoever about Linux. If you get stuck you will find there are many online forums where help is available. NOTE: Please see the AVLinux user manual, found on the desktop – it is an excellent guide and will quickly get you started. Also, get help from a computer geek friend – especially if they know anything about Linux. (Make sure to provide the beer.) It might seem daunting at first, given the extent of software available, some of which is very full featured, and complex. However, you should be able to at least get up and running so you can hear your guitar and uses pedal like effects pretty easily. From there you can dive into the more complex tools, like Ardour for recording, etc.
Here is how to do it:
While there are many flavors of Linux other there, and several ways you can do this, I highly recommend downloading the LiveCD version of AVLinux from here.
(For more information on other Linux versions available, see the geek notes at the end on “Other Linux Environments”. Just use AVLinux for now though unless you have reason not to.)
Make sure you download the “live” version, and burn the .iso as an image, and don’t copy the .iso file itself to the blank CD. Then, restart your computer with this CD in it. It should start up and take you to the Linux Desktop. (NOTE: If it does not, you may need to configure you computer to boot to CD first. If you are using a Mac, hold down the alt or ‘c’ key while powering on the system and until after you hear the chime.)
Be patient, it may take several minutes for the desktop to appear.
Now, simply plug in the Realtone audio cable. Next, you must configure the system to use the Realtone cable as the proper input, and the computer as the output. This is done using the Jack audio server, which can be controlled by running qjackctl. There is a little green icon on the system tray at the bottom of the screen which will start qjackctrl.
Configuring Jack is likely going to be one of the hardest parts to set up the first few times. The idea is you are patching together software audio tools, as though you were connecting them to each other using physical audio cables. You can then string together different tools. The first thing you need is to ensure the Realtone input is connected to the system output. The basic JACK configuration should look something like this:
TOP TIP: Click on the > button in Jack next to the input device to see more descriptive names for the inputs and outputs. If you just try to use the drop down menu (hw0, etc.) it is easy to get them wrong. The Realtone cable will be list as a “Rocksmith USB Guitar Adapter” or “Hercules” or “Sony Entertainment”.
VisIt with NeatX: GLX Issues
by admin on Oct.19, 2011, under ORNL
We provide users with a visualization system with IDL, MatLab, and Visit. X-Forwarding can be painfully slow, and we have found that using NXServer, or Googles open source NeatX equivalent, can provide much faster performance.
However, VisIt would launch when X-Forwarded, but not when using NXClient & NeatX. The only messages were:
…
Running: mdserver2.3.2 -host 127.0.0.1 -port 5601
VisIt's viewer exited abnormally! Aborting the Graphical User Interface. VisIt's developers may be reached via the visit-users mailing list. Please see:
htttp://visit.llnl.gov/FAQ.html#1
I also found that glxinfo would return:
$ glxinfo
name of display: :826.0
Error: couldn't find RGB GLX visual or fbconfig
Solution:
First, I created an xorg.conf to ensure GLX was actually being loaded. (It turned out this was not required as X was autodetecting everything fine without an explicit xorg.conf, but I include it here as it may be helpful in some cases to have an explicit xorg.conf)
Xorg -configure
(renamed xorg.conf and moved to /etc/X11. Ensured Section “Module” included Load “glx”, etc.)
glxinfo still would not work. I then set the following environmental variable:
export LIBGL_ALWAYS_INDIRECT=yes
Which allowd glxinfo, glxgears, etc. to work. For more information on this environmental, see:
http://unix.stackexchange.com/questions/1437/what-does-libgl-always-indirect-1-actually-do
https://bugs.launchpad.net/xorg-server/+bug/384001
This could then be made into a Gnome Desktop Launcher:
cat VisIt.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[C]=gnome-panel-launcher
Name[C]=VisIt
Exec=env LIBGL_ALWAYS_INDIRECT=yes /usr/local/visit/bin/visit
Name=VisIt
Icon=/usr/share/icons/visit.jpg
Categories=GNOME;Application;Development;
Perhaps the above may be useful to other VisIt users.
Go Programming Language
by admin on May.22, 2011, under IT Adventures, Linux
The Google Go Programming Language, currently under development by Robert Griesemer, Rob Pike, and a fellow by the name of Ken Thompson looks to be quite interesting.
Some of the merits include:
- Fast compile times. Wicked fast.
Familiar C like syntax.
Ease of programming – a pseudo marriage of C and Python.
Built in concurrent process execution and messaging.
(MPI clustering and CUDA are under discussion.)
Support for AMD64, x86 and ARM
New languages come along all the time. So why should this one be any different?
Ken Thompson, and his experience with systems programming and languages, is one good reason. For another I can foresee that, for scientific computing in particular, there could be a very good future for Go. By providing an easy to learn and use programing environment, with a C and Python-like style, with easy to use messaging and concurrency and which compiles extremely fast and runs at near C speeds – there is a very good potential. If the future added to this MPI capabilities, and especially bindings for existing libraries (e.g. Thrust and SciPy ) and for CUDA – it could very well fill a perfect niche. This just might be the start of something grand.
Official Sites
Install instructions, beginning tutorials, etc.
This site also provides a cool browser based write-compile-run environment where you can achieve instant gratification with Go.
The actual Google code site.
Getting Started
To get a feel for the language and start using it immediately, you might want to read the sample hello world in the writing programs section of the install instructions.
You can execute Go programs using the above mentioned browser based compiler and run time tool.
Of course, you can also install the Go compiler and tools locally. You have two options for the compiler: the native Go compiler tool chain (6g, 6l, etc.) or gccgo, which uses gcc for the backed.
The official site has full instructions for setting up your environment. Requirements to build Go are minimal, and you can likely be up and running in minutes.
Nifty Cool Bonus: Note the following comment from the install instructions on how the Go linker works:
There is no need to list hello.6‘s package dependencies (in this case, package fmt) on the 6l command line. The linker learns about them by reading hello.6.
Other References to the language:
http://en.wikipedia.org/wiki/Go_%28programming_language%29
A reference for GO language bindings can be found at:
http://go-lang.cat-v.org/library-bindings
Scientific Computing
The suitability of Go for scientific computing is discussed in an interesting Google Groups thread here.
Syntax Highlighting
Exploring the misc/ sub directory shows the source includes syntax highlight files for Vim, Kate and other editors as well as some other goodies.
Dropbox and EncFS – Encrypting Local Files
by admin on Mar.22, 2011, under Linux
I have been using Dropbox for quite a while, and I’ve found it extremely helpful. Spideroak, a similar service, is also very interesting and something I am test driving now as well. Being able to share files so easily amongst numerous devices and via the web is handy in the extreme. You can even tie in things like Nevernote into this and sync your notebooks yourself between your devices.
With any of these solutions, security is of course a concern. Regardless of if the data is encrypted in transit, or if the provider encrypts it on their server, I wanted to also encrypt it locally. This is where a combination of Dropbox + encFS comes into play very nicely.
There are many options when it comes to file encryption, but encFS really shines in some areas. Encryption is per-file, and no dedicated space need be reserved before hand. Setup is very simple, and encFS is well supported on all major Linux distros.
Using this solution, encFS stores encrypted files in a Dropbox directory. This is then mounted via encfs to a local folder where the unencrypted files are made available. When I am done, I can simply unmount this directory, leaving only the encrypted files in my Dropbox folder on the local system, encrypted via encFS with AES or blowfish. The information is also thus encrypted in transit, and additionally encrypted by Dropbox/Spideroak on their side.
Setting this up is very simple and takes just a few minutes. More detailed howtos can be found in the reference section, but here is an encFS in 5 minutes quickstart guide:
Ensure you have fuse and encfs installed via your package manager and that the fuse module is loaded
lsmod | grep fuse
Create a directory in Dropbox which will hold the encrypted files, and a mount point outside of Dropbox where the unencrypted versions will be mounted. (For Spideroak simply create two directories in your home folder and add the encrypted directory in your list of folders to back up in Spideroak.)
mkdir ~/Dropbox/encrypted/ ~/unencrypted
Mount the filesystem:
encfs ~/Dropbox/encrypted/ ~/unencrypted/
Note: provide full paths or at least a ~ prefix to encfs.
The first time you do this encfs will set up the encryption. You may choose your options, set the passwords, etc. A “paranoid” auto-config option is available, and full details for options are in the man page.
Using encFS
Now, simply create and use your files in ~/unencrypted. Normal filesystem permissions apply and the use of these should be completely transparent. Anything stored in this mount point is automatically encrypted, and you will see matching (encrypted) entities in ~/Dropbox/encrypted
When you are done, unmount with:
fusermount -u ~/unencrypted
Cryptkeeper Applet
Cryptkeeper is a systray applet for KDE and Gnome which provides a simple GUI for the creation, importing, and mounting of encFS folders. It is quite easy to use. For Suse 11.4, I simply used the rpm available for Fedora 13. Cryptkeeper is maintained by Tom Morton and the source code is available on his site here
By default it uses Nautilus, though KDE users who prefer Dolphin or another file manager can simply change this in Cryptkeepers preferences.
Cryptkeeper also allows you to view information about an encrypted folder, or change the password. These option are available by right clicking on the folder name in the list of encrypted folders.
References:
http://en.wikipedia.org/wiki/EncFS
Setup Guides:
The last link provides this suggestion on auto-mounting using the enfs extpass option and a compiled file containing your password. However, be aware this simply compiles your password into a binary which spits it out to std out when run. You are creating a program that will spit out your password, or if strings is run on it your password is visible. Man encfs suggests directing –extpass to ssh-askpass as another method, and there is also the option to use libpam-encfs.
PAM Configuration:
For a guide on setting up libpam-encfs see:
http://choffee.co.uk/ramble/2006/06/02/paranoia-at-home/





