xentek.net, rebooted

Hello Readers, new and old!

For about the last 5 years, xentek.net has rocked the same look and feel, and in the last 2 years or so updates had slowed to a crawl. Well, I finally got around to dusting off the ol’girl, upgrading WordPress (ashamedly from some pre-release WP 3.0 to absolute 3.4-alpha), switching to a slightly tweaked version of Darryl Koopersmith’s Hum child theme for twentytwelve, and re-kajiggering my deployment process. I’ve removed a number of pages and assets, as I pretty much started over from scratch (importing my content into a new blog, instead of upgrading the existing one).

Hopefully by completing all of these long overdue upgrades, I will finally get back to putting out new content, and indeed I already have. I freshened up my about page, and updated my contact info. I’ve also cleaned up my the pages linking to my open source contributions, and added a few new items:

I can’t promise that I will write on a regular basis, but with a fresh start, I do hope that I’m more inclined to do so. Thanks for reading, and happy coding!

WP-Orphanage v1.0 Released

If you’ve implemented the Shared User Table trick in WordPress by defining CUSTOM_USER_TABLE and CUSTOM_USER_META_TABLE in your wp-config file, then you’ve probably realized there is a serious draw back to this approach when building a blog network: Users who sign up on one blog do not get any privileges on any of the other blogs in your network. This is by design, but you don’t have to leave it at that.
Continue reading

Recursively Delete .svn Folders

Sometimes you need to move folders around, and when they are under version control, this can cause problems. If you’re feeling lazy and don’t want to svn export, then run this from the folder you want to scrub:

find . -name .svn | xargs rm -rf

SVN add with AWK

Want to quickly add all missing files to an SVN repository from the command line? Here’s a recipe to do just that:

svn st | awk '{print "svn add "$2 }' | bash

Perform a check in, so that all modified files, and other file statuses are cleared, then you just pipe svn status into awk, which will prepare the svn add statements, and then pipe those into your shell to actually fire off the commands. Leave off the | bash part at first to make sure everything looks good to you, and then fire away.

Continue reading

Advanced WordPress Theming with K2 at Blog Orlando

Come Hear Me Speak

Building a custom theme for WordPress can be hard. Sure you get full control over ever square inch of your markup, but there are lots of variables and little tricks you have to remember to implement in order for your theme to support all of the WordPress features. Enter K2, a fantastic theme framework that you can use to CSS your way to a beautiful custom theme while providing a clean upgrade path so you can keep your WordPress installation secure and up to date. This presentation will show you how you can create the blog design of your dreams, using a single style sheet, and will be off interest to technical and non-technical users alike.

Register for Blog Orlando and let me show you how to CSS your way to a custom Word Press theme in K2.

Introducing FlareSmith

For the past few weeks I’ve been quietly tinkering on a new section of the ol’xentek homestead, and I’m happy to report that the efforts are starting to bare fruit. In other words, I’ve been scratching a few itches, and have released the results under the GPLv3. The first one out of the incubator is FlareSmith. a WordPress plugin to integrate the FeedBurner Stats and FeedFlare services into your blog – without having to edit your theme.

This plugin was the result of using the K2 theme framework for most of my WordPress sites. I got tired of having to remember to patch theloop.php each time I wanted to upgrade K2. By developing a simple content filter, I could insert the small JavaScript snippet that powers the FeedBurner Stats and FeedFlare integration with your self-hosted blog.

The plugin is available here, and is also hosted at the WordPress Plugins Database – to take advantage of the new plugin upgrade functionality in 2.5.

Enjoy!

P.S. I entered the plugin into a competition. Stop by and vote for me if you get a chance.

Photo Featured in Schmapp Chicago Guide

One of my photos was featured in the Chicago City Guide published by Schmapp. Well, they just launched an iPhone version of the Schmapp Chicago Guide. They’re sniffing the user agent string, so If you are using a desktop computer, this link will show exactly how the photo is displayed and credited in the iPhone version of their guide. The photo they featured is this one I took of the Allerton Hotel sign:

allerton.jpg

Know your value, and then Ask For it.

To invoice my clients, I use an application called Fresh Books, formerly called Second Site – at least that is what it was called when I signed up. I’ve been a customer for about 2 years or so. I signed up as part of a move to organize my freelancing and provide better service to my clients. Plus I needed a brain dead easy way of sending out invoices – something quickbooks sucked at.

They contacted me yesterday to inform me that I am the top performer “Days to Receive Payment” in your category of “Web Design and Development”. And they wanted to ask me, how do I do it?

As my “How Web Sites Are Built” pre-sales document explains, I tend to be upfront about payment. My billing practices are pretty simple actually, and were forged in the 4 years of frustration I felt during the early days years of my consulting practice.

  • If the project is a flat rate, and is under $500 – The client must pay up front.
  • If its a flat rate, and greater than $500, then a retainer must be paid up front – generally 50%. Larger projects (greater than $5000) can be done in thirds, if the client’s budget requires it.
  • If I’m billing hourly than, payment is due when services have been rendered. Basically when the code is in production.
  • All other bills are due 7 days after they are received. Fresh Books lets me know when my clients view their Invoices, an indispensable feature.

But it doesn’t stop there.

Continue reading

passion + inspiration = innovation

Before I arrived at BarCamp, I wasn’t expecting there to be such a large group of high-caliber developers there. Wow, was I ever mistaken. I was also surprised by the large number of freelancers, tele-commuters and other work-from-home consultants. My anecdotal count was about 50%. This made me glad I picked the topic I did: passion + inspiration = innovation.
Continue reading