This list is clearly not comprehensive, but these are a few things I’ve been wishing for lately or thought of just now.
<li><a href="#">Something</a></li> <li><a href="#">Something Else</a></li>
Wouldn’t it be really cool if on the third list item an auto-complete drop down popped up offering:
<li><a href="#">|</a></li>
Or something similar
- Lorem ipsum (1 paragraph)
- Lorem ipsum (2+ paragraphs…) — would pop up a generator dialog
- Lorem ipsum (list of 10 elements)
- Lorem ipsum (list of elements…) — would pop up a generator dialog
Even cooler would be if it adjusted the suggestions from context—so if you were in a list it would offer a list first, etc.
This post is mostly a reminder to myself, but I thought I’d put it out there just in case other people wanted some help:
If Zend Server is already installed, you need to remove it:
/Applications/ZendServer/bin/zendctl.sh stop/etc/zce.rcps ax|grep -i zend)/usr/local/zend/bin/uninstall.shNow download the latest version of the Zend Server CE Installer and run the installer
Link the CLI binary so you can use PHP from the command line:
sudo ln -s /usr/local/zend/bin/php-cli /usr/bin/phpNow download the latest version of the Zend Framework
Unzip and copy the following files:
library/Zend to /usr/local/zend/share/ZendFramework/library/Zendextras/library/ZendX to /usr/local/zend/share/ZendFramework/library/ZendXbin to /usr/local/zend/share/ZendFramework/binzf command line tool, and the version of the Zend Framework that came with Zend Server is up-to-date, these steps are unnecessaryFinally, link the zf.sh file so you can access it easily:
sudo ln -s /usr/local/zend/share/ZendFramework/bin/zf.sh /usr/bin/zfThat’s it for now. Hope that helps someone else out.
Every once in a while I run the following command on my servers to hunt out the largest files to make sure nothing’s taking up too much space. For example, it’s been very useful in hunting down over sized log files or email accounts. It searches everything over 20MB and outputs the list to bigfiles.txt ordered by size (in MB) descending.
find / -type f -size +20000k -exec ls -la {} \; | sort +4 -nr | awk '{ printf "%-20s %s\n", $5/1048576, $9 }' > bigfiles.txt &
You can exclude a path by adding a little more to the command. The following will do the same as above but exclude the /backup directory:
find / -path '/backup' -prune -o -type f -size +20000k -exec ls -la {} \; | sort +4 -nr | awk '{ printf "%-20s %s\n", $5/1048576, $9 }' > bigfiles.txt &
You can also change the 20000k to whatever you want the smallest files to be.
It’s a fantastic little command and I just thought I’d share it with the world.
.
I’ve been evaluating a number of e-mail marketing services over the past few months, and though I haven’t actually decided which one I’ll be using yet, I have worked with many of them extensively. Right now MailChimp [get a $30 credit when using that link] is one of the front runners, along with newsberry, AWeber and Campaign Monitor. I’ve been working with the MailChimp API some, and am really impressed with it. In fact, it was so easy to use that I was able to build a working mailing list synchronizer using it in less than a day. Even if I don’t end up choosing MailChimp, I thought that this code might be helpful to others, so I’ve packaged it up and released it as the “Galahad MailChimp Synchronizer.”
During the past two years I’ve constantly been frustrated with the Authorize.net API wrappers that exist, so when I started to rebuild NACHI.TV I decided I would write the one I always hoped for. The code is just a two days old, so I’m sure there are all sorts of gaping holes in it, but I thought I’d release this first version to get some feedback from others who are as frustrated as I am.
Here’s a basic example of how you might use the wrapper:
$gateway = new Galahad_Gateway_AuthorizeNet($login, $tranKey); $card = new Galahad_CreditCard('4222222222222', 4, 10); $transaction = new Galahad_Gateway_Transaction(null, 2.00, $card, 'Description of $2 purchase'); $response = $gateway->capture($transaction, true); if ($response->isApproved()) { echo '<h1>Approved</h1>'; } else { echo '<h1>Declined</h1>'; }
So I have a problem. Most of the time I bike, but every once in a while I need to catch a bus or hop on the el to get where I’m going. Inevitably, I get there just as the train is leaving, or I wait 10 minutes in the cold ’cause I left too early. This is usually because I don’t want to waste my time finding a schedule when there’s a chance those 3 minutes will make me miss the bus.
So my idea was a single page that had the upcoming times for all the public transportation I use. You’d enter the routes you take (in my case the 5 and 57 buses, southbound, and the Girard blue line stop, westbound), and the page will give you a quick list of when the next trains/busses will arrive. I’ve also thought it’d be really cool if you could put in the approximate time it takes you to get to any given stop, so if it takes me 7 minutes to get to Girard station, it will only show me trains that will arrive in 7 minutes or later).
I wrote a schedule parser this afternoon and put a little bit of interface this evening. The parser seems to work, but I’ve done VERY minimal testing. I know the iSepta folks said that getting 80% of the parsing done is easy, and the 20% takes some work, so I don’t know if this is a project that will ever go further than running locally on my desktop, but if there’s enough interest I’ll try to clean it up and make it live somewhere.
Here’s a quick screenshot of what I have set up right now (click to see full-resolution):
Feedback? Is this something that other people would find useful? Post in the comments or let me know via twitter.
I’ve been thinking lately about starting an “Advanced Tech” Philly meetup. The idea is to do a quarterly meetup that discusses topics that are particularly advanced in various fields. The proposed topic for the first meetup:
Photoshop
I’ve been using Photoshop for over 12 years, and at least once a month I discover a new technique or tool buried somewhere in the software. Most people use such a small subset of the software that there are often whole classes of tools that they never use (adjustment layers is a good example). I think it’d be really interesting to get 5-10 people in a room, and each present a few concepts that it took them a long time to discover/master (20-40 minutes each).
Topics might include:
So, two questions—1) would you be interested in attending? 2) would you be interested in presenting (and if so, what?). If we can get at least 3-4 other people to present, I’ll start looking into a date and a venue. You don’t have to present something from the above list, but it should fall somewhere under the umbrella of “advanced” (whatever that means to you).
E-mail me (see left sidebar), comment below, or get in touch via twitter to discuss.
This post is a follow-up to my previous post about video platforms. I didn’t get to check out all of the platforms on my list, but here’s what I did find. We ended up choosing Ooyala for a number of reasons, which I’ll touch on below.
A while back, Randy, of ümlatte, posted some thoughts on becoming a full-stack developer, something that I take pride in being. Though I think it may be impractical in many (mostly larger) situations, developing a Web application (or anything) from end-to-end can be remarkably fulfilling, not to mention extremely efficient (assuming you’re good at each part of the stack). I think that as Web development has become more of a “real” profession, we see less and less people doing it all.
Anyway, that’s another post. Randy’s a fantastic developer, and he’s hoping to become a fantastic designer as well. In his blog entry, he says:
If anybody has any suggestions about how I can go about achieving my new goal, please feel free to speak up! I have a feeling this is going to be quite a bit more difficult than web development since design is so subjective.
That got me thinking—can you learn design? I’m not sure. In fact, I have two completely conflicting views: one practical (a) and one philosophical (b):
I’d guess that my first HTML project was maybe 95% other people’s code, 5% mine. Similarly, my next project was probably 90%, the third 80%, the fourth 70% and so on. Now it’s rare that I copy other people’s code, but that pattern holds true for every new language I learn, and I’m guessing that’s true for most Web developers. So why not for design? In design we call it inspiration, but is it really that different? The first two pages of my delicious bookmarks include an overwhelming number of design galleries, trends and tutorials. Often when I start a design project, I’ll find myself browsing through some of my favorite galleries and design magazines looking for inspiration. When I was first learning Photoshop, my designs were probably 95% tutorial, 5% my design. Now it’s rare that I actually follow the tutorial instructions, but I still look at them for inspiration.
So, my practical advise would be: do the same thing you did learning HTML, learning CSS, learning Javascript, learning Ruby, learning PHP, etc, etc. Copy. Over time you may find that you need to copy less and less.
But there’s more to it than that. I don’t know what it is, but I know it exists. There’s something that makes Jonathan Ive special; something a Web designer like Joshua Davis or a graphic designer like Fabio Sasso has that not everyone has. We’ve all got a little bit of it, but while some folks have a tablespoon or maybe even a cup, others have a bucket.
That’s not to say that you shouldn’t try. It doesn’t necessarily just bubble out of you like you might imagine it did for DaVinci. Sometimes you don’t have the technical knowledge. Sometimes you just haven’t given it a chance. But I don’t think anyone can just pick up a Wacom tablet and design a site like Dave Shea or Dan Cederholm any more than they can pick up a paint brush and paint like Thomas Eakins.
So what do I actually think? I don’t know. I think there are a lot of things you can learn, from color theory, to proper use of white space, to typography, to concepts like the Golden Ratio. And I certainly know that I was a better graphic designer after taking some design classes in college than I was before. But I think a lot of that comes from doing it, and either getting it or not. Randy’s a pretty talented guy, so I wouldn’t be surprised if he gets it, but I’m not sure if he’ll learn it or just finally discover it was already there to begin with.
One of my major forms of procrastination is looking at Photoshop tutorials, and I often find myself saying “if I were doing this, I’d…” The most frustrating of these times is when people use bitmap techniques when vectors (Photoshop “shapes”) would be more appropriate, or when they create 4-5 layers when a few layer styles would do. These problems particularly apply when the tutorial is focused on Web design or UI effects such as glossy interfaces or navigation items.
Well, this weekend I was browsing through some “top X tutorials” pages and came across a tutorial that had a great result, but went around it in, what I think is a really odd way. The tutorial in question is the Cheetos text tutorial on Mick Moolhuijsen’s blog. I’ve been meaning to do a tutorial on Photoshop’s layer styles, and this seemed like a good place to start. So without further ado…
Here’s a preview of the final image:

We are currently evaluating a number of e-mail marketing services for InterNACHI and NACHI.TV, and I thought I’d post the list here. They are in no particular order.
I’ll be posting full reviews as we finish evaluating them. Right now I’m most impressed with AWeber, Campaign Monitor, MailChimp and newsberry, but iContact and MagnetMail have been suggested to me by a few people, and I haven’t looked at demos of all of ‘em yet. We’re also looking into a service called AuthSMTP which handles the delivery and lets you sort out the mailing system. So far it’s been fantastic for our bulletin board and other systems that have mail integration.
We’ve been evaluating a number of online video platforms at NACHI.TV, and I expect to post some reviews of our experiences once I’ve played with more of them. But for the meantime, here’s a quick roundup of the video platforms that I’ve found most interesting (based mostly on their product demo videos or online reviews). Please note, we’re evaluating end-to-end platforms, with transcoding, management, delivery, etc built in, so I’ve excluded a number of companies that don’t seem to offer these services. We’re also in the small-to-medium sized company range, so some providers might not match that requirement.
In no particular order:
My initial thoughts are that Brightcove and Ooyala look like great matches for us. I’ll post more comprehensive reviews later.
If there’s anyone I’m missing, please add it in the comments.
“I’m not going to do [a] because I need to get [b] right first.”
I, like most people, am a master of procrastination. I clean my desk, file my e-mail, make a few phone calls, write a blog entry, etc, just to avoid whatever it is I should be doing. Recently I discovered a new*, and troubling form of procrastination: “getting it right.”
For the past few months I’ve been working on a major restructuring of one of InterNACHI’s core web systems. Lately I’ve found myself not moving forward because I want to make sure the architecture is right, or I have some concerns about how certain decisions will affect search rankings, or I’m not sure if it will perform well, etc. So instead of sitting down and finishing the project, I pull out a pad of paper and start outlining or graphing or whatever it is I convince myself I need to be doing.
Now that’s not to say that preparation isn’t important, but I’m starting to think that the agile guys got it right: build early and build often. And I realize that this is nothing new. Heck, nearly all of “web 2.0″ is built on the constant “beta” principal. But I also know that as businesses grow, there’s a tendency to add unnecessary formality to otherwise simple things; at least I know that’s what we’ve done. It’s almost like you get into this mentality of “this is how the big guys do it,” when it’s the little guys who are more compelling and innovative.
And on top of it all, “getting it right” is just a fiction. There’s no such thing. Today’s “right” is tomorrow’s “what was I thinking?” I might as well get something “close” today, and “better” tomorrow.
So where is this post going? I’m not really sure… I think I’m done, but I really don’t feel like getting back to work
So what do you guys think? Am I the only one who procrastinates this way, or is this a common thing?
* By new, I mean newly identified. I’ve been doing this for years.
Arstechnica just posted their unboxing of the new 24″ Apple Cinema display, and one paragraph of the review really reminded me why I decided about 1½ years ago to switch to the Mac platform:
The real nicety of the display is that Mac OS X knows when you have attached the display to use its integrated devices. That is, when you’ve hooked it all up, it will use the iSight in the display instead of the notebook’s, and it will use the USB audio on the display and disable the output on the notebook. That is, until you plug a set of headphones into the port on the notebook, at which time the display’s speakers will disable and route the audio directly to your ears automatically.
Good design is invisible. If you notice a design decision, it’s most likely because it got in your way. Now, I’m not saying I don’t have frustrating moments with my Mac, but it “just works” a lot more often than any other piece of technology I’ve owned, and serves as a constant reminder of what I should strive for in my design.
Recent Comments