Archive for February, 2007
My new role and responsibilities in Microsoft
Google AdWords to Show Contextual Ad Location URLs
Google’s Kim Malone announced that in the next couple months AdWords will start displaying content targeted ad locations. Is there a better way to get a list of relevant pages to acquire links from than to run a content targeted AdSense ad campaign and ping those webmasters?
Momondo Creates Realtime Mashup of Low-Cost Airfares With Kapow Technologies
Nexaweb and BlueNote Enhance Enterprise Web 2.0 Applications
BOOK - Murach’s SQL Server 2005 for Developers
Yahoo YUI wins JavaScript Library Wars
There is huge web development news from Yahoo today. Yahoo is offering free hosting for YUI components, both JavaScript and CSS. I've been favoring the YUI, but this is a great boon. One big drawback to AJAX is Page loading performance. I'm betting that the Yahoo infrastructure can serve these files way faster than most people's servers, they are much more likely to be cached, and by being located on a different domain, they circumvent domain connection limits in the browser. By offering hosting, Yahoo turns YUI into a true shared library for the internet.
Delphi for PHP
I have to comment on this week's annoucement of Delphi for PHP. I was a Delphi programmer for about 5 years before taking up PHP about 6 years ago. What a convergence.
I have a great fondness and respect for the old Object Pascal based Delphi. Delphi's VCL has been influential, inspiring the GUI components in Java. And, of course Ander Heijlsberg went on to put a huge stamp on C# and .NET that would be familiar to any Delphi programmers.
I've always admired this approach of extending the language syntax to make common things easy and for the integration between the language and the tools. In Delphi, this was evidenced by the excellent properties support. Six years later, this is the feature I miss the most in PHP. This language extension approach has seen its culmination in C# and LINQ. It almost pains me to say it, but the cutting edge of commercial language design is at Microsoft now.
On the other hand, I've never had that much respect for Borland as a company. We were big enough to have Borland representative's come to our office and try sell us their products. They were terrible at the mechanics of selling into big companies. I was in their beta programs. I went to their conferences. I've never had any sense that they know what they are doing business wise. Inprise? What were they thinking? Now here they are, just having gotten their asses kicked by eclipse in the Java IDE space and what are they working on? They release an IDE for PHP, just as Zend is embracing Eclipse in the PHP space. Brilliant!
I don't quite know what Delphi means now. To me, its always been and IDE plus Object Pascal. What is it now? I also don't quite know what Borland has become. Is it CodeGear now? I guess that the Delphi for PHP IDE comes from Quadram and their now discontinued QStudio product. And the VCL is their WCL (no linkage found). Anytime I've been touched by the corporate entity that was Borland, confusion ensued. I'm confused now.
It appears that the PHP version of the VCL will be released on open source. There is nothing at the sourceforge project, yet, but I'll be interested to see what it looks like, if only for old times sake.
The Delphi tool approach was to serialize an object based representation of an application, then offer tools to create that serialized representation, and to load that representation at run time. In Delphi, that serialization was done into the form files (.DFM). I'll be interested to see how Delphi for PHP does it. Perhaps, this is an area where the Eclipse PHP Development Tool can learn. I know that I definitely had Delphi in mind when I was writing my column on Object Serialization for this month's php | Architect.
Meanwhile, if you want to see the Delphi influence in PHP with code that you can download today, take a look at the Prado framework, which I imagine to be like the VCL for PHP, but without the supporting IDE.
This is a space I'll definitely be watching.
Managing Open Source Projects
I ran across How Open Source Projects Survive Poisonous People (video) and Producing Open Source Software (book). Anyone know of any other interesting open source project management resources?
Using Ghostscript to Reduce PDF Size (Thursday, Feb 22)
I like Ghostscript (the PostScript to PDF converter). Part of it is because I have an innate affection towards command-line tools. And part of it is because GhostScript has an extremely impressive amount of features and options (I'm guessing around 200,000 features, although that could be a little high ;-).
A couple years ago, I wrote about how you can use GhostScript to convert PDFs to image files, which is handy if you want to create a thumbnail of a PDF for a webpage, or archive a PDF as a multi-page TIFF or something.
I also used it recently to dramatically shrink down the file size of a PDF I had generated with the CutePDF Writer PDF printer driver. The PDF I "printed" with CutePDF ended up being over 2 MB in size, which was way too big for me.
I did a little searching on the web and found that GhostScript (of course) can reduce the file size for me. Here's the command line:
gswin32c -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dPDFSETTINGS=/ebook -sOutputFile=C:newFile.pdf C:originalFile.pdf
That knocked the size down from about 2.5 MB to about 600 KB. Much better. Using "-dPDFSETTINGS=/screen" actually made the file a little smaller, but the graphics were noticibly fuzzier with "/screen" instead of "/ebook".
I'm not entirely sure where the size savings came from. There were several graphics in the PDF, so it might have just been an overall lowering of graphic resolution. In any case, it worked for me but your mileage may vary.
[ permalink ] [ e-mail me ] [ read/add comments ]
Free Software for Mac OS X
The software that comes with OS X is very capable. The mundane applications that come with OS X, such as the Finder, Preview, and Disk Utility can do some surprising things. I've been using Macs for 20 years and I'm still learning new tricks for these programs.
But, the installed apps can't do everything. As part of setting up my new Mac, I've had to install a small set of very useful, dare I say essential software. This is the list of everything that I installed on my Mac for one reason or another.
Everything on this list is Free as in beer. These are only things that are perpetually useful. If it is a limited version it is at least useful. Nothing expires. These are not the things that I think you should look at, or any kind of best of or exhaustive list. These are just the things that I actually use. (With a noted exception or two.)
This is Part II in my "Setting up my Mac" series. See Part I: How to Transfer Mac OS X Application Data between Computers.
Video Codecs For Quicktime
QuickTime is the native video format for the Mac. However, there are many different video file formats floating around on the web. Fortunately, QuickTime is modular and there are many free components available for playing these formats. I think this list covers the most popular.
- Flip4Mac
- Plays Windows Media Player files in QuickTime (Except those that have DRM).
- Perian
- Plays some .avi files in QuickTime.
- A52Codec
- Adds support for AAC audio.
- DivX
- Maybe this is redundant with Perian?
Video Players
In a rare show lameness, the built-in QuickTime player cannot play QuickTime Video Full Screen unless you pay to upgrade to QuickTime Pro. This has always bugged me. Can you say nickel & dime? I'd rather they roll the price into the cost of OS X or my computer, if necessary. Fortunately, this is a restriction on the player, and not on the QuickTime Framework. Third players can play full screen, although perhaps at the expense of some QT player niceties like the remote control. I've installed these additional players.
- QTAmateur
- This tiny player plays quicktime full screen and not much else.
- Nice Player
- This is a more capable QuickTime player. I've had the video and audio tracks get of of sync, tho. Still evaluating.
- Real Player
- Necessary to play the anything in Real format, or to play Real streams in your browser.
- VLC
- A very capable player that does not rely on QuickTime or its plugins.
- Flash Player
- OS X comes with flash player installed, but you might want to upgrade. View your current flash version number.
I don't do much with video, but these players and the prior QuickTime plugins have handled everything that I've ever wanted to do.
Productivity
At $400 and without the typical Windows PC OEM discounts or the student discounts available to some, Microsoft Office represents a significant investment, especially if you just need occasional word processing, or you just want to view Microsoft Office documents that people send you. NeoOffice is a mac native version of OpenOffice. I have Microsoft Office, but NeoOffice is still useful to open the OpenOffice formatted documents that people from the open source community sometimes send me.
BBEdit has been around in the Mac community for a long time. TextWrangler is its free but commercial quality and very capable little brother.
Compression
The finder does a pretty good job compressing and uncompressing zip files. (You knew it did that, right?) However, there are about a zillion different compression formats that might arrive at your doorstep via the magic of the internet.
- Stuffit Expander
- Stuffit is the time-honored way to uncompress stuff. However, this long standing Macintosh institution has fallen into disrepute lately. To download Stuffit, you have to surrender your email address, and they do use it. I've installed it anyway, thanks to a throw away email address.
- The Unarchiver
- I've switched to the free and open source Unarchiver as my primary de-compressor. So far, so good.
Chat Programs
iChat is nice, but there are more chat protocols out there than AOL and Jabber. I've also managed to collect a few different online profiles. You can reach me at procatajeff on AOL.
- Adium
- Allows you to connect to multiple chat protocols and multiple accounts at the same time. It doesn't have all of the features of the native chat programs, but it is worth it to just have to run one program.
- Colloquy
- IRC client for Mac OS X.
- Yahoo Messenger
- The Yahoo Messenger for the Mac has many fewer features than its Windows cousin, but its not as loaded with advertisements as the windows version, either.
- MSN Messenger
- I don't use MSN at all, but if you did...
- AOL Messenger
- Again, there are some AOL features you can't get through iChat. I almost always use Adium instead of AOL Messenger or even iChat.
Web Browsers
I use Safari for 99% of my web browsing. However, I install the major alternative browsers, too.
- FireFox
- There are still some sites that do not work with Safari. For those, Firefox can usually get you in.
- Camino
- Same rendering engine as FireFox, but a more "mac-like" user interface.
- Opera
- I only use it to check web pages to see if they're rendering correctly.
- NetNewsWire Lite
- Great feed reader. I'm a registered user of the full versions. This was probably the best valued software purchase I've ever made. I started with the Lite version, although I've forgotten what the differences are by now.
File Transfer
- CyberDuck
- The finder will do FTP, but CyberDuck does more. I use it for the synchronization capability. This program has always been a little buggy and never quite reached the level of stability that I would like, but I use it anyway.
- BitTorrent
- I don't do much with Torrents, but when you run across them, use this.
- Transmission
- An alternative BitTorrent client. I haven't used this one yet, but I'm gonna give it a try next time I want to download a torrent.
Utilities
There are tons of haxies, so called maintenance utilities, and customizers for OS X. I don't use any of them. Bad memories from the System 6 extension days, I guess. Here are a couple utilities I do use.
- Menu Meters
- Monitor CPU, Memory and Disk usage as well as network activity in the menu bar. Very nice. Running this on my old machine was a major contributor to my decision to purchase a new one.
- Disk Inventory X
- A graphical breakdown of how your disk is being used. A kinda shaky 1.0, but be prepared to get an education after you run it and see where your disk space is going. Keep it around for when you need to find some free space.
Associating Files with Applications
Most of the applications on this list overlap in terms of the file formats that they can open. Sometimes, though, the wrong program will open when you double click on a file or download something. RCDefault allows you to edit the associates between file types and data types and with the applications that can use them. You can do this in the Finder to a certain extent, but RCDefault gives you more options and puts it all in one place.
Anything Else
I put this list together to keep track of what I need to install after I rebuild my machine. Take a look at part I of my setting up a Mac series.
If there is something you think I should take a look at let me know in the comments. (But keep it in the free or perpetually useful spirit of this post.)
Best of Luck





