Sunday, December 7, 2008

Getting Up and Running With Adhearsion

As many of you know, I'm extremely interested in developing applications that use the open source telephony project called Asterisk. You also might know that I'm a HUGE fan of the open source project started by Jay Phillips called Adhearsion. It aims to make developing VoIP applications in Asterisk, object oriented, easier to maintain, integrates with Rails and makes the process of developing VoIP applicatons FUN once again.

In this screencast, I show how you can get up and running with Adhearsion in a just a 10 minutes. Sit back and I hope you enjoy the presentation. Please let me know if there are other screencasts in the area of new technology that you might be interested in learning more about. I have a lot f fun doing these (when I have the time) and have a few sample applications (one of the them is a click-to-call service), which I'm planning to do screencast on this the coming weeks. Enjoy!

Sunday, September 28, 2008

Asterisk Screencast

I've been learning and working with Asterisk for approximately the last 10 months. It's quite an amazing piece of software and I truly believe that it will change the way telecommuncations is done in the future. Along with Asterisk, I have been playing around with two very cool projects that interface with Asterisk - Adhearsion and Asterisk-Java. Both of the projects are aiming to solve similar, but yet very different problems in the VoIP space.

I submitted a screencast to the Adhearsion project showing how you configure and install Asterisk. If you are interested in learning more about Asterisk, you can watch my screencast! I had a lot of fun doing it and know that I'll be doing more in the near future.



If you are curious, I used screencasting software called ScreenFlow. It's hands-down one of the most fun pieces of software to use when doing screencasts. Look for more screencasts coming in the next few months on whole range of technology topics!

Thursday, May 22, 2008

Little Brothers Website Launches

As I blogged about a few months ago, I was a part of a local development competition called the F1 Web Challenge. The competition was held back in March and was a 24 hour competition where 10 teams of 8 technologists worked together to build a website for a different non-profit. Our team was Ruby.MN and our non-profit was Little Brother's Friends of the Elderly.

After the 24 hours was completed, we did have a "functioning website". However, there were still some things that had yet to be completed in terms of bugs, a few minor features and the "D" word.. deployment. I ended up taking on this task of working with Kathleen from Little Brother's.

Tasks

1. Setup and configure the website on a place that would host if for them.
2. Work on fixing any bugs that we outstanding in the code.
3. Working with other developers on the team to complete the implementation of some of the features.
4. Keep a central point of communication for people at the non-profit to deal with the changes on the website until we went live.

Well, I'm safe to say that we've finally made it!

http://www.littlebrothersmn.org


Over the past 2+ months, it's been a little slow going as I've been the main person taking on the responsibility along with running my software business. As it's been for a non-profit, this has all been work that doesn't pay me anything. I do wish to say that I tremendously appreciate the help that I have gotten since the competition from a few of the members of our team. Even though I took on most of the work, launching the site myself, there is no way I would have been able to get it completed without help from a few key people. Thank you.

Configuration/Deployment

A few things I wanted to note in my configuration and deployment.

Setting up the hosting was not a trivial as one would think. First, LBFE had an existing website that we could not take down as it's accepting online donations. It was hosted on GoDaddy and actually involved an SSL certificate, so the new site had to support SSL for online donations. GoDaddy likes to say that they support Ruby on Rails, but at last check that support Rails 1.1. That was not going to work for us.

VISI.com offered to host the site for 1 year for free as being part of the competition. After communicating with their support staff however, I got the feeling that they had never hosted a Ruby on Rails application. Hosting Rails is actually very easy, but we decided maybe we shouldn't be the guinea pig for VISI. Also, we had no information as to how expensive the costs might be next year. I think VISI is a great company for large companies, hosting large applications. They do good work, but they are not cheap. Thus, I would assume they would be out of the price range for your typical non-profit.

I have used RailsPlayground before in development and it was suggested by another person on the team that we look at using them. For ease of use and expertise on running Rails, we decided to go with RailsPlayground. I setup a "test" subdomain for us to use to test, since their "www" site should not be disturbed, get a new SSL certificate created at RailsPlayground (you can't transfer SSL certificates), and configure their DNS to make this all work, while not upsetting their email and existing website. Pretty basic stuff that I have done in my business, so it wasn't technically difficult, just time consuming.

Hosting Specifics

1. RailsPlayground supports using Mongrel, so we setup Mongrel to serve the site through Apache proxy.
2. RailsPlayground offers shell access, so I setup capistrano for the deployments.
3. Setup TRAC if needed for the bug repository and WIKI if in the future LBFE needs to submit bugs or create documentation.
4. I setup Subversion to manage all of our source code.
5. Created a nightly cron job to dump the database and backup all of the binary resources for the site.
6. Using Montastic to monitor the uptime of the website.
7. Made all of the DNS changes and worked with support to get the SSL certificate installed and working properly.

Just one note on RailsPlayground: I was a little weary of using them since I have actually used their services for a few years now for quick development applications on public facing sites that I didn't want to setup on my own Linux Virtual Server. To be honest, from my past experience I would not host a large scale production application with them. Their servers seem bogged down and run slow (even using mongrel and a few users) and I have had issues with major outages in the past. However, as it is with all virtual hosts, it depends on the machine you site is on. or more importantly who is bogging down the server. I can say though I have been pleasantly surprised running the LBFE site through them. In the past few months, the site has responded well and I been very happy with their lack of downtime.

Overall, this has been a great experience I think for everyone involved and I'm very happy with the outcome. I think it's a win/win for everyone. I've made some new friends through the process, learned more about Ruby on Rails development while working with some very bright teammates and a non-profit got a great looking new website out of the deal. Not a bad deal!

Sunday, April 13, 2008

IP Phone Install

Yesterday at our local Twin Cities Asterisk User's Group ( TCAUG.net ) we had the opportunity to do a real world, hands on, IP phone install at the client's business of the meeting organizer. What a great experience! The client is deploying 160, Polycom Soundpoint 301's at a newly acquired space within the same building.

In most cases, setting up an IP phone network is very straight forward. You can with DHCP and the default VLAN setting have the telephones actually download their configuration files from a local TFTP server. However, there was a bug in the boot-rom with these phones, so we had to do some manual configuration to get the system updated. The steps we took were.

  • Unpackage the IP phone
  • Boot the phone and select a static IP
  • Tell the phone the TFTP server to use.
  • Tell the phone the VLAN to use.
  • Reboot the phone and allow it to update itself.
  • Reboot the phone and reset it to DHCP.
  • Reboot the phone one final time and make sure it was assigned an IP correctly.
I actually had the opportunity over the past couple of day to help Eric do some of the line patching and installation of a plugs at the employee workstations. It was an awesome experience to get out in the field and work hands on with some new cutting edge IP phone technology. This install is using Asterisk on a 10 gigabit network. After we got the phone registered, our group played around with paging around 50 phone at the same time to see what sort of response from the Asterisk server. It turns out it didn't even break a sweat! Asterisk can scale very well in small to medium sized businesses. I'm looking forward to continuing to help Eric when I can with future projects, just to continue and round out my VOIP technology experience. I continue to see areas and new ideas of places where software can be used in these new IP based systems, but getting the chance to work, hands on with the phone and running hte lines is a lot of fun and something I have having a great time learning and working in.

Wednesday, April 9, 2008

Join Me At TCLUG

I'm bad at getting these messages out ahead of time, but wanted to let people know that I'll be presenting tonight, alongside two friends of mine, Jason and Eric, at the Twin Cities Linux User's Group (TCLUG). We'll be talking about Asterisk and the history/future of telephony using VOIP.
I'll be trying to hold my own in the conversation, since those guys are wizards when it comes to this VOIP stuff and deal with Asterisk everyday and run the Twin Cities Asterisk User's Group. I'll be talking more about the software integration that is possible with Asterisk using Adhearsion and Telegraph. Hopefully we'll have a good turn out. I really enjoy talking about VOIP and telecommunications and I see a great potential for all sorts of both client side and server side applications.

Here more information on the event and a link to the meeting page. Here's all the details.

When:
Wednesday, April 9, 2008, 7:00pm - 8:30pm

Where:
University of Minnesota Minneapolis campus, EE/CSci Building , Room: 3-115 (Room change!!) 200 Union St SE, Minneapolis 55455

Who:
Justin Grammens : Localtone Interactive, LLC
Localtone Interactive is a Minneapolis, MN based internet application development company focusing on using Ruby on Rails, Java, Linux and Open Source technologies to provide business solutions to our clients.

Jason Brockman : OneNet USA
OneNet USA is a Communications Solutions Provider offering integrated network solutions for voice, data, IP, and video to a diverse clientele

Eric Osterberg : Sound Choice Communications, LLC
Founded in May of 2001, Sound Choice Communications offers competitive telecommunications services in Minnesota including highspeed DSL, local VoIP dialtone, private data circuits, and VoIP long distance service.

Hope you can join us!

Friday, April 4, 2008

Emerging Digiterati

I just got back from presenting Localtone Radio at Emerging Digerati earlier this morning. It was held at the Wiesmann Art Museum on the University of Minnesota Campus. What an awesome event! I actually had never heard of this event, but my business partner Phil I think got the skinny on this event from our good friend Garrick.

Emerging Digerati is basically a showcase of emerging technology related to art - and I use art in the broad sense of the term. From everything related to video, audio, installation, design, etc. I talked with the people who have been running this event for the past 7 years and learned a little about the mission and goals of the event. This year was the first time that they tried doing a full week long event with presentations. I was blown away to see all of the different presentations people gave and all of the ways technology is emerging. A few take-aways that I do see in emerging technology were:
  • Trusted Friends - Some people call this social networking, but those are kind of loaded words, since they encompass a lot of concepts. Basically, the thought that there is so much content out on the internet, that people only have time to visit sites and keep on things that are recommended by their trusted friends. It's not so much to just network with people, but to use their suggestions in content you consume. I have some thoughts about how to add these concepts into Localtone Radio.
  • Interactivity - The days of the boring static website I would predict will be coming to a close. With Flash and technologies such as Ajax/Javascript, more desktop type interfaces are going to be demanded in the browser.
  • Video - We all know video is popular, but seeing a number of the presentations today solidifies this point and more sites will incorporate some form of video or pulling in video from other services in the future.
  • RSS Feeds - With the sharing of more information on the web, RSS feeds are becoming more well known as a way to distribute content to people. I was surprised at the knowledge and ideas people had related to sharing and using RSS feeds. RSS is something that I had kind of viewed as being beyond many consumers and was not a big deal in Localtone Radio. After today however, I'll be looking at ways to add them.
  • Passion - As with all artists, it's the passion of what you are working on that drives you. In all of the presentations today, you could tell that these were projects and technology that people truly felt passionate about. People often work on these projects for little or no money and instead are not driven by dollars, but by pure motivation.
I want to say a big thank you to Aaron and Anne from the Institute for New Media Studies the opportunity to be a part of this event. I'm looking forward to next year, if not to present, just to show up and take in what everyone else is up to. It was a great way to spend half a day (I unfortunately couldn't stay the whole time due to other meetings) and I'll be sure and be there next year.

Thursday, April 3, 2008

Turn Off The Lights

This past Saturday evening, Becky and I participated in Earth Hour. If you have not heard of this event, it's where everyone is encouraged to turn off all of the lights in their house for 1 hour, between 8 and 9pm their local time. A number of large companies here in Minneapolis turned off the lights in their buildings in observance of the event. I also noticed a number of homes in my neighborhood that went dark during this time as well.

Besides cutting down on energy consumption, I found it to be a very relaxing time and a good way to spend quality time with the person I love. Becky and I lit candles and sat and talked in the kitchen of our house. It was great way to force us to get out of the daily grind and never ending tasks and just spend time together. There is a wide range on what people believe in global warming, but I'd like to suggest people try and do this more often, both for the sake of the helping environment, but also as a way to spend quality time with your family.

Earth Hour probably never intended to have this consequence, but try turning off the t.v. and the lights for even 15 minutes every week and talk with each other more often. Life goes by far too fast and those days of sitting at home and using candles to read a story or talk about what is going on in each other's lives will be gone before you know it. Just something to think about.