8.14.2007

On APIs

The web, in it's so-called 2.0 age, has spawned a movement that prescribes the philosophy of freedom of information. In so doing, new web-based applications (digg, twitter, anything from 37signals) have created "API"s, a fairly accurately name. However, in thinking back to the desktop application market and the operating systems that they run upon, we see the use of the term API. The programatic functionality provided by these APIs is wholly different from those on the web. The desktop APIs provide access to actions to be taken on behalf of the application or some other form of functionality. Information is undoubtedly an aspect but, it is not the focus. On the other hand, we see the APIs of the web. These APIs offer, primarily, the methods enabling some external party access to information and the capability to submit/insert/update information within the originating application. With the differences that exist between the two forms of API, why do they share this nomenclature?

I suggest something like "AIT", or Application Information Transport, be used to describe this new form of API.

8.13.2007

The Original Wikipedia

For anyone who has ever read the exceptional series, The Hitchhiker's Guide to the Galaxy, this website will be more familiar to you than anyone else. The concept behind the guide of which the stories surround is a comprehensive collection of all information available in the universe. In the story, one of the primary characters is, unbeknownst to his friend Arthur Dent, an alien writer for the guide.

Here is the online version of the guide, a website initiated by Douglas Adams. http://www.bbc.co.uk/dna/h2g2/

Now, for anyone familiar with the goals of Wikipedia the story of the guide does not appear to be the same concept, aside from being a massive collection of knowledge. It is in the realization of the H2G2 website that the community effort takes center stage. So, we can see, the core concepts of the Wiki movement may have been started in the 90's by an ingenious author.

6.12.2007

A Concise Response to an Inaccurate ZDNet Article

The article I will be responding to can be found here: Leopard looks like...Vista

I will simply respond to the ten point list the author published, so if you need to see what the article said, please check it.

In response:

1. No, the Vista Sidebar was in response to Apple's Dashboard, introduced in Tiger. As far as aero is concerned I cannot find any real parallel. Also, the real improvements to the desktop were in the dock with the introduction of Stacks, something Windows lacks entirely. However, the author skipped over that part.

2. Instant Search is, again, a response to Apple's Spotlight, introduced in Tiger. Notice the lack of gaudy transparency around the border of every window, which is one of the prime "features" of aero. Furthermore, Cover Flow in Finder is a method for browsing files whereas Flip 3D is a method for switching between application windows. Obviously, the two share nothing aside from being three-dimensional effects.

3. QuickLook is NOT a thumbnail. Thumbnail previews of certain documents do not allow you to scroll through the pages of the document, the slides of a keynote, or watch a video.

4. Actually Leopard is the first to be 64-bit from "top to bottom". There are quite a few problems with Vista's 64-bit "support", not the least of which is driver and application support. In addition, 32-bit applications still run on Leopard without any difficulty and the argument that 32-bit still matters doesn't apply. The author seems to have forgotten that, as Jobs mentioned, almost every Mac computer is running a 64-bit processor. In fact all but the Mac Mini and the low-end iMac have Core 2 Duo processors, which offer the wondrous 64-bit technology.

5. Core Animation, not important. Somehow I don't believe the author was at WWDC because if you watch the keynote, the crowd applauds profusely and, if you read any articles by Mac developers in the past 2 months you'll hear plenty of excitement about Core Animation. As a matter of fact, quite a few major developers are bringing their next applications out as Leopard-only, mostly due to Core Animation.

6. Boot Camp has nothing to do with Leopard looking like Vista. In fact, it means the users aren't only running Tiger, they're running windows too. An entirely different argument.

7. You're right, Vista doesn't have this. As far as being excited about it, it isn't a developer accessible technology so I am not surprised the 5000+ developers did not get very excited. It is an end-user feature and the argument is again, entirely unrelated.

8. Dashboard, as I mentioned earlier, is a feature of Tiger, released well before Vista.
9. For starters, the technology that you mention, Meeting Space, is not actually a video- or audio-conferencing tool. Second, it is not a presentation tool, it is a collaboration suite. Lastly, the application you may be looking for is Windows Live Messenger, which does not offer any of the presentation or extended video-chatting capabilities. Messenger cannot do audio- or video-chatting and does not even work on a local network, it requires an internet connection. All of these applications have a variety of features that the others do not, my point is merely that this is another inaccurate comparison by the author.

Wikipedia - Meeting Space

10. Time Machine. This is a fundamental misunderstanding of non-Mac users. It is not always about the features. It more often about the intelligence, ease-of-use, and logical patterns found in the application, while still maintaining the customization that power-users require. That quality is what Time Machine brings to the table. It makes it a no-brainer to configure and makes it even easier to retrieve a file. If you know where the file was, you just go back "in time" through that folder. If you don't know where a file was, use a spotlight search and search back through that method. I'd like anyone to volunteer if they use Volume Shadow Copy on a regular or automatic basis, please reply in the comments, with usage examples.

WIkipedia - VSC

6.11.2007

Safari 3 Beta

For Mac OS X and...WINDOWS?!

Yes folks, that is the case. It would seem the success of iTunes on Windows has lead Steve to think that Safari is the best browser and will take Windows by storm. I can't really form an opinion on that at this time but, I have found a few new little features in the Safari 3 Beta.

First, we finally get live searching!




The same searching is available while viewing source.




There is also a new element inspector available to provide information on the style, metrics, and element properties.










I presume this new Safari will be released in-full and with a new unified look in October with Leopard.

Anything else I find that is new I will report here.

6.05.2007

A Brief Ruby On Rails Install

On a debian system, that is properly configured, ruby on rails can be installed in six command-line steps.

1. sudo apt-get install ruby1.8 ruby1.8-dev rdoc libruby1.8 libzlib-ruby ri1.8
2. wget rubygems (currently available here. I'm sure this will change in the future)
3. tar -zxvf rubygems
4. cd rubygems
5. ruby setup.rb
6. sudo gem install rails mongrel postgres-rb --include-dependencies

Aaaannnnd, we're done!

On Mac, for testing purposes, just use locomotive. Despite mysql, migrations make it easy to ignore which database you use in production.

4.30.2007

Coda, someone got it right! Where to go from here.

Thank you, Panic Software, for making such a wonderful application. I have been using Coda for a good bit of time now and I love it. There were two things missing from my old method of development and testing using textmate, safari and terminal.

First, I spent far too much time in terminal and textmate without a well managed set of sites, ssh/scp, subversion, and other related info as well as lacking any sort of information on the project. I have tried to manage my site info with Serverskine but, I just couldn't get it where I wanted it. Serverskine had information I didn't need and was lacking fields that I did need. It also lacked sufficient ties to other applications.

Second, good tabbed terminal. I know there are other terminal applications out there but, nothing is as good as terminal in my opinion, even without tabs. It is pretty darn quick and the simplicity is worth it. All I really wanted was tabbed windows and perhaps some ties to the aforementioned information.

Oh and it is drop-dead gorgeous, too!

Now, what would be even better is the intertwining of information that Apple has in OS X. iTunes, iPhoto, and iMovie all create a pile of media that is accessible to many other applications or, any application that wishes to take advantage of the little media browser.

What I would like to see is Serverskine become a truly useful app with ties to a terminal that is fast, simple, lightweight and tabbed. In addition, ties should be made to textmate which, face it, is still the longstanding king of text. I still use TM for so much. Top it all of with great control of subversion or cvs in a freestanding application that, again, allows simple tie-ins from other applications. Specifically simple access to commit, update, add and delete from an existing subversion repository.

What I'm Looking Forward to in OS X 10.5 Leopard

Of all the things Apple has posted on their Leopard "Sneak Preview" page, I believe that the next iteration of iChat is the thing I look forward to, the most. Yes, I know, TimeMachine is beautiful and functional and I would really love to have it but, it doesn't hold a candle to the functionality of iChat. Being able to videochat and show a slideshow, keynote, or, with an invite, control another user's mac with remote desktop, without any setup, through iChat; it all makes my mouth water.

Some of iChat's features I could care less about, such as: video with backgrounds or tabbed chats (I already have it quite nicely with chax.) Just the remote desktop over iChat alone would make my life of habitually repairing any and every problem with the computers of my family, friends and their pets, infinitely easier. Just imagine, if you will, the utility (not to mention awe) of fixing a family member's computer, while they watch you work your 'voodoo computer-magic.' I look forward to it and I am willing to wait until October.

3.16.2007

Frustration; Data Stuctures

I'm so close to graduation. The second project of the semester in my CS course, Data Structures, is aggravating. Maybe it's the teacher, maybe it's senioritis but, either way, I just can't get past the intricate requirements that C++ has in place for reasons, it seems, simply to frustrate me.

For example, I have a templated PRQuadTree (which is only good for one thing) and yet it must be templated. While implementing the delete method I realize that we find the item to be deleted using the coordinates, but we only really want to delete one element from the vector stored by the element in the tree. In a normal data structure I would just delete the node but now I have to do a song and dance to make sure the offset is in the vector and delete it, if it is empty then delete the node. This violates the templating quite a bit. The only way I can get away with it is by implementing some backwards-ass method in the comparator that every element to be inserted would then have to implement as well in order to use this PRQuadTree.

Grrr...

3.04.2007

How-to: Reorganize "Rolls" in iPhoto 6

If you are anything like me, you will eventually find yourself importing pictures from a source other than directly from a digital camera. This may not seem like much of a problem until you understand that the "rolls" that iPhoto defines its file structure from the process of importing pictures. If you import files from somewhere other than a camera it is named with an arbitrary roll number. The roll name is then used to define the file structure. This will eventually grow out-of-hand. Here's what you do to avoid this messy situation.




1. Open iPhoto

2. Select View->Film Rolls (shift-apple-F)

View Film Rolls

3. Drag individual or groups of photos (including the header for a roll, which will take all of the pictures within) and drag it to another roll's header

Group Film Rolls

4. If you wish to rename a roll, as is often the case, click a roll's header and extend the information (little 'i') from the bottom left corner. You can see that the title of the roll is shown in this information, from which you may edit it at your leisure

Update the Title of a Roll


That should be all you need. When you reopen iPhoto it may ask you to re-index or re-organize your thumbnails.

The resulting file structure should look like this:

Resulting File Structure

3.02.2007

VMWare Fusion Beta 2

I think I'll give Fusion another shot now that beta 2 has been released.

The beta is available for free with registration.

You can all read their website and the abundant news on various Apple blogs to find out what has changed. I'll post back here with any improvements I experience.

Juiced? No, Joost!

Joost is an internet television client that is currently in invite-only beta. I was lucky enough to receive an invite through a post on Digg. I am very excited about this, not for the technology, but for the simple fact that the collective community is actually moving towards this quasi-utopian goal.

Having played with the latest version of the beta on my MBP I am still just as excited, especially given the number of shows they already have up. Included in this list is Fifth Gear, one of my favorite shows. Top Gear is great, but Tiff is better. Fifth gear has more real-world reviews and a much smaller budget. Yet, it is still just as entertaining because they stick with cars and they do not try and build a shuttle out of a car. As enjoyable as that explosion was, I sometimes just want to watch a car show. Enough about rival car shows, back to the topic at hand. Joost looks almost complete and if they manage to continually expand their show lineup I think more of the world would be willing to ditch cable.

Technically, the interface is still a little rough (choppy transitions) but, the video is smooth. The biggest barrier I see is that the software requires a computer, of course. This limits its current audience to those willing to watch TV on their computer or those, like myself, that have a computer connected to their television screen. This seems to be where a device like the Apple TV strive.

I'll post screen shots as soon as I arrive home and I'll write more on Joost as I have time to experiment.

2.27.2007

A Simple Method to Save FLV from YouTube & Convert to AVI on Mac OSX

Open up Youtube and find the video you want to download. Don't bother waiting for it to load, just press apple-option-A or go to Window->Activity in the menubar. Click the arrows to collapse the actiivty from any other open tabs. Double click the line highlighted below, the line with get_video in the URL.





Once this file has completed downloading you are free to convert it to whatever type you wish. The best way to do this, though sometimes problematic, is to use FFMpegX.

Simply drop the get_video download onto the source and it will automatically select divx avi as the output. Don't forget to change the file extension and save directory to .avi.

2.26.2007

How-to: Make Mac Icons

This how-to provides a clear, step-by-step process for creating an image to use as an icon and convert it to a format that is useable in OSX. The most important steps regard proper creation in Photoshop as well as the utility to use for making the image an icon.

I've been looking for something this good for quite awhile and points out a flaw in OSX. Out of the box, png with alpha transparency, SVG and almost any image should be supported as an icon. However, if you try and use pngs they won't be displayed properly as icons and most other images simply don't work. Fix it Apple!

In the mean time, check it out and add any new icons you make to Interfacelift.

2.16.2007

Parallels Desktop RC3

In the continuing effort I am making to review and analyze the viability of running Vista in virtualization it is import to keep the virtualization software up-to-date to minimize the negative effects that the software would cause to my opinions on Vista as compared to running Vista directly (or through boot camp). Since this is the case I watch for the frequent release of updated software from Parallels. The new beta is available (as always, each week they release something new) from their beta page.



read more | digg story

2.11.2007

The Best How-to I've Found

This was posted on Digg recently and I consider it the best how-to I've found, thus far. It comes with screen shots of every last step.

http://www.simplehelp.net/2007/02/10/how-to-install-vista-in-os-x-using-parallels-a-complete-walkthrough/

2.08.2007

Fusion, the other Mac Virtualization Software...

Doesn't quite roll off the tongue.

Parallels has been great but, there are a few shortcomings that most people are aware of. For example, Parallels is not able to leverage multi-core processors and, so far, the best drivers aren't available for the graphics card and a few other items. Having read a good number of articles about VMWare's new product, Fusion, I decided to give it a try, in the hopes that it will resolve some of these issues. The beta is available here.

As advertised, Fusion is capable of using multiple cores. This solves one of Parallels shortcomings, at least in theory.

The installation of Vista was not nearly as smooth for me as Parallels Desktop was. This is not to say that it is difficult, no more so than a normal installation of Windows. One glitch I came across was getting Fusion to take control of the "cdrom" so that it could boot from the Vista DVD. It would seem that Fusion takes full control of the drive whereas Parallels appears to share the drive with OS X (the DVD appears to remain mounted while in use in Parallels). Beyond this, the installation was a straightforward install of Vista. Parallels wins in this arena because of it's ability to use existing information or information collected ahead of time (e.g., the product key) and skip through this segment of the Vista install.

After the installation I ran Fusion for an hour or so in which time I was unable to get it to use the correct resolution, 1440x960, that is appropriate for my MBP's LCD. As I found out when shutting down, I was supposed to install the VMWare Fusion tools. This annoyed me because it came around as I was shutting down. So I'll go back now and find out if this is the case.

Not only this but, TUAW is reporting that this video on YouTube confirms 3D acceleration support in the current beta of Fusion. Check it out on TUAW.

I'll post back shortly if this is indeed the case.

2.06.2007

My First HowtoForge Post Published!

Sorry, I'm a little proud of myself for having a howto of mine published on a prominent site such as HowtoForge.

Apache(2) Mod Auth Shadow on Debian and Ubuntu

A similar article was posted below, but the howto is much more complete.

2.02.2007

Issues of Credibility in Online Authoring

I read this article: Sony finally realizes what is needed, a price-cut after seeing it had hit the front page of Digg. Please take note that the information presented in this article's title indicates Sony has actually come to realize their pricing mistake and has released some sort of press stating their intentions or the author is a privileged member of Sony's staff and is, in fact, releasing this information to the press himself.

Anything other than this would be speculation, right? Please take note of the sources cited at the end of the post, it is important.

At the very least the article's title is misleading, intentionally or otherwise. At most, the author is citing sources from other "blogs" or websites that maintain no level of credibility themselves. If you have read through the article it is, in actuality, an opinion piece.

The issue is credibility. I don't care what anyone says, Wikipedia is not a valid source of credible information. It is a great idea and a wonderful place to become familiar with general facts and information. Blogs fall into a category far below Wikipedia.

This brings me back to a scene from Thank You For Smoking!, in which the main character, a tobacco lobbyist, speaks with a class of young students. The scene generally covers the idea that you cannot believe everything people tell you (specifically, parents) unless, your mommy is a scientist, researcher or doctor, in the case of the movie.

If claims such as these are going to be made, most likely for sensationalism, and considering that most readers would simply believe most of what they read without being even remotely critical, then it falls to the authors to provide information to prove their credibility. As users become accustomed to finding valid citations any author that does not provide competent sources, or is a credible source of information themselves, will be discarded. All of the buzz and rumor-mongering surrounding Apple products, most of all, needs to stop. Simply stating that your anonymous source is trustworthy should never be taken seriously. It comes down to a slight variation of the "Boy Who Cried Wolf".

Ironically, I cited a blog myself. However, I am not making a claim about a major corporation's secretive actions.

1.27.2007

Vista Pricing, Woah!

As a Mac user, I would be more than prepared to buy the next version of OSX because I believe that it is worth the $69 (or less if you buy the family pack). I am a student so I get special pricing. Normally it is $129. Okay, so lets see, that means it is $129/$69 for the best version of OSX for the consumer. Obviously, there is a server variation but it is clearly meant for servers, just as there is a server version of Windows.

To compare this with Vista, we see that there are 7 versions, just for the consumer! Not only that, but the least expensive, stripped bare, more worthless than XP Home, upgrade only version costs more ($99, for an upgrade!) than I would have to pay for the next version of OSX. Okay, so MS has not announced any student pricing and they also have their special software distributions for some universities. However, this does not include teachers at all or students not in college, as well as smaller institutions.

This is certainly a problem, though I am sure that Vista will sell far beyond any previous version of windows, not because it is great, innovative, or worth the money in any way. It will sell because MS has fantastic, hegemonic marketing. Their marketing is so good that people truly believe that they have to have Vista.

All I have to say is NO! I will NOT pay for this!

First Impressions of Parallels+Vista

So, I found out that my school has a program for CS majors that allows us to download the business class version of Vista. As a web developer (not designer) I thought it would be prudent of me to install Vista under Parallels (build 3120). Over the next couple of days/weeks/arbitrary-measures-of-time I'll be writing my thoughts and experiences/difficulties working with Vista. Just to make it interesting, I'll throw in the experiences of my roommate who is running the same install of Vista on his desktop machine (WoW just crashed his XP install...sooo).

The Install


The installation was easy under this build of Parallels. They have a tool that asks for your name/company and the serial code for Vista and takes this information, as well as the inherent networking setup, and just skips that step for you. The only thing left to do is wait for Vista to run through and do its thing. Come back in 45 minutes to an hour and you should have a running install.

Notes: I allocated 16gb of hdd space in an expanding file and 1gb of system memory. I have the Core 2 Duo Macbook Pro running at 2.16ghz

My roommate did not have such an easy time. HIs install took at least an hour and half, not including driver, etc. setup time. More on that later.

Notes: Roommate has a P4 2.4ghz processor, 1.5gb of ram and an ~40gb Vista partition.

First Impressions


Despite having some difficulty with video and sound drivers, my roommate was actually able to run Vista with all the 3D bells and whistles. Transparency and 3D transitions (like when a new window "pops" up, and they do all too frequently).

In my experience, I did not have to fiddle with any drivers, though I did not get the benefit of the proper 3D graphics and acceleration. Hopefully, either Parallels will include the correct drivers or ATI (in my case) will come out with drivers.

Coherence Mode


Amazing! I had not seen coherence work properly on a previous XP installation and only tried the button as an afterthought. Not only does it fullscreen the window and drop the background, so that the start bar from windows appears at the bottom of the screen, but, it also skips the sometimes annoying cube rotation. Granted, I like the idea of cube rotation, but it never works very smoothly when combined with a resolution change.

Wrap Up and Miscellaneous Items


My roommate is currently having an impossible time importing his music collection into Windows Media Player 11. It will play and add a song to the library that is clicked individual, but, outright refuses to scan a folder, drive, or anything else for the massive amounts of music he has. I couldn't imagine that something so basic would not work. I'm interested to see how he solves it.

1.20.2007

UUID in /etc/fstab

I was confused the other day, while working to move my ubuntu installation to LVM, about drive entries in /etc/fstab. Instead of the standard /dev/hdx# format, the listings were using a string of random characters labeled UUID. Upon further inspection it would seem that this is a change brought about by udev in more recent linux distributions. To discover the id of a volume from its device name try reading the man page for "vol_id". In short, as root (sudo!), execute `sudo vol_id /dev/sdb1`. In my case sdb1 is the second sata drive. If you use IDE it would likely be hdx#, where x is the drive letter (a for first, b for second) and the partition on that drive. You can get drive number listings by using `sudo fdisk -l` (a lowercase L for "list".)

1.19.2007

AuthShadow

The apache module, mod-auth-shadow, for verifying passwords from /etc/shadow is only useable in its most recent form with apache. More importantly, it does not work with apache2.

/etc/shadow is the ancestor of /etc/passwd. It has evolved by keeping the password hashes in a file only accessible to the proper users. AuthShadow is important because the alternative is using auth-pam, which requires direct access to /etc/shadow. This means that the apache user must have read access to /etc/shadow and that is a very dangerous proposition. Hypothetically, if your server were compromised the attacker would then have your password file for cracking at their leisure. AuthShadow solves this by using an intermediary script that is executable by the apache user but owned by root.

However, there is an rpm build available for apache2 (which does not work for me using debian/ubuntu, but alien solves that issue). It is available from rpmfind.net. The problem here is that it is not the latest version of AuthShadow (2.1). This leads to issues because of a uid verification bug in the intermediate script. The latest version that avoids this bug is 2.0.54. The error from syslog or system.log is "validate: FAILED VALIDATE: caller uid mismatch, must be 65535 not 33" or something to that effect.

To solve this issue I downloaded the source for 2.1 from their sourceforge page and used the included make file to do a "sudo make validate" and replace the validate script in /usr/sbin/.

Once this works it can be used in sites-available/configuration instead of AuthUserFile (a file made with htpasswd.) In addition, any user that has an account on the server can now be validated with "require valid-user" or "require user username". This is fantastic in a combination with web_dav and/or subversion repos. For subversion, you would probably want to research the use of Authz to control directory by directory permissions for subversion repositories.

1.14.2007

Painfully White

My friend and all around crime-fighting partner, Knuckles/CFICARE, has a new blog up. It is entitled Painfully White, oddly enough.

What For?

Anyone reading this blog may be wondering why I picked the name CodeCollaborative. Well, that would be the name of my new project and I'll just leave the rest of the guessing up to you. That's all you get for now!

1.13.2007

Creating VirtualHosts on a Local Server for Testing

After an exhaustive search marathon, for lack of a better word, on google, I have masterminded a way in which it is possible to test a website (built on php, in my case) as if it were actually deployed at its own DocumentRoot. Basic knowledge of Apache configuration is required (assumed since you're actually reading on.)

Subversion control is fantastic and I love running my own Apache server on my Mac. My problem was experienced when I updated between my computer (where the files are a sub-directory of DocumentRoot) and the actual deployed server (where the files are in the DocumentRoot.) For the purpose of including files with their proper paths these files would have to be adjusted each time I updated. Each file would have to be altered, individually, effectively breaking the paths when updated on the other server.

Now, this may not seem like rocket science to any person with experience working on deployed websites, but, there are a few steps that have not yet been grouped together. Specifically, if your own test server is operating simply on a local network or machine and if you don't have a domain pointing to this server (in which case DNS would take care of resolving a name for Apache to pick up on) simply adding an extra VirtualHost does not work.

The Solution: on most *nix systems you can modify your own /etc/hosts (try using sudo, not su) and add an entry in the same pattern as localhost with a name of your choosing. In my case the entry was 127.0.0.1 thanatos. Now, in your apache configuration files httpd.conf or sites-available/sites.conf add the line ServerName name-from-hosts to the VirtualHost section that already exists. Repeat this process from /etc/hosts to .conf file, this time using a "subdomain", still pointing at 127.0.0.1, for each website you wish to have it's own DocumentRoot. From now on, add a new section for each "subdomain" and configure its DocumentRoot to be the directory you wish to use with that site and the ServerName being the entry you added to /etc/hosts.

When finished entering all the new VirtualHosts, make sure that the site configuration is enabled. In apache2 just check sites-enabled/ (same path as sites-available) and see if the .conf file is there. If it is not, try using a2ensite, if it is available, if not link it using ln -s. Now, RESTART APACHE!

The Result: when you navigate to your subdomain.localhost (or the like) your sub-directory will be in it's own root and all includes, links, etc. will be accessible as if it were alone.