1.02.2010

Snappy Holla-daze!

I'm not so much a grinch as just a guy that could really give a rats-ass about the holidays. In the end I like what I like about it, and that's not much...mostly just the food. After Thanksgiving, I usually cannot wait until January 2nd...that's today. Anyway, a bit has happened since I last blogged and I will try to summarize as I am watching the kids.

At school, my French colleague and two of the Asians have left. Also my Vermont friend is gone to go teach ski racing to teens, but plans to come back to write his thesis in April.

Much of my time has been split between writing my dissertation and playing with the new $40,000 computer cluster. It was assembled and configured by a gifted 22 y.o. UNH undergrad who did a really nice job. It consists of a head node and 6 compute nodes running OpenSuSE, each with 24gb memory and the newest, fastest intel nahelem procs in a dual-quad core configuration. The nodes are networked with gigabit up/down cables. That's about the extent of what I can remember. Of course it has a slew of useful computational chemistry packages.

Although I don't have any training in CS, I managed to piece together a useful python script based on a similar one that I used as a template...though I added a number of useful bits for my own preference. Here it is:


#!/usr/bin/python

import sys
import os
import commands
import datetime

print "*************************************************************\n**See g03jobLOG in Home Directory for Log of Jobs Submitted**\n************
*************************************************\n\nEnter the Following Information for Your Gaussian Calculation:\n"

xyzFile = raw_input("Enter .xyz File Name (omit extension) > ")
uniqueID = raw_input("Enter Unique Identifier (no spaces; optional) > ")
g03root = raw_input("Enter Root Section (#) > ")
charge = raw_input("Enter Charge > ")
multiplicity = raw_input("Enter Multiplicity > ")
title = raw_input("Enter Title; optional > ")
queue = raw_input("Enter Queue (short (s) or long (l)) > ")

if uniqueID == "":
UID = ""
else:
UID = "_"+uniqueID

if queue == "s":
SGEQ = "short"
if queue == "l":
SGEQ = "long"

if title == "":
title = xyzFile+" / "+uniqueID

f = open(""+xyzFile+UID+".com", 'w')
f.write("%chk=/tmp1/"+xyzFile+UID+".chk \n")
f.write("%mem=20gb \n")
f.write("%nprocshared=8 \n")
f.write("%nproclinda=1 \n")
f.write("# "+g03root+" \n")
f.write(" \n")
f.write(" "+title+" \n")
f.write(" \n")
f.write(charge+" "+multiplicity+" \n")
f.close()

inp = open(""+xyzFile+".xyz", "r")
outp = open(""+xyzFile+UID+".com", "a")

for line in inp:
outp.write(line)

inp.close()
outp.close()

lines = open(""+xyzFile+UID+".com", "r")
list = lines.readlines()
lines.close()

del list[9:10+1]

fout = open(""+xyzFile+UID+".com", "w")
fout.writelines(list)
fout.write("\n")
fout.close()

print "Gaussian .com file ("+xyzFile+UID+".com) generated ... submitting"

jobName = "g03job"

f = open(jobName, 'w')
f.write("#!/bin/csh \n")
f.write("#$ -S /bin/csh \n")
f.write("#$ -N "+xyzFile+UID+" \n")
f.write("#$ -q "+SGEQ+".q \n")
f.write("#$ -cwd \n")
f.write("source /opt/g03/environment.csh \n")
f.write("g03l "+xyzFile+UID+".com \n")
f.close()

#command to submit
task = "qsub "+jobName
subJob = commands.getstatusoutput(task)
log = "/home/"+os.environ["USER"]+"/Computation/g03jobLOG"
cwd = os.getcwd()
now = datetime.datetime.now()

if subJob[0] == 0:
print(subJob[1])
f = open(log, 'a')
f.write("\n")
f.write(subJob[1]+"...\n")
f.write("Job Directory: "+str(cwd)+"\n")
f.write("Submission Time: "+str(now)+"\n")
f.close()
else:
print("...Failed : "+subJob[1])
sys.exit(2)

To Summarize - this script conveniently takes user input and edits an XYZ coordinate file to generate the appropriate Gaussian .com input file. It then writes a jobscript , submits it to the SGE queue, and logs (appends) the date/time and directory in a single file.

At home, I have enjoyed running ubuntu 9.10 and hope to do some recording with it soon.

10.31.2009

64 Studio: A solid DAW Desktop....almost

After the failure that was ubuntu studio 9.04, I thought I would look into any other possible solutions to my ultimate DAW desktop.  Reading about the different choices, I settled on 64 Studio to try next, due in part to the fact that it is very similar to ubuntu with its debian roots.  My first attempt at installation failed on one of the install steps, likely due to a bad burn/image download.  I tried again, unscientifically adjusting all the variables: I downloaded the latest beta instead of the pronounced stable release (2.1) and I burned to a DVD-R instead of a DVD+R.  The install completed.  

One of the key comparisons made between 64 Studio and Ubuntu Studio is that the 64 Studio team was more selective in the applications added, and overall have worked harder at optimizing the "real-time" (RT) kernel to produce the lowest latencies in audio work. One of the problems I had recently with Ubuntu was the sound stopped working and sound is pretty critical for an audio studio. So far, the sound drivers are all working fine with 64 Studio, I just had to adjust the ALSAMixer the first go to get the correct channel unmuted.

But 64 Studio has yet to be completely trouble-free.  For whatever reason, the latest kernel build 2.6.29 was not picking up my Ralink wireless network card. I did a little research and found someone else had this same problem but fixed it by rolling back the kernel to 2.6.26-1. I had to get creative with the network cables in the house to get them to stretch, but once connected to the WEB, I found that the commands: apt-get install kernel did not work right away, but somehow I eventually got it to work after running the update manager and installing a couple hundred other packages first.

I rebooted into the new kernel and sure enough, a wireless network option was now present in the network configuration dialog. Then in the course of an hour, I somehow picked up the wireless signal (rather quickly as I recall) and then later lost it and could not retrieve it. Somehow having success initially and then ending up back where you were feels worse then just failing at the outset!

10.24.2009

Up(down)grade to Ubuntu Studio 9.04

I have been running UbuStu 8.10 since may 2009 and with the exception of having some trouble with the initial setup of sound, I have been very happy with it. Recently, after (I believe) a kernel update, the sound stopped working...and I haven't figured out the fix yet. I knew that eventually I would have to update/upgrade my system, and that when I did I would want to repartition my hard drive in a more logical fashion. So I figured now was as good a time as ever.

I decided to upgrade to UbuStu 9.04 and I set up the following partition table:
12 GB: /
2 GB: swap
6 GB: /opt
60 GB: /home

Anyway, I was excited to try out my new UbuStu system but after just a few minutes of uptime the screen went black and the system could not be revived! In fact, I had to kill the power-supply to shutdown as the power switch was even unresponsive. This has happened 3 times in a row now and needless to say, I'm somewhat discouraged. Now I face the choice of reinstalling UbuStu 8.04 or otherwise testing out a different "DAW optimized" linux distro. Giving some consideration to the latter, I started doing a little research and found there are a few serious contenders: 64 Studio being one of the top recommended. Another that I came across is called AVLinux which (like 64 Studio) seems to be fairly stripped down and specialized just for audio work. Either way, this approach may be the best if I want to get serious about a DAW. I can use a different OS (probably a Puppy variant) for my more standard workstation.

10.23.2009

Puplets: PupItUp

It occurred to me recently that it is a bit odd that I had only obtained Puppy Linux 2.16 and 4.21 and learned very little about puplets other than that they exist before moving forward on creating my own puplet without ever having tried a single other puplet. I'm not sure if that indicates arrogance, ignorance, ambition, or sloppiness on my part...nevertheless interesting.

However, now that I have released ChemPup and accumulated a whopping 41 downloads in just 2 weeks, I was, for some reason, prompted to take a look at a few other puplets which I decided I will continue to do and log my findings here.

First up is PupItUp Music Lab. The idea here is, as indicated by the name, to have the power and flexibility of Puppy Linux running a suite of music software that enables a mid-power computer to become a useful music composition and music education tool. 5 stars for concept, and still 4 stars for execution! The author (eztuxer) made several nice decisions for inclusion in this puplet which features numerous music software packages: AMUC, Audacity, Jack, LMMS, Muse Score, Qsynth, Rezound, and TK Solfege. The full description as well as links to download are available at pupitup.org.

After downloading, I had no trouble in booting up pupitup, however, upon shutdown and generation of a pup_save* file, I found pupitup did not load this save file on reboot! In general, I don't think you usually need to install Puppy Linux to utilize the pup_save* file, however, in this case a frugal install to /pupitup412/ and adding the pup_save* file to the same directory in the end seemed to be the cure. Since I run a fairly old laptop and have an interest in music composition, I was happy to add pupitup to my grub menu!

For now, my wife is very happy to be able to record YOUTUBE music using audacity for the purpose of learning. I briefly took a look at the LMMS sequencer and was impressed with its simplicity and usability. I'm also very interested in testing MUSE since I want to work more on my staff music composition. I will be testing it out a bit more and report here later.

10.20.2009

Google Analytics

It was over a year ago that my wife first told me about google analytics and I didn't listen too much...I had other motivations at the time I guess. However, with the launch of chemtoolbox.com, she mentioned it to me again and this time I dove right in!

Being in post-secondary school studying chemistry and biochemistry now for about 11 years, I should have developed an analytical mind...and I have, though probably not well enough to solve really tough problems. Despite this, I can appreciate a valuable analytical tool, and after setting up google analytics I was immediately impressed with the level of detail in a variety of metrics analyzed.

Categorically, google analytics is made up of 5 major sections, 3 of which are absolutely impressive: Visitors, Traffic, Content. The other 2 are Dashboard (overview) and Goals.

The Visitor category compiles data regarding visitors' demographic, spoken language, frequency, loyalty, depth of views, duration, bouce rate, what browsers they are using, what OS they are using, what network connections, and a bit more.

The Traffic Sources category lets you know if people are redirected to your site from a link on another site and what that site is, or if they are coming from search engines, or an e-mail client.

The Content category displays which pages are being viewed how often and for how long as well as which pages visitors are leaving the site from (exit page).

To many people, after reading this entry, you are probably thinking "welcome to the 21st century!" as this tool has been around for the better part of a decade now, but nevertheless, this is a new discovery for me!

10.16.2009

ChemToolBox.com Agora Forum Troubleshooting

Uploaded Agora Forum for Joomla! 1.5 but having some problems.  Seems that Agora is coded in PHP5 and my server host is configured for PHP4.  When trying to post to the forum the following message appears:

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/content/r/p/k/rpkopreski/html/CHEMTOOLBOX/components/com_agora/helpers/emailprocessor.php on line 5


I had originally a similar error even dealing with syncing to my user list with Agora and found a solution on the agora forum.  However, it appears there are going to be a slew of problems associated with forcing Agora to play nice with PHP4 so I called GoDaddy and found I can change my server to run PHP5 by going to:

Hosting Manager --> Content --> Add On Languages

However, this may destroy every damn Joomla! site I am currently hosting.  And I'm not sure yet how it will play out so I need to track this carefully.  Takes up to 24hrs to propagate on the server so more to come....


Okay, that was fast!  So far it looks like the posting problem is instantly fixed!  Of course this may have broken something else somewhere, but I will have to wait and see!

10.10.2009

ChemToolBox and ChemPup ToDo's

-add new screenshots and update ChemPup features list
-upload ChemPup-1.0.1
-remaster ChemPup-0.2.6 and re-upload (note diffs)
-generate MD5 checksums for ISOs
-trim the fat on ChemPup-1.0.1
-start a proper changelog
-test shopping-cart
-build axs ChemPup kits
-produce multisession DVD
-