… to the cloud!!!

… to sound cliche.

boo-hoo’ing

So, my precious VMWare node, running on an old Dell 1850 died a couple weeks ago. I lost a drive. I had it set up with RAID0.  Yes, I’ll admit I was over confident. I was surprised how quickly that drive died, but I lost everything. I lost years of work: my SVN repositories, my Asterisk configs, my DNS records, the list goes on.

A good friend of mine said, “It’s time to go to the Cloud; It’s awesome.

He was right. In recent months, I’ve relied heavily on DropBox and more recently on Box.net, and even more recently on Microsoft’s Skydrive, but what was I going to do with my other services?

… back in my day…

It’s been so many years since I’ve run a server in my basement. Even before my kids were born.  I was one of the first people to get aDSL in Atlanta: this was when the phone company still did a truck roll to their customer’s house.  I ran a FreeBSD box, (I think 4.5), that did PPPoE with a really old 10Mbit switch.  Ever since then, I had a box in the basement doing things.  I used to run mail servers, web servers, media servers, network drive, internal DNS, and even an Asterisk PBX.

Continue reading

the family wiki

I’m surprised about this. I’ve been posting on Twitter and Facebook how I was installing the Confluence at home and several people specifically asked me if I would blog about it. After running everything for a week, I’m finally ready to put it up.

So, what is a wiki (from wikipedia):

wiki (pronounced /ˈwɪki/ WIK-ee) is a website that allows the easy[1] creation and editing of any number of interlinked Web pages, using a simplified markup language or a WYSIWYG text editor, within the browser.[2][3] Wikis are typically powered by wiki software. Wikis are often used to createcollaborative websites, to power community websites, for personal note taking, in corporate intranets, and in knowledge management systems.

We have used one at work for years and it’s an important tool for documentation and for keeping important things for a group out of someone’s email box. I’ve gotten to rely on it.  My wife has been working with a company and keeping notes on a running Word doc, and I’ve been really wanting to set up a wiki for at home.  The challenge was that I don’t think my wife is willing to learn wiki markup language while trying to work, so I needed something that was as easy to edit and create as Word is.  At work we’ve used Confluence, which is an enterprise class wiki.

What is Confluence?

Confluence is a simple, powerful wiki that lets you create and share pages, documents and rich content with your team.

If you’re looking for a better way to collaborate, Confluence has the essential enterprise features for your organisation.

But wait, you say… isn’t enterprise class software expensive?  Right, yes… you are correct.  But the company that makes Confluence offers a license that is palatable for the home users; they offer a 10 user license for $10 a year! You can’t beat that!

the setup

As you may or may not know from previous posts, I have an old FreeBSD box and a VMWare ESXi server on an old Dell 1850 in the basement. I created a new VM using CentOS 5.4.  I installed the latest JRE / Jaa from Sun on it and took off. It didn’t work out so smoothly. Here’s what I did to get everything working.

  • I had to upgrade MySQL on my FreeBSD host to the latest to match the version of the JDBC driver onon the VM/Confluence server.
  • I had to add an option to my MySQL startup so that I was able to update plugins.
    • mysql_args=”–max_allowed_packet=32M”
  • By default, Confluence comes with a version of Tomcat and runs by default on port 8080. I used my router to remap that to 8000 so I had a modicum of extra security. http://my.wiki.com:8000/ <- nope, that ain’t really it!

So if you come any errors with your Confluence plugins, check this option for you mysqld.

now we’re running

So now we are running. Here’s what I did:

  • Created a space for me, my wife, and our family.
  • Created a user group for our family, and a group for the people she’s working with so I can get granular with the permissions
  • Created a space for our family
    • Confluence has a plugin for Google Calendars. We have a family Google Calendar which now displays in the family space.
    • I also have an RSS feed for local weather and news

lessons learned

  • Make sure ALL your versions match up
  • If you are using IE8, to get the rich text editor, make sure you use Compatibly Mode.
  • Have patience with your users. It’s a different way to think about documentation and collaboration.
  • Be very helpful. Comment on the other spaces in positive ways.
  • Learn the macros!
  • Learrn about RSS
  • TAG/LABEL all your posts!
  • Every user must create “their personal space” for blog or news posts. <- allows quick-hit posts!

The performance on the VM is great. In fact it is better than I anticipated. If you were hard pressed you could probably run everything on a single host for just a family.  I love being able to display our Google Family calendar, (you can not edit it).

the result

We use it.  It is really handy and as long as we use it and it’s easy to edit and collaborate, we are in business. If you have questions, suggestions, or comments, let me know!

G1 Update – training

A couple of things I love about my G1 is that I have been using it as a training aid.  It’s really great.

  • I use it as a stop watch.
  • I use it to map my runs and my rides
  • I use it to listen to streaming audio when I’m outside
  • I use it to collect stats about my routes

The two apps I use the most for training are CardioTrainer and StreamFurious.

CardioTrainer is really slick.  You can choose your various types of workouts, have it report back to you your intervals and pace.  It will overlay your route on Google Maps and when done give you stats like elevation, overall pace, etc.   Then it will upload your route to their website and if you were so inclined, it will put it on your Facebook profile.

Now, while I am running, I could be listening to my mp3’s but what I love to listen to is streaming audio from the web.   Specifically, I enjoy listening to Radio Paradise via Stream Furious.

You can listen to RP using just about any computer audio player, and on a wide variety of other devices, including iPhones, Blackberrys and Windows smartphones. You don’t need to register with us in order to listen, and we don’t charge subscription fees — even for our highest-fidelity streams.Speaking of high fidelity, we pride ourselves on providing some of the best-sounding audio you’ll hear anywhere. Try one of our high quality streams (192k MP3 or 128k AAC) on a good pair of headphones or a decent audio system. We think you’ll be impressed. Several of the world’s most respected audio engineers and producers have given RP’s audio quality an enthusiastic thumbs-up.

How do we do all of this without charging subscription fees or inflicting advertising on you? The key is in those two words underneath our name at the top of the page. We do our very best to keep you entertained, and if we succeed we ask you to send a little support our way. Click theSupport RP link for more information on how that works. You can also send support our way by shopping at our Affiliate Merchants (Amazon, iTunes, and many more) or by buying some of our Shirts & Stuff . Thanks a bunch.

Instead of using the phone’s headset, I use iPod headphones so I don’t have to have the Lose Weight Exercise of the mic bouncing around.

It’s neat to realize that I have this going on my phone while I am out running.

I also started using DailyMile.  I used to use Gyminee, but since I started doing Crossfit, I didn’t have a great way to record my workouts in Gyminee.  So now that I am running regurlary again, I plan on using DailyMile.

Fitness Training Log

So couple my phone with my HRM, (heart rate monitor), I got some really powerful training tools.

return of my G1

The big update

Last night I realized that I hadn’t posted that I had gotten my T-Mobile G1 with Android on it repaired and it’s back in business, baby!  Actually, I hadn’t posted much of anything in some time.

Anyways,  I did get it fixed.  I had the broken LCD replaced by a local shop.  Apparently, most higher end cell phones can be repair.  So I had gotten it back right after Cupcake came out.  After some prodding I decided to go ahead and “root” my G1 and install some custom ROM’s.

Am I glad I did!

rooting

First off, it was really easy.  Second, you can have your apps on your SD card and just go nuts.  I have a 2GB SD card and have made a 600MB partition (using ext3) for apps.

If you are interesting in rooting your G1, here’s where you can get started:

  • Ultimate Guide 2 Root, Recovery, Partition, Radio, SPL, JACHeroski, Tips

If you follow the first three sections, you are on your way to get your custom ROM, (be sure to install the radio, too).  I couldn’t partition my SD card as described so I took the lusers way out and used a Partitioning program to make the following partitions on my SD card:

  • FAT32
  • ext3
  • Linux swap

the roms

If you were able to get through the directions, you are probably ready to install your custom ROM.   There are several to choose from, each with their loyal of armies.  The most popular seem to be:

  • CyanogenMod
  • JACHeroski
  • JesusFreke

There are a couple of others but I don’t have any experience with them.  At first, I used JesusFreke’s ROM, but now I am using Cyanogen’s ROM.

coolness

What I think is cool, is that these ROM’s unlock the true potential of the Android OS.  No one is trying to get something for free to crack the apps.  Rather, they are all adding functionality and features that were not in the original release.  For example, these guys figured out how to get the phone to use linux swap, and then they figured out how to use Linux kernel modules for even better performance.

And yes, I do like my G1 better than the iPhone.  But that’s another post!

T-Mobile G1 vs. the iPhone

I’m sorry I didn’t come up with a more catchy title and hopefully this won’t be another plan ol’ comparison between these two phones.  What, you say?  Why would this one be different?  Well, I own both phones.  More specifically, I got my G1 on launch day and have loved it ever since.  At the beginning of April, we were on family vacation and I dropped my G1 with such force, I broke it.  I had the G1 BEFORE the iPhone…

Grief

I found myself going through the “Seven Stages of Grief” over the phone.  This was the first smartphone I had bought myself and my first phone with a real dataplan.

Typically, the seven (7) stages of grief are described as:
– Shock or Disbelief
– Denial
– Anger
– Bargaining
– Guilt
– Depression
– Acceptance and Hope

Sometimes, people speak of five (5) stages of grieving, putting together:
– Shock/Disbelief and Denial
– Bargaining and Guilt

Depression

I was using a crappy Samsung phone during my “depression” phase.  I then learned that the G2 might be coming out this summer so I didn’t want to spend over $200+ for a new G1.

Acceptance and Hope

I began my search for a 1st gen / 2g iPhone.  I wanted to jailbreak and unlock it so I can use it on T-Mobile’s network.  I was able to find via Facebook from a friend and we struck a deal and I got a new (used) iPhone.

It’s been about a week and I have been playing around with the iPhone a lot.  It is jailbroken and unlocked and I am able to use it with my T-Mobile G1 account just fine.

Now that I have both, I feel that I can give a good comparison between the two.  Furthermore, I had my G1 first, before I had any iPhone experience.

T-Mobile G1

I loved this phone.   Here’s a list in particular order of things I really liked:

  • Sliding Menus
  • Run multiple apps
  • Google Gmail/Calendar/Contacts Syncing
  • Online community
  • Google Maps, Tracks, and Latitude
  • Could use most web-based iPhone apps.
  • More utility based apps in market
  • Cool GPS apps

And here’s some things I did not like about it:

  • It would “hang” switching back from using the web browser.
  • Too many “Tip Calculators” in the market.
  • No way to see if an upgrade to an once free app now costs money
  • Battery life, battery life.
  • No Exchange support.
  • Did I mention Battery life?
  • Not able to integrate with iTunes
  • Wouldn’t work with my office’s Corporate Wifi, (could only get Edge in the building).

The G1 was otherwise a killer phone, in my opinion.  The sound quality was good.  There were plenty of apps that changed default behavior.  I liked the keyboard a lot, but I wish it did have an iPhone like keyboard; it was somewhat cumbersome to slide the keyboard open and wait for the screen to refresh with the new orientation.  There were plenty of fitness-type apps, too.  Each one improved upon the previous.

2G iPhone

To be clear, I now think the iPhone is also a killer phone. A list of my likes:

  • Seems much faster than the G1
  • The internal memory is shared between apps, iTunes, photos, etc
  • iTunes!
  • All my iPod accessories work!
  • The store is easy to navigate and sort between free and paid apps
  • Twitterfon!
  • Supports Microsoft Exchange via OWA
  • WiFi works great.

And my list of dislikes:

  • Only one Exchange account can be configured.
  • Browser doesn’t default to “mobile” site

I originally had some apps on my list of “likes” that I removed since it is only a matter of time before the Android version of the apps start showing up.

And that’s about it.  I realize it looks like I like the iPhone better than the G1, but that isn’t the case.  The way I see it, the iPhone has been out way longer and has way more exsposure than the G1 and Google Android in general.

Verdict

Both phones are killer in my opinion.  But I do like Android bettern than the iPhone OS.  And that might be since it’s linux based and just sort of feels right.  But I am enjoying my iPhone and I do plan on getting a G2 but I may not be in as big as a hurry as I was before.

vmware esxi @home

I’ve been getting a bunch of emails about the progress I’ve been making on my VMWare ESXi server.  I figured it might merit a post.

So far, I got three VM’s each running CentOS 5.2.  One is a ZenOSS installation, one is a Trixbox installation, and one is a stock linux install that I plan to use for Web and PHP developing.

What’s interesting about the 3rd on, is that I cloned it from a snapshot of the first one.  But now I’m getting ahead of myself.

First off, in answer to most of the questions, I am experience NO problems with my Trixbox install.  Keep in mind, I am using RAID 0 with three 72GB SCSI drives in a Dell 1750.  These are NOT IDE drives.   I noticed no stuttering or voice quality issues.  Second, keep in mind this is for our home and not a busy office.

Interestingly enough, my biggest problem has been power outages.  The power goes off and the box goes down but comes back up.  I don’t know of a way to automatically power on the VM’s or start them from the command line.  If you know, let ME know please!

The second question I get is, how’s my power bill.  Actually, it seems fine.  My wife hasn’t said anything about it being high or abnormal so “mums the word.”

VMware, Trixbox 2.4, and Viatalk

As I promised, I’d update more often about some of the things I’ve been working on.  In my other posts, I’ve been playing around with VMWare ESXi in my basement on an older Dell 1750.

I had a couple of goals.

  • Update my Trixbox (Asterisk) installation
  • Run SpaceWalk
  • Run ZenOSS
  • Have a linux utility box
  • Screw around and push VMWare’s ESXi until it cried for mercy

Update my Trixbox (Asterisk) installation

I still get a lot of traffic to my site since I have some detailed instructions for setting up ViaTalk with Trixbox.  Some time recently, my current server, version 2.2 stopped working reliably.  The Tin Foil hat crowd pointed their fingers at Comcast but I couldn’t buy that in my hearts of hearts.  Sure enough, ViaTalk updated some of there settings and I could get my Trixbox installation working about 50% of the time.

So, version 2.4 has come out.  So I started fresh.  All my VM’s are 2 CPU’s with 4GB RAM.  ESX|ESXi does a great job of abstracting the amount of memory so even thought the OS sees all 4GB’s, the VM is really only taking up about 150MB’s on the hypervisor; YMMV.

After screwing around (the back up and restore method DID NOT work), I finally got a “golden image.”  I got in the habit of snapshotting my VM image so I could always roll back if need be instead of suffering another complete install.

I have my VM’s to have their filesystem on the drives in the 1750, but the swap is actually served off NFS on my Freebsd box, (you might ask yourself why I did this.  Remember, I wanted to see the breaking points of the VM’s so I did some things intentionally that would create some overhead).

I got everything set up and it worked great… except on tiny thing.  Now, I have to have:

Allow Anonymous Inbound SIP Calls?
** WARNING **

Setting this to ‘yes’ will potentially allow ANYBODY to call into your Asterisk server using the SIP protocol

It should only be used if you fully understand the impact of allowing anonymous calls into your server

set to “Yes” in order to receive calls.  Otherwise, callers get “This number is not in service” when they ring our number.    It took me awhile to find this.  It’s in the General Settings.

I have to say that it is working MUCH better.   I tried to run Trixbox under Microsoft’s Virtual PC about a year ago and it sucked.   Granted, the Dell 1750 is much different than my powerful, homebuilt WinXP desktop, but I must admit that I was a little skeptical.

Even setting up my Cisco 7960 was easy.  I did have to refer to my older posts trying to remember how to unlock my phone.

The Rest… more to come…


The rest of the items I mentioned will come in other posts, otherwise I might be here all night.

Ruby, SEO, and CSS… or how I spent my time off…

If you have been following along, you’ll know that I’ve been out of work since October.  I’ve been really busy, though.  I’ve enjoyed spending time with my children and my wife.  I’ve worked on projects around the house, (I made a bench out of scrap lumber), played around with technology (getting around to all those software updates I’ve been putting off), and I’ve been hitting the books.  Oh yeah, I’ve been doing some consulting on the side, too.

One of the things I really wanted to sink my teeth into was the whole Ruby on Rails things.   It’s been a while since I did any heavy lifting in Perl or even shell scripts for that matter.  I used to be into PHP before version five, but with most things, if you don’t use ’em, you loseWeight Exercise them.  Now, it’s not completely wasted.  I can open a script in Perl and PHP and quickly figure out what’s going on and make changes to suit my needs, but writing something from scratch really made the rusty gears turn and cobwebs fall away.

One of my biggest challenges is coming up with a project to do.  There are so many “solutions in a box” out there by fantastically smart people released as Open Source.   It’s an easy temptation not to reinvent the wheel.  Okay, so back to Ruby on Rails.  I bought a book, that turned out to be pretty crappy.  Except I didn’t know it was crappy, I thought I was too dense to grasp it.  Then I had a friend explain the whole MVC framework.  A light bulb went off and I began to understand concepts that I hadn’t seen before.  The book was still a crappy book, but now I had better direction in trying to find a book that I would personally find useful.  I did.  I found two both by the Pragmatic Programmer series. They got to me.  I understood it.  And while I lack sheer experience, I know enough to be dangerous.  I know where to look in a reference to do what I want.  I also know how to search for answers based on my questions, (sometime you got to know how to ask).

In a completely unrelated conversation with a new friend, we were talking about web design.  He said, “Oh yeah… we use CSS for everything.  You know, instead of using tables and frames like they used to in the old days.” Like in the “old days?”  Was I really living in the old days?  HTML was one of the first languages I had learned.  I think that was around version 3.2 and I had one of those “Teach Yourself HTML” books.  And while I wouldn’t consider myself a complete master, I had chops.  But… this comment made me rethink myself… What did he mean “instead of tables and frames?”  I stopped using frames years ago.. but tables?  I used them all the time.  What on earth did he mean?  I became obsessed.  Now, I knew about CSS and how to change colors and fonts and alignments… but what was this… what sort of wizardry was he talking about.

Seriously, I became obsessed.  I tried to read all I could on CSS.  I found more crappy books.  Nothing gave me the answers I wanted.  Until, that is, I found the O’reilly book and that changed my life.  I got it, it was clear… crazy and zen-like webpages polluted my mind.  I can’t wait to get into some hight-art CSS’ing.  I have found what I was looking for… the missing piece in my webdesign toolbox!

This is all very exciting for you, I am sure.   If you manage to stay on this page, then you are in for a real treat.  One day, when I was the bookstore, a guy came up to me and asked if I knew anything about the Internet.  I smiled sheepishly and said something like, “Yeah, I know a little about it…”  It turned out, he was a contractor, like a handyman-type of contractor and he had a website.  He was interested in SEO (Search Engine Optimization).  His “web guy” didn’t know anything about it, so he decided to take matters in his own hands.   We talked for a while and I tried to recommend him a book.  I found one, leafed through it and said it looked pretty good.  He asked if I had a card, and I said I didn’t and we parted ways.  I was worried I had given him a bum steer so I looked up the book on Amazon and I was surpised to see it was one of the highest rated books on SEO.  I felt good that I gave him some decent advice.

Since then, in my job search, I’ve seen posting after posting for “SEO Experts” so I figured this would be a skill I should learn about.  I was able to find the recommended book at the library and I just started reading it.  You know, I thought I knew a lot about that, but I was very happy to see  that I had lots more to learn.   I’ve enjoyed this book and am going to make some changes to my website, (as it is, I wasn’t far off.  When I view my stats for my website, I was surprised to see how highly I rank in the search engines for topics covered here!).   Am I an expert yet? No, I’m not.. but I think I know a heck of a lot more than a lot of people… read on…

Another thing I have been enjoying, is that I took over my son’s school’s website.  I didn’t do the initial design, which is very good and using CSS, but I did have to get up to speed on it and understand someone else’s code.  I got in the habit of using Subversion to keep whatever I am working on.  The few websites I have been working on, are all stored in my Subversion repository.   I make my edits and then upload my new pages, and then commit everything to subversion.

Now, to gain some additional features, we are moving the school’s website to a new hosting provider, and the new provider allows ssh/shell access.  I’ve used this before, but I had one of those “A-ha!” moments.  If I have shell on the server, why can’t I use subversion to publish my changes on the site?  Sure enough, it works!  It works like this:

  • I have a separate SVN server.  On my laptop, I keep a local copy.  I make all edits on my laptop, verify my changes, (since my laptop is LAM(R|P)), upload my changes to the remote site via FTP, and then commit my changes to SVN.

Since the new provider  has SSH access, I just realized my life is so much easier.

  • I make sure I have the latest revision on my laptop. I make my changes, test them, and commit to my SVN server.
  • On my new webhosting provider, I SSH in and change to my site’s DIR and run “svn update” and viola! Site updated!

Okay, I am sure there are a ton of people doing this and I didn’t make any sort of breakthrough discovery.  But, this IS cool, since I am midway in migrating between providers.  It does make my life easier.

I also got into CMS (content management systems).  I have committed to moving the schools website to a CMS system since so many parties need to updates specific sections.  But that’s another topic entirely and I am going to have to do some hand-holding on this one.

Oh, and I did mention I was doing some consulting.  I enjoy it.  I’ve made some people really happy with my contributions.  So much in fact, my wife and I are in the baby steps of starting a business.  I think for right now, it is on the back burner until I find a steady job; we need benefits.

My final point on is that my experience is somewhat unique.  I worked with some of the smartest and creative people I have ever met in my life.   I’ve been inspired by them and learned from them, but back in the day, I did some hump-busting, too.   In my time off, I’ve discovered that my sweet spot is some balance between creativity, technology, and problem solving.  That’s what I like.

And in case you are interested, I am listening to “Ian Brown” right now.  He’s great!

Sound on Fedora fc8… SOLVED!!!

I apologize for lack of a snappy post title. I am just giddy to get my sound working… better than I had before. In my last post regarding my sound issues:

I mentioned how I finally got the OSS sound driver to work. It worked okay… not perfect. No where near perfect. Finally, I had enough. I finally figured out how to get everything working natively.

In my previous post, I mention that I have an Azalia SB600 and it has an ALC268 chipset. I read somewhere that you can recompile the kernel modules for the ALSA drivers. I began searching for some more specific clues and found this:

# yum groupinstall “Development Tools”
# yum install mercurial
# cd /usr/src

# mkdir alsa && cd alsa
# hg clone http://hg-mirror.alsa-project.org/alsa-driver alsa-driver
# cd alsa-driver
# hg clone
http://hg-mirror.alsa-project.org/alsa-kernel alsa-kernel
# ./hgcompile && make install

reboot!

I also modified the following line in modprobe.conf:

options snd-hda-intel index=0 model=toshiba

It worked! I couldn’t believe it. How easy! I spent hours on this in the past. Granted, finding this solution took some work, but I am very thankful.

Edit: 01.16.08: I happened to see others with Toshiba laptops that had sound problems over at the Fedora Forums. For reference, I have a Toshiba A215-S7411 with the ALC268 chipset.

Fedora Werewolf (fc8) on toshiba laptop… the sound saga

Following up on my previous posts regarding my new Toshiba A215 laptop with the goofy sound card :

In my previous posts, I mentioned that I was having a hard time getting the sound working under linux/fedora. In case you don’t know, FC8 uses Pulse Audio which is new. There have been reports of various sound problems related to permissions, users, and other items.

  • Fixing Broken Sound in Fedora

Out of the box, Fedora is using ALSA sound drivers. For all intents and purposes, every looks like it should work.

  1. all daemons start
  2. sound card is detected
  3. kernel modules are loaded
  4. test sounds appear to be played, yet no sound is heard

I even went as far as downloading the source for the ALSA drivers since I had seen some mention of a bug with my sound card I have an Azalia SB600. I lived with it for a couple of weeks now and I was really missing my music. So, one a whim I tried the OSS (Open Sound Service) drivers. Any you know what? It works.

Now, it doesn’t work like you’d think. Pulse Audio doesn’t appear to use it and Gnome doesn’t find any sound cards, (Actually, Pulse creates a faux ESD process that Gnome uses). Who cares. I got sound and it works good. All apps I’ve tested work; stand alone and webbased.

Ah, but how to control the overall master volume to direct sound only out to the headphones. The OSS drivers some with their own utilities. There is an ossxmix‘er that works superbly.

Still, not as easy as a Mac, but a lot of fun!