Wednesday, April 30, 2008

Coding with the SDK

Yes, there has been quite a bit of lag between posts. I started to suffer from the Fallen Tree in Forest syndrome. I'm trying to make a melody with this blog but I'm not sure if it is even making a sound. That said, I'm posting again. I'm doing this not to force a noise in a plethora of internet data.  I feel the need to share my lessons learned with Objective-C and the iphone SDK. 

Here is where I am so far (in order):
  • Downloaded the newest SDK - Duh
  • Downloaded the core documentation for the SDK via xcode workspace guide - Getting Warmed up
  • Ran through iphone Fundamental Documents - Shallow Waters
  • Started the "Your First iphone Application" document in the workspace guide - Where's the boat?!?!
I'll pause there. There were really no issues following the documentation and getting a working application.  It was way more than an echo "Hello World". As a total laymen in Objective-C and lacking a solid C++ background, I needed something a little easier to make the connection. 


Of course you could find plenty of other places to go, but I found this one as I was searching for something familiar to grab hold of. I've been doing plenty of php scripting and this was a useful transition site. 

After getting aquatinted with my first application and reading some basics on Objective-C, I downloaded all the sample programs on the Apple Developers website. I'll say that I'm making some progress.

The goal of all of this? Besides being part of a technical tsunami, I've been avoiding non-scripting languages. Now was as good as any time to start tinkering again. I'll let you know how long I last.

Thursday, April 3, 2008

iphone SDK - Sky's the Limit?

The iphone SDK has been installed!

For a neophyte with little objective-c skills, I'm still highly attracted to the possibilities open to developing for the iphone. Business users all over are constantly in demand for rich presentation in a small package. I'm convinced that the iphone will pave the way for that to happen. 

But here-in lays the uncharted territory. How far will CIO's and their organizations go to develop custom applications to bring their executives into the new wave? Most executives travel light but require the information at their fingertips. I foresee a new demand for companies to step to the plate and provide rich media in that custom package. The iphone may not be the device of choice, but it is certainly moving the mobile community and enterprises to build the right custom application. 

Tuesday, March 11, 2008

Why Script?

If you have a Unix or Linux background, scripting should be second nature to you. Even 'Windows Gurus' usually do some little bit of automation with custom scripts. The power and flexibility that comes with the command line is hard to ignore, once you've tasted it. Still, those who have tasted both a Unix-type shell and the Windows command line will generally agree, Unix has the advantage here.

Although there are ways to do in Windows some of the things possible with Unix tools, it's quite a bit more cumbersome. By taking advantage of Cygwin, you can bring that power and flexibility to Windows. A simple example of how I have used Cygwin alongside Windows tools involves Active Directory user creation, deletion and modification. The tools provided in Cygwin allow you to do advanced pattern matching and generate a list of users, file paths, etc., and then using the Bash shell, it is simple to create the logic necessary to call the Windows command line tools for modification of Active Directory. With the arsenal of useful tools that become available to Windows by using Cygwin, the possibilities for better automation grow considerably.

The Advanced Bash-Scripting Guide offers a great starting place for increasing your ability to write useful and powerful scripts.

Wednesday, March 5, 2008

Keeping Up With Moore's Law

If you are like me, you've gone through several different computers over the course of a decade. I've had Dell, Toshiba and HP laptops all that provided (at the time) the needed processing punch. Eventually my software demanded more memory and computational power. Now I reached the age of my MacBook Pro and......."Wham"! It feels as if there is enough horsepower under the hood to last me a lifetime. Or so I think for the time being.

My feelings of laptop longevity, albeit easily susceptible to change, raises a question. Besides the fame and glory of trying to fabricate smaller and smaller chips, is it really necessary to continue the march down the nanoscale for the average home/business PC?

Don't get me wrong! I'll be the first one to ogle at the latest and greatest technology. Also if it wasn't for chip makers getting smaller, conserving power, we wouldn't have marvels like the Macbook Air. However, as chip fabricators are currently in the 45 nanometer range shooting to get even smaller, I wonder if Moore's Law will stop for general consumers sooner than we think.


Tuesday, February 26, 2008

Maximize The Life-Cycle

For some small business, IT procurement can be a challenge. Budgets are tight and figuring out hardware requirements could be daunting. How is it possible to ensure that you get the most out of your computing so your life-cycle isn't shorter than it needs to be AND you satisfy your employees within reason? One simple key is to address the usage pattern of your employees.

What is the benefit of looking at it this way? 

My eureka story covers this best. I took my car for a routine service and was surprised when the mechanic said I needed new brake pads. They were changed not too long ago and the math wasn't working out in my head. Skeptical, I ignored his comment. If it wasn't for the insurance requirements of his company he would have pulled me under the car to see how bad it was for myself. After he told me how many millimeters I had left before I would hear screeching I grudgingly had them changed. Later that week (still doubting my decision) I noticed something while a certain family member was driving the car (Identity withheld to protect my life).  This unidentified individual habitually stopped hard at red lights. AH HA! That was the usage pattern that led to the breaks needing changing earlier than my projected life-cycle. Unfortunately for me I had to fork out the money and reacted to the usage pattern after the fact. It doesn't need to be that way for IT Procurement. 

For most users they would like a computer to function like their mind. They want to multitask on several different things and they want to do it quickly. Even with most up-to-date system, there is a threshold where it will seem unresponsive because of the multitasking being imposed by the user. So if someone has, say Adobe Photoshop CS3, open with 15 different images, is checking email, listing to a Pandora stream and browsing the web, the usage pattern can change. The goal is to help users understand how they need to think a little differently to maximize their computing productivity. When that message is properly conveyed, the life-cycle will be extended. The trick is to convey that message without inflicting pain.

To avoid any toe to toe confrontations, a simple yet proactive approach can be taken, here are a few options:
  • Every so often, provide employees with reminders and tips on good computing. These can be gathered from the same companies who provide your hardware and software. Sometimes these companies send monthly emails and webinars on useful computing topics. Recycle those in summary to employees in an official company message.
  • Provide a checklist of monthly maintenance tasks to perform (folder organization, file clean up, desktop cleanup, etc)
  • Establish a system to share tips and tricks among employees (wiki page, whiteboard sessions). 


Friday, February 22, 2008

AutoSave Anyone?

(Reader Beware - Oncoming Rant)

With a snowy afternoon and a hot cup of tea I decided to make good use of my time and start a document I've put on hold for long enough. In an attempt to open my eyes to more than the Microsoft Office Suite, I started learning/using Pages (Part of the iWork '08). 

The initial keystrokes were hard enough just to get the thoughts flowing. I was able to get out of the mental rut and put down a few good paragraphs. Unexpectedly Pages crashed. No issue there, it should just restore my document...Right? 

Lets pause there for a moment to note a few things:
1. In the time that I've started this blog the automatic autosave in blogger.com has protected my work every minute, autosaving some 15 times.
2. TextEdit, a very basic word processing program has an autosave feature backing up SQL code I was messing with.
3. Time Machine on my MacBook Pro has backed up my system 12 times since the start of today.

In our world of computing backups, redundancy and autosaving, being able to recover has become common-law! So it was in disbelief that I re-opened my Pages file to find that NOTHING was recovered. There wasn't even an indication that it tried! Thats right...no autosave in Pages!

I won't drag on with any more rhetoric on the subject. This isn't a bash on Pages. Just a rant that the simple programmable things in life should never be forgotten. Autosave is one of them!

Command - S


Tuesday, February 12, 2008

JeOS Pronounced "Juice"

What is JeOS?

Before we begin lets ask ourselves a few questions.

When you just need to listen to music on the radio, do you turn on your Blue-Ray player, TV, and your karaoke machine as well?

When you just need to boil some water on the stove, do you turn your oven on as well and perhaps the 3 other burners along with it?

Right about now you are probably thinking of course not! I agree because of obvious reasons, why would we turn on the other unnecessary devices if we just need the one or two?

JeOS is the abbreviation of “Just Enough Operating System?” or “Just Enough OS”.

Right about now there are hundred of thousands of Windows Servers and few Linux/Unix that in essence have the karaoke machine or the oven on when it just needs to play some classical music.

If I need to setup a print server, why do I need Outlook Express, Windows Media Player, Pinball and a whack load of other not needed services installed by default drinking up precious space and resources that can be needed just spooling print jobs?

JeOS is a stripped down OS that has only the applications and services needed for the function(s) that server was meant for!
FANTASTIC!

What does this mean? More space, more available resources, and more reliability for the server to do what it was intended for.

Tailoring your OS allows more available connections for processes required to the specific application or service you want to run. It becomes more reliable, secure, easier to manage and performs better then an all purpose OS.

For some Linux/UNIX experts this is not new to them as they have been customizing there servers for each task it was intended to perform. For the rest of us not so crafty in that area of OS building or have limited time on packaging and compiling there own, this is a perfect solution to getting that goal accomplished.

Almost all Linux and Unix Distributions have already created there own JeOS version.

Perhaps Microsoft can follow along with this fast growing common sense way of changing the way our OS serves the tasks we want it to do in the small-enterprise level business.