Filed Under (Actionscript, Coding, Flex) by steve on 30-09-2009

Some of my recent clients, who I had done PHP or Django work for, asked me if I had any Flash (or Flex) development experience and of course my answer was no. Since I’ve been a Server-end programmer, it’s been a challenge as it is, to add to my “skill-belt” things like hard core Javascript (and a lot of that was gaining competency in jQuery), CSS, and HTML

Consequently, though, I’ve still decided to go ahead and add Actionscript (which lets you do Flash or Flex programming) to my stuff-I-know list (in between other work).

Read the rest of this entry »



Filed Under (Coding, Databases) by steve on 28-07-2009

I’m currently reading High Performance MySQL by Schwartz, Zaitsev, Tkachenko, Zawodny, Lentz, Balling

Great, in-depth material on everything related to customizing your MySQL Database configuration, and a plethora of info on all of the many, many ways and tools available, for measuring, profiling, analyzing your database.

If you’re strictly an “end user” type programmer of MySQL (versus being a DBA), and have only ever created the basic tables without attention to specifics, and without knowing what the defaults are, etc..
    I summarized some under-the-hood facts that might help with getting more out of MySQL than you’re used to.

Read the rest of this entry »



Filed Under (Productivity) by steve on 20-06-2009

Upon reading The Power of Less: The 6 Essential Productivity Principals That Will Change Your Life, I received some good ideas for slicing away a lot of excess in the BUSY work that I do, including dealing with tasks and information.

I came up with some additional ways of dealing with specifically, Email, on my own. I think this book impacted me more, for the “why’s” of streamlining your information management, than the How’s of what he teaches as techniques.

Many of us in this Info-Age (this phrase sounds overly corny and Editorial-ish, but I’ll leave it in) receive pretty long Emails - basically entire Newsletters - that you spend time opening more than one time.

This repeated “attempted processing” of a Single Large email is due to having that initial attempt at opening it, reading it, but then leaving it in your Inbox to switch to something else, because you just don’t want to finish it — and you don’t want to try to THINK too hard on what subfolder in Outlook you want to throw it into.

The bottomline: In Outlook, or whatever email program that you use, that “un-bolds” the subject line when you’ve opened it one time, you’re becoming more and more uneasy and uncomfortable due to not being able to really identify ones you’re finished with or still need.

Read the rest of this entry »



Filed Under (Coding, debugging) by steve on 17-05-2009

I recently started using PHP’s built-in syntax checker on a more regular basis - it cuts down that whole eyeball-ing routine where you think you know that there is a missing semi-colon, and you insist on searching for it all over the place, or you’re confident you can find the extra closing parentheiss, and you waste time scanning the page.

I set up two tools (basically launchers) in UltraEdit to launch php -l (small L).

One of them to syntax-check 1.) the Active File, (if you’re not setting this up in UltraEdit, which I assume the majority, just basically just call php -l filename.php)

check single file



Read the rest of this entry »



Lately,  I have not been able to get the wireless router to work - I need to be able to use my Eee laptop to watch GoogleTalk videos for things like Django and jQuery talks, among others, on the couch, ( or when there’s actually Sun out here in WA, on the patio ).

So I needed a smooth way of getting videos onto my laptop, by downloading them from my desktop since I can longer connect to the Internet on the Eee.

Note: Even if you have a wireless connection - and thus you can just connect directly through your laptop and play them right there - there’s still the obvious advantage of playing files that are already downloaded and completely local: Minimal or no skipping frames

What I needed: ( let’s talk Use Case, informally speaking)     ( if this looks tedious to read - it probably is - then just go straight to the yellow box below, those are the actual steps to set this up for you on your Windows desktop)

Read the rest of this entry »



When I found out about Delicious, I couldn’t see the attraction.

I mean … bookmarks? I’m going to use a Social Media site to store URL’s ?

I finally got a second pc (Asus Eee), and wanted to be able to access my Desktop bookmarks, so I was at first doing the whole Firefox export hassle, and copying it to the notebook via a USB drive, but then started using Delicious along with the Firefox plugin for it - keep it all on the Net, very easy.

The main reason for mentioning Delicious, though, is its usage along with the FF plugin.

Read the rest of this entry »



When using jQuery, it’s almost a given that you are using the
$(document).ready(function() {} )
functionality in order to immediately, upon page load, attach events to controls - things like attaching a check-all-boxes() function to the checkbox input. I thought I had everything organized correctly when I simply had the django blocks {* *}, to only include the associated javascript so that the base.html template file would have it.

base.html
  - items.html (inherits base.html)
  - mealplans.html (inherits base.html)

And then in each of those:
  - items.html
    {% block js_ready %}
              massive amount of javascript,
             (especially since my latest site,
             fridgeclick.com has a lot of ajax)
    {% endblock %}
 - mealplans.html  ( the same here )

However modularized I thought this was, when I did a “view source” in the browser after navigating to either of these pages, there was a big mess, way too much javascript looking back at me.

Read the rest of this entry »



Filed Under (debugging) by steve on 23-02-2009

One of my favorite things about Django are the collection of different debugging features. As long as you have DEBUG = True in Settings, you pretty much have the cause of the error spoon-fed to you, whether it’s what line of python in the views or a model file, or if it’s a template tag error, the offending tag is bolded for you to see.

But the thing is, in my newest Django Web App, http://fridgeclick.com, a grocery list management app,  there are more Ajax-based editing and deleting functionality, than there are standard editing and deleting done with submission forms (if a user doesn’t have js enabled, it will still be a usable app, but barely).

So I’ve got a lot of function-calling going on behind the scenes, and when something goes awry, all I get to see on the console (which is what is running when running the development server), when something goes wrong is:

[23/Feb/2009 09:39:01] “GET /items/ HTTP/1.1″ 500 66759

2 solutions come to the rescue:

1. IPython - python.scipy.org - an application that gives you what you would see if you simply typed “python” alone at the command line - but then also leaves you the kitchen sink along with it.

To make this applicable to a Django programmer specifically, the IPython Api is used for such things as automatically importing all of the modules such as form and model classes, so that you don’t have to manually go through this rigmarole, before you even start running the specific tests (which usually involves running specific db queries that you suspect are the cause of the Ajax transaction failing )

2.django logging - code.google.com/p/django-logging

I really like being able to eliminate dependence on getting error feedback from the console. As mentioned above, all you’re going to get, anyway, when you’re testing your Ajax functionality is the one liner feedback above, so having a way to log your variable outputs and sql results is a boon to debugging productivity.



One of the more enjoyable parts about writing my current Django app is thinking about all of the ways that Ajax could
make using it more painless for users who hate to wait for a page to reload.

I’m thinking, if the technology is there, and there are libraries available such as jQuery that make doing this client side magic so much easier, then it makes the most sense to pull the pressure off of the server, and “spread” more of the processing demands to the users’ own PC (i.e., their browser).

Read the rest of this entry »



Before purchasing my Asus Eee, I knew that one of the primary uses was going to be as a portable Internet radio to listen to my favorite L.A. radio stations ( I’m originally from SoCA).

Now  I’m thinking that the highest value I get from it,  is to be able to kick back on the couch and read online documentation that I previously had to sit up at the desk and read on the desktop monitor.

I make it a point to spend at least 15/20 minutes a day reading jQuery and/or Django documentation, checking out API specs and features that don’t relate to any specific task I currently have.  While reading, I never fail to complete some “click” in my brain as to how something works under the hood, or to discover some super-useful or powerful feature in Django pertaining to using forms, or templates.

Read the rest of this entry »