MySql replication is pretty painless to implement. But that doesn’t mean you shouldn’t consider exactly how you roll it out. There’s plenty of things to consider and for me one of them was how to best replicate between colos. Such a deployment raises issues (security, latency, etc) that aren’t as big of a concern when you’re doing it across a LAN. Read the rest of this entry »
4 Comments »
AJAX can do wonders to a user interface. It can also destroy one. One of the most tedious tasks when building AJAX interfaces is providing feedback to the user. Non AJAX interfaces are much more synchronous so you only have one message to display at a time. It’s not uncommon for AJAX applications to have asynchronous actions performed by the user. This requires a new approach to providing feedback to the user that what they tried to do succeeded or failed. Read the rest of this entry »
No Comments »
You probably have a Facebook account wether by choice or coercion. Facebook always starts of great but then as time goes on and you wind up with 100+ friends it begins to be no so great. While discussing this issue tonight I realized that I found a solution to the mess I refer to as Facebook. Currently, I have over 100 friends which isn’t that high of a number relative to many Facebook users. I am not interested in what Suzy did with her cat the other day or that John just read Harry Potter. However, I need to wade through that in order to see that my cousin posted new pictures of her son. Read the rest of this entry »
No Comments »
While in India on vacation I spent some time on front end performance enhancements. I have apache set to cache static content fairly aggressively. I blogged about how I went from an F to an A in YSlow. I was surprised when I noticed that my combined and minified JavaScript and CSS files were not being cached or compressed. It turned out that Apache wasn’t honoring my ExpiresByType Directives for JavaScript or CSS. Solving the problem led me to a better all around solution for serving up JavaScript and CSS. Read the rest of this entry »
No Comments »
Dustin Diaz posted a programming brain teaser on his blog. I decided to take a shot at it and came up with this. The solution took me just under 20 minutes. Read the rest of this entry »
2 Comments »
I’ve been thinking this question for some time now and yesterday at work it came up in a conversation between me and a friend. The web has been inundated with websites that have meaningless URLs. Once upon a time a URL meant something. They had value and told the visitor what they were getting. Sometimes it was a Word document (.doc), an animated GIF (.gif) or generally an HTML file (.html). Read the rest of this entry »
7 Comments »
PHP added several magic methods in PHP5. __autoload(), however, isn’t one of them. But that doesn’t make it any less useful. In fact it’s one of the gems in PHP that I find to be relatively under used. It’s common for PHP applications to break out classes into their own files. This becomes cumbersome when working on large projects as you wind up with numerous include/require calls for any given page. There’s got to be a better way… Read the rest of this entry »
19 Comments »
All too many times I go to a blog or website and half of the page loads. Then it sits there waiting while a JavaScript file from another site loads. Some JavaScript cannot be placed at the bottom of the DOM because they use document.write(). It’s unrealistic to expect everyone to abandon third party sites (I use a script from Photagious for the photos on the right). But is there anything we can do to make them at least appear to load faster? Read the rest of this entry »
Tags: efficiency, howto, javascript
5 Comments »
When working with web services curl quickly becomes your best friend. It gets even better when you dig into PHP’s multi_curl functions. The downside to accessing web services at run time is that HTTP connections can be slow. This problem is multiplied when you have to call multiple web services for a given page. PHP’s multi_curl_* functions help drastically because they allow you to make unblocking asynchronous/parallel requests. This means you can continue processing the request without waiting for a response. Read the rest of this entry »
Tags: efficiency, performance, php, programming, scalability
10 Comments »
Update: Seems the title of the post is misleading. I have no issues with outsourcing to India or Indians (I’m Indian). It’s the blind nature of what happened that I’m writing about. India, Australia or Silicon Valley…that’s irrelevant.
There’s a popular myth that outsourcing to India can save you lots of money in development costs. While the statement alone isn’t false, it leaves a lot to the imagination. You know the part of the imagination that thinks about what you’ll do with the raise you’re probably not going to be getting next year. Outsourcing development to India is only a good idea when a team of technical experts assess the options and determine that it’s a good idea. Product managers and other not technical employees have no business making such a decision. When they do disaster looms…as you’ll read about in this article. Read the rest of this entry »
Tags: entrepreneur, startup
97 Comments »