This is a test. If this post is successfully published, it means I am currently using one of the most useful and complete web browsers of the Web 2.0 age.

Meet Flock. Flock brings together your online presence into one complete package. Using sidebars and widgets, flock connects you to your Gmail, Yahoo Mail, AOL Mail, Flickr, YouTube, Digg, Facebook, Picasa, Blogger.com, (etc., etc.) accounts and lets you access/use their features within one sleek interface. The actual core browser is powered by Mozilla, which means that if you know or use Firefox, Flock will feel very familiar.

Everyone’s been talking about Web 2.0, bringing the internet to life and exploring new possibilities with dynamic content and interaction. Well, here it is.

Blogged with the Flock Browser

I was looking out of the window during a brilliant sun-setting rainfall. Maybe it was the picturesque view that jogged my brother-in-law memory. He says: “Did I ever show you PicLens?” He has trained an almost muscular response in me with that sort of question. My mouse moved for the default Google Search in Safari. In less than 2.5 minutes after install I’m looking at a full screen 3D wall of images. (The application unfortunately won’t work for Safari 3.1.1. They are apparently working on a big release in the near future. I installed it with FireFox)
Okay maybe I haven’t drummed this up enough. 
How would you like it if you could see a wall of TV channels instead of flipping channel by channel? For those of us with over 300 channels and nothing good on we may be able to spare ourselves the agony. THAT is what PicLens is all about, but for the web. You are able to search pictures, websites, images and much more.
My explanation is not doing this app any justice. Just check it out—>(click)!

This may be old news since it has been documented elsewhere for a couple of years now (see the link at the end of this post), but I only discovered this recently. Over the past several years, I have worked with a number of wireless networks, but only recently have I had the very different experience of moving through the world with my own personal wireless device.

Picture me walking through New York City on a beautiful summer day. Having finished a few personal errands, I’m looking to settle down in one of its several parks for a little bit and get some work done on my Macbook Pro. Since most of my work recently involves development of web applications, naturally I get a lot more done if I have an internet connection. I have heard that many of the parks in the city are outfitted with free wireless, so I drop down my Airport list and begin scanning through the several wireless networks my lappy has found. I come across one called ‘Free Public WiFi’. This looks like it could be what I’m after, so I connect, get a very strong signal but no valid IP address; no internet; nothing.

Another day, similar scenario, but another part of the city. And this time, my Airport has already automatically connected to a strong signal. You guessed it, ‘Free Public WiFi’. Again, no kind of internet love coming from this network. But now I’m curious, so when I do find a valid connection, I set out googling about this mysterious network.

Turns out it’s a bug in Windows. It’s a viral wifi epidemic that has swept at least this country, if not by now, the world. On the whole it’s fairly harmless, but the potential for danger is very great, and it’s taught me a lesson that I should have realized earlier.

Here’s what happened:

  • Somewhere, someone created an ad-hoc network, named ‘Free Public WiFi’, either intentionally as a hoax, or for some indiscernible valid purpose.
  • One or more people connected to this ad-hoc network using a Windows laptop, again, either because they were duped into thinking they’d have free internet access, or for some unknown valid reason.
  • (Here’s the fun part): Once a Windows machine has connected to an ad-hoc network, when it disconnects, it now begins to broadcast that same ad-hoc network as an available connection, essentially inviting anyone to join.

And so it spreads. As more and more Windows machines connect to ad-hoc networks named like ‘Free Public WiFi’ thinking they’ll get free internet, more and more Windows machines end up broadcasting that same network. Take into account business travel, and you should see how quickly this thing is able to spread.

The danger here really should be self-evident. It is two-fold:

  1. An attacker could be broadcasting such a network, waiting for someone to connect in order to attempt exploiting their machine.
  2. If you’re running Windows, you yourself may be broadcasting that network, essentially inviting anyone, including potential attackers to connect to you.

My partial solution to this is to not use Windows. :) The rest is a principle learned that I will be careful to apply and which, I think, more people should apply as a best practice: only connect to networks that you are certain about. For example, after this experience, I researched more carefully what public wifi is available in the city, who provides it and their locations. So now I’ll know what I’m looking for.

Even so, it is likely if you have a mobile device that at some point you will open yourself up for attack. So there is sound reason to make sure your system is secure as a rule. Use a local firewall service. Update your system often. Don’t take candy from strangers.

See: http://www.nmrc.org/pub/advise/20060114.txt

It’s been around for a long time, and it’s had its fair share of abuse. If you’re like me, perhaps you can recall when one of the most popular uses of JavaScript was for dynamic looking buttons. Do a little mouse over on the button and the button glows, or changes shape, or some other little effect which really amounted to swapping out an image. It was often being used more obnoxiously than elegantly.

Then came Flash. Everyone loved it. And again, everyone over-abused it. Finally, it became obvious (at least to me…) that people tend to prefer simpler design with occasional purposeful animation. In walks JavaScript (again).

Developers began using JavaScript in much more powerful, interesting, and ultimately elegant ways. One of the biggest ways being accessing and modifying the DOM. By listening to user initiated events (mouse clicks, keyboard entries), a developer can dynamically alter, rearrange, delete or create new document objects, all on the client side. A user can even initiate a server request (via the XMLHttpRequest object) and receive its reply without reloading the entire page.

The power, flexibility and standard implementation of JavaScript make it a powerful tool in building web-based applications. It would be a mistake to ignore it. I’m certainly getting my hands dirty with it (honestly, more by chance than anything else) and I’ve been loving the experience. A book that I’ve really found a great tool in helping me get the most out of the experience is called The Art & Science of JavaScript. I’d recommend it to anyone in the business or habit of building web-based applications.

Just adding to my previous argument to move away from massive spreadsheets (See WebApp vs. Data Tennis) is the infoSoft Global application FusionCharts. I’m a huge proponent of being able to visualize data in a way that will make the most impact for your audience. This shouldn’t be sacrificed just because the application is on the web. As a matter of fact, it should be even more impacting with the speed of which information can be transfered and displayed.

We recently came across FusionCharts searching for a simple way to integrate web graphing with our already matured LAMP Application. The flash based graphing works well with PHP, Python, Ruby on Rails just to name a few. The best part is that all you need to do is feed it the right XML datafile and the graph is done. This makes it easy to read directly from a database (which we did) utilizing a few string manipulation techniques.

Did I mention that they have a free version?

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.

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. 

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.

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.

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).