Posted on 5 Comments

There is a cure for Windows dependency

My computer experience looks a little like this: Atari 2600 -> Atari 400 -> Timex Sinclair -> Commodore 64 -> DOS boxes -> Apple ][ -> Apple ][e -> Apple //c -> Macintosh Classic -> Solaris workstations, AS 400, Next Box, CM5, VAX, ramdom flavors of Unix machines -> Mac Performas (etc), PCs (Windows 3.1, 3.11, 97, 98, 98se, Windows 2000 server, XP, Vista, 2003 (blah blah name it) -> Linux (Ubuntu primarily). In the end I find myself surrounded with PCs with loads of Microsoft software. So everything I write is dependent upon the Microsoft Office suite, software I install requires Windows and so on. Granted, I have Linux development servers because much of my work is in a LAMP environment. That is until my primary machine died horribly and while I was recovering it, I was forced to spend most of my time on my Ubuntu workstation.

After working for a couple of weeks on Ubuntu and relying heavily upon Google Docs, I learned that I love cloud computing. Cloud computing is using applications that are primarily accessed over the Internet. Twenty years or more ago, Bill Gates said this is how all our computing would be and that PCs would revert to being dummy terminals. The nice thing about cloud computing is your data is accessible anytime, anywhere, from any machine, as long as you have an Internet connection; this is also the bad thing. Your data is exposed to 3rd party companies that may go out of business or change ownership or malicious people may find ways to expose your data to the world. You must weight the risk versus the benefits.

osalt_logoAnother option is open source software. Many alternative software directories are ready to help you find a free alternative to the commercial software you love. My favorite is osalt.com. For example, search Photoshop, osalt points to GIMP. I’ve been using Quickbooks Pro since 1999 (actually earlier but 1999 was my most current version). So for 10 years, I have used financial software that was out of date. I cannot find the discs and desperately need a new solution. Many exist! including buying the current version of Quickbooks. A search of osalt found PostBooks which is free although some people are confused by their commercial offerings. Don’t be quick to discount open source software just because of the price. Free does not mean bad. For instance, I now favor GIMP over Photoshop in some instances. Soon I may wonder why I ever used Quickbooks.

Do you have any experience with Postbooks? Your thoughts?

See also GNU Cash h/t Jonathan Hickman of traveling at godspeed.

Posted on Leave a comment

Project Done

I just put the wraps on one of my projects. This one was a site scrapper and a site rebuild. Scraping means the site which controls the data did not provide an API or other means to get the data so using PHP, cURL, and AJAX (in this case, jQuery), I retrieved the data, used PHP and regular expressions to parse the data to use only the parts I needed, and CSS to present it correctly. The rebuild was applying a new design, furnished by the client, to the rest of the site. Overall fun, albeit with some speed bumps and hiccups.

Posted on Leave a comment

Today’s Work Related Links

I work in an ever changing industry. New techniques, new standards, new languages, new buzzwords are always developing. These changes are why programmers must be constant learners. I learn principles. Specifics of a language simply require a decent reference. I rely heavily upon Delicious as my own personal search engine and reference tool. To date, I have bookmarked 10024 websites. I can spent hours researching a problem and clicking through search engine results to read misinformation or bad links but when I find the resource I need, I bookmark it at Delicious with keywords which will help me find the information easily. The next time I need that info, I can find it in seconds.

Links I have used in my work today:

Posted on 5 Comments

I have phone again – sorta

My replacement phone for my antique Motorola v3xx RAZR arrived today. Now I have an LG CF360 which looks and acts a whole lot like a Samsung A777. I lost everything! Every contact. Every picture. Every voice recording. Every shortcut in my life. Gone! My contacts in my phone had notes related to the contact, birthdays, private numbers, people I only talk to once in a blue moon and do so because I see (saw) them in my contact list and more.

So be it! Call this a new beginning. Let the burdens that accumulated in that phone be gone! We start anew today. If you call and get my voicemail, be sure to leave your phone number. Thanks.

Posted on Leave a comment

My Clients Now Get P3P Privacy Policies

Does your website collect identifying information on your visitors? If you think because you do not sell anything, ie. no shopping cart, and have no subscription services that you are not collecting identifying information on your site’s visitors then you are probably wrong. Most web servers log IP addresses along with the time of the visit and what that IP address read. ISPs keep logs showing which IP addresses were allocated to what users at particular times. Your logs can be correlated to their logs to identify a person. If your site as a comment form then you are definitely collecting information but more importantly that form gives you a name of a person to associate with the IP address without having to involve the ISP.

So now that we are clear that you are probably collecting identifying information about the visitors to your site, do you have a privacy policy? A privacy policy states how you will use that identifying information. For instance, perhaps you sell it to mailing lists. Or perhaps you specifically do NOT sell it to mailing lists but aggregate it to be able to explain to your potential advertisers that 70% of your site’s visitors are women between the ages of 22 and 35.

If you have a privacy policy, as a human, I can follow the link to that policy, read it, and try to interpret it. But why should I do that when I may not even understand what I’m reading? Shouldn’t the browser or other software handle the privacy policy for me? Yes! And on April 16, 2002 the W3C recommended the Platform for Privacy Preferences Project or P3P which is "a machine-readable language that helps to express a website’s data management practices." What this comes down to is that you can set your privacy preferences in your browser and if the website’s policy does not match, the browser blocks cookies from that site. Certainly there is a bit more to it than that but for most users, it boils down to blocking cookies.

P3P is a bit of a pain in the neck but every website (and that means your blogs) should have a privacy policy. This is definitely something I will encourage of each of my clients.

Posted on Leave a comment

It’s the simple things that make tech hard

You might be in a technology job if…

  • …you commit to building a website that should have been done in an afternoon and you are still scratching your head a week later because the data provider has no API and is afraid of you stealing your own data.
  • …you open up Internet Explorer to test your website but cannot get to it because "Internet Explorer is currently running without add-ons"
  • …you try to bang something out in 5 minutes but 20 minutes later you are still trying to correct typos because of the blasted hourglass.

Update: The silly Internet Explorer problem was between the seat and the keyboard:

This message appears when Internet Explorer is opened with add-ons disabled. To run Internet Explorer normally (with add-ons turned on), make sure to select Internet Explorer on the Start menu and do not click Internet Explorer (No Add-ons). [Microsoft, Internet Explorer add-ons: frequently asked questions]

Posted on Leave a comment

Incommunicado

My phone has died. If you are trying to SMS me or call me, I am not receiving your messages. Please contact me through Twitter, Skype (djuggler), or Cathy. You can try my Google Voice number 865-686-8693.

If you have the next killer iPhone app idea that could make you millions, I’ll happily build the app for you in exchange for a MacBook Pro and an iPhone (say, $5000).

Posted on 1 Comment

Cannot log into WordPress from Google Chrome

If you go to your WordPress blog’s login page in the Google Chrome browser, type your username and password, and get kicked back to the login screen without an error message, try opening a new tab and logging in from that tab. Seemed to work for me. I also cleared my cache but that did not seem to have an impact. The new tab fixed the problem for me.

Posted on Leave a comment

On programming – how to read other people’s code and why

Programming is an art. I [You] do a lot of business that starts off with "…and my developer just isn’t around anymore…" Dozens of statements could come before or after that but no of those statements change the meaning. Quite simply, you are [I am] about to look at someone else’s code and that person may be an expert programmer or a newbie borrowing snippets from other people’s examples. The code may be documented correct or incorrectly or not at all. Regardless, you [I] have to work with that code no matter its state or quality.

If you are a professional software developer, or aspire to be one, you will need to know a lot of of things. Various maths, stats, languages, frameworks, methodologies, tools, etc. Fads and buzzwords will come and go, all during your career. You’ll master some, ignore some, laugh at some. … You have got to be able to read other people’s code. [Source, Design by Gravity, How to Read Other People’s Code — and Why]

Worthwhile read by Christopher Schanck

Posted on Leave a comment

Love and care of your web developer – For artists

Dear Graphic Designers,
I understand that you are artists and by definition probably a little prone to inconsistencies for the sake of artistic license and creativity. I’m a little artsy fartsy myself so I can appreciate the desire to freehand a stroke rather than pull out a straight edge and right angle; after all this is art, not drafting…or is it. See, a web developer craves and desires regularity. Consistency, predictability, repeatability are programmable. That is, I can write something once and use it over and over with forecastable results. In odd cases, I can program exceptions. Exceptions to rules, much like the real world, are ripe for abuse and unpredictable results.

Consider the job of a doorman at a nightclub. He has been given a procedure. When someone enters the club, he increases the number on a counter in his hand. When someone leaves the club, he decreases the number on a counter in his hand. He is now given a rule which is as long as the number of people in the club is less than a particular number, let’s say 740, then he should let the person in the front of the line in. Once the counter hits 740, he doesn’t let people in. Nice and simple. Now let’s say the manager has a thing for a certain type of woman so he makes an exception to the rule. Any pretty blond woman under the age of 30 wearing a tank top and skirt above the knees immediate gets in without standing in line. We have introduced several opportunities for error but let’s focus on the most obvious one. If 740 people are in the club and a pretty blond 23 year old in a mini-skirt and tank top walks up, does the doorman let her in or send her to the back of the line?

Back to our graphic artists. When you are designing a layout for a website, the layout is typically created as a single image then sliced into smaller images. If you are designing a horizontal navigation bar, when slicing it up do not make two images 41 pixels tall, one image 42 pixels tall, one image 43 pixels tall, and the creme de la creme, the final image 44 pixels tall, and expect me to easily line up the text below the images. Especially don’t do this when the extraneous pixel height is all white space! Thank you. That is all.

/rant