Build Your Own DIY Sonos System on the Cheap

by Al Bsharah | 06.27.2010 01:18 PM | Comments (0)

Sonos-Airfoil-Logo If you’re unfamiliar with Sonos' fantastic products, go ahead and have a gander at their website.  Synchronized music, in multiple rooms in your home, wirelessly, and controllable via your iPhone.  Epic, right?  Unfortunately, at a price that’s out of range for many every-day music enthusiasts.  This article will show you a way to get similar functionality with existing equipment and some very cheap software.

Let’s say for example that you wanted to control music in two different rooms.  One room has an amp and speakers (i.e. Home Theater), and the other room has just speakers and no amplification.  Sonos’ cheapest bundle includes a controller and two-room system for $999.  Or, if you wanted to use your iPhone and don’t need a controller you could purchase a ZP90 ($349) for your Home Theater and a ZP120 ($499) for your speakers.  That’s still $848.

My system does nearly the same and only cost me $25 and two old laptops I had laying around (a Compaq Presario 1800T and a Dell Inspiron 8500).  You could use old desktops, laptops, even your iPhone or iPod Touch can act as a speaker (…or AirPort Express, or Apple TV, or Windows, or Linux, or Mac)!  It’s infinitely expandable, works flawlessly, and you can be up and running in as few minutes as it takes you to install some basic software.

My Compaq Presario 1800T was released Circa 2001 and has an Intel Pentium III that’s less than 1 GHz.  My Dell Inspiron 8500 was released Circa 2003 and has an Intel Pentium IV 2.4 GHz processor.  The point is, you can use old hardware that you have no other use for.  That Presario isn’t good for much else these days!

The trick to all this is actually quite simple, and this simplicity comes from a strangely named company Rogue Amoeba.  In fact, their tagline is “Strange Name.  Great Software.”  With this, I must agree!  So, on with the how-to:

Things you’ll need:

  1. A music source (iTunes, Pandora, Web Radio, whatever)
  2. If you’re using iTunes, an iPhone or iPod Touch will give you a nice remote control
  3. To serve up your music: Airfoil for Mac or Airfoil for Windows
  4. To listen to your music remotely, any combination of the following: a PC, a Mac, a Laptop, an iPhone or iPod Touch, a Linux Machine, an Apple TV, or an AirPort Express
  5. About 20 minutes.  Seriously, this won’t take long.

My set-up includes the following, and is what I will be describing below:

  1. Music Sources: iTunes Library, Pandora
  2. Remote Control: iPhone
  3. Server: Airfoil for Windows
  4. Speakers: Compaq 1800T, Dell Inspiron 8500, and an iPhone connected to a music dock

What do do:

First, download your Airfoil Server (Mac or Windows).  This will eventually cost you a whopping $25, but the trial version will work fine for now in order to test (it will inject noise after a certain amount of time).  It should be installed from the machine that is going to be the source of your music (i.e. where your iTunes library is).  For me, it’s on my main office desktop.

Second, download Airfoil Speakers for whatever systems you’re going to be broadcasting your music.  Launch the application on each system.

Third, launch Airfoil Server and select the application you’d like to “hijack”.  Hijacking may require that Airfoil restarts the application so it may distribute the audio source throughout your Airfoil Speakers. 

Airfoil-Server-Control-PanelOnce launched, you will see a small control panel listing the speakers you can connect to.  In the screenshot to the right, you will see that my local server (Computer) is active as well as my Living Room (INSPIRONLT7).  My iPhone and Bedroom (COMPAQLAPTOP) are currently inactive and not transmitting (but they are turned on and available).  You can click the blue/black speaker icon on the left to stop/start a system from broadcasting.  You also have individual volume controls for each room to the right.

Fourth, if you don’t already have it installed on your iPhone download the “Remote” application from Apple, Inc.  This application allows you to remotely control iTunes from your phone!

Fifth, kick back and enjoy your tunes throughout your house.  You could be relaxing in the backyard using your iPhone to control iTunes in your office which is broadcasting to everyone at a BBQ located in your living room, outdoor patio, and kitchen.  No kidding!

I’m guessing that might have actually taken you less than 20 minutes.  <chuckle>  I told you it was easy!

Tweaks:

In my setup, I simply power up a laptop and it will automatically start playing music when loaded.  There are two simple steps to accomplish this:

  • In Airfoil Server settings, tell it to connect automatically whenever a source goes on-line.
  • On each laptop, teach Windows to log in automatically instead of prompting you for a username and password.

Jukebox, anyone?

iTunes-DJ-Jukebox Have you ever wished you had a jukebox in your house?  Your friends could simply select the songs they WANT to hear, and voila…the jukebox will play them.  I’ll one-up you on that request.  This is likely one of the greatest and least known/used features of iTunes and it’s called iTunes DJ.

Anyone with an iPhone or iPod Touch can connect to your iTunes music library and “favorite” songs that they’d like to hear played (simply give them access to your WiFi and tell them to launch the Remote app).  Additionally, if multiple people favorite the same song it’ll rise to the top of the playlist!  It’s truly a fantastic party tool. 

Considerations:

  • There will be a couple-second delay in what’s played from iTunes and what’s broadcast throughout your house.  This is so the system can buffer a few seconds of music in case there’s a hiccup (it can quickly recover while maintaining synchronization amongst all of your speakers).
  • You can only play a single source of music at a time across your speakers.  For me, this is not a big deal, but might be an issue for some that want to have iTunes playing in one room and Pandora in another.

How do you handle your music distribution throughout your home?  Are you doing something similar, vastly different, or unique?  Tell us all about it in the comments!

29d6e7f7d8b4412d9c1d255267df78ec

Share | | |

BlogEngine.NET YouTube Video Extension Updated to Version 1.2

by Al Bsharah | 05.11.2010 12:07 PM | Comments (0)

Hi folks, thanks to Dobin Fernandes I've modified the original posting of the YouTube Extension for BlogEngine.NET to include his code changes.

The changes include one of the most heavily requested features, which allows you to post YouTube Videos into "Pages" within BlogEngine.  So, they're no longer just limited to blog posts!

My next goal is to get Dobin to figure out how to apply this code to RSS feeds, so they also get embedded videos.  Hopefully he'll grace us with some additional code!  Thanks again for the efforts, Dobin!

YouTube Extension for BlogEngine.NET

Share | | |

Tech Geek Fun Photos from 2009

by Al Bsharah | 02.21.2010 10:52 AM | Comments (0)

It's rare that I post anything personal related, but I decided today to share some random Tech, Geek, Fun, or whatever-related photos that I took in 2009.  See?  It's sort-of business and/or technical in nature! 

You can watch via slide-show, or view them one at a time below.  I also included something extra that makes me (for some strange reason) laugh uncontrollably.  It's a YouTube video at the end of this post.

 

Share | | |

A Better Twitter Widget for BlogEngine.NET 1.6

by Al Bsharah | 02.02.2010 10:04 PM | Comments (12)

UPDATE 05/01/2010:  Per Donovan Olivier's Suggestion, I've updated this widget to fix a problem in displaying Twitter usernames with an underscore in them.  Thanks Donovan!

I made some tweaks today to the new Twitter Widget that was released with BlogEngine.NET 1.6.  I noticed that @User and #Hash tags were not linked up, so I fixed that.

Below is the code you need to modify.  Any GREEN code is new, any BLACK code is code that was already there.  Should be pretty easy to cut/paste it in place.

Option #1: Download the version 1.1 widget.ascx.cs-v1.1.zip (2.90 kb) file directly, drop it into your site, refresh.

Option #2: Make the following changes in the file: <root>/Widgets/Twitter/widget.ascx.cs:

Comment this out, or remove it all-together:

//if (title.Contains("@"))
//    continue;

Add the two lines shown here:

twit.Title = ResolveLinks(title);
twit.Title = ResolveUserLinks(twit.Title);
twit.Title = ResolveHashLinks(twit.Title);

Add the green lines below:

    //URL
    private static readonly Regex regex = new Regex("((http://|https://|www\\.)([A-Z0-9.\\-]{1,})\\.[0-9A-Z?;~&\\(\\)#,=\\-_\\./\\+]{2,})", RegexOptions.Compiled | RegexOptions.IgnoreCase);
    private const string link = "<a href=\"{0}{1}\" rel=\"nofollow\">{1}</a>";
    //@User
    private static readonly Regex regex2 = new Regex("@[a-zA-Z0-9_]*", RegexOptions.Compiled | RegexOptions.IgnoreCase);
    private const string link2 = "<a href=\"{0}{1}\" rel=\"nofollow\">{2}</a>";
    //#Hash
    private static readonly Regex regex3 = new Regex("#[a-zA-Z0-9]*", RegexOptions.Compiled | RegexOptions.IgnoreCase);
    private const string link3 = "<a href=\"{0}{1}\" rel=\"nofollow\">{2}</a>";

Add the two green functions below:

    /// <summary>
    /// The event handler that is triggered every time a comment is served to a client.
    /// </summary>
    private string ResolveLinks(string body)
    {
        return regex.Replace(body, new MatchEvaluator(Evaluator));
    }
    private string ResolveUserLinks(string body)
    {
        return regex2.Replace(body, new MatchEvaluator(EvaluatorUser));       
    }
    private string ResolveHashLinks(string body)
    {
        return regex3.Replace(body, new MatchEvaluator(EvaluatorHash));
    }

    /// <summary>
    /// Evaluates the replacement for each link match.
    /// </summary>
    public string Evaluator(Match match)
    {
        CultureInfo info = CultureInfo.InvariantCulture;
        if (!match.Value.Contains("://"))
        {
            return string.Format(info, link, "
http://", match.Value);
        }
        else
        {
            return string.Format(info, link, string.Empty, match.Value);
        }
    }
    /// <summary>
    /// Evaluates the replacement for each @User link match.
    /// </summary>   
    public string EvaluatorUser(Match match)
    {
        CultureInfo info = CultureInfo.InvariantCulture;
        String user = Regex.Replace(match.Value, "@", "");
        return string.Format(info, link2, "
http://twitter.com/", user, match.Value);
    }
    /// <summary>
    /// Evaluates the replacement for each #Hash link match.
    /// </summary>   
    public string EvaluatorHash(Match match)
    {
        CultureInfo info = CultureInfo.InvariantCulture;
        String linktag = Regex.Replace(match.Value, "#", "%23");
        return string.Format(info, link3, "
http://search.twitter.com/search?q=", linktag, match.Value);
    }

And that should do it!

Share | | |

Categories: Development

Tags: , , , ,

BlogEngine 1.6 Released – Quick Start Help Guide

by Al Bsharah | 02.02.2010 10:34 AM | Comments (8)

BlogEngineLogoBlogEngine 1.6 was just released with substantial SPAM Filtering and Comment Management upgrades.  As well, a number of bug fixes and other new features have been included such as Multiple Widget Zones.

You should follow this upgrade process, but I’ve also added my own summary of the steps I took below.

  1. Make a backup!
  2. Copy your live web to a test web, if you have the ability to test on another URL.
  3. Download the 1.6 files on top of the 1.5 installation.
  4. Delete the ExtensionsManager folder.
  5. Change permissions on App_Data and Web.Config.
  6. If you were using Akismet before, delete the Akismet Extension (leave the new AkismetFilter Extension)
  7. Copy your original 1.5 .xml files from the App_Data folder back into the new 1.6 folder, but take care not to overwrite or delete anything new that was added.  Additionally, make sure you MERGE the settings.xml file as there were additional settings added.  The bottom line on this step?  Analyze the directories and file data to assure you're not losing anything that was added in (and required for) 1.6.
  8. Recycle or restart the web site
  9. Log in
  10. Go to the Extensions admin tab
  11. Disable the “Commentor” Extension if you were using it before (it’s now a part of the core)
  12. Enable the AkismetFilter Extension (if you were using Akismet before, make sure to enter your account information)
  13. Go to the Comments admin tab
  14. Under the Configuration sub-tab, update your settings the way you wish!
  15. Test your theme and other settings thoroughly (make sure you check your CSS in the upgrade process provided by the BE folks)
  16. If all’s well, copy the temporary site to your live site and re-test!

Enjoy the new system.  I’m curious to see if I’ll need to re-add the CAPTCHA Solution, or if this new build will mitigate most SPAM. 

How has your upgrade gone?

Share | | |

Add CAPTCHA to Your BlogEngine.NET Installation - Reduce SPAM!

by Al Bsharah | 01.24.2010 06:03 PM | Comments (4)

UPDATE 02.21.2010:  Michael's post was updated to include a minor tweak required for BlogEngine 1.6 support.

no-spamI’ve gotten a fair amount of attention regarding a post which details ways to reduce SPAM within your BlogEngine installation.  Yesterday, I received a comment from Michael Ceranski about a his adaptation of a CAPTCHA implementation

I’ve installed it here, and it seems to work quite nicely.  A well-done and seamless integration within the AJAX commenting system BlogEngine employs.

Nicely done, and THANKS!
(Check it out here if you missed the link above)

Share | | |

CenterBeam Named Winner of 2009 Outsourcing Relationship Management “RMMY” Award

by Al Bsharah | 12.02.2009 11:34 AM | Comments (1)

Recognized for Most Innovative Relationship Management in a Downturn Economy

SAN JOSE, CA - 12/02/2009

Official Press Release Here

CenterBeam, an IT outsourcing provider, was named the winner of the “For Better or For Worse” award on November 20, 2009, as part of the second annual Outsourcing Relationship Management Awards – the RMMYs – sponsored by the Outsourcing Institute and Vantage Partners. This award recognizes the service provider with the most innovative approach in helping its customers do more for less in a downturn economy.

Vantage Partners and the Outsourcing Institute established the RMMY Awards in 2008 to broaden the dialogue about the importance of relationship management in achieving value, and to raise the bar for the industry. “Effective governance and relationship management is what sets apart the outsourcing deals that deliver the greatest value from those that fail,” said Danny Ertel, a founding partner of Vantage Partners. “Many providers have learned that it takes more than a few good people to manage a complex relationship to its full potential. The RMMYs shine a much-needed spotlight on those providers that have gone beyond 'talking the talk' to actually investing in developing the skills, processes, tools, and metrics to manage relationships effectively.”

“CenterBeam has quickly become an integral and trusted part of the SEMI IT team and helped accelerate our cost reduction initiatives,” states Gil McInnes, CIO of SEMI. “What has impressed me most about our relationship with CenterBeam is their collaborative approach and willingness to bear the risk of our relationship with a short term contract where they are literally earning our business every day. We benefit from a consistent level of IT service and support that allows us to scale up or down on a monthly basis to match our employment levels.”

As the category’s inaugural recipient, CenterBeam was recognized for its ability to help its customers do more with less. “From its short-term contract, to its scalable services and fee structure to its collaborative relationship management approach, CenterBeam’s model impressed the RMMY judges with its ability to incorporate the flexibility needed to stay in step with its clients evolving business conditions, as well as the natural evolution of technology,” states Frank Casale, CEO of The Outsourcing Institute. “CenterBeam provides a noteworthy example of how a world-class managed service provider can partner with its clients for shared success, and certainly something we would hold up for other outsourcing firms to aspire to.”

Winners will be formally honored at an award ceremony as part of the Outsourcing Institute’s “Outsourcing 2.0 Roadshow” on December 3, 2009 at the New York offices of Morrison & Foerster. They will also be promoted at “Outsourcing 2.0 Roadshow” events throughout 2010, and be showcased on www.outsourcing.com. For more information and to register for the Roadshow series and event for winners, please visit: http://www.outsourcing.com/roadshow.

About CenterBeam
CenterBeam is an award-winning managed IT services provider with a rich service portfolio including PC management, hosted Microsoft® Exchange email, helpdesk support, and network and server management. CenterBeam’s focus is providing mid-sized businesses with Fortune 500-class IT management and services for a fixed monthly fee. CenterBeam’s partner designations include: Intel® Certified – Powered by SpikeSource®, Microsoft® Gold Certified Partner, Cisco® Silver Partner, Citrix® Certified Partner, Juniper® Elite Partner, VMware® Authorized Consultant (VAC), and VMware VIP Enterprise Partner. For more information, visit www.centerbeam.com.

About Vantage Partners
Vantage Partners leads the field of relationship management, building on more than 20 years of research and consulting experience with the world’s leading companies. A spin-off of the Harvard Negotiation Project, Vantage Partners helps organizations negotiate and manage their most important business relationships, with key customers, suppliers, and business partners. Vantage works with clients on specific relationships as well as on enhancing their institutional capabilities, to make effective negotiation and relationship management a repeatable process. For more information, please visit: www.vantagepartners.com.

About The Outsourcing Institute
Founded in 1993, The Outsourcing Institute (OI), located at outsourcing.com, is a neutral professional association dedicated solely to outsourcing. As one of the most influential and credible in the outsourcing space, OI is recognized worldwide for its intellectual capital, outsourcing practice expertise and unbiased thought leadership. OI’s commitment to innovation, along with its mission to advance the skills and knowledge of its membership, has made it the most respected and relied upon brand for the outsourcing marketplace. OI’s executive network, which is comprised of more than 70,000 professionals worldwide, looks to OI as the go-to source for outsourcing thought leadership, information and advice. www.outsourcing.com.

# # #

 

Share | | |

Microsoft and Apple - Still Playing Nice After All These Years

by Al Bsharah | 10.22.2009 02:47 PM | Comments (0)

I happened to be digging through my garage somewhat recently, and ran across my
Apple ][+ (of the Apple ][ Series) computer (and it’s green monitor, and dual floppy drives, and joystick, etc).  I’ll do an update to that experience later…  But for now, I want to share something for all the people out there who believe there’s some sort of cold war between Microsoft and Apple </sarchasm>

Microsoft-Apple-Play-Nice I was quite pleased somewhat recently when I purchased a Mac Mini and found that my Microsoft Wireless Mouse and Keyboard worked flawlessly with it.  Saves me the hassle and monetary pain of buying something Apple-branded…and I can just get a USB switch to swap between my PC and Mac.  Beauty!  “Apple and Microsoft are playing nice”, I thought to myself.

Then the garage project happened.  As I started digging, I found something that made me stare in shock and awe.

I don’t recall specifically what this chip is for, but I think it might have had something to do with when I upgraded my 48KB memory to a whopping 64KB.  Oh yeah, memory to the max people.  Regardless, I found a couple spare chips in my trip down Apple ][+ memory lane.  One of those chips happened to have both Apple and Microsoft inscribed on it!

Microsoft-Apple-Chip Amazing, I thought to myself.  Not only are they in secret cahoots today…but Apple and Microsoft have been scheming against us since the late-70’s and early-80’s!  How long has this conspiracy been going on?  How many other instances of this unholy union exist?  Remember Apple’s first programming language?  What do you get when you merge the names “Apple” and “Microsoft”?  Applesoft BASIC (confirmed to be provided by Microsoft)!  Oh, the humanity…

<chuckle>  It’s not so bad, is it?

Share | | |

Doing it Right: Wells Fargo Envelope-less ATM Deposits

by Al Bsharah | 09.06.2009 04:35 PM | Comments (0)

ATM Machine While I’m not overly thrilled with my long-term bank Wells Fargo, mainly because of their recent assault of unexpected monthly fees across all of my accounts (I do all of my personal and business banking with them, including my mortgage), there are some things they’re doing very well…and that’s what the focus of this article is about.

Today I deposited a number of checks into both my personal and business checking accounts.  I got my checks lined up, signed, and added up the totals for each account so I could fill out my deposit envelopes when I got to the ATM machine.  It’s a routine, really.

I got to the bank and was disappointed to see that the envelope dispenser was empty.  No, wait…it’s not even THERE anymore.  What?  I walked around the ATM with a confused look, half expecting the new envelope dispenser to jump out of somewhere and bite me.  I’m sure I entertained at least a couple of on-lookers.

Eventually, I spotted a sticker where the envelope dispenser used to be.  This ATM no longer requires envelopes, it exclaimed.  I stared in astonishment.  Then I got excited to see how this might have been implemented…and immediately got distracted by my own pessimism about how this is probably something to benefit Wells Fargo and not me (like the plethora of fees I now pay).

So, off we go.  I insert my first first ATM card for the account I only have one check to deposit…I figure I’d better go easy on this new system until I get the hang of it.  I insert the check, sans envelope, and listen to it churn for a couple seconds.  Poof, there’s a snapshot of my check on-screen including the amount of the check.  Yes, it read a hand-written check perfectly.  I clicked the green confirm button, and got a receipt…WITH an image of the check on it. 

<blink> <blink>

Wow, that was cool.  Ok, let’s see what it does with 7 checks at once.  Stacked ‘em all up (you don’t have to insert them individually) and shoved ‘em in.  Listened to the system sort the checks and start sifting through them.  In all, it probably took 10 seconds for the entire process and I was staring at snaps of my checks and amounts for each on the screen.  I confirmed and got a receipt with, you guessed it, all seven checks printed with amounts. 

Awesome.

I have to give kudos to Wells Fargo for a VERY slick system.  Not only does it remove my pain of having to fill out (or even find) envelopes, do math, and lick an envelope…but it also saves a few trees along the way, by entirely eliminating envelopes.

Now, if they would simply allow me to deposit my checks by taking photo of them via my Wells Fargo iPhone app, like USAA Bank…I might have to do a little dance.  Take a look at a video demo of what USAA is doing below. 

How is your bank making you happy?

Share | | |

Doing it Right: USOpen.org Video Stream

by Al Bsharah | 09.03.2009 10:30 AM | Comments (0)

For the 2009 series, the USOpen has launched an on-line video stream for all of their broadcasts that is magnitudes better than any other I’ve seen to date.  I’m sure there are some good ones I may have missed, but this one has fantastic features that can’t be overlooked.

This is a game-changing way to watch tennis.  First, I’m not the type of person who will go out of my way to watch the game, but have found myself doing so.  If I could do this with football or hockey?  Trouble in the making!  I hope to see other stations and organizations following this fantastic business lead.  Read on for the features…

USOpen Live Broadcast FeaturesThe stream is crisp, clear, and snappy to load up.  But that’s just the tip of the iceberg.  Once loaded, you’re presented with a number of options right on the screen:

  • View other courts (top left):  This displays video from all 5 courts that have feeds as well as scores, clicking on one will take you to that broadcast.
  • Game statistics (bottom left):  Aces, 1st Server %, Double Faults, Win % on 1st/2nd serves, Winners, Unforced Errors, Receiving Points Won, Break Pt. conversions, Total Points Won, Net Approaches.  Real time, ON SCREEN!
  • Fanbook (top right):  Sign up for an account, and you can comment on the match along the way…or just sit their and read if you don’t want to interact.
  • Picture in Picture (bottom right):  Yep, pick one of the other stadiums and you can watch a smaller stream of that!  Click the “swap” button, and voila…PIP is swapped.  Awesome.

Click on the image in this article to see a full-screen version of the stream with all four options expanded.  clicking them again nicely hides them out of they way.

Better yet, head over to USOpen.org and watch for yourself!

What additional features can I imagine?  The ability to view your own camera angles instead of leaving that up to the event producer, ability to tie into your Facebook or Twitter account so whatever you type in the “Fanbook” section shows up on other social media sites, an alert for an amazing play you may have missed on another court (with the ability to quickly catch a replay), the list goes on…  I’m looking forward to the 2010 version!

What additional features can YOU imagine?  Have you seen a better player out there?  Let me know in the comments…

Share | | |

RecentComments

Comment RSS

Calendar

<<  July 2010  >>
MoTuWeThFrSaSu
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

View posts in large calendar

Tag cloud