Sacramento Software Development

CSS3 and Modern Web Design Resources This Week

Posted by John Lockwood on June 15th, 2010

I’ve been preparing for a tutorial series that I will write soon that will start with a blank screen in a text editor and finish with a complete modern CSS3 web site layout.  I might also include a bilingual Wordpress and / or Drupal theme, depending on how ambitious I’m feeling once I’m well into it.  In preparation, I’ve been perusing several websites to think about what sorts of things I would like to include. I’ll post a follow-up to this article outlining the work we’ll be doing in the tutorial, but meantime, I thought I’d share some of the resources I found, which are excellent.

What We Can Build

The first thing we’ll want to provide for is the ability to grow the site to an indefinite size, and one key element to supporting this is a nested navbar menu.  Coding these without breaking something used  to be a major project, but JQuery and (to a lesser extent CSS3) have simplified things tremendously.  For a basic tutorial with starter code, check out Dan Wellman’s How to Create a Drop-down Nav Menu with HTML5, CSS3 and jQuery.   You can find several more tutorials and lots of good ideas for how one might implement drop downs in 1stWebDesigner’s 38 jQuery And CSS Drop Down Multi Level Menu Solutions.  Time sink warning:  it’s hard to pick a favorite among the articles he highlights.

Of course we’ll also want rounded corners and CSS3 gradients.  Is it the most universally compatible solution that will work on every browser?  Of course not, but it should degrade well, and one of our goals in the article series will be to excercies our flabby CSS muscles a bit.  A starting point for these is Schillmania’s CSS 3 and The Future: Image-free Rounded Corners, Drop Shadows and Gradients.  Finally, we may have to throw in a little pure CSS eye candy, such as those you can find in Christina Warren’s 7 Awesome CSS3 Techniques You Can Start Using Right Now.  I want bubble quotes, so my monthly non-spam comment will look really, really cool.

What We Need at the Keyboard

Oh my gosh, I can’t believe I’ve developed a real taste for Earl Gray Tea.  My life as a geek is complete if I can say that the first thing we’ll need at the keyboard is “Tea, Earl Gray, Hot”.  One other item that I’m sure will prove equally nice to have around as time goes by is SmashingMagazine’s the Cascading Style Sheets Cheat Sheet.   Another useful starting point if you’re a beginning student (or like me, a half-baked intermediate student) of CSS is their introduction, Mastering CSS Coding, Getting Started.

It’s a discouraging, really.  Wanting to write an article series on an Internet that includes SmashingMagazine.com is like trying to be a playwright when you live accross the street from William Shakespeare.  Might as well just hyperlink to Othello and call it a day.  But perhaps you’ll find it useful.

Posted in Miscellaneous | Add a comment »

My First Bilingual Web Site

Posted by John Lockwood on June 12th, 2010

Over the last few days I have been working on adding support for bilingual blogging to ParticleWave.com.  Today I am very happy to be writing my first bilingual article.  For this first article, I am writing the the translation into Spanish by myself — just ask any native Spanish speaker!  I’m sure I’ve left one or two errors in the Spanish version, but maybe I can ask one of my friends to clean it up a little for me.  Oh, by the way, in case you missed it, the links to switch between languages are located at the top of the page.

I am using a Wordpress plugin called QTranslate, and for the most part I think it works very well.  I had to fix one bug, however.  qtranslate_core.php was setting a cookie at a time after the headers had been sent for the page.  I discovered that the cookie wasn’t needed, so I simply removed it.  Another source of confusion at first was the idea that I had to use theme widgets in order to install the links to change languages.  Then I discovered the function “qtrans_generateLanguageSelectCode”, which generates the HTML for the links as an unordered list (<ul>).

Overall this plugin works extremely well, making it extremely easy to write in both languages at once (or to write one version and have a translator provide the other later).  One issue that I found since I installed this plugin in an existing site is that, of course, I now have a ton of links in English that point to pages in Spanish that say, in effect, “Sorry, but this version isn’t available in Spanish” and pointing back to the English.  As time goes by and I add more content, I believe this issue will take care of itself.

Posted in Bilingual Web Sites | 2 Comments »

Role Models – Spending Time in the Design Phase of My Life

Posted by John Lockwood on June 6th, 2010

When people are free to do as they please, the usually imitate each other.”

  – Eric Hoffer

Last time I wrote about finding my life’s purpose, and since then I’ve spent more time reading el señor optimista, Anthony Robbins, and working through some of his exercises.  As with many self-help books, there comes a point where you list your goals, and the author starts with great ideas like making millions and flying private jets.  By this point, I usually feel compelled to write something in the millions, but I must say, I’ve had difficulty in the past tying this goal to my values, since I don’t think that wealth per se is really high on my list.

Listing values, of course, is yet another Tony Robbins exercise, along with going on a mental diet.  Yes, I am currently on one, on day two, thanks. 

I haven’t listed my values yet.  I think it might be helpful to do so in the context of first writing about…

The Missing Exercise

Maybe this exercise is missing from Tony Robbins’ book, or maybe I skipped over it, but because I consider myself to be in the design phase of my life and my future business, I am going to list some role models for my business.  These are possible prototypes, or approaches to designing a set of business goals that are consistent with my values.  I should point out that though it’s missing in my reading to date, the exercise is implicit in Tony’s ongoing study of successful people.

So here without further ado are several role models I am looking at, for one reason or another.  I suspect the goal that I fashion once the design phase is finished and I move on to implementation will be a mixture of one or more of these approaches:

  • Tony Robbins
    Well, if it’s not obvious already, this Tony Robbins is having an impact on me.  Yes, I know, he does fire walking at his seminars.  Nobody’s perfect.
  • 37 Signals
    Legend (or their book) has it that these eight or so developers have generated a huge amount of cash for themselves, some $24.00 per month of which came from my real estate business, Elite Properties.  The model here is to write several simple but elegant Application Service Provider applications in Ruby on Rails.  Great model.  Great language.  What a hoot.
  • Application Service Providers in General
    It’s unfortunate that Microsoft’s Active Server Pages has the same acronym as Application Service Providers, because as role models go, ASP is not one of them.  ASP is just some technology that one may or may not highlight on a resume.  In this article, ASP stands for Application Service Providers (which are genuinely exciting as a business model) not Active Server Pages (which at best are interesting).
  • Top Producer and SettlementRoom
    Top Producer began as a desktop application (or perhaps pre-desktop), devoted to helping Realtors® manage their business.  Their application itself was uselessly ponderous as of the last time I tried it, which often happens with fat clients hastily ported to the web.  As far as I know Settlement began as an ASP providing escrow management.  One idea on which I worked part time for several weeks was an application which split the difference between these two real estate applications, while trying to emulate the simplicity of 37 Signals apps.
  • ICanLocalize.com
    These folks provide general localization and translation services, a model which appeals to my new-found passion for languages.  They combine this with web site design and development in Drupal and Wordpress.  How cool is that?  For you, maybe not at all. For me, ¡es muy chevere!
  • Hulihan Applications
    I just found this site today, and was impressed by the owner’s approach of creating several lightweight Common License applications, apparently to serve as the loss leader to his web development and design business.  This is another Ruby on Rails shop, but the service oriented, open source approach here is very, very different from that of 37 Signals.  The choices the author made for applications was also of interest, as was seeing them in use on his site and thinking about how one might design something similar.
  • Ronin Tech Collective
    I wrote about this employee owned software company back in November.  An employee owned company is great if you place a high value on contributing to the success of others within your organization, or if you watch too many Michael Moore movies.

Questions for the Future

  • Who are the Warriors?  There must be some word!
  • What do my choices of attractive companies tell me about my values?  What can I learn by listing my favorites?
  • How can I use this to design a more exciting plan?
  • Can any shorter term goals be generated from these exercises?

Posted in John Lockwood, Ruby on Rails | Add a comment »

The Unimaginable

Posted by John Lockwood on May 29th, 2010

Recently, my life seems to be full of things I never imagined.   Indeed, being a few weeks away from turning 51 is itself something I never imagined.  My father died when he was 47, and given the way I behaved in my younger days, I was convinced I’d also leave my myriad fans behind some time in my forties, so in this respect each additional moment comes as a surprise.  Apparently the fortuitous combination of maternal genetics and the adage that “only the good die young” has offered me a measure of protection.

In addition to the profound mystery of my prolonged respiration, my life is full of lesser curiosities.  For example,  I’ve been using Twitter lately.  In this respect I’m like one fine episode of Gilligan’s Island, in which in one scene Gilligan resists wearing a dress thus:  “You can’t make me, you can’t make me, you can’t make me.”"  Of course in the next scene Gilligan is wearing a dress. 

I have now donned Twitter, and yes, I agree:  it looks as ridiculous on me as Gilligan’s Dress.  I’m at @JohnLockwood.  Say hello, it would be a tweet.

Still more unusual than using Twitter is this:  I follow Tony Robbins.  You all know Tony Robbins, pop psychology’s answer to Guy Smiley. I’m interested in what he has to say.  Through the usual means of Google, learn, hyperlink, repeat, I learned a little more about Neurolinguistic Programming by looking at some pages about Robbins.  It’s interesting too.  I’ll probably buy a book or two about it.

That much is not unusual:  I’ll probably buy a book or two.  What can I say, I’m an intellectual, and intellectuals buy books.  Amazon.com eyes me with the very lust that the lion has for a slow zebra.

The big oddity of my forties was leaving software development to pursue a career in sales.  Of course in recent years, temperament and the economy have conspired to return me to my earlier craft, and so – much like angular momentum – nerdhood would appear to be conserved.  A bigger surprise awaited me in finding out that I’d not only find a a regular W2 job with the 8 to 5 and the cubicle and the donuts on Friday, but actually, in some measure, enjoy it.

The day job notwithstanding, I have not yet abandoned my quest for the most unimaginable thing of all:  my life’s calling.  In this case, by unimaginable I mean something quite literal:  if I have a life’s calling, I can’t imagine what it is.

I’m not entirely convinced that having a life’s calling is not something that motivational types like Tony Robbins haven’t made up to sell books about how to find it, secure in the knowledge that most people pass their lives as I do:  more or less farting around.  Selling houses is a good business model because they’re expensive, but a lot more people have houses than a clearly defined sense of what their purpose in life is.  So on the demand side, selling the idea of finding oneself is not a bad way to go.

I’m going to spend some time finding myself.  If I succeed, I’ll let you know where I was all along.  I’ll bring a water bottle in case I appear to be dehydrated.

Posted in John Lockwood | 2 Comments »

Facebook Privacy Concerns

Posted by John Lockwood on May 28th, 2010

Lately the well publicized quitting of Facebook by many Google empoyees and others over privacy issues has struck me as rather funny.  OK, exactly what state secrets do you have on Facebook that would be a huge problem if someone found out?  You like the movie Avatar?  You play basketball?  Yep, I could get your bank account information easily with that data.  Your name?  Make one up if you’re paranoid.  Your birthday?  Likewise. 

Look:  the whole point of a web site like Facebook is to share a bunch of meaningless details with friends and people for whom the bar to being your friend is their desire to have a high number of friends. 

Next headline:  Fitness Club Members Quitting Over Exercise Concerns.

Posted in Social Notworking | Add a comment »

Saturday Morning With The Dog vs. Twitter and Facebook

Posted by John Lockwood on May 22nd, 2010

Word of warning:  this isn’t going to be a fair fight at all.

The relationship I have with my dog on a walk is tremendously satisfying.  In the first place, she loves it.  There’s no opportunity in a a typical day to give another being as much joy as I can give my dog simply by finding the leash and walking out the door.   Then there’s the loyalty:  on the leash, my dog wants to wander off, and on it she wants to pull a bit.  But for all that, she’s always amenable to being called back to be by my side, and with the exception of cats and squirrels, which must be chased, her attention is generally squarely on me, which assuages my megalomania.  And recently she even stopped on command and refrained from chasing a cat.  Remarkable.

Now this is good for 30-60 minutes or so, during which I’m moving, my heart is beating, lungs are filling with air, and the cold mornings of a planet on the brink of another ice age are very invigorating.

Then there’s Twitter and Facebook.  My basic routine is shaping up to look something like this:

  • Open Tweetdeck.
  • Scan messages for something interesting.
  • Hmm, slim pickings.  Well, Purva’s awake.  Say something dumb to Purva.
  • Read a real estate post or two by a prodigious blogger pal.   Hmm, loan fraud is always something buyers commit, not lenders.  Consider an article with an ant-capitalist morale.  Realize it won’t fit in 140 characters.
  • Look for another interesting post.
  • Reply to Jeffo.
  • Write an article about my dog.
  • Click the Tweetdeck refresh button, anything interesting now?  OK, fine.

And then of course, I finish getting dressed.   Now where was that leash?

Posted in Social Notworking | Add a comment »