RVM is an amazing tool. It's a tool that enables mixed you to switch between different version of Ruby with a simple command line entry.
Setting it up posed a few challenges for Ubuntu Server 11.10. I've installed it a few times in the past, but I'd always installed it in "single user mode". Meaning, I only installed it for my login which gave me the ability to install things in my own sandbox without requiring elevated privileges. However, for my web server I wanted to set up RVM for all users. This way my Git user can specify Ruby versions on demand just the same.
To do this, I followed the steps on their website, but I couldn't get my "rvm install x.x.x" commands to work. When I typed the following command:
rvm install 1.9.2
I got a slew of errors. This was never a problem for me in 'Single User' install mode, so I wasn't sure what the problem could be. I didn't do my reading and ended up trying all kinds of things. I checked the requirements, installed all kinds of additional packages, even updated / upgraded my entire environment using:
sudo apt-get update
as well as
sudo apt-get upgrade
I waited and waited while it updated my system. When I tried entering the rvm install command again, it still generated the same set of errors. As it turns out, I simply had to append rvmsudo at the front of this command, like so:
rvmsudo rvm install 1.9.2
This preserves the RVM environment and passes it onto sudo. Once I did that, things started working. :) Moral of the story: RTFM!
Oh and you should note that this doesn't set v1.9.2 as your current Ruby version yet; it merely installs it. To begin using it, type the following command:
rvm use 1.9.2
Hope this helps somebody.
Random posts about trail running, computing, family-ing, thinking, and whatever else I choose to say.
Showing posts with label ruby. Show all posts
Showing posts with label ruby. Show all posts
Wednesday, March 28, 2012
Wednesday, October 05, 2011
Ruby On Rails Fan
OK, so I've been going through the online Ruby On Rails Tutorial by Michael Hartl for the last few weeks in my spare time, and I'm a better programmer because of it. I've not taken any shortcuts and have learned quite a lot. The whole Model / View / Controller aspect of it came pretty easy to me since I'm a full-time ASP.NET MVC developer in my day job. Server side tags, module level variables, and helper modules are shared concepts from the ASP.NET MVC world (which I think they stole from RoR, but...). I'm really liking my new hobby.
I've learned quite a few tricks that make Ruby on Rails much more pleasing to work with than ASP.NET MVC. Namely, I like the built-in gem utilities (package manager for Ruby on Rails), I also like the command line utilities for defining database schemas, generating test records, and auto generating oodles of code. There are so many gems that work together to support testing controllers, models, and views on the fly as you code. I always thought of Unit Testing as a good thing, but it always felt like I was forcing myself to learn / practice TDD. I just never quite "got it"; when I would write unit tests I felt good about it, but as new features come into my project it is very easy to just code my projects without writing unit tests for every little thing. With Ruby on Rails, however, it feels very natural and is almost required due to the dynamic nature of the language. RSpec makes creating tests a breeze.
I'm currently hosting a few Ruby on Rails projects on Heroku, and even doing this is brain-dead easy. I literally auto-generated a Rails project from the command line, and then used the Heroku gem to "git push" my code to Heroku. It does the rest and builds my project and deploys it for the world to see.
Just the other night, I bought a domain and plan to run my very own Ruby on Rails project... I won't give away the domain name yet, but know that I'll be making a big deal of it within the next few months. In short, I love Ruby on Rails and everything that goes with it, including Vim (with rails.vim), Git, Autotest (with Growl), Spork, TDD, and everything else). I can now say that I'm a ASP.NET MVC developer by day / Ruby on Rails developer by night.
Fun!!
I've learned quite a few tricks that make Ruby on Rails much more pleasing to work with than ASP.NET MVC. Namely, I like the built-in gem utilities (package manager for Ruby on Rails), I also like the command line utilities for defining database schemas, generating test records, and auto generating oodles of code. There are so many gems that work together to support testing controllers, models, and views on the fly as you code. I always thought of Unit Testing as a good thing, but it always felt like I was forcing myself to learn / practice TDD. I just never quite "got it"; when I would write unit tests I felt good about it, but as new features come into my project it is very easy to just code my projects without writing unit tests for every little thing. With Ruby on Rails, however, it feels very natural and is almost required due to the dynamic nature of the language. RSpec makes creating tests a breeze.
I'm currently hosting a few Ruby on Rails projects on Heroku, and even doing this is brain-dead easy. I literally auto-generated a Rails project from the command line, and then used the Heroku gem to "git push" my code to Heroku. It does the rest and builds my project and deploys it for the world to see.
Just the other night, I bought a domain and plan to run my very own Ruby on Rails project... I won't give away the domain name yet, but know that I'll be making a big deal of it within the next few months. In short, I love Ruby on Rails and everything that goes with it, including Vim (with rails.vim), Git, Autotest (with Growl), Spork, TDD, and everything else). I can now say that I'm a ASP.NET MVC developer by day / Ruby on Rails developer by night.
Fun!!
Wednesday, June 29, 2011
Code Jams and The Columbus Ruby Brigade
I've been dabbling in Ruby quite a bit lately. I've worked my way through the Ruby Koans (twice now), and I've been reading like crazy (in my free time) trying to learn Rails. It is a very easy technology... once you learn it. That's where I'm at now; I'm just trying to learn it.
Things that would take me 2 hours in C# and ASP.NET MVC, take only seconds or minutes in Ruby and Rails. The big difference is that I'm familiar with all the complexities of the .NET framework and the tools that I use. Whereas I'm trying to dumb my skills down to learn something totally different now in a whole new environment. Ruby doesn't have a tool that allows me to do the rafactoring that Resharper allows me to do in C#. The Terminal.app doesn't have all the shortcuts that I'm used to that Visual Studio offers me. I can't step through my programs, I can't jump to files as easily (yet). Everything is command line, and this is very new to me!!
The biggest struggle so far has been moving away from the Visual Studio IDE. My new IDE is a simple green and black terminal screen. There is no intellisense, no syntax highlighting, no pre-compilation warnings, no nothing. I'm trying to learn all of the Unix commands that go along with managing source files. For example, if I need to make a solution wide change across multiple files, I can't just say [CTRL]+[R] / [CTRL]+[R] anymore... I have to run a grep command and manually inspect each file, one by one. I'm sure it will get easier with time, but for now, I'm struggling...
Anyway, tonight I'm attending a Code Jam that was announced on the Columbus Ruby Brigade website. The meeting is in Columbus, OH and I'm hoping that someone will sit down with me and show me some tricks. :)
Things that would take me 2 hours in C# and ASP.NET MVC, take only seconds or minutes in Ruby and Rails. The big difference is that I'm familiar with all the complexities of the .NET framework and the tools that I use. Whereas I'm trying to dumb my skills down to learn something totally different now in a whole new environment. Ruby doesn't have a tool that allows me to do the rafactoring that Resharper allows me to do in C#. The Terminal.app doesn't have all the shortcuts that I'm used to that Visual Studio offers me. I can't step through my programs, I can't jump to files as easily (yet). Everything is command line, and this is very new to me!!
The biggest struggle so far has been moving away from the Visual Studio IDE. My new IDE is a simple green and black terminal screen. There is no intellisense, no syntax highlighting, no pre-compilation warnings, no nothing. I'm trying to learn all of the Unix commands that go along with managing source files. For example, if I need to make a solution wide change across multiple files, I can't just say [CTRL]+[R] / [CTRL]+[R] anymore... I have to run a grep command and manually inspect each file, one by one. I'm sure it will get easier with time, but for now, I'm struggling...
Anyway, tonight I'm attending a Code Jam that was announced on the Columbus Ruby Brigade website. The meeting is in Columbus, OH and I'm hoping that someone will sit down with me and show me some tricks. :)
Sunday, January 16, 2011
CodeMash v2.0.1.1 (Recap)
As I mentioned in my last post, Codemash is a top notch event.
Live Concert on Wednesday NightWednesday night ended rather perfectly actually. After the Pre-Compiler sessions, Chris Castle and The Womack Family Band showed up to rock out the attendee party in the grand hall area. These guys were awesome! I purchased a CD of the Womack Family Band after their set, and purchased Chris Castle's CD directly off of iTunes. They had a great sound, and best of all they were fairly local (Norwalk, Ohio).
I got to talk with a lot of people at the party, and Jennifer came to join me after she got the girls out of the water park. We had a great time and she got to see me in my element (true geek talk). I ran into a few people and we would just start talking about programming languages and different technologies. She was a sport and stood by my side with a smile the entire time. :) After the attendee party, we walked around and ended up sitting at the bar for another hour before calling it a night.
Chad Fowler KeynoteThat next morning, the alarm went off fairly early for me and I was out the door for breakfast around 7:30 am. Chad Fowler was the keynote speaker this morning and he did an AWESOME job. He talked about what defined "quality" in code and showed lots of different examples. One story that caught my attention was a discussion about a chunk of code that he looked at and thought it was horrible, but then later discovered that the code has not been touched in 20+ years and was still working... That little story gave me a whole new definition for "code quality".
Kids Programming - Aydin Acksu
After the keynote, I attended a session by my good buddy Aydin Acksu, titled "Kids Programming". Of course, my girls all met me there for it and they got to control me around a grid using commands: step, step, right, step, left, step, etc.. This taught them how how computer programs worked. Once they ran the the commands once, they would navigate Aydin back through the course to "test" the program, and then they "edited" the errors out to make it faster, and "tested" it again, etc... Basically everything a programmer does with a keyboard and a debugger. It was really cool how he approached the talk and all the kids in the class had a blast!
Rails A to Z - Matt Yoho
After that session I attended Rails A to Z by Matt Yoho (from EdgeCase). I learned quite a bit at this session and was amazed at how little code is required to make a Rails app. With about 10 lines of Ruby code, a user can connect to a database (build its schema), add records, and then disconnect (and destroy the table). This would take about 50 - 100 lines of c# code. Wow! Matt did a great job and he had my undivided attention for the entire hour.
WebMatrix 1.0 Product Launch - Josh Holmes
For lunch, we got to see WebMatrix 1.0 be launched to the world along with a lot of other amazing technologies (details). Codemash ain't no joke no more. This event has had all kinds of top notch speakers, and this year Microsoft had live streaming video from the conference to developers all over the world about this long awaited product launch. Congratulations to Codemash organizers for outdoing themselves each year. See Scott Guthrie's blog post for a list of everything that was announced today.
After the keynote, I skipped the next sessions, as there was nothing being presented that sparked my interest. I used this time to get in a quick run and workout in before the rest of the evening got ahead of me. I actually met a guy in the gym (ironically named Jim), who is close friends Mark Goodale (a local ultra-marathon hero). What a small world! We talked for about 30 minutes while we ran on treadmills next to each other.
Top Ten Tips for Moving from WinForms to WPF - Michael EatonThis session was pretty informative. Michael broke down all the differences between WinForms and WPF. I actually dabbled in WPF for a few weeks last month and got so frustrated with it. It was such a paradigm shift from everything I'd ever learned about windows application development. Buttons with click events and coordinates get's thrown out the window. Now developers use DataBinding to UIElements on various types of LayoutPanels through MVVM... Yeah!? Anyway, Michael's session confirmed that it wasn't just me. :) He gave some tips and suggested some 3rd party tools to help ease the pains. Great talk!
A Modern Open Source Development Environment - Gary BernhardtThis session was one that I was REALLY looking forward to even days before the conference. Gary uses terminal app and Vi as his development environment. This is what would eventually like to do as well so that I don't rely so much on VS2010.
Unfortunately the session was more about him showcasing how fast he types and navigates through different commands inside terminal. He didn't really focus on useful tips for users to do the same. It kind of turned into a "look what I can do" session, as opposed to a "here's how I do it" session. Don't get me wrong, I did learn something; I learned that I need to just bite the bullet and use vi exclusively outside of my day job. All in all, nothing very "constructive" came from this session (for me). He moved too fast, and assumed everybody in the session was familiar with Vi, Pyton, shell scripting, Git, and zsh.
He did answer a lot of questions about how he got so fast, but again he didn't explain anything with hard examples. It was mostly just pre-recorded videos of him typing in vi while he commented about his typos in real time, and then summed up the video with a benchmark. It wasn't what I thought it was going to be... :( I'm still a Gary fan though, and will continue to follow his blog: http://blog.extracheese.org/
Ford Fusion Keynote - Tj GiulliFor dinner, we all got to hear a developer from Ford talk about some of the new technologies that they are putting in cars, and it was pretty cool. Tj showed some of the new GUI's for the upcoming nav screens. He showed how traveling with a group of other drivers can be more "interactive" in that each car can talk to one another to know how low they are on fuel. Lots of other cool stuff was in here too, where the car could actually tweet it's status at any point along the route (ie. "Pulled into Taco Bell" or "I need fuel soon"). Pretty cool stuff really. Best yet, there was an API that was available to allow developers to tap into the engine and interface with it. However, I must admit that the API was a bit kludgy with their use of multiple yield keywords inside of a single void method. (?)
Cocktail Party, Jam Session, & Water Park Party
This is where it got fun! We all got to loosen up and mingle for the rest of the night. My good buddy, Greg Malcolm helped me setup my drums this year for the jam session. We had quite a turn out this year. Best of all Chris Castle and The Womack Family Band came back to the Kalahari to jam with us. They brought their gear back with them too. Of course, Carl was there and he's always a great entertainer. Again, we had quite a little crowd gathered up at a few points. There are a few videos on YouTube that showcase some of the shenanigans. :)
After the Jam session, Jennifer came to retrieve me so that we could all go to the water park and swim. The girls were so excited that I got to go with them and we had a blast!! We played water basketball, we hung out in the wave pool, and just relaxed and had a great time. After the water park, we split out separate ways and I went back to the grand hall to gather my drumset. As it turned out, I sat down and talked with Carl and Richard for a while on a couch and then we all headed back to the water park to mingle with other devs and get some drinks. There I met Justin Etheredge, and we talked for about 30 minutes about Ruby on Rails, and various javascript utilities that we used.
I didn't get back to the room til about 1 am.
Developing High Performance Web Applications with Javascript - Timothy FisherWell... I wanted to go to this, but couldn't. :( I slept in and rushed down to the breakfast area with moments to spare, then had to turn around and head back up to the room to get it back in order. Checkout was at 11 am and there was a LOT to do. Jennifer and I got it all done around 10:45 am. I kissed them all good bye and headed back down to the sessions... Jennifer was going to get some candy from the candy hut and then make the drive back home.
Rules for Good UX Design - Joe NuxollThis was a great session. Joe is an old Borland, turned Apple developer who now does other things I guess (?). Anyway, he had lots of useful information on what NOT to do with user interfaces (avoid "assy-ness"). :) He showed me some old user interfaces that mimicked some dialogs that I once (or twice) built that make end users cringe. He also showcased many user interfaces that were simply beautiful, and that hid a LOT of underlying complexity. This guy clearly knows his stuff and everybody in his session learned quite a bit about good UI design.
GitHub Keynote - Scott ChaconThe lunch keynote on Friday was pretty interesting. A developer from GitHub.com came to keynote about how they run their business. Basically, there is ZERO business processes or management structure across the entire company. Clearly it's working for them, but it has disaster written all over it in my eyes. From what he explains, people just kind of do whatever they want, whenever they want and for whatever reason. It's a very "open source" environment and sounds rather risky to me...
Everybody in the company has full trust of the entire enterprise. Everybody has the ability and permissions to do whatever they want. This means that anybody at GitHub.com (from the new guy to the CEO) could delete the entire site if they wanted to. Of course, this would never happen (or should never happen anyway), but the fact that there are no checks in place to prevent such a disaster seems a little haphazard to me. Scott indicates that everybody at GitHub gets the same pay. There are no vacations; you can just do what you want, whenever you want. No meetings, no deadlines, no feature list, no time frames, no nothing... It's amazing to me that they've had no problems yet. Good for them, but I (personally) like having a little bit of structure and credibility for my actions. Perhaps I'd feel different if I was put in this environment and saw it work. To me it seems a little chaotic and unpredictable.
How? It's because each employee is passionate about what they're doing.
Infinitely Extensible - Alex PapadimoulisThis was a great session. I follow Alex's blog (ie. The Daily WTF) and knew that this guy has seen it all. People send him code snippets from some of the most crazy logic puzzles. Many are just bad programming, but some are really funny dialog prompts that developers thing users would never see. Check out his blog to see what I mean. :)
Anyway, the session talked about how to keep it simple and avoid over-engineering simple problems. We as programmers do this by default; we over complicate everything and try to prepare for future enhancements that may never see the light of day. I really enjoyed his talk because it showed me things to look for when I sit down and start over engineering simple problems.
Anatomy of an E-Commerce Website - Joe WirtleyI was pretty excited about this session too. Joe is a really nice guy that I run into quite often around various events throughout the heartland area. His session was great and he basically just described how an international e-commerce site is setup to deliver real time results using caching and highly optimized data services across multiple databases. I learned quite a bit before I had to sneak out of his session...
Node.js - Open SpaceUnfortunately I had to sneak out of Joe's session because I was really interested in learning about node.js. It was an open space idea that somebody posted on the board and I wanted to see what it was all about. As it turned out, I got there way too late and didn't really get anything out of it. :(
Awards and Wrap-upAnother year passes, and I don't win a damn thing. GRR!! I guess I'll just have to come back next year and try again. :)
I'm now extremely excited about Ruby, Rails, Git, Shell scripting, Vi, and all things Unix. I plan to consume myself with knowledge of everything Ruby until I'm comfortable with all that it has to offer. While learning Ruby, I'll need to learn terminal app and vi pretty extensively. But that goes with the territory and hopefully I'll "get it" so that it can just get out of my way and I can focus on being productive on my Mac.
This all starts now!
Live Concert on Wednesday NightWednesday night ended rather perfectly actually. After the Pre-Compiler sessions, Chris Castle and The Womack Family Band showed up to rock out the attendee party in the grand hall area. These guys were awesome! I purchased a CD of the Womack Family Band after their set, and purchased Chris Castle's CD directly off of iTunes. They had a great sound, and best of all they were fairly local (Norwalk, Ohio).
I got to talk with a lot of people at the party, and Jennifer came to join me after she got the girls out of the water park. We had a great time and she got to see me in my element (true geek talk). I ran into a few people and we would just start talking about programming languages and different technologies. She was a sport and stood by my side with a smile the entire time. :) After the attendee party, we walked around and ended up sitting at the bar for another hour before calling it a night.
Chad Fowler KeynoteThat next morning, the alarm went off fairly early for me and I was out the door for breakfast around 7:30 am. Chad Fowler was the keynote speaker this morning and he did an AWESOME job. He talked about what defined "quality" in code and showed lots of different examples. One story that caught my attention was a discussion about a chunk of code that he looked at and thought it was horrible, but then later discovered that the code has not been touched in 20+ years and was still working... That little story gave me a whole new definition for "code quality".
Kids Programming - Aydin Acksu
After the keynote, I attended a session by my good buddy Aydin Acksu, titled "Kids Programming". Of course, my girls all met me there for it and they got to control me around a grid using commands: step, step, right, step, left, step, etc.. This taught them how how computer programs worked. Once they ran the the commands once, they would navigate Aydin back through the course to "test" the program, and then they "edited" the errors out to make it faster, and "tested" it again, etc... Basically everything a programmer does with a keyboard and a debugger. It was really cool how he approached the talk and all the kids in the class had a blast!
Rails A to Z - Matt Yoho
After that session I attended Rails A to Z by Matt Yoho (from EdgeCase). I learned quite a bit at this session and was amazed at how little code is required to make a Rails app. With about 10 lines of Ruby code, a user can connect to a database (build its schema), add records, and then disconnect (and destroy the table). This would take about 50 - 100 lines of c# code. Wow! Matt did a great job and he had my undivided attention for the entire hour.
WebMatrix 1.0 Product Launch - Josh Holmes
For lunch, we got to see WebMatrix 1.0 be launched to the world along with a lot of other amazing technologies (details). Codemash ain't no joke no more. This event has had all kinds of top notch speakers, and this year Microsoft had live streaming video from the conference to developers all over the world about this long awaited product launch. Congratulations to Codemash organizers for outdoing themselves each year. See Scott Guthrie's blog post for a list of everything that was announced today.
After the keynote, I skipped the next sessions, as there was nothing being presented that sparked my interest. I used this time to get in a quick run and workout in before the rest of the evening got ahead of me. I actually met a guy in the gym (ironically named Jim), who is close friends Mark Goodale (a local ultra-marathon hero). What a small world! We talked for about 30 minutes while we ran on treadmills next to each other.
Top Ten Tips for Moving from WinForms to WPF - Michael EatonThis session was pretty informative. Michael broke down all the differences between WinForms and WPF. I actually dabbled in WPF for a few weeks last month and got so frustrated with it. It was such a paradigm shift from everything I'd ever learned about windows application development. Buttons with click events and coordinates get's thrown out the window. Now developers use DataBinding to UIElements on various types of LayoutPanels through MVVM... Yeah!? Anyway, Michael's session confirmed that it wasn't just me. :) He gave some tips and suggested some 3rd party tools to help ease the pains. Great talk!
A Modern Open Source Development Environment - Gary BernhardtThis session was one that I was REALLY looking forward to even days before the conference. Gary uses terminal app and Vi as his development environment. This is what would eventually like to do as well so that I don't rely so much on VS2010.
Unfortunately the session was more about him showcasing how fast he types and navigates through different commands inside terminal. He didn't really focus on useful tips for users to do the same. It kind of turned into a "look what I can do" session, as opposed to a "here's how I do it" session. Don't get me wrong, I did learn something; I learned that I need to just bite the bullet and use vi exclusively outside of my day job. All in all, nothing very "constructive" came from this session (for me). He moved too fast, and assumed everybody in the session was familiar with Vi, Pyton, shell scripting, Git, and zsh.
He did answer a lot of questions about how he got so fast, but again he didn't explain anything with hard examples. It was mostly just pre-recorded videos of him typing in vi while he commented about his typos in real time, and then summed up the video with a benchmark. It wasn't what I thought it was going to be... :( I'm still a Gary fan though, and will continue to follow his blog: http://blog.extracheese.org/
Ford Fusion Keynote - Tj GiulliFor dinner, we all got to hear a developer from Ford talk about some of the new technologies that they are putting in cars, and it was pretty cool. Tj showed some of the new GUI's for the upcoming nav screens. He showed how traveling with a group of other drivers can be more "interactive" in that each car can talk to one another to know how low they are on fuel. Lots of other cool stuff was in here too, where the car could actually tweet it's status at any point along the route (ie. "Pulled into Taco Bell" or "I need fuel soon"). Pretty cool stuff really. Best yet, there was an API that was available to allow developers to tap into the engine and interface with it. However, I must admit that the API was a bit kludgy with their use of multiple yield keywords inside of a single void method. (?)
Cocktail Party, Jam Session, & Water Park Party
This is where it got fun! We all got to loosen up and mingle for the rest of the night. My good buddy, Greg Malcolm helped me setup my drums this year for the jam session. We had quite a turn out this year. Best of all Chris Castle and The Womack Family Band came back to the Kalahari to jam with us. They brought their gear back with them too. Of course, Carl was there and he's always a great entertainer. Again, we had quite a little crowd gathered up at a few points. There are a few videos on YouTube that showcase some of the shenanigans. :)
After the Jam session, Jennifer came to retrieve me so that we could all go to the water park and swim. The girls were so excited that I got to go with them and we had a blast!! We played water basketball, we hung out in the wave pool, and just relaxed and had a great time. After the water park, we split out separate ways and I went back to the grand hall to gather my drumset. As it turned out, I sat down and talked with Carl and Richard for a while on a couch and then we all headed back to the water park to mingle with other devs and get some drinks. There I met Justin Etheredge, and we talked for about 30 minutes about Ruby on Rails, and various javascript utilities that we used.
I didn't get back to the room til about 1 am.
Developing High Performance Web Applications with Javascript - Timothy FisherWell... I wanted to go to this, but couldn't. :( I slept in and rushed down to the breakfast area with moments to spare, then had to turn around and head back up to the room to get it back in order. Checkout was at 11 am and there was a LOT to do. Jennifer and I got it all done around 10:45 am. I kissed them all good bye and headed back down to the sessions... Jennifer was going to get some candy from the candy hut and then make the drive back home.
Rules for Good UX Design - Joe NuxollThis was a great session. Joe is an old Borland, turned Apple developer who now does other things I guess (?). Anyway, he had lots of useful information on what NOT to do with user interfaces (avoid "assy-ness"). :) He showed me some old user interfaces that mimicked some dialogs that I once (or twice) built that make end users cringe. He also showcased many user interfaces that were simply beautiful, and that hid a LOT of underlying complexity. This guy clearly knows his stuff and everybody in his session learned quite a bit about good UI design.
GitHub Keynote - Scott ChaconThe lunch keynote on Friday was pretty interesting. A developer from GitHub.com came to keynote about how they run their business. Basically, there is ZERO business processes or management structure across the entire company. Clearly it's working for them, but it has disaster written all over it in my eyes. From what he explains, people just kind of do whatever they want, whenever they want and for whatever reason. It's a very "open source" environment and sounds rather risky to me...
Everybody in the company has full trust of the entire enterprise. Everybody has the ability and permissions to do whatever they want. This means that anybody at GitHub.com (from the new guy to the CEO) could delete the entire site if they wanted to. Of course, this would never happen (or should never happen anyway), but the fact that there are no checks in place to prevent such a disaster seems a little haphazard to me. Scott indicates that everybody at GitHub gets the same pay. There are no vacations; you can just do what you want, whenever you want. No meetings, no deadlines, no feature list, no time frames, no nothing... It's amazing to me that they've had no problems yet. Good for them, but I (personally) like having a little bit of structure and credibility for my actions. Perhaps I'd feel different if I was put in this environment and saw it work. To me it seems a little chaotic and unpredictable.
How? It's because each employee is passionate about what they're doing.
Infinitely Extensible - Alex PapadimoulisThis was a great session. I follow Alex's blog (ie. The Daily WTF) and knew that this guy has seen it all. People send him code snippets from some of the most crazy logic puzzles. Many are just bad programming, but some are really funny dialog prompts that developers thing users would never see. Check out his blog to see what I mean. :)
Anyway, the session talked about how to keep it simple and avoid over-engineering simple problems. We as programmers do this by default; we over complicate everything and try to prepare for future enhancements that may never see the light of day. I really enjoyed his talk because it showed me things to look for when I sit down and start over engineering simple problems.
Anatomy of an E-Commerce Website - Joe WirtleyI was pretty excited about this session too. Joe is a really nice guy that I run into quite often around various events throughout the heartland area. His session was great and he basically just described how an international e-commerce site is setup to deliver real time results using caching and highly optimized data services across multiple databases. I learned quite a bit before I had to sneak out of his session...
Node.js - Open SpaceUnfortunately I had to sneak out of Joe's session because I was really interested in learning about node.js. It was an open space idea that somebody posted on the board and I wanted to see what it was all about. As it turned out, I got there way too late and didn't really get anything out of it. :(
Awards and Wrap-upAnother year passes, and I don't win a damn thing. GRR!! I guess I'll just have to come back next year and try again. :)
I'm now extremely excited about Ruby, Rails, Git, Shell scripting, Vi, and all things Unix. I plan to consume myself with knowledge of everything Ruby until I'm comfortable with all that it has to offer. While learning Ruby, I'll need to learn terminal app and vi pretty extensively. But that goes with the territory and hopefully I'll "get it" so that it can just get out of my way and I can focus on being productive on my Mac.
This all starts now!
Friday, January 29, 2010
Codemash v2.0.1.0
This post is long overdue... oh yeah, and long itself. :P Basically, everything below could be summed up into one word: Codemashkickedass!I attended CodeMash this month and it was a blazing success (yet again). This has become a nationally recognized event, bringing in A+ keynote speakers from all over. The inaugural event back in 2006 brought out The Gu himself for crying out loud! Each year seems to out-do the year before, and this year was no different. I mean, last year, I played GuitarHero with Scott Hanselman!! This year was very laid back for me, and I'm already excited for next years event. I actually plan to continue my attendance to CodeMash each year until I get out of the computer business and move to Maui to become a full time surfer. (yeah right)
Ironically this was a very low-key year for me. I've been at every Codemash so far, and this was the first one that I attended as a .NET developer desperately wanting to learn something new. Usually I just go to see what I can learn, but with no real goals of getting my mind blown. I used to mainly get excited about going to meet up with all my geek friends. I've never really taken the sessions for granted before, but the last few years I'd always run around with my entourage and just kind of "be there". However this year it was just me, and I was set to learn a lot of stuff; I was on a mission to learn Ruby.
Wednesday
I woke up at 4am and packed my drumset into the car (more on this later) and headed up to Kalahari Resort for the 8:30 am check-in and a nice breakfast before the 9 am Precompiler sessions start.
Test Driven Development - Leon Gersing
For the Precompiler session this year, I attended Leon Gersing's - Test Driven Development session. This was a very (, very, very) cool session where Leon actually got requirements from Jim Holmes (The Codemash President) for a "session scoring system". It was Leon's job to lead a (large) group of willing developers to build this system from Concept to Completion in one day. It seemed impossible as the session started and Leon was very casual in getting everybody setup with the tools needed for the day.
I literally sat down in the 2nd row knowing zero about Ruby, Rails, Git, or GitHub.com... and what the hell is a Ruby Gem?! :) Leon used a rendition of Scrum, and that, I did know. I was on a team that implemented scrum at my last company, and it proved to be a very successful approach to managing epic projects.
Leon was awesome in his role as the Iteration Manager. He encouraged all of us to be "courageous" and just be real. If you didn't know something, speak up and let everybody know. There's no shame in not knowing something. I actually used it a few times in order to get all the tools installed on my machine. I felt as though everyone around me was leaps and bounds ahead of me as I struggled to understand simple concepts like installing gems and understanding the what Ruby was and what Rails was.
I sat through the morning part of the session, but decided to move onto another session after lunch (no hard feelings Leon). :) I was simply in over my head without knowing Ruby or Rails. The team I was in had good knowledge of these technologies and I felt like I was (1) slowing them down and (2) learning nothing as they pushed forward without keeping me in the loop. No blame, just the facts. I plan to learn Ruby on my own within the next few months. I've heard too many good things about it to not give it an honest effort.
Advanced Presentation Patterns - Jeremy D. Miller
At lunch I actually sat next to Jeremy D. Miller (Mr. Code Better, himself). I was sitting with some other people and he sat down next to me. I had no idea who he was so I (of course) introduced myself only to find out it was him shortly thereafter. I've read his blog in the past and have known his name for quite some time. It was cool to shot the breeze with him, if only for a minute or two. After I finished eating, I actually decided to attend his session after lunch on a whim. It was standing room only, so I stood in the back and watched as he discussed different concepts for building robust user interfaces that allowed full control over the hosting UI dialog in regards to adding buttons, menus, and mapping navigation between windows. It was pretty informative, and I took some intense notes as he showcased some pretty complex user interfaces concepts with simple enterprise architecture models.
After this session, I went upstairs and decided to take a little nap. Again, I woke up at 4 am, and it was now approaching 5:30. After a short 1-2 hour nap, I woke up and took an intense 4 mile run on the treadmill and then headed out for a quick bite of dinner. Precompiler day was over.
Thursday
The keynote was awesome! Mary Poppendieck gave a great presentation outlining the 5 Habits of a Successful Lean Organization:
- Purpose
- Passion
- Persistence
- Pride
- Profit
What Makes Ruby Different - Joe O'Brien, Mark Peabody, and Leon Gersing
After the keynote, I headed over to "What Makes Ruby Different" where the EdgeCase guys showcased various aspects to the Ruby language and concepts that let Ruby stand out from the other languages. It was very informative and I learned quite a bit. They showed how a few lines of Ruby code can go a long way, and showed the different approaches of the same concepts in other languages. While the other languages were purposefully "ceremonial" to drive home some key points, I did gain a lot of respect for the Ruby language.
After this session, I got a few things done and then sat with Josh Holmes at lunch while we watched Hank Janssen give a keynote about open source technologies that Microsoft is working on. It was very informative and I learned that Microsoft is actually giving a lot of attention to this area, even though they are known for avoiding it. The ecoustics were difficult at times and we had a hard time hearing at times, but the slides really painted the pictures pretty well.
Ruby and Rails for the .NET Developer - Matt Yoho
Following lunch, I attended the Ruby and Rails for the .NET Developer. It was a toss up between this session and Powershell: Ten Things You Need to Know - by Hester and Lerch. I was happy that I attended the Ruby session, for I learned even more great things about Ruby. For example in Ruby, when you connect to a database, the language itself is so descriptive that you can query data simply by calling it in "english" like method calls. For example if I'm querying a table and want to find a row by a certain column, I simply say:
(note: ignore my syntax ignorance)
def rowByUser = db.find_by_username();I don't have to actually create these methods to query the database by user name and by state. In .NET there is a lot of extra work that we (as .NET developers) have to do in order to make these two calls work. Not with Ruby! Rails does this automatically!! That is cool!
def rowsByState = db.find_by_state();
Vendor Sessions
For the vendor session, I attended the Telerik Code Ninja session where they showed some cool little coding tricks.
Refactoring the Programmer - Joe O'Brien
This was an awesome session. I'd introduced myself to Joe earlier in the day during lunch break or something and he is a very humble person. I've seen him at Codemash in previous years and have attended sessions of his before. I have actually followed him on Twitter for sometime now and he is just an all around great guy. This session was about getting developers to stay on top of their game and keep their skills sharp. This is something that I have to keep reminding myself actually, for I tend to get comfortable in my current skill set and have to force myself to really explore new things around me.
Joe was hilarious, for his session was another one of those sessions that was standing room only. Best yet, he didn't have his projector adapter (ie. "dongle" (ie. my wife's favorite geek word)) and therefore was forced to do his presentation with no over head display. It was just him and his scotch (?) in front of ~100 geeks. He nailed it! He kept it humorous and interesting, and best of all he provided some great advise for everyone in the room. He left everybody with 4 great books to check out and read:
- Passionate Programmer - Chad Fowler
- Pragmatic Thinking and Learning - Andrew Hunt
- Pragmatic Programmer - Andrew Hunt
- Apprenticeship Patterns - Dave Hoover
Vendor Sessions
After Joe's session, I walked around and talked to a lot of the vendors. I remember being there as a vendor myself, and recall how frustrating it was to see people walk by the booth all day long but never stop. I stopped at every single booth and gave them my undivided attention for as much time as they needed to really explain their product to me. Of course, I gathered some t-shirts and drink tickets too. ;)
Ruby and Rails for the .NET Developer - Matt Yoho
After walking around the vendor booths, I headed over to see some of the cool things that Ruby has to offer for me. Unfortunately I only had about 15 minutes to spare and (honestly) I was having a hard time keeping my eyes open at this point. :( It wasn't the information that was making me tired, it was my brain that was making me tired. I tried to focus, but found myself slipping in and out of consciousness here. Sorry Matt, I'm sure it was a great session; I came in late, but... never really showed up I guess.
Dinner and Jam
From here, I stumbled out into the hall and got some dinner. After dinner, I headed up to my room and gathered my drumset. Upon gathering everything, I quickly realized that I HAD NO CYMBALS!! I had packed everything except for my cymbal bag. This is what I get for rushing out of the house at 4am I guess. It sucks that I packed all the big / bulky stuff, but forgot the one consolidated peice of equipment in the basement. I couldn't believe it... I had brought a set of toms with a bass petal. :( Luckily Grag Malcolm had brought his drumsticks! Otherwise, we would have been playing hand drums (yeah, my drumsticks were in the cymbal bag).
Regardless, I set up the drums and decided to go mingle instead. I caught up with some fun friends and we all played euchre for the remainder of the night and drank a lot of booze. Fun was had by all! Unfortunately, I didn't get to see one second of Enter the Haggis. I'm kicking myself for that!! :(
Friday
Woke up at 7am sharp and then headed back up to my room to change and workout for the first round of sessions. After that, I went back to the sessions and got into some cool content.
An Introduction to Functional Programming with Scheme - Michael J Norton
This was a bit over my head. I tried to get into it, but I went in knowing very little and left knowing just as much. I'm sure had I known some of the functional concepts that were being discussed ahead of time, I would have been able to keep up. I left early and mingled. :(
It was about this time where I'm getting fuzzy without my updated schedule list; a lot changed in the schedule that I"m going off of..
Pragmatic Keynote
I do recall the keynote by Andy Hunt, and he was AWESOME! I really do plan to get his books and catch up on all the great content I'm missing. He was a great keynote speaker as he really knew how to work the crowd and had everybody's undivided attention for his entire keynote. I took a lot of notes and really enjoyed the lunch break.
Analyze and Optimize your .NET Web Application - James Avery
I learned quite a lot in here. James demonstrated how to fine tune any ASP.NET application using a set of profiling tools. He started with the ever famous "Nerd Dinner" and found that it was calling the database countless times for simple lookups. He used tools like RedGate - Ants Profiler, SQL Profiler and some other tools to help him isolate the bottle necks. It was pretty interesting to say the least and I learned a thing or two. Great session James! :)
Raffle
I didn't win anything... again. Four years in a row, nothing. Oh well, it was fun to sit and watch others win in a weird way. Plus the CodeMash crew always works the crowd pretty well with shenanigans and cool giveaways. Simply a great event, CodeMash organizers!
If I didn't provide enough content for you in this single post, please read more here: http://groups.google.com/group/codemash/web/codemash-2010-bloggers
Friday, December 05, 2008
CodeMash 2009
I CaN't WaiT!! Jason just posted his excitement about the session list for CodeMash 2009! I must say that it is very impressive. This event kicks ass! This year will be very different for me, as it's the first time ever that I'm going as an attendee rather than an exhibitor. The first year, I took my family, last year I went with my DD family and had a blast. This year, I'm going solo! No family, no booth, and no last minute presentation changes to worry about with James. I never minded hovering around the booth talking about Data Dynamics great products, but there was that whole "look professional" aspect to it.This year, InfoPlanIT is sending me and I'm free to not worry about anything for 3 full days. I will be wearing un-tucked street clothes and I'm going this year to just learn, learn, learn. My latest project at InfoPlanIT has got me doing a lot of web development these days. I've been trying to learn the best way to build customizable enterprise business intelligence web portals... from scratch. The session list at CodeMash is very impressive and gives me a lot of different opportunities to learn from (Ruby, Silverlight, Flex, F#, and so on..).
If you are into technology and can talk your employer into sending you to CodeMash, then, by golly, do it! This is the hippest event in the midwest and you will get your money's worth, ten fold! Not only in the value of the sessions, but also in the fun factor, I mean it's an indoor water park!?. When you're not hanging out with geeks talking about code, your jamming out to Rock Band or screamin down the slides at the indoor water park. Oh yeah, you can also learn about the latest and greatest technologies in the industry by some of the smartest people in the industry.
So there it is! Lots of .NET, Silverlight, Flash, Python, Ruby, Java, PHP, F#, you name it... there's even sessions on developing applications for Microsoft Surface computer and the iPhone. Excuse the huge link, but I'm that impressed with where it takes you. :) I'm going with a wide open mind this year and not restrict myself to any one topic. Hope to see you there! Oh yeah, did I mention I'm taking my drumset again!? I told you this event kicks ass!
Monday, May 05, 2008
Jim Weirich Interview
Looking through InfoQ today and stumbled upon an interview with a certain Jim Weirich. Hey, wait a minute... I jammed with that guy at CodeMash 2008. Not only is he a Ruby guru, but he's also a damn good guitar player. :)
Saturday, January 12, 2008
CodeMash v2.0.0.8
Well, CodeMash 2008 is over and... Wow, what a great event! I had an absolute blast this year. Last year I took the family and we had a great time, this year I took my other family (aka: James, Pilgrim, and Zach). I learned a lot, drank a lot, did lots of drumming, and I fell "head over heals" in love with RockBand.
Wednesday
We started off from the office around 2:30 and made it to Kalahari Resort by around 5pm or so. By the time we got there and got everything in our rooms (clothes, rock band stuff, and my drumset crap) it was about 6pm, so we went down to the booth and hung out for a while. It was great seeing everybody again and we all stood around and "networked" for a few minutes. Once we got our booth setup, we decided to run to WalMart so I could get a watch and we could get Pilgrim some drugs for his cold... Yeah, I had forgotten my watch at home and I felt completely naked, so I bought a $5 analog watch to tide me over til I got back to my digital running watch. By the time we got back to the Kalahari, the evenings events were done as far as CodeMash went, so we went to the room and began drinking beer and played RockBand... That game ROCKS!! James had some cheat codes to get all possible songs and we ended up playing it til about 1:30am.
Thursday
The next morning, we got down to the booth and the event was in full bloom. Geeks were coming out of the woodwork and I felt right at home. :) We talked to a few people about who we were and met a few of our customers. I quickly found out that the only way to get people to take our books was to jump out in the middle of the mix and force our material into their hands. Once I made eye contact with them, they would ask questions about the company, I would tell them about what we did, showed a couple of demos and told them to download an eval and see for themselves. I was amazed at how many people were from Columbus. It seemed like the most popular place as far as I could tell from all the attendees I talked with.
I saw Scott Hanselman wondering the halls and I approached him with an extended hand. I told him I loved his podcast and we talked about his last show with Rory Blyth / Chris Sells. :) It was hilarious; if you haven't heard it yet, check it out! He actually gave me a "Private Invitation" to his expert panel talk during lunch, but I decided to use that time to iron out my speach for the Vendor Sessions. It payed off too, because I felt very comfortable during my session and people in the audience actually gave me a good review... I know this because they had 'evaluation forms' they had to fill out and I read them. :)
Speaking of RockBand and Scott Hanselman, I got to jam with him and he commended me on my (rather crappy) RockBand drum skills. He played guitar while I played drums, then he sat and watched a couple of songs that I ended up playing with others. It was pretty cool to see him hanging out with all of us and "geeking out" with all of us geeks.
At the end of the day CodeMash had a party and they offered a jam session for all of the musicians that brought their instruments. There were a couple of people that brought guitars and Zach brought his Bass, so we got to jam out for quite a while. It was a lot of fun and I met a lot of cool people that night. Of course the night ended in a drunken haze (long island ice tea is th'shit) and of course it ended with even more RockBand and pizza. We had a blast!
Friday
We all woke up and got out stuff packed and loaded into the cars. By the time we got to the booth, we still had some time for the breakfast and it was soooooo good after the night of drinking (I chowed). We saw a couple of cool sessions and talked to a lot of people in the halls about our products. The ending raffle was a blast. So much stuff was given away at this raffle and it was a lot of fun.
Things I learned:
- Corey Haines has some mad musical talent
- Harmonica + Guitar + Vocals
- F# is fun and very powerful. I'll be learning it this year for sure!
- Silverlight is actually fairly easy to use... once you know a few tips.
- Zach is a guitar whiz and James is a damn good singer in RockBand!
- Bring a gaming console to your booth when you exhibit at CodeMash!
Props to all the organizers that put CodeMash on: Jim Holmes, Brian Prince, Jason Gilmore, Jason Follas, Jeff Blankenburg, Josh Holmes, Dianne Marsh, John Hopkins, Brian Sherwin, and Chris Woodruff.
We'll be seeing you next year! :)
Wednesday, December 05, 2007
CodeMash Theme Song
There has been some discussion on the CodeMash discussion board about a jam session this year: Music at the conference?
After reading the thread, I saw where nobody had voluteered for drum-duty, so I did. I'm pretty excited about this, to say the least. I'm going to try and talk James into either singing or bringing his saxophone. :)
Flashback: Many years ago, Data Dynamics took a trip to San Fransisco and there was a band playing at one of the Microsoft after-hour events (making some pretty good money, I'm sure). We were all mingling about with our drinks in hand, and I went up to meet the band. I was talking to them (in between songs) and asked if I could sit in on the drums for one of their songs... surprisingly they let me! I'll never forget that. They announced my name and stated that I work for Data Dynamics (free publicity) before we played and then we ended up playing "Brown-Eyed Girl" for the crowd. The people I was traveling with (Tim & Ferhat, if I remember correctly) couldn't believe I even asked. :) I think Ferhat even took pictures (?). This was all before I was blogging of course, or this would have DEFINITELY made it on my blog.
Ok, back to present day... I'm hoping somebody will bring a digital camera and we could record the CodeMash theme song. :) If all goes well, we may end up travelling around the world opening for various pop stars... Ok, maybe not. Anyway, Scott is preparing a keynote presentation to tie many things together and he plans to stick around afterwards to talk to people and answer tough questions. This ought to be a great event. :)
After reading the thread, I saw where nobody had voluteered for drum-duty, so I did. I'm pretty excited about this, to say the least. I'm going to try and talk James into either singing or bringing his saxophone. :)
Flashback: Many years ago, Data Dynamics took a trip to San Fransisco and there was a band playing at one of the Microsoft after-hour events (making some pretty good money, I'm sure). We were all mingling about with our drinks in hand, and I went up to meet the band. I was talking to them (in between songs) and asked if I could sit in on the drums for one of their songs... surprisingly they let me! I'll never forget that. They announced my name and stated that I work for Data Dynamics (free publicity) before we played and then we ended up playing "Brown-Eyed Girl" for the crowd. The people I was traveling with (Tim & Ferhat, if I remember correctly) couldn't believe I even asked. :) I think Ferhat even took pictures (?). This was all before I was blogging of course, or this would have DEFINITELY made it on my blog.
Ok, back to present day... I'm hoping somebody will bring a digital camera and we could record the CodeMash theme song. :) If all goes well, we may end up travelling around the world opening for various pop stars... Ok, maybe not. Anyway, Scott is preparing a keynote presentation to tie many things together and he plans to stick around afterwards to talk to people and answer tough questions. This ought to be a great event. :)
Thursday, November 29, 2007
CodeMash 2008 - Spread the Word!
Data Dynamics is damn proud to be sponsoring CodeMash 2008! We sponsored (and attended) the event last year, and we'll be sponsoring (and attending) the event again this year. Last years event was a huge success for the entire development community around here. The crew that puts this event together is just "with it"... big time.For example, last year, Scott Guthrie gave the keynote, and they had all kinds of high class speakers giving sessions on some pretty cutting edge technologies (ie. grid computing was pretty informative). I actually made "small talk" with Scott Guthrie in the hall (mono 'e' mono) before his keynote; he's pretty grounded for a man with such wisdom/respect. This year, the other Scott will be giving the keynote. That's right, Scott Hanselman! I just blogged about this guy the other day (Scott Hanselman - The Realtor) and I listen to his podcast (HanselMinutes) all the time. It will be great to see him face to face... who knows, maybe I'll bring the floor plans to my house and ask him to lunch for some Google Earth / SketchUp wizardry. :)
Last year I was able to take the family and we made a mini vacation out of the event:
![]() |
| CodeMash 2007 @ Kalahari Resort |
This year, the family is staying at home, so I'll be in "full" nerd mode. It will just be James and I, and we'll be talking a lot about our latest products ddReports and ddAnalysis. We'll be giving lots of demos and plan to give a presentation of just how powerful and easy to use these products are. If you plan to attend CodeMash this year, please take time to visit our booth and attend our presentation.
It goes without saying (thanks Pilgrim) that the CodeMash agenda looks pretty stellar this year. I'm thinking that James and I might split up and check out some different sessions, then share knowledge over a beer afterward. We will be giving a presentation of our latest products in one of the side rooms (more details in a later post). We plan to create a compelling use case for analyzing data (source code included).
If you are reading this post, and haven't got a ticket for CodeMash, go do it! This is a high class event, put on by some high class people. The best part is that the organizers have made this event cheap to attend, with a list of speakers that are highly respected in the development community. CodeMash made the #1 Technorati search term last year (beating the iPhone)!! I gotta admit that the overall feel of CodeMash just makes being a geek "cool"! It's gonna be a fun one this year! I wonder if there will be more head shavings... Josh? :)
Oh yeah, if you didn't know this, the Kalahari Resort is a huge indoor water park! I do plan to bring my trunks... and about $20 extra for the massive arcade room as well.
Spread the word!
Friday, November 16, 2007
Cool Ruby Linq
... ok, the "q" was not necessary; I just thought it made my title look cool... Well?
Whatever, click this: http://www.dzone.com/links/rss/introduction_to_ruby_video_series.html
Whatever, click this: http://www.dzone.com/links/rss/introduction_to_ruby_video_series.html
Subscribe to:
Posts (Atom)
