Posted by & filed under blog, php, rants, web.

This one comes from Microsoft, and their Silverlight install page. Since I already have silverlight installed, I can’t show what the actual download link looked like, but it wasn’t obvious at first.

Why do people still not pay attention to this stuff?

I’m not commenting on choice of colors, but rather that it’s not obvious what is, and what isn’t a link

Failure in web page design. July 10th 2009

Failure in web page design. July 10th 2009

Posted by & filed under blog, php, web.

Leopard 10.5.7 now comes with PHP 5.2.8, I wasn’t aware of this, and it’s caused me a great amount of agony and hair pulling over the past few days. So, for those of you running XAMPP and recently upgraded to 10.5.7 you may want to be aware of this.

When I had installed XAMPP, I had removed the php binaries in /usr/bin, and linked them to their equivalents in /Applications/XAMPP/xamppfiles/bin/

10.5.7, removed the php symlink and replaced it with the 5.2.8 binary. This caused all sorts of problems for me, as my tasks stopped working. The fix is simple, just replace the symlink again.

Thought I’d share this with others in the same situation as me. On irc people told me to switch to MAMP, but that’s not solving the problem :) .

Posted by & filed under blog, mysql, personal, php, web.

For the past few months, I’ve been helping my friend develop and market Philtro .
We’ve gone through various iterations of the elevator pitch for it, and the one that seems to be kinda working, is: “It’s like a spam filter for your Twitter account.”

At SXSW, I got the opportunity to talk to Guy Kawasaki about this tool, and he said “There is no spam on twitter, if you don’t like it, don’t follow them”.

While that’s an easy way to handle spam, I also realized that the word Spam means different things to different people.

On Twitter, nothing is UCE. It’s easy to block the profiles with the attractive women, selling Blackberries, iPhones, and who want to chat with me in private with a webcam because 140charactersistoosmalltodiscusstheirdesires.

Philtro is not trying to eliminate viagra ads from your tweetstream. The aim is to help you make the most out of twitter, friendfeed, facebook without alienating people.

Example:

I follow Dan, because he’s a great guy to follow when it comes to design patterns, PHP and Macs. He’s got great insight into those topics, he’s also an avid fan of Twilight, Traveling pants, and underwater basket weaving. I am not.

I want to see what he has to say about the topics I share with him, but I don’t care about his latest Twilight fanclub meetings.

This is where Philtro comes in, it figures out the topics I care about based on the training I give it. “Training” means marking 50 unique
tweets as “Thumbs up ” or “Thumbs down”.

So, Philtro gets rid of uninteresting tweets to you. It’s not a spam filter in the traditional sense of the word, it’s not recommending Twitter users to you (yet…). I can’t think of a word for it, but the best analogy would be a chain of emails at work, to which you’re CC’d on, but the topic is something you have no say on. You can’t remove yourself from other people’s REPLY ALL button, so you’re just stuck deleting emails all day.

If you want to get into the private beta faster, use my super duper special link .

It’s not Unsolicited, and the Tweeter is not “Junk”, what is it?

Posted by & filed under blog, oddball, personal, rants, telecommute, web.

Why Monopolies Suck, arrogance of Time Warner Cable.
Update (May 12th 2009) I’m leaving the original post up, but in case anyone else stumbles upon this, I’d like to share that the issue has been resolved to my liking with Time Warner. As always it was one bad apple giving the bad impression and discomfort.

Angry Customer’s Log:

  • 4/28/09 : Place a call to TWC onasking to call me back, I’d like to make some changes to my account.
  • 4/30/09 : Leave another voicemail with designated account rep to call me back.
  • 5/5/09 : Call TWC again, catch rep at his desk, explain the changes I want.
  • Rep says he’ll call me back in 1 hr. After talking to his manager
  • 4 hrs later. Call rep, end up leaving voicemail asking for status
  • 5/6/09 : Call TWC again, find rep. Rep says, “sorry my manager said you signed a two year contract, we can’t make the change”

Issues

  1. I never got a call back from TWC, I had to keep calling
  2. When the rep told me he’d call me in one hour, he never did. Never apologizing for that or acknowledging his mistake
  3. I asked if it was possible for me to ADD services to my contract, I was told yes, but I can’t take services off

The Juicy Details

What I want done is this: Take off the 13 static ip addresses from my account. I’m paying $40/month for these static ip addresses, and as of April 1st 2009, I don’t need them anymore. For the sake of trying to spend less money, I figured I should get rid of the things I don’t need. I’m not trying to terminate contract, just reduce my bill by $40/month.

I don’t think I’m asking for a freebie, I understand that if I pay less, I’ll get less service.

The kicker here is, that the “manager”, said I can’t reduce my service, but I can increase my service any time. This doesn’t make sense to me, if I’m locked in doesn’t that mean I’m locked in both ways?

His “solution” was to offer me phone service instead. That doesn’t help me not spend an extra $40/month. I’ll just be replacing one thing I don’t need with another.

Apart from emailing the consumerist, and also sending an “ECB”, what are my choices? More so, if you work for TWC and think this is fair business practice, please help me understand how it is, and why I’m wrong. Actually, even if you aren’t a TWC rep, just help me make sense of this logic.

Is this company policy? or is the manager here using his discretion? My team rep told me he’ll ask the manager again later when he’s “in a better mood”.

I have no issues with the service, I would say their service is very reliable, it went down one for 30 minutes in the entire year, service is good, and connection speeds are as advertised. If I was to cancel my subscription, my only other option in this part of town is AT&T Uverse, and it’s not reliable or as good as TWC. I really can’t recommend TWC to anyone now, not if their sales team is hell bent on making sure I not renew my contract in 12 months. I hope AT&T gets it together by then.

Posted by & filed under Uncategorized, wordpress.

[styled_box color="blue" title="Some things to consider regarding your current load time."]
[list type="bolt"]

  • Amazon in 2007 revealed that for every 100ms increase in load time, sales would decrease 1%.
  • In 2009 Akamai said that you could lose up to 33% of your visitors if your page took more than 4 seconds to load on a broadband connection.
  • Even Google says Web Page Load times can affect search engine rankings

[/list]
[/styled_box]

Webpage load time depends on a lot of different things, we’re always looking to figure out ways to speed the delivery of your website.

[styled_box color="red" title="Here's what we do to speed up WordPress"]
Other hosting companies will install a caching plugin for you, and call it a day, we call that a start.

[list type="star"]

    • Content Delivery Network (CDN) included on all plans. This means content is served from servers closest to your visitors
    • We configure caching individually for each site
    • We put your site on the same network as the top 5,000 sites in the world

[/list]
[/styled_box]

Posted by & filed under blog, mysql, php, web.

Marco Tabini has a great post discussing the cost of the cloud, and the current state of affairs. He calls for a simpler cloud platform, not just in terms of cost, but ease of use and products and services that adapt to changes in the market. Though the $100/month Mosso offering is mentioned (this site is hosted on Mosso), I would like to point out the recent acquisitions by Rackspace/Mosso that make their cloud offerings even more compelling than AWS for me.

  • Slicehost : Rackspace announced the acquisition in late 2008. This allows me to spin up virtual instances or Slicehost’s version of AMI’s called Slices (this was updated due to Ian’s comment below. You cannot migrate an AMI from EC2 to Slicehost). fairly quickly, and cheaply, but more importantly I know what definitively what my costs will be if I know how much bandwidth I’ll be using up.
  • JungleDisk: I think is a good way to get into the consumer space, I’ve told a lot of my friends to use JungleDisk to back up their files, with the obvious caveat to encrypt sensitive information and not to back up your SSN # to the cloud
  • Limelight CDN: I think this is just the static file portion, not the video stuff yet, but it’s pretty neat.

Now acquisitions alone don’t make something worthwhile, it’s what you do with them. I’m not a 100% clear on what the plans are with JungleDisk, but I have seen what they’re doing with Slicehost and Limelight and it’s pretty slick.

If you’re a Mosso customer, you can now enable Cloudfiles and Cloud Servers.

Cloudfiles has in my opinion a much better set of documentation of it’s API, and a much lower barrier to entry. I was literally able to upload content to the system in less than 5 minutes of signing up. You can already use Cyberduck and access the cloud files system via a simple to use FTP client. There’s also a firefox extension. This incidentally highlights the power of open source. I believe the Mosso guys did the development themselves for Cyberduck and contributed the code back, I could be wrong. This is a great equalizer for a player late in the game. S3 is now available as an option on almost every major closed source file transfer application, but getting a company to invest time in your system is hard to do. There has to be a demand, which may not come because there’s no easy way to access your system. So they solved the ease of use problem right off the bat.

Apart from ease of access/adoption, what I really like, is that the incoming bandwidth to cloudfiles is free, if you’re using Mosso. So, if my web front end accepts a file upload, I can take that and upload it to cloudfiles without incurring bandwidth costs. So, now I have a load balanced web server and a fairly low cost CDN available to me under one control panel.

Then, add Cloudservers. Which is basically slicehost, without the bandwidth priced in. And the same rules apply here, any bandwidth to and from Mosso and Cloudservers is complimentary. So now, I can spin up my slices of MySQL, and use my flavor of Linux and my custom MySQL patches, and create my own cluster, or master/slave environment without the need to share resources with the other MySQL users in the cloud. This really gives me the flexibility that other shared hosting providers lack.

Lastly, something you can’t put a price on. Customer Support. Rackspace is truly fanatical about support, they really do give a crap, which is refreshing. What’s awesome is that the same quality of support is available for the Cloud offerings as is for their Managed Hosting customers. I can’t afford managed hosting, and I always thought that sure if I’m paying $500/month for an ok system the support better be good, but for $100/month , virtually unlimited websites and clients, and I get the same level of professional/non script reading support? Why should I waste time trying anything else? I have no idea who or what to call or email to when it comes to AWS.

Disclaimer: I think my last paragraph sounds like a marketing gimmick, so.. I’ve edited it a few times, but seriously, in this economy, and even in better economies, customer service is key, and these guys should run a customer service university for other tech companies.

Thanks to a comment by John Frank of Amazon in the comments below. There is indeed a way to get 24/7 support. AWS has had 24/7 phone and email support for quite some time: http://aws.amazon.com/premiumsupport/#overview

I’d like to know who else you think is a major player for the consumer/bootstrap businesses out there as well as enterprises. I’ll be following this post up with a set of tools I use, to make my life in the cloud easier. I’d like to know what you use as well, applications, code libraries, etc.

If you’re considering using Mosso, I suggest you read Snipe’s Notes they are extremely well written and informative, and a coupon for two months free :) .

Posted by & filed under Apple, blog, rants.

This post talks about how Microsoft’s new Ad puts Apple on the defensive. I beg to differ. The Ad is cute, but it preaches to the choir. The apple fanboys don’t like it for some reason, the windows fanboys think it’s a punch in the face of Steve Jobs.

But seriously is it? In the first episode of Fast and The Furious, the protagonist “smokes” a Ferrari. Even though it showed the Ferrari owner as a “jerk”, I doubt people decided to stop lusting after a Ferrari. Just because some guy is a jerk to you, it’s not because he owns a Mac or a Ferrari, it’s because he’s a joke. The same guy would buy a top of the line PC, and be a jerk to you.

I use a mac, not because it makes me cool, but because it works for me. Do I dislike the price? Sure, I hate paying more for a mac, but I hate using Windows even more. Instead of that ad being an ad for PC, I think it’s an ad for HP, that microsoft paid for. I’d really be curious to see if someone actually switches from Mac to PC because of this Ad.

See the Ad below, it is cute and funny.

Posted by & filed under mysql, php, security, web.

Thanks to Expandrive . You can now use Subversion (SVN) on websites hosted at Mosso . The idea of mounting a directory you’d normally ftp/sftp to, and then using SVN on it, at first seemed oddly implausible to me. But, I tried it recently, and got exactly the results I wanted. I even had the repository hosted at Unfuddle . I think this post is fairly obvious, but if you have any questions feel free to ask in the comments.

Posted by & filed under Apple, mysql, php, web.

My last post was for all users, technical and non. This post is for the techies who know me, and are switching. Some are coming from Windows, some from Linux, some are designers who need to do some local development. So, I’ll try to keep this post as simple as possible, and perhaps more like a tutorial, where you can “copy and paste” commands and files.
If you’re going to be doing any kind of web development, chances are you’ll be deploying to a linux/unix server. I don’t know anything about Windows or IIS, so ignore this post if you’re looking for IIS help. I’m also assuming basic level of knowledge with how to find and edit files either via Finder, or via Terminal. For the non unix folks ~ for the rest of the article, means “Your home directory” . Your home directory is usually /Users/yourusername

Security Caveat

If you’re doing this on a laptop, please keep your company, or your clients security and confidentiality in mind. Disable auto login, use strong passwords, enable computer locking via Keychain.
I use these settings as a base. You can and should do a little more, but that’s not the focus of this post.

Things you’ll need

  1. XAMPP I prefer it over MAMP, because it seems to get upgraded faster, so the chances of a more recent PHP version are higher. Of course, for the uber nerds, you can get Macports, or Fink. If you’re comfortable, you can even install the Dev Tools CD, get GCC, and compile things yourself, something I used to do, but I no longer need the cutting edge.
  2. When I feel like getting cutting edge, I do install Vmware Fusion , turn on a Linux image, and have fun.
  3. Expandrive This is more for production, and remote servers, but I find this tool ridiculously handy. It’s better than the free variant of Macfuse, so it’s worth the money. Here’s how it’s better: the way to manage the drives is simpler, and reconnects to remote drives are more stable than the free sshfs variant.
  4. You can get MAMP and MAMP Pro MAMP Pro is worth the upgrade, if you decide to get MAMP.
  5. MySQL If you need MySQL 5.1, or for some reason 4 or 3, you need to go get it yourself, but XAMPP offers MySQL 5.0 by default
  6. Textmate An excellent editor if you don’t like vim/emacs.
  7. MacVim This is gVim for mac, with all the mac keyboard bindings, and the power of vim. (this is subjective: and the ease of vim). I’ve replaced the default vim, with this for my personal use
  8. Subversion 1.5 By default, OS X comes with SVN 1.4, some of my repositories have been upgraded to 1.5 so I needed to upgrade
  9. Git I’ve been playing on some projects which aren’t live, but merely proof of concepts, and I decided to learn git, with those projects. I’m really digging it, though I’m still struggling with Braid and getting it to do things like SVN Externals.
  10. Versions App This is a nice GUI for SVN, if you’re into GUIs

Setting up your Shell

Most of these things will go into ~/.bash_profile

Set your editors

Open up ~/.bash_profile in your favorite editor, and add the following lines

export SVN_EDITOR=’vim’
export EDITOR=’vim’

Of course, you can replace vim, with emacs, pico, nano, or if you hate your life, ed.

Change your paths

Since we’ve downloaded XAMPP, macvim, Subversion and Git, we need to make sure the newer version of these apps is available to us.

PATH=/usr/local/git/bin:/opt/local/bin:/usr/local/mysql/bin:$HOME/bin:$PATH
PATH=$PATH:/Applications/xampp/xamppfiles/bin:/opt/subversion/bin

I prefer to move the older binaries out of the way.
Open a new shell and type which php , or which svn
if you see things like /usr/bin/php or /usr/bin/svn, it means you’re still using the older versions. So do the following: (# bash represents your bash prompt, not a comment)

# cd /usr/bin
# sudo mkdir old
# sudo mv php* old
# sudo mv svn* old

You need to do some other things with Macvim, email me if their install instructions aren’t clear to you.

Setup your virtual hosts, and hosts file

Since you’re doing web development, you need to setup apache, and a means to access the virtual hosts on your laptop. Since you’re using XAMPP, you need to make sure that the built in Apache is not turned on. Go to System Preferences -> Sharing and make sure Web Sharing is not checked

The easy, but expensive way

You can download VirtualHost X and manage your virtual hosts with that, but the app is fairly basic, you still need to know your custom directives, if you want to do anything advanced. What’s nice is that it edits your /etc/hosts file for you, so it’s all done in one step. It’s not as advanced as MAMP Pro. But, it’s fairly straightforward and flexible as a GUI.

The somewhat harder, but cheaper way

Since we’re using XAMPP, you need to do the following:

# sudo vim /Applications/xampp/etc/httpd.conf : and uncomment the line asking for httpd-vhosts.conf
# sudo vim /Applications/xampp/etc/extra/httpd-vhosts.conf

Here you can create your own virtual hosts. I use a naming convention of laptop.domain.com, which always points to 127.0.0.1. You could edit your Name servers and add that record, but then it doesn’t work if you don’t have an internet connection. So, I prefer editing my /etc/hosts file.

Example Virtual Host Configuration

NameVirtualHost *:80

#Local Symfony installation for website

< VirtualHost *>
ServerName “laptop.example.com”
DocumentRoot “/Users/vluther/websites/example/web”
<Directory /Users/vluther/websites/example/web/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Alias /sf /Users/vluther/websites/example/lib/vendor/symfony/data/web/sf

ErrorLog /var/log/apache2/example_error.log

CustomLog /var/log/apache2/example_access.log combined

</VirtualHost>

Notice I keep the logs in /var/log/apache2/. This is so I don’t need to mess with the log rotation scripts of OS X.

Example /etc/hosts file

127.0.0.1 laptop.example.com example
127.0.0.1 laptop.example2.com example2

In conclusion

I’m not going into details of how you create your local working copies with git, svn, or finder. If you really need help with that, email me, or ping me on twitter

If you’re using Django, or RoR, you can skip most of the apache configuration options, and just use the built in web servers that come with the frameworks. For production/stage testing I recommend installing linux on a vmware image, and then messing with FastCGI/mod_python for Django or whatever you need to do with ruby.

By no means is this supposed to be the only way you do things, there’s more than one way to skin this cat. Please share your insights and methods in the comments below.

Posted by & filed under Apple, iphone, personal, php, web.

Yet Another Switch Page 2.0

It’s been 4 years since I switched to the Mac. A few years ago I made a page for other switchers. I’m making a new list, as a lot of my friends have finally switched themselves, or are thinking about it. Please share and add your favorite apps in the comments.

The List
Here is the software I use, in order of importance to myself.

  1. QuickSilver: If you don’t like using the mouse, this is your friend. It’s not just an app launcher, with the power of chaining, I can create tasks in RTM , straight to iCal, Calculator, and send quick emails with text snippets
  2. Terminal.App: This comes with OS X, and is still my prefered method of navigating around the system. Vim is part of the install as well, so 90% of the times, it’s all you need. Terminal, Vim, and ssh … you’re in heaven.
  3. If you use Leopard (10.5.x), Terminal has tabs, and is a lot more powerful than the Terminal of Tiger (10.4.x). I recommend using the plugins by CiarĂ¡n Walsh
  4. Evernote I love the fact that I can access my notes over the web, iphone, and locally.
  5. Postbox . Even though this is in private beta, it’s my mail client of choice. The latest beta release allows for 3 pane views. I’m hoping they’ll add GPG/Enigmail support soonish as well. But the UI, and look and feel is much better than Mail.app.
  6. AdiumX : Best multi protocol chat client for the Mac. (Pidgin for Mac basically).
  7. XAMPP Even though OSX has PHP 5, and Apache built in, the PHP is weird, and I need MySQL as well. Xampp provides me with the Apache 2, and PHP 5 build I need, so I can do development locally.
  8. Colloquy: The Best IRC client for Mac OS X evar. Unless of course you have shell access somewhere, then stick to screen + irssi.
  9. Growl: Awesome notification system for internal system events. AdiumX installs this, or you can get it yourself
  10. Omni Outliner Pro This is the best note taking, note making app out there. If you attend meetings, you need this software
  11. 1Password This is the best password manager for OS X, and all your browsers. More importantly, this is also a password generator. So for all the new sites I visit and sign up for, I can now use a truely random password, and not variations of the same 5-6, like I used to.
  12. iWork No matter what version you get, this is a very capable suite. I prefer it over Office for OSX. The only time you’ll need MS Office for OS X, is when you need Entourage
  13. iChat. It comes built in with Leopard, I love using iChat for it’s screen sharing capabilities, because now I can trouble shoot things for people much more efficiently.
  14. Skype Skype is a great cost saver for international phone calls with the outsourcing teams, as well as a great replacement for IM, when you need truly real time chat capability, or conferencing

So what do you use on your new Macs ?