DAT Stuff

Random thoughts and observations from DAT

Archive for the category “Tech”

Processing Demo


Demonstrating processingjs on sketchpad to the 5th graders at OPES

Chess Visualization

While searching the archives of the Processing forums, I discovered Thinking Machine 4.  I especially like what it does when it is not thinking about a move, just showing the squares that are influenced by pieces on the board.

Several weeks ago, I started creating a similar visualization, but the complexity quickly became too much for me to deal with in my spare time.  This will inspire me to take a fresh look at the problem.

SharePoint Workflow Hack

Before I describe what I did, let me point out that this might not be the best way (or even a sane way) to solve this problem. Regardless, it worked for me and I wanted to record it for posterity.

I have a SharePoint list (named “MLD” for short) that has two lookup columns, as shown here. Each one has a supporting list that the users maintain.

ProjectLookup ReleaseLookup

Originally, there was no connection between Release Lookup and Project Lookup, but I realized that Projects are tied to a Release (i.e. Everything in Project X will be in the same release).  To support that, I added a Release column to the Projects list.  I now had Release being set in two places, and maintaining the same information in two places is just asking for trouble. However, I didn’t want to remove Release from my MLD list, because I still want the ability to sort & filter by Release. What I needed was a workflow that would set the Release on MLD list items based on the Project that was chosen for that item.

I fired up SharePoint Designer (version 2007, which is the latest version compatible with my SharePoint site), and created a new workflow that would run any time an MLD item was created or updated. First, I created a variable to hold the ID of the selected project:


The next step was to store the Project ID from the current item in that variable, then look up the Release for that project in the Project Lookup list and assign that Release to the current MLD item.

DesignWorkflow DefineWorkflowLookup

Java hosting

Most of my sites are running on dreamhost. They’re pretty good for sites running Python, Ruby, or PHP, but they don’t support server-side Java.

Over the years, I have searched for Java application hosting to fill that void. I was mostly looking for a place to explore and try new things, so I wasn’t willing to pay much. The inexpensive ones I found usually had very low RAM, and sometimes shared JVMs between users. To get a private JVM capable of running a decent app server usually cost more per month than I was willing to spend, and often required a dedicated server or VPS, which was more of a time commitment than I wanted. Eventually, I stopped looking.

At some point Google came along with their App Engine. It allowed part of what I was seeking, but came with its own limitations.

Today I discovered OpenShift, though it appears to have been started two years ago (May 2011). In additioon to Java, it supports a handful of other languages, as well as an assortment of frameworks and databases. It has a free version that is limited, but even the free version appears to support JBoss and MySQL!

Thinking about PowerShell

I am looking for a way to migrate documents from one SharePoint site to another, and create items in a separate SharePoint list. I found a blog post that looked promising, so I fired up PowerShell to poke around.

I quickly found that my version of PowerShell (v1.0 on Windows XP) didn’t have the Get-SPWeb cmdlet that seemed to be the first step toward my goal, so I went in search of a newer version. I found another blog post that provided a link to the 2.0 download, but it also recommended articles by the Scripting Wife that I want to check out.

I installed 2.0, but I still don’t see the Get-SPWeb cmdlet I need…

It’s alive!

I recently brought my wiki back to life at wiki.datguy.net datguy.net/wiki, consolidating my old wikis onto a newly upgraded MediaWiki installation.  After I went through and removed a lot of dead links, I decided it was time to work on the configuration.  The first thing that had to go was the default URL structure (i.e. http://wiki.datguy.net/index.php?title=Main_Page).  I was hoping to simplify it to http://wiki.datguy.net/Main_Page.

I found a page at mediawiki.org describing how to shorten the URL, but it recommended against page names in the root directory, with a link to a warning page.  As much as I want to have pages directly in the root, I didn’t want to deal with the complications yet – so I picked a random letter to use as a virtual directory, resulting in http://wiki.datguy.net/w/Main_Page.


That extra virtual directory kept bugging me, so I moved the MediaWiki installation out of wiki.datguy.net into a directory underneath datguy.net, where I could use the /wiki path.  I changed the old domain to redirect to the new location — http://wiki.datguy.net/Main_Page redirects to http://datguy.net/wiki/Main_Page.  However, the wiki subdomain still has the problem that they recommend against — http://wiki.datguy.net/robots.txt is redirected as if it is a regular page, and displays an error when http://datguy.net/wiki/Robots.txt is not found.

Virtual windows, but no Xen

I couldn’t get Xen to work on Fedora. I was following a quick start guide, but the computer failed to start with the Xen kernel.

I downloaded VMWare server and registered for a free license. During installation, it needed to compile a module; I didn’t have the compiler or kernel headers installed, so I had to dig around for the right packages to install. But once it was compiled and running, I installed Windows XP in a virtual machine on top of Linux.

I confirmed basic functionality (opened Internet Explorer and browsed to an external site), but the next step is to apply the all of the patches (including XP SP2). Then I’d like to clone the image and set up one for general use (Quicken, etc) and another for programming (compiler, debugger).

The Fedora Experiment

I noticed recently that Fedora Core 5 includes Xen (or at least makes it easier to install). I hadn’t used my Debian installation for a while, so I decided to wipe it and install Fedora. After I found the network install (boot.iso) and struggled a little to figure out the full URL I needed to enter for it to find packages, the installation was off and running.

Similar to Debian, it installed some packages I didn’t want, but the installation was fairly painless. It ran a long time, but I’m sure a large part of that was downloading packages. I actually started the installation twice, but the first time I entered a location in Norway (mostly because I had a better idea what path I needed to enter) and the downloads were taking forever. On the second attempt I found a server at NC State, and the installation went much quicker. It would be nice if the installer provided some assistance in identifying a fast mirror and the necessary path.

I did encounter two small problems:

  1. When it installed the grub bootloader, it incorrectly identified the windows partition, so windows would not boot. After digging around on the internet, I figured out how to modify the grub commands to make it work.
  2. After booting to Fedora and logging in to the Gnome UI, I ran the software update tool. Surprisingly, there were tens if not hundreds of packages that needed to be updated. I kicked off the process and it ran for at least an hour before I left for work. When I got home I was able to reboot and everything ran fine, so at least the update ran smoothly

More observations to come…

Ruby Virus?

Looking back at previous posts, I can’t believe I haven’t mentioned Ruby or Rails yet. I guess I did post a few things on my wiki back in December and January, but nothing here.

I recently discovered radrails, and when I tried to create a rails project with it, my antivirus program barked:

Of cource, when I try to view the virus information, there’s nothing there. I Googled for “spy.ruby.ka” and found only one page, which indicated that the virus signature was just added yesterday.

Let the Flexing Begin

In my last post about Flex, I mentioned that there was a non-commercial license available. Well, I took the time to apply, and after several weeks (after I had given up hope, really) I got an email that I had been granted a license. The email contained a one-time link to the adobe store where I could buy Flex 1.5 and Flex Builder for the cost of shipping & handling. The online store didn’t handle the transaction correctly, but after contacting customer service a totally free copy was on its way to my house.

The CDs arrived this week, and I installed Flex Builder last night. When I find time to experiment with it I’m excited to see what I can produce…

Post Navigation