Browse > Home / Archive by category 'Technology'

| Subcribe via RSS

Future of Algorithms

September 12th, 2011 | No Comments | Posted in Technology

Great TED video.  Well worth watching for 15 minutes:

Find My iPhone Service

September 3rd, 2011 | No Comments | Posted in Apple, Technology

Not sure why I didn’t do this earlier.  Apple’s Find My iPhone service is free and seems to work great.  It can locate a lost phone, make it play a sound, wipe it clean or lock it.  Very useful.  For all those with an iPhone 4, this should be a must have service.

Blog Updated

April 10th, 2010 | No Comments | Posted in Personal, Technology

I just upgraded to the latest (2.9.2) version of WordPress for my blog.  I also added integration with Facebook, which in turn required upgrading to PHP5.  Using SimpleScripts this was trivial.  Let’s see if this actually posts to Facebook or not.  Hopefully, I can get back on to the blogging bandwagon.

Tags: , ,

CD Ripping: Done

September 26th, 2009 | No Comments | Posted in Music, Technology

Finally finished ripping all of my CDs in both FLAC and MP3 format.  Here is what I ended up with:

Artists:   688
Albums: 645
Songs:    7700

Disk Usage:  245 GB

Right now, with the help of mpd and MPoD, I’m listening to a random selection of 100 songs across my whole music collection just with a shake of my iPhone.  Very pleased with the outcome!

Powered by Qumana

A NAS + a DAC = bye bye CDs

August 20th, 2009 | No Comments | Posted in Music, Networking

It has been a busy summer, but I finally got some time over the past few weeks to work on making the most of the NAS that I had built a few months ago.  There were 2 reasons why I built the NAS:  1) to have lots of local storage, which I accomplished since it is 2 TB; 2) have some redundancy, since it is in a RAID 5 configuration; and 3) migrate my CD collection to it.  So the NAS has been running rock-solid for the past few months, therefore I felt pretty comfortable in taking it to the next step.

Since my end goal was to be able to listen to all of my music through my 2-channel, Naim system, I needed to insure that the quality of the source material was lossless.  Obviously, this meant that I had to choose from one of many lossless formats.  After doing some research, I decided to go with FLAC, since it is non-proprietary and widely supported.  I then used the Mac based ripper called Max, which allows you to rip to both FLAC and MP3 formats at the same time.  I needed to rip to MP3 in addition to FLAC, because iPods and iPhones do not understand FLAC.

Once I had all of my CDs ripped, I then needed to consider how to convert the digital content to an audio input for my amplifier.  This is the purpose of a DAC (digital to audio converter).  Every soundcard has a DAC, albeit lousy, built into it, which is why you can hear music via the headphone jack.  But in order to extract as much detail and musicality from the source material, you really need a dedicated, high-quality DAC.  Since this was my first foray into the world of DACs, I didn’t want to spend a lot of money on a DAC, but I also wanted to ensure that the DAC was on par with or better than the sound of the Naim system.  After a bit of research and based on the recommendations in the Head-Fi forums, I decided to order the VALAB DAC for $200.  It is a non-oversampling DAC that has a very vinyl sound to it.  It also has the benefit of being amenable to significant modding, which is why I also purchased a soldering iron.

The next thing I needed to consider was the software that I would use to play the music and what type of user interface would I use.  I was loathe to use a laptop for this, because I really wanted the ability to have a remote in hand and browse the catalog and change music.  A Mac Mini was overkill and too expensive.  The solution to this came in the form of the Music Player Daemon (MPD), which is a client server based music player.  Basically, the server contains the player and will play whatever it is told to by the client.  The client can be another computer or any IP based networked device, for example, an iPhone.  In order to get this solution to work, I needed to have a small computer that was fanless, silent, consumed very little energy and was of a small form factor.  I discovered this blog post called the Cheap Silent USB Linux Server that matched my needs exactly.  I followed the directions to a tee and am very pleased.  I had to order a Alix 2D2 motherboard and case for about $140.  I then threw in a 1 GB compact flash card into and installed Voyage Linux as the OS.  With this setup, I can view and play my complete music collection from my iPhone using MPoD and it will automagically start playing out of the Naim system.

How does it sound, you may ask?  I am simply astonished!  There is so much more detail revealed and the soundstaging is expansive and this is all attributable to the DAC.  This setup has truly re-invigorated my ear for music and I’m listening to music from my collection as if it is brand new and completely different than what I had listened to before.  This was a real shocker to me, since my CD player, the Naim CD 3.5, was purchased for $2000 about 10 years ago.  I need to spend many more hours listening to music to get a better sense of what other improvements and tweaks I can make.  I know for a fact that I need to either make or purchase some acoustic treatments, since the room is very bright.

So, to summarize, this is what I ended up with:

  • Music is stored on the NAS in FLAC format
  • It is streamed over ethernet to a small, AMD Geode based device, which is running MPD
  • The music is outputted in FLAC format over the USB port to the VALAB DAC
  • The DAC converts the digital input to analog output and sends it out over RCA connectors
  • The RCA cable then connects to my Naim amplifier
  • I control what is being played from my iPhone using MPoD

This is a networked diagram of the final result.

Powered by Qumana

NAS: Move Over FreeNAS, Here Comes Ubuntu

April 14th, 2009 | No Comments | Posted in Personal, Technology

A couple of months ago, I embarked on building a NAS with 3 x 1 Terabyte drives in a RAID 5 configuration (see here).  I used an old server that I had lying around.  I thought I had it working, but after several hours of use, the drives would heat up and sometimes they would go offline.  I would then have to reboot the server.  So, obviously, this was not a very stable solution.  I had put really silent fans inside of the server, since it was in my office, but that was probably not providing enough ventilation, thus the overheating hard-drives.

Now that I’ve run Cat 5e cable from my office into the basement, I can put the server into the utility room in the basement and voila sound is no longer a constraint.  In the meantime, the stability of the system was deteriorating.  I also didn’t like the inflexibility of using FreeNAS.  Sure, it is nice to have it all pre-packaged, but I think FreeNAS is really for those who aren’t technical enough to roll their own NAS and enable the appropriate services.  Don’t get me wrong, FreeNAS is good if you just want to get a NAS running with minimal technical know how.  But one of the issues with FreeNAS is that it appears that it only has a sole developer behind it, so releases are infrequent.  Also, the forums aren’t as active as they could be.  All of this, along with the fact that one of my drives went kaputt, has led me to build a NAS based on Ubuntu.  With very little effort, I was able to build an Ubuntu based NAS using RAID 10 with 2 x 1 Terabyte drives.  I am just playing around with RAID 10  right now as I only have 2 drives and I’ll switch to RAID 5 when my 3rd drive gets shipped back to me.  Using mdadm and some simple instructions, it was a cinch to get RAID 10 working.  I used a separate 40 GB drive for the OS install.  Once I got the system up and running, I installed the excellent web-based administration tool called Webmin.  From the looks of Webmin, it appears that you can perform RAID configurations from within it, so there really isn’t much command line expertise even required.

Since I wanted to mimic a lot of the functionality of FreeNAS, I also installed Fuppes so that I could stream media from the NAS to my XBox 360.  These instructions were invaluable for installing Fuppes.

I also wanted to configure the server allow AFP (Apple Filing Protocol), so that the Apple computers in the house could use that instead of NFS, which would be more inefficient.  These excellent instructions for configuring AFP on Ubuntu worked flawlessly. 

Once I get my replacement drive back, I’ll work on the following:

  1. Put all 3 x 1 Terabyte drives into a RAID 5 configuration
  2. Enable the server to act as an iSCSI target.  This is important, because my personal Macbook can then read data from the iSCSI target, which will be treated as a local drive, which means that Mozy (the online backup service I use) will back up the data.
  3. Burn (once again) my complete CD collection to the NAS.  Unfortunately, with the last disk failure I lost all of the MP3′s that I had burned.  In any case, I want to now burn them in a lossless format.
  4. Configure the NAS to act as an iTunes/DAAP server so that music could be streamed to any device in the house.
  5. Move this server into the basement, because it sounds like a rocket engine in my office.

Wireless – 0; Wired – 1

April 4th, 2009 | No Comments | Posted in Networking, Personal, Technology

This afternoon I worked on one of the projects that I had earlier mentioned.  I decided to abandon trying to get WDS (Wireless Distribution System) working between my office on the 2nd floor and the home theatre in the basement.  Instead, I bought a 100 ft of Cat 5e cable and just ran the wiring from the outside of the house.  In my office and in the basement I have Netgear GS105 gigabit switches, so the connectivity blows away any wireless network that I could’ve set up.  It took about 3 hours or so to run the wire, tack it down, cut drywall, punch the wiring into the adapters, but I think I would have spent a lot longer trying to get WDS working correctly.  So, what’s the net result of this wiring job?  Well, now we can finally watch movies from our Instant Queue on Netflix via the XBox 360 on the plasma TV downstairs.  Oh, that is, of course if I actually had time to watch TV.

Twitter: Blogging for the Lazy?

April 3rd, 2009 | 2 Comments | Posted in Technology

Ever since I have become more active on Twitter, I am finding that I am reading fewer blog posts.  What is even more worrisome is that it seems like a lot of people who zealously jump into "tweeting"[1] start to blog less.  This is troubling, to say the least.  Several people who I follow on Twitter will make comments in multiple 140 character tweets[2] in order to communicate their message.  This is flat-out wrong.  If you can’t tweet what you want to say within 140 characters, then it shouldn’t be tweeted in the first place, but should rather be blogged.  Certainly, it is easier to just blast away a 140 character comment than it is to write a couple of complete sentences on a blog.  Plus, the immediacy and ephemerality of tweeting does have its own appeal.  But just like SMS or IRC before that, Twitter should be used for ideas and thoughts that are not intended to be perdurable.   

[1] "Tweeting" is the act of submitting a message on Twitter.
[2] 140 characters is the maximum allowed per tweet.

P.S.  I can be followed at http://twitter.com/pbrao

Upcoming Projects

March 24th, 2009 | 1 Comment | Posted in Personal, Technology

So, my wife and son will be going on a little vacation in April.  I will have 7 days to myself including one whole weekend.  This is the ideal time to spend some serious time on one of the many mini-projects I’ve been working on or have planned.  The projects include:

  1. Configuring the home network correctly for the WDS (Wireless Distribution System) so that the main wireless access point in my office can communicate with the wireless access point in the basement where the XBox360 and home theatre are.  This is key for being able to watch Instant Movies via Netflix.
  2. Instead of #1, run Cat 5e cable from my office to the basement.  The challenge with this is running the cabling itself.  Ideally, I would like to run it inside the house, but that may be beyond my skillset.  I am leaning towards doing this instead of #1, because it will be very reliable.  I have had a lot of issues with the WDS implementation by DD-WRT
  3. Work on my little Contacts application on Google App Engine using Django.  I think I’ll probably start this over from scratch, since it has been so long since I worked on it.  Without having a concentrated, focused amount of time on this, I just don’t seem to be able to make much progress.
  4. Work on creating some video-casts showing how to setup the Cisco Unified Computing System (UCS).  I haven’t seen any video-casts that cover the basics of UCS, so I think it would be useful.
  5. Create a presentation that summarizes the state of cloud computing focusing on the types, definitions, resource pointers, etc.  Though there are a lot of presentations already about cloud computing, this would be more an exercise in self-edification.

Amazon Cloud Hosting

March 23rd, 2009 | No Comments | Posted in Cloud Computing, Technology, Virtualization

I have been meaning to play around with creating a virtual machine instance on Amazon Web Services  for quite a while now, but I saw this guide from Dave Winer and decided to give it a whirl.  It took me about 30 minutes from start to finish to get a brand new Windows based image created and started on Amazon’s cloud using EC2 and S3.  This is just simply amazing and drop-dead simple.  Why anyone would want to host their web application on their own hardware is beyond me.  Amazon has made creating a virtual machine image almost as easy as ordering a book.  Because I had my virtual machine instance only turned on for a few minutes, this little exercise cost nothing.  I would strongly urge every technical person to try this out, just for the mere sake of seeing how simple. powerful and disruptive this technology is.  Using Amazon’s cloud services is still too expensive (about $90/month) for hosting a personal weblog or something like that, but it is an ideal candidate for a startup that needs hosting services with minimal operational management overhead.