Software

Tools

Tools Recently I have been trying to use a a couple of new tools to help keep things organzied in my life. Every now and then, I try to go out and see what is out there to help try to help keep my on task and maybe even scavange some hours for myself. Honestly, it never works, but I try anyway. Via work, I have Microsoft Outlook, but I don't really like Outlook, and I have tasks and projects that have nothing to do with work. I also like to have more control over things, like possibly hosting my own internal server. One of the tools that I have been using for quite some time is TimeTTracker MX from R&F Consulting. I first started using this tool about a year into owning my first PDF, an iPAQ handheld. I decided that I needed a tool that would help me keep track of how long I was spending on different tasks and projects at work. The main driver was this was the IT trouble ticket system we were using. A previous job had timers for when one was working on calls. The job at the time did not. I missed it. But I had a PDA, so I went looking for a tool that worked as a stopwatch that let me tag timers by project or activity. TimeTTracker (the version at the time) did most of what I wanted. Subsequent revisions have done more and more. When I bought my VX-6700 phone, this was one of the first things I bought for it. The only challenge with TimeTTracker is that timers have to be started and stopped. While this isn't a problem on its own, there is one tool in the modern office environment that makes it difficult for your modern knowledge worker: e-mail. I pretty much keep Outlook open on my work laptop all day long. Even when I am working on something, I have to help keep my eye open for calls from help from the distributed groups I work with. There are hundreds of little things that I'm asked to do or look at that really don't take a lot of time to do, but if I'm working on project A and someone needs me to look at task B and answer a quick question about project C and an IM on thing D, my own timer puts all that into project A. And I'm not going to start and stop the B, C and D timers unless the activity really does take me away from project A. Yes, I know, multitasking is a myth. One day, in one of the summary e-mails from Technology Review, there was an article that seemed to suggest that there was software out there to help capture time spent on 100's of little things. The tool is called Smart Desktop, currently still in beta. I signed up and quickly got an invite. The tool really does track opening and working on Outlook e-mail and MS office documents. The timeline tracking tool is really useful for trying to figure out what it was I was doing an hour ago, or two hours ago or so. I just sent the support group for Smart Desktop a quick e-mail just saying Hi. I was just curious how the beta was going. And I was curious if they were doing anything to support their community. They use Drupal for their website, so I used what I know about Drupal. I'm only user 295. One needs a login to download the beta, so I wonder if that means they haven't really gotten a lot of interest in their beta. I do like the tool and may write more about it later. Another tool I started using, again in beta, is Evernote. I first saw Evernote when I was first started using OneNote. I had looked for something that worked on more or even all the platforms I use everyday. I like to be able to choose that I'm going to use Linux or even Solaris. I also want to be able to use these tools on my home machine, my work desktop, my linux workstation, my Solaris workstation, Natalie's and the boys' machines. (Last count I was running about 10 machines at home.) Evernote was something that did things like OneNote, but it had a web component, as well as a desktop component, at least on Windows. I think they were talking about the future of the product and it was pay for. I wasn't looking for something pay for at that point, so I moved on. I got back to Evernote recently, just while their beta/preview was getting near wrapped up. And I am trying to use it. It does really nice screenshots. It let's me capture data using the camera on my phone. And it lets me categorize things into different notebooks. There is also an e-mail address that Evernote hosts that lets me send things right to my notebook, even when I am just on my phone. More on this later. I'm kind of running out of steam, so I might just stop here before I get into the next set of tools, including Jott and OSAF Chander.

A flock of Condors and a sky

The recent obsession started when I was able to get most of the machines at home (at least the ones I leave on most of the time) working together using Condor. The style of grid computing presented by just a regular Condor install matches up nicely with my home environment. There are a number of machines that have some decent computing power that mostly just sit around doing nothing. I have the boys trained to turn off their computer when they are not playing or working. They remember most of the time. Natalie's computer is pretty much on all the time, mostly because we are afraid it might not power back up if we turn it off. And then there is my main computer (3Ghz) and the Linux box and SunBlade. There are also two more machines that I have not powered on in a while, mostly because I am not sure that adding them to the home grid will accomplish much of anything. It might actually take longer to complete jobs with those machines participating due to CPU and memory constraints. I might add them in anyway, just to test that theory, but I am currently not in a rush. I'm using enough power right now.

Almost all of the jobs that I have been running on this grid have had to do with running povray jobs off the machine I use the most. Some of these povray jobs take a while to run. I think the longest I have run was an animation job that ran for about sixteen hours on one machine.

Using Condor, I have been able to get multiple machines rendering different for an animation job using Condor. The hardest part of this whole thing is getting all of the various files into the Condor submit files the right way. But I had not found a way to get multiple jobs involved with rendering a single frame. I am sure that someone is sitting out there thinking that what I just said is really easy to do with Condor. Between Condor and a few povray patches, there are plenty of ways to get the pieces talking to each other the right way and have lots of machines work together to render a single frame. Problem is, most of the boxen in the house run Windows. If I had it my way, I'm not sure I would have anywhere near the number of Windows-based machines in the house.

This isn't me bashing Microsoft or anything. For the way I work, almost every Linux system I have ever tried really does have more tools that match my work style right from the install than any Windows box, without having to install anything else. This isn't about things being free. It's more about being able to actually use the shell to do things that are really hard to do from a DOS command line. Honestly, hearing people complain about paying for software just because it runs on Linux . . . that's as bad as someone saying Linux isn't ready. Supporting FOSS doesn't mean that everything has to be available for free.

All that being said (and this not intending to be a polemic), I got to see something that Pyraci was working on this last week. He had this sky he painted in Photoshop. It should be enough to say that I wish I had Pyraci's eye and understanding of how Photoshop works. What I do in Photoshop and GIMP, I call a collection of cheap tricks. I am happy if I can get things to look something like what I saw on the back of my eyelids.

Pyraci doesn't have that problem. So, here I am, looking at this image he's put together by scrubbing a mouse over a small square on his desk.  It was impressive.

One of my issues with doing anything "artistic" and visual is this little thing about not having ability to really draw. I can scratch out something that looks almost right every now and then. I have some major issues with being able to do anything like that with any regularity or consistency. I am much better at describing what I want to do and letting something run that script.

Yes, I said I want to do all my drawing using scripts.

Look at the small robotic bug I animated a couple months back. The only thing drawn by hand on that bug was the glyph. The rest was all done in povray SDL.

After seeing this image by Pyraci, I thought a little about how I could do something similar using the tools that I know how to use a little better than Photoshop or GIMP. The sky he had painted reminded me of some of the explosions I had rendered previously using a script I found at ghoulblade's wiki. So I rendered out a number of explosions and went looked for 'interesting skies.' I found a few, but I didn't see anything that would work right away as a cloud.

Back to Google, I found a site that provided a couple of pov macros to make clouds. This looked interesting. So I decided to try using this macro package. First things first, I needed to run one of the demo files to see how things worked. And the site suggested that that particular demo would take 6 hours to run (or it did on in 2003). I did not want to wait six hours. So I started looking for a way to use the equipment I had to render a single frame scene across all the boxen I had connected with Condor. That was Wednesday night. It is Sunday, and the demo scene just finished rendering.

Let me explain. I do know ways to get povray to render parts of a scene. I assume this is for doing work with povray interactively while developing a shot. I've used the functionality. The problem is, none of the tools I have know how to read the partial image files produced this way, no matter what format. So, while I can produce the parts of an image much the same way I produce frames, either as blocks or rows, nothing I had would work with the files produced and assemble a completed scene. Google again. Wednesday night I found a perl script at baaden.free.fr/soft, povray_condor.pl. This script did two things for me. First it introduced me to a different way of using Condor to put put ppm files of parts of a scene. And then it introduced me to combineppm, which take the parts of a scene and puts them together into a real image file. It took some work to get this working. The original author seems to have a Condor flock built out of only Linux boxen. I have a mix, so I had to do some work.

After modifying the script a little(and really getting an appreciation for Subversion, which I had setup to help track the changes I was making to scripts), I had a working pipeline for compiling single frames across the while flock. Some additional work was done to produce the density files needed for the makecloud2 macro. That ate up Thursday before and after going out for dinner and Saturday and a good chunk of the morning today. Ultimately, the script I put together failed to run the while process from beginning to end, but I could run the parts.

I am now rendering the demo scene, with cloud files seeded with numbers Jacob picked. I expect that it might be done tomorrow morning before I leave for work. Guess next will be playing with the camera and exploring the world I just created.

What I did during my Fall vacation . . .

I am actually surprised how much I seemed to need to have taken this week's vacation. I did not have anything scheduled or planned. I just did whatever it was I wanted to do and that was it. Put the boys on the bus every morning and got them off of the bus every night. Shame about Jacob's face. He fell at school and really scrapped things up the one side. It is not really bad. You can see it in a picture here.
So, what did I do this vacation?
We now move into the category of things I do as a hobby that a normal person will never be able to distinguish from what I do at work. I built a cluster using as many of the machines in the house as I could get working.
Several years ago, I managed the install of the largest machine I had ever worked on, an IBM Regatta p690. This server was the target platform for a suite of in-house applications that were migrating off the mainframe. It was huge. It weighed a ton. I felt special for working on it. Compared to the normal servers in the shop up to that point, this box was special.
As part of this project, the internal group for whom the server was being staged was talking about where they wanted to go in the future: utility computing. That was enough for me to start researching utility computing and the products that were used to build commercial-grade utility environments. First I was looking at Globus because it seemed reasonable that a group that decided to go with AIX would look at the grid system that IBM appeared to be behind. I also looked at Sun Gridengine and setup a small system using 3 Linux boxen and used them to do a couple of different data folding exercises using large datasets. Nothing really impressive, mostly just loading a couple million rows into a database, using multiple machines.
The problem I had with both of these systems was their apparent difficulty integrating Windows-based systems. As long as I kept to the Linux boxen in the house, then I was fine. But there were always going to be a mix of Linux and Windows any (hopefully) other machines in the house. And Gridengine cost money to run on Windows. Globus was just overkill.
My interest in utility computing was not just being driven by the potential of having to support it for a paycheck. I was also interested in getting some more use out of the various machines at home. Like most technical people, I have a collection of machines sitting at home. Right now, there are about six machines that are capable of running either Linux or Windows and one Sparc running Solaris. But most of the time these machines are just sitting there doing nothing. Natalie's laptop is on, but only being used when Natalie is home. The boys' machine is not normally on, but could be easily utilized during school or overnight. And the rest of the machines are here, waiting for me to use them for this or that thing.
Since that time, I have also started doing some 3D rendering (because everyone needs a hobby). And some of these renders take a lot of time. The longest render I have done so far took about 12 hours. That was 12-hours where I really could not use the main machine I use for anything because the render was sucking all the CPU cycles.
Then I remembered there was another utility/grid system that I had looked at but never got working, Condor. I had been thinking about the Condor model a lot more recently. This week, I tried to install it again at home.
Right now I have five different systems available to run jobs for me. I have already rerendered most of the POV files that I have created over the last couple months using Condor. I am looking into how to do the same with Blender and any other software I can install on more than one machine here in the house. There were jobs where I wanted to see how a model would look rotated, but did not want to take the 10 to 20 frames I normally do rotation using when a single frame takes from 45 minutes to 2 hours to complete. With Condor, I have rendered about 5 frames at once on different machines. This has dramatically reduced the amount of time I am waiting for renders to finish. And I have learned a little bit more about how to use the resources available to me.
Now I just have to start thinking of things to do using the technology.
Yes, I have reached another “Now What” moment.

Side Jobs

What have I been up to?

Obviously, I have not been posting here, but I have been busy beyond work.

I have been doing some experimentation with Drupal and what it can do. Specifically, a coworker hosts a site for the part of the The Matrix Online community that he operates in.

They had a decent site. There was a little content, mostly hand coded, that he was in the process of tooling. There was also a fairly active forum based on phpBB. It was a good setup for what he was doing, but may not have exactly been what he wanted to deliver.

I had been showing off some of what I had done here with Drupal, and talked about how much easier I was finding it to do different things on the site. I showed him how the forums and images and some other content all integrated together. I showed how access to the forums and other content were managed through the same access controls.

I had talked about a couple of modules that I was not using, but that could have helped him achieve the user experience he was looking to delivery, something that included a mix of MxO game mechanics and web-mediated role playing and story telling.

Twelve weeks ago, I was surprised to see that he had pulled the trigger and added a Drupal install to his site. He had even gone as far as to redo his forums in Drupal. It's a much different site from what I have here. The coworker is a fairly capable graphic designer and one of the top people I know in digial imaging (ButterPhat is still #1). And he had an already established community from his faction in MxO.

Over the last couple of weeks, I've been playing with a few of the Drupal modules that I thought I would not have a use for here at SysMango, in an attempt to see if I could help him get a little closer to his vision for that site.

I actually found it kind of liberating.

First off, I built a development environment, downloaded bunches of modules and just turned them all on. A couple of days later, I had a mess. But it was fun.

After I got that out of my system, I redid the database for the site. All the modules were still there, but I only turned on what I thought I needed to achieve the effect I was looking for. And that did involve downloading a couple more modules that I did not get before.


The first thing that I went after was adding a realtime chat function to the site. MxO seems driven as much by the text-based chat as it is the gameplay. A MxO website might get the same kind of value from that.

The only MMORPG I have played is UntilUru. But I have listened to this group at work talk about MxO since it was launched. The player portion of the game is driven by factions and ship groups. Drupal has a set of modules for what they call Organic Groups, groups that are not part of the security roles, but still allow a user population to organize itself, as it sees fit.

Using the OG modules with Drupal's phpfreechat integration, I was able to put together an emulation of MxO's textchat that seemed to work. One big channel for everyone. One channel for each faction. One channel for a ship crew. And an optional channel for 'teams.'

The only question I have now is, will it scale?

In addition to chat, I also looked at augmenting his use of flatforums.module. Flatforums pushes Drupal's native forum look-and-feel to be closer to specialized forum software, like phpBB. It is not exactly the same, I believe that if you are looking for more than just a forum, it may be a good way to go. It may not provide everything that a phpBB or Invision Power Board does, but those forums do not give you everything that a more robust cms does. There seems some debate about the validity of flatforums in Drupal, but I like it.

One of the things lacking from flatforum.module is user badges, those little icons that usually show in the author information block that show degree of membership or role in the forum. You might have one image for new people, another for people who have posted for a while, and another for someone that has posted every hour of every day. Or it could be an image for each user group on the forum to denote either a administrator/moderator role or that they are on this or that team.

The userbadges.module provides at least part of that solution, the graphics and a way to assign them to users. All it took as a minor addition to the theme files to include it in the layout.

I am still looking for ways to assign users to a group via an automated action, driven by the number of posts they have logged (I've seen this called rank, karma and some other things). More research is required.

If I can figure out the right way to implement flatforums on the current theme here, I may add that to SysMango as well.

The last little gem I put up was banner.module. This module has the ability to do content blocks, but I found that it worked more like I was expecting with a some more theme modifications. Of course, I was testing using forum signature images. Images sized for sidebars may work better in the blocks.

I like banner.module. The option to track and report the banner views and clicks just seems interesting. Right now I'm trying to think about how to use banner.module as the basis for an image rotator for remote sites. For this I am thinking of forum signatures (do different sigs get more attention?)

So far, not much of what I have played with has found its way onto that community's site. That will take some time. Some of the changes involving OG and groups, while logical given the setup, may cause other issues. I have also noticed problems with the phpfreechat integration that I'm not sure about. And do I want to be the cause of what will surely be a lot of cyber-slacking by this group?

But for me, it's just another research project.

Syndicate content