Blog Archives
Hi all; Aliso here. As some of you have surely noticed, I’ve been somewhat absent from my own blog lately. I’ve also been incommunicado to some extent—my sincere apologies to anyone who has sent me a message and been waiting for a response. Let me explain. In the past month, a lot has been going on. I [...]
I’ve read a lot lately about how sitting for prolonged periods of time every day can shorten your life. While I’m skeptical, it seems like common sense that sitting down all the time just isn’t good for you. As programmers, we know what it feels like to only get out of our chairs once every [...]
The updates to the admin UI in WordPress 3.2 are pretty great. I love the new interface. The only thing I didn’t love was the loss of the blocky header and footer of the admin section—that was the easiest and fastest way to customize the look of the admin area for client’s sites (or for [...]
I love parsing XML feeds in PHP. It makes virtually anything that has an RSS or Atom feed completely accessible to my programming. YouTube video feeds, blog feeds, even Facebook Walls. I’ve used SimplePie a lot to make combined social media feeds at work, and SimplePie provides a pretty simple way to access data from [...]
This isn’t a full tutorial, just some code for people to use. I’m working on a site that’s using Cart66 for their online store. Unfortunately, Cart66 doesn’t come with a function or shortcode for displaying a logged-in user’s purchase history. I made a somewhat comprehensive “My Account” page that does just that.
A couple of days ago, my plane tickets were purchased and my hotel reservation was made. I’m headed to WordCamp Chicago! Brave New Media, the company I work for, is sending me along with our other (awesome) developer, Jerry Kramer. I’ll definitely be tweeting throughout the event, and you can expect a post or two [...]
I’ve followed all the hubbub online about WPMU Dev‘s copyright infringement on Yoast’s WordPress SEO plugin. There are some people taking sides, and I haven’t vocally been one of them until now.
For those who don’t know about the antispambot() function in WordPress, it automatically obfuscates email addresses so it’s safe to use mailto: links. It turns email@example.com into email@example.com . Cool, huh?
I could endlessly tinker with Bolts, adding one more feature or making one more change before release, but then it would never reach 1.0. So, without further adieu, here it is: Bolts 1.0 It’s not perfect, but nothing ever is. Please enjoy using it, and I welcome any and all feedback! The fact that Bolts is [...]
I’ll just come out and say it: I write my blog posts in the visual editor. Yes, it may be blasphemy for a developer to do that, but I just don’t care. I like seeing the post I’m writing come to life as I’m writing it. Since I’m such a fan of the visual editor, [...]
I received a lot of feedback on my Settings API tutorial (thank you so much!) and a few people found some bugs. There was also confusion on how to reference these options in the theme. Well, I have an updated class file and answers to your questions in this post!
For the past several months, I’ve been working on developing a parent theme to use for Barrett Creative’s upcoming premium themes, as well as for client and personal projects. It’s called Bolts (as in “nuts and bolts”) and it’s meant to make theme development swift and simple. It’s got some cool extras built in, like [...]
Update 11/15/11: The sugar is now compatible with Espresso 2! Download version 2.0 below. (Thank you for this, Diego!) Update 3/7/11: I’ve updated this to include several functions that were missing from autocomplete. Download version 1.3 below. Here it is! I finally updated my Espresso sugar for WordPress 3.1. I rewrote the functions list to include [...]
Before I begin, let me say thank you so much to all the people who have used my WordPress sugar! I feel very honored to have given the WordPress developer community something truly useful. WordPress 3.0 introduced a ton of new functionality — and a ton of functions and variables to go with it. WordPress [...]
Most theme developers know how to make a custom 404 error page—it’s as simple as including a template file in your theme folder. It’s just as easy, however, to customize the maintenance and database error pages that are automatically generated by WordPress. Most WordPress bloggers have seen these by now: Briefly unavailable for scheduled maintenance. [...]
[toc type=bullets levels=3-6] Download the files (updated June 5, 2011) This post is based on part 1 of this tutorial, so read it if you haven’t. We left off with a theme options class, My_Theme_Options, that had all the behind-the-scenes work complete. The next step is the HTML.
[toc type=bullets levels=3] The WordPress Settings API has been around for a little while, but I haven’t used it until now. I highly recommend it. It does a lot of work for you and is still flexible enough to create custom-styled options pages (with a little jQuery). Once you’re done with this tutorial, this is [...]
I’ve been working on my own WordPress theme framework for the past several months, and it’s getting closer and closer to completion every week. A few months ago, after I had finished writing all the code for the framework’s theme options page, I learned of the WordPress Settings API. I initially ignored it because I [...]
The past six months of my life have been filled with work, work, more work, and a little play. I stopped blogging in July to try and preserve the amount of time in that “play” bit, because I was picking up a couple of new projects. Well, since then, the projects have either been completed [...]
People often talk about “work/life balance,” which really boils down to prioritizing your time. For a lot of creative professionals, it’s more of a “work/life/pet projects” balance. There’s only so much time available to spend on that third category, and even within that, priorities are rethought and shuffled around. Some don’t make it past the [...]
Transmit is my favorite FTP client for the Mac. It has been ever since I bought Transmit 3 back in 2006. Well folks, the day has finally come for Transmit 4! I won’t be commenting on its features at all—for that, you can go to their website—but I will be pointing out their awesome new app icon. Even that got an upgrade!
In my quest to learn Dvorak and reduce my wrist and hand pain, I ordered a TypeMatrix keyboard (in Dvorak) last week. It arrived today! I’ve only been using it for an hour or so, but I figured a blog post would be a good way to practice on it and give my first impressions.
Need I say more?
When I got my first stick shift, we (my family) had to sell my automatic to afford it. My only option for driving, then, was the new stick shift I hadn’t learned yet. I sucked at it at first, but I quickly got a lot better. It’s like learning a foreign language by living in a foreign country. And so begin my adventures in learning Dvorak.
I’m blogging from 30,000 feet again, on my way home from NYC. I feel like I got to see a lot more of the city compared to the last time I was here. Even though I was very unfamiliar with the subway, or had never been to Little Italy before, I recognized buildings and details everywhere I went—recognized them from video games.
I’m on a plane to New York right now, along with my boss, Damian. (It’s his birthday today, by the way. Happy Birthday, Damian!) We’re headed out there on a project for Brave New Media in which I’ll be making a custom Flash app for USB drives. I’d say more, but I’m not sure what [...]
I expected Wil Wheaton’s opening keynote to be pretty good. Really good, even. I didn’t expect it to be utterly fantastic! He spoke about his experience being a gamer, growing up playing D&D, and how it all impacted his life. It was interwoven with brilliant humor, some digs at Jack Thompson, and lots of gaming references for the enjoyment of the hundreds of geeks in the audience. By the end of his speech, I felt more proud than I ever have to be a gamer.
It was fairly entertaining to watch dozens of people in hoodies and black jeans file into the fancy hotel lobby today. There are gamers everywhere! I didn’t think so many of them would look like the stereotypical gamer, but I can’t help spotting them from a mile away. Amongst all the hipsters on the streets during the day, the tourists on the Freedom Trail, and the business people leaving work at 5:00 PM, the gamers stick out like a sore thumb.
One of the things that has blown my mind about my blog is my iPhone UIPickerView post being so popular. I didn’t write a lot of iPhone posts after my trip to the Big Nerd Ranch, so it’s not the general focus of my blog anyway; I’m known more for my WordPress stuff. So how does this post pull traffic from any remotely related Google search for this iPhone code?
Remember back when I wrote a post explaining how to make a dynamic duotone-effect pages menu in WordPress? Well, I turned it into a widget. Now even the not-so-code-savvy can put a chic duotone page menu in their sidebar. Head over to the WordPress plugin repository to download it (and rate it)!
Here’s a WordPress Sugar I made for Espresso. For the non-Mac or non-coders: Espresso is a web developing program that I’ve been trying out. It’s been the only thing sweet enough to get me to switch from Coda. Extensions for Espresso are called Sugars.
ColorBoxes is my latest WordPress plugin, allowing users to easily insert alert-style messages at the top of any page or post. Just like SimpleMap, this plugin was born out of a need on a client’s website. I needed a foolproof way for these alerts to be made without going into the HTML editor and making <div> tags with custom classes.
In the spirit of learning new WordPress development techniques, I thought I’d share the ten resources I use the most. These cover a lot of best practices that are a great baseline for solid plugin & theme development. Here they are, in no particular order.
Mass Effect 2 is the long-awaited sequel to Mass Effect, a fantastic RPG from Bioware. The wait was well worth it! Here’s my review of this amazing new chapter of the Mass Effect story.
As I work on my first playthrough of Mass Effect 2, I’m taking notes to post my own review of it once I’m done. In the meantime, here’s a great video I came across on YouTube that applies the rules of Mass Effect to day-to-day life.
For any website with a sidebar or a background image, print stylesheets are essential. Using “File » Print” is so much more intuitive for users than searching for a “Print this page” button on a website, and creating print-friendly versions of all your pages is a tedious, time-consuming task (especially if you have a blog). A print stylesheet is an elegant alternative.
Just like many fellow programmers out there, when I first started publishing my own code for the world to see and use, it wasn’t the greatest. I didn’t fully understand the WordPress API and all the tools it had to offer. I have since learned a lot about how to write WordPress plugins “the right way”—the most efficient, clean, and safe way, that is. WordPress has functions, classes, and hooks that work right out of the box to make plugins easier to code and less risky to use. Here are a few of my favorite tips.
Two days ago, I had the pleasure of having my computer crash while I was trying to print something. No problem, I thought, this happens sometimes—after all, I do mess around in the command line enough to actually screw something up now and then. I hold down the power button on my iMac until it shuts down, then press it again and hear the familiar Apple “ding.”
I was then greeted by a folder icon with a question mark on it.
I just posted SimpleMap version 1.2b3 to the WordPress repository. This update fixes a few bugs and adds a couple of niceties.
I have barely had time to work on SimpleMap lately, but I’m hoping to get a lot done on it this weekend to get 1.2 out of beta. For the benefit of anyone using the beta, here are the bugs I’m aware of.
A friend alerted me to the fact that some browsers weren’t showing the Fugue Sprite properly: everything was showing up as the topmost icon in the image (for example, the first 100 sprites all had the Address Book icon). I did fix it, and I uploaded the new CSS to both my demo page and the ZIP file. Enjoy!
I came across the Fugue icon set a few months ago, and I’m using is often enough that I decided to make something similar to the SilkSprite. I created the Fugue Sprite: a CSS file & set of images that provides easy access to all 2,330 Fugue icons.
Head to the WordPress repository to download it! Please check out the Beta Testing Forum if you want to participate.
I made some incredible progress on version 1.2 over the weekend (I used a couple of vacation days from work, so yesterday was really the end of my weekend). The ability to have multiple maps with only specified categories is DONE. I haven’t fully tested it yet, but that’s what a beta is for! The [...]
SimpleMap Support Forums are now live! Click on the “Forum” link in the header to get to them. You can post in the forums without having to register, but you will have to provide your name and email address. I will leave the comments open on the SimpleMap page for now, but I strongly encourage [...]
The number of comments on the SimpleMap page has now surpassed 150. I am so grateful for all of the feedback I have gotten from users! The downside of this is that the issues/bugs users have reported are sometimes getting lost in the sea of comments. Even though I’m keeping track with my own issue [...]
I stumbled across this script after an email from a SimpleMap user, who wanted some help figuring out where in my code he could program his own map markers. The code he sent back led me to this tool—albeit through a long period of site-to-site surfing—that I will use in SimpleMap 1.2 to allow for [...]
I’m sorry I haven’t been able to respond to comments or emails about SimpleMap (or anything else, for that matter) for the past several days—I was on vacation. I’m going through all my emails and comments tonight!
This is an excerpt from an email I was writing to a SimpleMap user. I was going to ask their opinion on whether to add a Tags field to locations, but I ended up not needing any convincing. Expect a Tags field in 1.2! In the meantime, here’s some insight into how my brain works [...]
My husband needed something for a client’s website that I’ve seen in several places: a navigation menu that has a duotone effect, where the first word is a different color than the rest of the title. It took some work, but I whipped something up that does the trick. (There might be an easier way [...]
I’ve been using Lighthouse to track my changes/bugs for SimpleMap, and it’s amazing. My workflow is so much better, and it’s easy to keep track of things. That being said, I’m nearing a point with SimpleMap where my work on it will be a little more sporadic for a while. I’ve been working on it [...]
Yes, it’s another post about SimpleMap… I swear that other development insights and code snippets will be in my posts in the near future, but for now SimpleMap is taking up most of my dev time. This is more of an announcement and invitation for suggestions than anything else. What I have planned for the [...]
I just posted version 1.1.2 to the WordPress plugin repository, so you should see it become available in the next 10-15 minutes. This fixes the Javascript error that was breaking the plugin in Internet Explorer and Firefox. It was a bummer of a day. I’m really sorry that I released 1.1 with these huge bugs [...]
It has been brought to my attention that SimpleMap 1.1 (and 1.1.1) was completely broken in all browsers but Safari. First of all, I’m really sorry about this; second, I’ve got a fix worked out that I will release tonight in 1.1.2. In the meantime, here’s the fix that you can apply yourself: In js/functions.js, [...]
This turned out to be a behemoth of an update! Here are the biggest new features: Support for international locations (any country supported by Google Maps) HTML description for each location Custom categories for locations Improved admin interface Unfortunately, I wasn’t able to use Google Maps API version 3 yet, which means you still need [...]
For those of you waiting for the update, I’m sorry I didn’t get it finished over the weekend. I have been trying to solve the problem of large CSV imports stalling the browser, to no avail. Even though I’ve found a way to import large files extremely fast, it still has to process each line [...]
To everyone who has been waiting for version 1.1 to drop, I’m really sorry, but I won’t have it ready tomorrow night. Expect to see it this weekend. The reason it’s been delayed is that I learned more about version 3 of the Google Maps API (currently, SimpleMap uses version 2) and there are some [...]
Thank you so much to everyone who has commented or emailed with errors and feature suggestions. It has helped me fix a lot of things I would not have seen otherwise! Also, a big thank you to Thorsten and Fernando for the German and Spanish translations, respectively. These will be included in the 1.0.6 release [...]
SimpleMap version 1.0 is launched! Here is some eye candy for you: Check out more on the plugin’s home page or on the WordPress.org Plugin Repository!
At Brave New Media, we’re working on an intranet-style site for one of our big clients. We’re using a combination of WordPress and a custom web-based file management software to build it. The Sales department of this company is divided up into a number of teams, and the user accounts in WordPress needed to have [...]
For one of my apps, I need a UIPickerView (the scroll wheel selection tool). I needed to be able to change the appearance of the text in the picker, which is only possible by attaching a UILabel to each row instead of a NSString. It also requires a different method in the delegate. To use [...]
So I’ve been back from the Big Nerd Ranch for a couple of days now, and I’ve had time to reacquaint myself with real life. I’m able to look back on all of last week with hindsight now, and connect some dots. I definitely learned a ton in that class. If I had needed to [...]
Phew, it has been a crazy week! I have written so much code in the past seven days that I’m surprised my hands can still type. On Thursday, we had the best brain break we could have asked for: zip lines. I posted a teaser before, so here’s the real thing. (A huge thanks to [...]
Zip2-Alison Yes, that is me on a zip line, going 35 mph, 150 ft above the ground. There was coding today, of course. I just didn’t take any video of it! I’ll be writing more about that (and the zip lines) later tonight.
I can’t believe how fast this class is going. I feel like I have months of iPhone programming knowledge behind me already. Topics covered today: the accelerometer (tilting, shaking), phone rotation, working with table views, and editing/adding/deleting data from an app. I worked ahead a little bit and learned how to control the phone’s camera, [...]
Check out those icons. I made those apps! They even do things. As you can see, today was a big day. We learned a lot. It feels like Thanksgiving for my brain: I’m completely stuffed, but I’m craving seconds, and I will eat more no matter what. The Quiz application is really simple. There are [...]
Today was our second day learning Objective-C. We got much deeper into it today, and the programs in our exercises were getting more and more complex. By dinnertime, we had learned how to tap into services being broadcast from other peoples’ computers and capture the information (iChat, printer sharing, iTunes library sharing, etc). It was [...]
Today was the first day of class. I woke up and took a bath in my jacuzzi, which is perhaps the best way EVER to wake up in the morning. It was a gorgeous day outside, and I had a pretty awesome view from my room. Breakfast was at 8:30, and there was a nice [...]
I’m here! The Banning Mills retreat is beautiful, though I didn’t get to see very much of it today. When we got here from the airport, I basically dumped my bags in my room and went right to dinner—where I spent the better part of 4 hours talking with the instructor and a group of [...]
Of course, by “the big day,” I do not mean I’m getting married or having a baby. I’m going to the Big Nerd Ranch! Tomorrow I’m off to Banning Mills in Whitesburg, Georgia to attend Beginning iPhone Bootcamp. I will be locked away in the middle of the woods for a week, chin-deep in Objective-C [...]
At the beginning of the month, Jim and I moved into a new apartment—the three-bedroom next door to our old apartment! It was the easiest move of my life. The new apartment is fantastic, with twice the closet space and a third room to enjoy. Next year we’re hoping to make that third room a [...]
I’ve been on the waiting list for the Beginning iPhone Bootcamp at the Big Nerd Ranch for almost a month now. Today I got the exciting news that I’m IN! From July 18-24 I will be on the geekiest trip I’ve ever taken. Hooray!!! I will definitely be blogging about the trip daily once I’m there. [...]
After a lot of searching, and a lot of troubleshooting, I finally found PHP code for exporting a CSV file from MySQL that works perfectly! This might be old news to some, but I’d never done it before and I needed to have that export feature on my Store Locator plugin. $result = mysql_query(“SHOW COLUMNS [...]
I’ve posted some of my WordPress plugins on my WordPress Plugins page. More will be added in the next few days as I get them packaged up for public use. Enjoy, and stay tuned!
I just realized that this post title rhymes. Sorry about that. I am reading Beginning Ruby: From Novice to Professional by Peter Cooper to introduce me to the language. It definitely lives up to its title! So far, I’m coming out of each chapter with an actual understanding of what I just read… even if [...]
Welcome! This (hopefully) will be my general development blog as I learn Ruby and Objective-C, and also as I expand my knowledge of PHP/MySQL, Actionscript 3, XHTML/CSS and Javascript. Get started by reading my latest posts, learning a little more about me, or checking out my WordPress plugins.