Few months ago I was sitting in church (minding my own business) when the minister read aloud a verse of scripture that said something like » 'Whatsoever things you ask for, you shall receive.' (I forget the exact verse.)

Cirque du Soleil - KoozaAnyway, that scripture stuck with me .. even after the service was over. Almost like it was following me around. Couldn't stop thinking about it.

While walking to the car (out in the parking lot), I kinda got the impression god was telling me, encouraging me, Go ahead. Do it.

Now, I normally never pray for 'things'. I figure god already knows what we need. (There's even a scripture that says as much.) So I see no sense in bothering him to ask for more 'things'.

But there *was* something I wanted » to take the Bug to see Cirque du Soleil. That's something I had been thinking about ever since I heard the circus was coming to town.

Been learning to program. Woohoo! Previously I spent considerable time learning *about* programming, particularly the pro's & con's of the various languages (.. something I enjoyed). Now however, I'm focused on learning the actual nuts-n-bolts of coding. Very different experience. More so than I would've imagined.

Aptana StudioSomething shifted today. Programming used to seem like something done at a desk 10-steps away (so to speak) .. by others, at a distance. Today it became something done here on my laptop.

I can now see what others meant when they suggested I 'just start' .. no matter what language I happened to choose.

Seems many of the initial concepts introduced to the aspiring programmer (such as data types & logical operators) apply to most programming languages. So learning these concepts is what's really important .. more than the syntactic details of any particular language.

Also seems like I was always searching for a conceptual framework upon which to begin learning a language. Hooks upon which to hang the things I would learn. A file system into which I could deposit & organize this information.

Finally found that 'framework' in (I'm almost embarrassed to say) » a 'Dummies' book (of all places), where the author asserted that programming was similar to writing a recipe, where you document the various steps required to fix your favorite dish.

That made sense to me. It was something I could relate to. Moreover it marked the point at which I quit learning 'about' programming & programming languages and began to actually focus on learning the nuts-n-bolts of a particular language.

Programming as a recipe. The recipe paradigm. Simple concept. Simple usually works best. (For the novice.)

Many courses and books use the 'don't-be-limited-by-the-programs-others-write' argument as their reason for learning computer programming. But that approach never really resonated with me. I never felt limited by the programs written by others, seeing there are so many good ones to choose from.

Where Men Win Glory

| 1 Comment | No TrackBacks

Even more interesting than cool technology is » people. Homo sapiens are a fascinating lot, especially those who reside at either end of most any distribution bell curve. What motivates them to do the things they do? What do they value above all else? And why? What life-experiences have contributed most strongly to their view of reality?

Pat Tillman was one such person. He's the pro football cornerback who "traded the bright lights and riches of the NFL for bootcamp and a bad haircut."

Where Men Win GloryHe walked away from a $3.6-million contract with the Arizona Cardinals to join the Army after the hijackings of 9-11.

Contrast his behavior with that of Bernie Madoff, who said that money & profits were "all that mattered." Seems their values could not be more different. Difficult to reconcile the two.

Actually, Bernie is easier to understand. (Greed gone wild.)

So when I heard that Krakauer had written a book on the life of Pat Tillman (titled » Where Men Win Glory), I was interested .. even after the 6 years that've passed since Tillman's death. (While Bernie is still alive.)

[ Loved Krakauer's » "Into Thin Air." One of my all-time favorites. Was sad to see that story end. I also greatly enjoyed reading » "Into the Wild." ]

The title comes from a passage taken from Homer's Iliad (written 8th or 9th century BC), where Diomedes (who fights on behalf of the Achaeans) speaks to Glaucos (representing the Trojans):

"Who among mortal men are you, good friend? Since never before have I seen you in the fighting where men win glory. Yet now you have come striding far out in front of all others in your great heart."

So I checked the local library. Yes, they had a copy. But there was/is a long wait. I am #33 on that list. Never been more than #2 or 3 before. For anything. So it seems a LOT of people are waiting to read this book.

Fortunately, one of the librarians suggested I order the audio-book (comprised of 11 CDs). The wait for that was much shorter. Not many know about the audio-book it seems. (I didn't.)

I listened to the first CD yesterday (.. while fixin' some puttanesca). Wow. Intense. Story takes you deep quickly (.. into Afghanistan, the "graveyard of empires"). Recall that Afghanistan defeated the mighty Soviet Red Army in their 10-year war.

Few things in the world of bits-n-bytes seem more alluring & intriguing than encryption algorithms .. with colorful names such as Blowfish (named after a deadly delicacy), Serpent (which took down mankind) & Rijndael (pronounced 'rain-dahl') .. conjuring up images of clandestine transactions being conducted by rogue spies and covert agents.

There I was, minding my own business, learning computer programming by watching the CS-50 course (at Harvard), when Malan mentioned ROT13. Say what? So I asked the Google.

Julius CaesarA slippery slope it was. First I learned about the Caesar cipher, which Julius used in ancient Rome to communicate with his generals waging campaigns out in the field. (Cool, yet hardly seems secure.)

But what about us? What ciphers should we be using today to protect our valuable data & sensitive files?

The best program (most seem to agree) for encrypting your own files & drives is » TrueCrypt. (Now at v6.3a.) TrueCrypt is both free & open source, and it's list of features is (truly) impressive.

If you feel compelled to pay either $60 or $100 for a similar program, the best option(s) seem to be » BestCrypt and/or Volume Encryptor.

I downloaded a copy of both programs and took each for a test-drive around the digital block. Most surprising was how little CPU resources these programs use .. to encrypt (and decrypt) files on-the-fly. We're talking negligible .. even with my battered 5-year old laptop ( .. that's missing an i-key).

These programs work by creating a file on your hard drive (however big you want) that looks (and is used) like a typical/standard logical drive, which you can use to both store and retrieve files as needed. [ I made each of mine 2-gigs. ]

They can also encrypt an entire logical drive, including your system/boot drive (where Windows resides).

An algorithm is simply a sophisticated mathematical formula for scrambling the bits associated with the files on your hard drive (.. so nobody can read them). The hard part, it would seem, would be the subsequent reassembly.

The next question you might have is » What's considered the 'best' encryption algorithm? .. seeing the program will ask which one you want to use. The word 'best,' as you know, can mean different things to different people (who have different priorities).

People intimately familiar with encryption algorithms have declared (drum roll, please) » Rijndael = 'best.' It's the current Advanced Encryption Standard (AES). Note that AES is NOT an algorithm, per se, tho the term is often used that way (.. as a synonym for the Rijndael algorithm). Rather it's a standard. Rijndael is the actual algorithm used in/by/with the AES standard.

Here's a find. You can eavesdrop on Harvard's 'Introduction to Computer Science' .. without ever leaving your living room. Very cool. Both video & audio-only streams available. Videos available in both Quicktime & Flash formats.

Harvard University Wrought IronI'm using their Flash steam. No stuttering. Perfectly smooth video. Both the audio and video are decent quality. A quote from the Harvard OLI website:

This course is part of Harvard Extension School's Open Learning Initiative, which brings a selection of noncredit online courses featuring Harvard faculty to the public for free.

While the extension website refers to this course as » CSCI E-52 (an 'Intensive'), both the instructor (David Malan) & video call it » CS-50. The course is for people with "little to no" programming experience. They appear to be having fun.

CS-50 used to be taught by Brian Kernighan, the guy who co-authored the definitive K&R book. He now teaches CompSci at Princeton.

I like this instructor's delivery. He talks fast. Prevents my mind from wandering. My brain syncs nicely with his presentation.

The course is comprised of 24 separate lectures, each ~ an hour long. They use a combination of C, PHP & Javascript. The first video is 73 mins.

In continuing my foray into the wonderful world of Programming, I've been demo'ing IDE's (Integrated Development Environments). Wasn't crazy, for example, about Komodo Edit (free).

My fave so far has been » Aptana Studio (also free / open source). Based on Eclipse. Their PHP plug-in uses PDT (.. which Zend also uses). Works for me. I like the idea of becoming familiar with Eclipse, since it's so popular (and free).

Programming (I'm learning) is an unforgiving discipline. Leave out a measly comma or a single semicolon and your whole dang program crumbles to gobbledygook. Does not compute.

Mostly (it seems) I'm learning how to make mistakes .. something I'm becoming very good at. Gradually tho, I'm learning how to correct and even avoid these mistakes. Currently learning about arrays.

Beginning of the End?

| No Comments | No TrackBacks

For the first time ever, the Bug can do something better than me. I wouldn't characterize this as an official 'developmental milestone,' but it does represent a demarcation of sorts.

HelicopterIt's a weird feeling, I admit .. when a 5-year old bests you at something. (Anything.) It has left me feeling .. uh, I'm not sure. Weird.

I'm relatively new at this parenting stuff. Maybe some of you more experienced dads know what I'm talking about.

Certainly, as time progresses, the list will only grow longer .. until .. well, you know. So it's sorta like the beginning of the end. Or is it merely the end of the beginning? Or both?

What can he do? you ask. He can fly that little remote control helicopter I got him for Christmas.

We're talking bank-turns along the upper corners of the room .. where the walls meet the ceiling. Then dropping down to buzz the poor cat (Simon), before buzzing me. Look out, dad. Almost gave you a haircut.

I mean, I'm nowhere even close to being in his league. I tried. It's not easy. I keep crashing. Don't wanna break it. I sometimes watch his face while he flies. The focus, concentration. Makes him look older. More mature.

This is actually the second heli I bought. The first he took back to his mom's the day he got it. It was broke before the sun set.

I try to avoid having things he can only use here. It's your helicopter, I told him. If you wanna take it to mom's, you can. The new one he decided to leave here. (But that was his decision.) We've had it a few weeks now. Runs great.

Don't get me wrong. I'm glad when he excels at anything. I've long endeavored to encourage him at whatever activities he might attempt. I try to focus on what he CAN do (.. rather than what he can't). So these feelings confuse me. Maybe mortality is the issue here.

Reblog this post [with Zemanta]

Learning PHP Programming

| 2 Comments | No TrackBacks

Finished learning how to use Fireworks to edit graphics. The graphic that accompanies today's entry was converted (with Fireworks) from a much larger Illustrator (*.ai) vector source file. Looks sharp, no? Fireworks is a hybrid graphics editor that supports both vector & bitmap objects in the same document.

PHPNow that that's done, I started learning PHP. Kinda excited. I've long known *about* PHP, and how it works (» server-side scripting), but never took the time to sit down and actually study the nuts-n-bolts of the language.

Currently using a video series titled » Essential Training, taught by Kevin Skoglund. He's good. (Very good.) In fact, Deke is the only instructor I found who's better. (Deke is head-n-shoulders above everybody. Mr. Entertainment.)

Amazing how much of a difference a good instructor can make. I've demo'ed other PHP courses, but couldn't get into them.

Skoglund also has another series (released last March) titled » 'Beyond the Basics,' which would provide seamless continuity, should my quest for the PHP grail continue.

I'd like to get to the point where I 'see into,' (or 'grok') the inner-workings of the language .. on an intuitive level.

So I installed the latest version of WAMP Server, and have begun learning how to program with PHP.

One nice thing about WAMP is that it allows me to DUPLICATE locally (via add-ons) the same server config currently residing on the Rad VPS (in Chicago). This approach to development would help identify and minimize any incompatibilities between different versions of Apache, PHP or MySQL.

Progress has been slower than I'd like but moving along nonetheless. Doesn't the tortoise (who never stops) always win in the end? I'm enjoying it. It feels 'right' .. if you know what I mean. In other words, it's working for me. The programming shoe fits.

Several factors influenced my decision:

Wacom Intuos.4 Pen Tablet

| No Comments | No TrackBacks

Fireworks is a hybrid graphics editor (supports both bitmap & vector in same document) that Adobe bought from Macromedia in 2005. It's sorta like Photoshop, but designed with web graphics in mind, and it seems to be making a comeback. I used it to prep the image that accompanies today's entry.

Intuos4 by Wacom While familiarizing myself with its toolset, I learned that certain tools (e.g. » the vector-path scrubber) were designed to be used primarily with a TABLET .. such as those made by Wacom.

Really? So I checked the Wacom site. Very cool. Definitely qualifies as techno-lusty. Better grab a towel before visiting, cuz you'll likely drool all over your keyboard.

Their most popular model seems to be the » Medium-sized Intuos pen-tablet (now at version 4), which sells for » $319. Tons of positive reviews from folks who rave about it.

They also have a Small Intuos.4 that sells for » $229. (Reviews listed for the Small tablet seem to be grouped together with those for the Medium.)

Wacom is a Japanese company established in 1983, with US headquarters in Washington state.

They also make two high-end tablets for their Cintiq series (sin-teak) » the 21UX, which sells for » $1,900. And the »12WX, which sells for » $925. Compare these 2 top models » here. Both obviously designed for creative professionals.

With an eye toward marketing their wares to the average joe-consumer (rather than being limited to just the high-end professional), Wacom recently released their » Bamboo series, which sells for only » $85.

Their Bamboo 'Fun' model comes with a slightly bigger screen and additional software bundled, doubling the price to » $170.

Note the version of Photoshop Elements that ships with the Bamboo is NOT the latest .. otherwise (at $85) it would be a killer deal, since PE.8 sells for $80 by itself. [ PE.8 = latest; Bamboo ships with PE.7 ]

My buddy Steve is a fellow technoluster who works as an editor in the Film industry down in South Africa (.. Johannesburg, or Jo'burg, as the local Afrikaans refer to it). You might remember him as the fellow who sent the photos of Mozambique and Cape Town and Drakensberg. He's been using a Small Intuos for 6 or 7 years. Here's some of his comments from our exchange last night:

Happy MLK day. The Bug is back. Woohoo! He spent the holidays back East, visiting relatives. I missed him something fierce. While away (for 3 weeks), he turned 5. I missed both Christmas & his birthday. (Come to think of it .. I've never seen him on Christmas. Ever.) So we had some catching-up to do.

HelicopterI got him one of those remote control flying helicopters he wanted. Found one on eBay for $15. From Hong Kong. (If you find a better deal, lemme know.)

Hard to believe they could sell it so cheaply .. especially when my buddy just bought one locally for $80. And his wasn't even made of real metal. So I wondered if the Hong Kong copter might be a scam, or bait-n-switch.

But it arrived fine. Just like the model pictured. (Took a week, tho.) Flew great, too. We were pretty stoked when that puppy lifted off the first time.

Are ya ready, dad? Ready for lift-off? Okay .. tell the passengers to climb aboard and fasten their seatbelts. Here we go.

The ad said "for ages 8 & up." But the Bug was able to fly it better than me after only 30 mins of practice. It's more fun than I thought it would be.

They claim it flies for 6-8 minutes with a full charge. But we flew it for 15-20. Maybe 25. Cuz you don't fly it constantly, but land intermittently. Practicing a nice, soft landing (on the bed) was the first order of business. We used a DVD case as a landing pad.

It charges thru either thru a cable attached to the remote control (which is powered by 6 AA batteries), or via a supplied USB cable. (The USB port on your computer supplies ½ an amp, which is decent.)

I chose this particular model cuz of its battery rating (» 180-mAh), which was the best I found for a copter that size. A higher rating means more power & longer flying time.

One little quirk about this model » because it has a GYRO, you need to turn it ON while it's sitting on a level surface .. in the upright position .. to properly 'orientate' the gyro. Not the easiest thing to do (tiny switch).

I had problems installing MODx Revolution (« a cool, new PHP-based Content Management System). I tracked the source of these problems to 'permission' settings applied to certain files & folders within the /modx installation directory.

suPHPEvery file and folder on a Linux server has an assigned permission setting. These settings control WHO can do WHAT (.. to/with a particular file or folder). The 'WHAT' aspect addressees the authorization to:

  • read (4)
  • write (2)
  • execute (1)

.. or some combination thereof. For example » 6=4+2 = read + white, while 5=4+1 = read + execute, and 4 = read-only. The 'WHO' part is divided into the following categories:

  • OWNER .. of the file/directory (me) Represented by the number listed FIRST.
  • GROUP-member .. assigned permission to access the file/directory (set by me)
  • THE WORLD (.. represented by number listed LAST)

The most-permissive of these settings is » 777 (4+2+1) which lets any-BODY do any-THING (.. known as 'world-writable'). In other words, it would let anybody (including a hacker) » read, write & execute my file(s). This is why most admins cringe at the idea of setting a permission to 777.

The first 7 is cool, cuz that lets ME (the file's 'owner') do whatever I want. The second 7 is also cool, cuz it lets the members of a GROUP (that I select) do certain things (such as read, write & execute files). It's that last 7 where the trouble lies. It lets anybody else do whatever they like. Not good for security.

MODx 2.0 RevolutionWhile installing MODx, I discovered (thru trial-n-tribulation) that I needed to set certain directories (deemed 'writable') to 777 .. in order for the program to install. And I wasn't the only one experiencing this problem.

For me, sadly, this was a deal-breaker. I was excited about the new MODx Revolution (currently at beta5). It has some really cool features. But I was unwilling to operate with any files or folders set (permanently) to 777.

Before abandoning my quest however, (to explore MODx Revolution), I decided to see if I could find a solution.

While searching, I noticed some files & folders within the /modx directory that had an 'owner' listed as » 'nobody' .. something I'd never seen before. [ The 'owner' of all other files on my server is normally listed as 'rad.' ]

This mysterious Mr. 'nobody' (I learned) is the default Apache user. (Tho I hear it can sometimes be listed as 'apache'.)

In a practical sense, when your system is configured to run PHP as an Apache user (which is common .. also called the 'web server user') .. any files or folders CREATED by the PHP program/script will be assigned an owner of 'nobody'.

Recent Comments

  • nigel-bree: Sounds good; I had learned of Tillman's story via _The read more
  • nigel-bree: Another thought-provoking link in respect of intrinsic/extrinsic motivation - in read more
  • Rad: Thanks for the links, Nigel. I know they'll be great read more
  • nigel-bree: Utilitarian arguments for learning programming don't work for me either. read more
  • Rad: Thanks, Nigel. Very insightful. Good to hear from you. http://www.amazon.com/Language-Implementation-Patterns-Domain-Specific-Programming/dp/193435645X read more
  • nigel-bree: The reason you haven't heard scripting langauges as those involving read more
  • Rad: Test Movable Type 5 anti-spam commenting features. read more