rcbevis's blog

Installing cfengine on SUSE desktops

I've installed cfengine on a few of the desktops just to better get an idea of how it does the configuration management. Prerequisites to the install were Berkeleydb and Openssl. The latest versions of the Berkeleydb aren't configured properly with the cfengine version 2.1.21 that I used, the latest version that is compatible was version 4.0. You will also need to install the db40-devel and openssl-devel tools for build completion.

There also seems to be some incompatibilities with yacc that are only noticed in the make, so in order to get around this you can install both bison and flex to handle the parsing and compiling.

Globus 4.0.3 installations on Suse 10.1 and 10.2

Installing the Globus Toolkit on both Suse 10.1 and 10.2 machines, I encountered one major difference. Using the latest stable release, 4.0.3 source code version, installation for 10.2 went without trouble. However, installing for the 10.1 distribution gave me a bug during the make and was fixed using an update from the GTK advisories. The problem originated from a buggy gcc that 10.1 doesn't address. From the advisories page simply download globus_js-0.5 which corresponds to the fix for bug 4315.

Missing function _announcement_unixtime2drupaldate in announcement.module on IBM's tutorial

In creating your own drupal announcement module using IBM's tutorial (part 6) there is a missing function that the module uses but never defines. The function _announcement_unixtime2drupaldate is first used in the hook form but it is never defined in the announcement_insert area or supporting functions area (listing 15 of the tutorial). They have been informed of this but until they update the tutorial, you will need to add the function:

 function _announcement_unixtime2drupaldate($unixtime) {
	$drupal_date = array();

PHPEclipse not yet compatible with Eclipse 3.2.X

It seems the latest version of PHPEclipse 1.1.8 is not yet compatible with the latest version of Eclipse (3.2.1). However, it is compatible with version 3.1.X of Eclipse. Along with this version of eclipse, you will need to download:
JS2E 5.0
DBG PHP Debugger (matching the PHP version you are using)
Eclipse Web Tools Platform Project 1.0.X

Then you can download the PHPEclipse through the Help -> "find and install..." and "Search for new features to install" feature, selecting the remote site of http://phpeclipse.sourceforge.net/update/releases as the update site.

boot camping Python

The Python programming language is increasingly becoming the language of choice to those programmers that require ease of coding and readability over speed and expressiveness. Knowing this I was curious why programmers in a High Performance Computing environment were giving a boot camp in how to program in Python. My previous experience with Python consisted of writing a couple of programs that were to perform some complex bioinformatics algorithms. Scripting languages such as Perl and Python are common in the field of bioinformatics so I was informed that it would be a good way to program. Unbeknown to me when beginning to code in python, one of our programs was to be a brute force algorithm (one with many orders of magnitude) and one that I learned would take my python program about two hours to run. That same algorithm written in java was compiled and ran in about 3 minutes, quite a difference. However, the java program contained about three times the amount of lines of code, making it much harder to read, and most likely, much longer to code. This tradeoff of run/compile time and coding time was exactly why the HPC guys chose Python for some of there mid level programs.

The Unix Philosophy, final thoughts

Gancarz finishes his book by explaining the ten "lesser tenets" to the UNIX philosophy. These are those philosophies that are not universally agreed upon and are often seen as moot. I thought some of these were very interesting, such as 'look for the 90 percent solution,' where he basically says that you can deliberately ignore those aspects of a problem that are costly, time-consuming, or difficult to implement. Your solution thus has a better "bang-for-the-buck" in implementation costs, and carries the attitude of "if someone needs this capability bad enough, they can do it themselves." Yet not all tenets were as worthwhile in my mind as this. He says to 'use lower case and keep it short' when typing any text in UNIX. It has been my general practice to adhere to the 'keep it short' part of this tenet. Terseness is highly valuable, especially with the piping abilities of the UNIX command line, were some commands may get pretty lengthy. But I say if someone wants to capitalize, capitalize. He explained that lower-case letters are generally easier to read. I disagree, I believe some words/phrases are easier to read if some of the letters (not just at random) are capitalized. But again, that's just a personal preference.

Web 2.0, don't be evil

"Don't be evil." It's a seemingly simple concept. I would even go as far as to say that the majority of people in this country abide by this concept. It also just so happens to be a motto of Google. Does that mean that Google came to be one of the biggest companies in the U.S. by not being evil? Well, I am not sure, but they are definitely getting a lot of help from Web 2.0 based technologies. If you have heard of the phrase 'Web 2.0' but aren't sure what it means, don't be alarmed, you are not alone. There is no clear-cut definition for the phrase but it can be summarized by a few general characteristics. Mainly, it has the basic concept of a "network as a platform," meaning users are delivered and allowed to use the application entirely through a web browser. The users own the data on those sites and are able to exercise control over that data. It has architecture that encourages users to add value to the application as they use it. And finally, it has rich user interface and may have some type of social networking aspects.

The UNIX Philosophy(cont.), a jump-start to UNIX

Reading on through the remaining six dogmatic tenets, there was a gradual shift in his tenets, moving from those ideas that all developers can incorporate into their practice, to ideas more specific to developers in a UNIX environment. Which, I suppose, is somewhat needed, otherwise the book would be called "The General Development for any Environment Philosophy." So as I have yet to actually develop in the UNIX environment, I cannot say "yes you right, that is what you should do." Instead I see it more of a jump-start to programming in UNIX. I have always wondered how different my earliest programs would be (as far as structure, portability, etc.) if I had written them knowing everything I know now. It was very much a "learn as you go" process and therefore I likely spent more time coding and troubleshooting than I should have. But for me and other developers who have yet to work in a UNIX environment, we can read this book first and have more of a "learn, and then go" approach to programming in UNIX.

The Unix Philosophy, first impressions

Seeing that Mike Gancarz explicitly stated in his preface to the book that I would benefit greatly from reading his book, and almost assuming that I had a distrust for the UNIX operating system based only on the fact that I haven't used it yet, I was somewhat displeased to find out that he was right. I have yet to read past chapter four but I am already reaping the benefits that he proposed I would.

He began with an introduction to and a history of the UNIX operating system, citing names of people and places that I didn't particularly think was very beneficial for me to know. He soon thereafter broke down the UNIX philosophy "in a nutshell," listing nine tenets that were seen as dogmatic to UNIX developers and 10 "lesser tenets" that are seen as "not-so-dogmatic" to UNIX developers. Many of these tenets I thought were almost common sense to people in the computing world. I thought to myself, yes Mr. Gancarz your right, those are all very important and thank for listing them out for me. But I thought to myself, "What's the big deal?

Syndicate content