Microsoft is releasing new versions of SQL Server on Linux more and more frequently. Last month brought us SQL Server 2017 Community Technology Preview 2.0 and like the others before, it's a breeze to use with Docker. Around the same...
Just sharing some pains for the first commit(s) to the SQL Server Rails v5 support effort. These are very raw findings I captured while working. The idea is to share the pains/gains in making a 3rd party adapter for Rails...
Rarely do the words "open source" come to mind when the Microsoft Corporation is mentioned. As the maintainer of the SQL Server stack for both Ruby & Rails, and a long time Apple/UNIX fan, I have been engineering solutions to...
I have been overriding, invoking, and executing custom Rake tasks since I was an early Ruby developer. Tweaking your project's automated tasks are likely the closest thing Rails developers come to building their own light saber. Most popular are adding...
After 4 weeks of work, the ActiveRecord SQL Server adapter is now ready for Rails v4.2.0 and in pre-release status. The list of features is impressive. But first, some bad news. Code named Kantishna, after a small community in Denali...
Last month Rails 4.2 was released and if you have been keeping up with my posts, I even covered how you can upgrade from 3.2 to 4.2 in one step! This speaks volumes to how easy it is to adopt...
Last week I set out to upgrade HomeMarks, a personal bookmarking project of mine. This application sat on a very recent upgrade to Rails 3.2. It is written as an API to both an iOS and HTML JavaScript interface. It...
The scalable vector graphics format has a really nifty way to define and reuse objects. It does this by allowing objects or paths to be defined in the <defs> element and then used one or many times with the <use>...
Do you want to use your existing Rails' layouts & business logic for your new Blog? Do you know and love Jekyll, but cant seem to get the two to play nice together? In the spirit of doing the simplest...
As a white male in the computer industry, I have never felt like I could add value to the conversations that call for diversity and respect to all those that share the same passions I do. Instead, since teaching myself...
Have you ever wondered how tools like New Relic are able to gain valuable metrics to your Rails application's internals? Or maybe you are interested in learning how to write your own libraries and gems so they can be instrumented...
Environment variables as a configuration means are everywhere in Ruby. For instance, ActiveRecord will use the single DATABASE_URL environment variable for every part of it's configuration, no database.yml needed! If you are not on board with environment variables, check out...
Last week, our localy Ruby community in Norfolk, VA re-launched the 757rb.org website. This was the third static website I have build using Jekyll and the second since the official v1.0.0 release. It was also completely different than any creative...
The latest README for HolyGrailHarness project will always be on the Github project page. A curated Rails application prototype that focuses on simple test patterns for Ruby & JavaScript! Unlike normal Rails Application Templates or more modern Rails application generators...
Any good Ruby developer that tests time-dependent code has used the Timecop gem. Timecop provides dead simple time travel and freezing capabilities to Ruby's standard library. But what if you are working on a rich JavaScript application that is backed...
Here are a few quick tips for the time zone aware Rails developer that finds themselves deep into JavaScript date objects. First, use the Moment.js JavaScrpt date library! Moment.js has a very rich API for parsing and working with times,...
The VC in 'MVC' As Addy Osmani points out in his Scaling Your JavaScript Applications presentation, all JavaScript 'MVC' frameworks interpret MVC differently. These differences are an academic rabbit hole and if you are really interested about them, I recommend...
When ActiveRecord 3.2 was released there was a small addition called ActiveRecord::Store which bills itself as a simple key/value store for your models. The code below is pulled right from their example usage. class User < ActiveRecord::Base store :settings, accessors:...
Previously I had updated this article to say that this commit looked like it gives you real variable properties in LESS. I was wrong! So even in LESS v1.3 you are still screwed for doing metaprogramming and working with a...
OK I know I promised that we would start the dive into testing your Spine.JS application using Jasmine(rice) in my last article, but this is a good diversion. If you are new to my latest series on Spine.JS and Jasmine,...
So this is the third part to my mini series on Rails and Spine.JS. Part one covers an initial setup and how to include Spine.JS into your Rails project while part two is actually the first of a tome on...
In my previous article I talked a little bit about why I decided to use Spine.JS and how to include the CoffeeScript source into your Rails project using git submodules. Now I would like to talk about testing your brand...
Our options for JavaScript MVC frameworks are numerous these days. While working on the third major rewrite of my personal bookmarking application, HomeMarks, I decided to learn Backbone.js. Thankfully a local friend of mine recommended that I try Spine.JS. I...
This weekend I decided to experiment with LESS CSS by replacing the existing Sass and Compass code that had been built thus far a small project. Why? Three basic reasons. First, I wanted to see how LESS stacked up. Second,...
One part of Objective-C that I like is being able to send messages to nil objects safely and more so their KVC and KVO patterns. In Ruby I often use the #try method to safely send messages to objects that...
I ask this question a lot! To Job candidates, friends, and almost any developer that says they work with JavaScript. I believe how you encapsulate your JavaScript is a good indicator on your level of expertise with the language. I...
I just finished my first dive into using jQuery Mobile with a Rails application and wanted to share some techniques that came out along the way. Hopefully these will help you if your are using jQuery Mobile with Rails or...
UPDATE: Now that Rails 3.1 is out, just use the latest compass or pre-release. No hacks needed! This is a simple update to my original article for using compass's .scss files with the asset pipeline. This assumes you had this...
For anyone that did not attend the first MADExpo (Mid-Atlantic Developer Expo) this week, here are my slides posted on slideshare. This talk centers around 3 basic sections. The first is general Open Source and what it can do for...
Friends have told me that rich domain objects are seldom wielded when using jQuery to enhance behavior on web pages. I myself have always loved JavaScript as a rich dynamic language first and something for the DOM second. Hence most...
This twitter post by Dave Thomas sparked an interesting back and forth with DHH on how Rails 3.1 could be more opinionated towards web development for the browser. A short time before – it was announced that Rails would include...
UPDATE: Now that Rails 3.1 is out, just use the latest compass or pre-release. No hacks needed! The Sprockets 2 gem along with the Tilt gem make it really easy to write JavaScript or CSS using any templating language you...
Over the past few months I have been actively working with both Luis Lavena and Wayne E Seguin to incorporate both TinyTDS and the SQL Server Adapter into the latest release of the Rails Installer for Windows. Like them, I...
UPDATE: I have renamed the gem that allows you to switch to MiniTest::Spec in Rails to minitest-spec-rails. It is now considered a single gem install with a drop-in to switch to MiniTest::Spec. This article has been updated to reflect this...
UPDATE: Using MiniTest::Spec With Rails & From Test::Unit & Shoulda To MiniTest::Spec & MiniShoulda MiniBacktrace allows you to take advantage of the Rails.backtrace_cleaner when using MiniTest. This includes everyone using Rails 3 with Ruby 1.9. Just add 'mini_backtrace' to your...
Last week I had the pleasure of rewriting 4 years of legacy PDF::Writer code to PDFKit. Why? Well drawing pdfs in ruby using libraries like PDF::Writer is like composing a webpage with an Etch A Sketch. In short, its a...
Here is a gist by Sokolov Yura (funny-falcon) that allows you to GC tune Ruby 1.9.2 just like Ruby Enterprise Edition (REE). So all of us using RVM have no reason not start using this right away. Here are the...
There are many great techniques for sharing code across XCode projects. If that code is tested and build-able by XCode as a static library, Clint Harris' Easy, Modular Code Sharing Across iPhone Apps: Static Libraries and Cross-Project References is really...
If you have not done so, please go read my article Modern SQL Server & Rails on the Engine Yard blog. I want to thank Wayne E Seguin for inviting me to write the article. This article details many exciting...
The Pragmatic Bookshelf's Using memcached: How to scale your website easily is way old. But then again, memcached is still very useful. One of the things I remember reading a long time ago was the stats for your process and...
UPDATE: If you want to use MiniTest::Spec with Rails please read my updated post and how to use the minitest-spec-rails gem. It seems the MiniTest replacement for Test::Unit in Ruby 1.9 has been presenting itself more and more in my...
On December 1st, Heroku deprecated their bundles add-on in favor of their new PG Backups. Even though there are other solutions for automating backups using this new add-on, none of them met my needs. I like to have a daily...
Welcome to the new MetaSkills.net! I have moved from Mephisto to Jekyll and done a complete rewrite of the presentation layer to the latest web standards as a way of staying somewhat sharp with the latest HTML5/CSS3 hotness. In this...
I just finished the first cut of learning C extensions for ruby and I present The TinyTds gem. It is meant to serve the extremely common use-case of connecting, querying and iterating over results to Microsoft SQL Server databases from...
For us at work, our uploads to campfire are really transitory. Most of the time they are simple screenshots around a current topic. Every now and then vacation photos or even movies, at the end of the day, none of...
You may not realize it, but that ~/.rvm directory is getting big and may be hurting your Time Machine backups. Especially if you are doing a lot of development. I just checked mine today. $ du -skh ~/.rvm/gems 1012M /Users/kencollins/.rvm/gems...
A few weeks ago I started looking into the Ruby Version Manager (RVM) project to help me build a better testing setup for both my day job and the ActiveRecord SQL Server Adapter. In a previous article I covered details...
TinyTDS is the upcoming de facto raw connection method for the SQL Server adapter. Please read the Using TinyTDS wiki page on the adapter for switching. No longer do you have to worry about compiling ODBC layers! I have changed...
Last week I started reading JavaScript: The Good Parts by Douglas Crockford. It was on my list of long overdue things to do. While reading it, I wanted to be able to kick some simple JavaScript examples around. As rubyist...
Sometime in rails 2.x the #inspect method for an ActiveRecord class was changed to show you all the column names (attributes) of that class. This is fine when things are small but if your working on a big legacy schema...
I never liked how Webrat shows the complete response body for exceptions when integration testing rails applications. For the longest time I redefined the formatted_error method to simple do nothing. Today I used Nokogiri to parse out the good bits...
Rake is cool. It is built so that multiple tasks with the same name run in a reverse defined series. This is great, but sometimes you want to override a task with your own behavior and conditionally call the earlier...
A while back ago I wrote an article about how to use Rails built-in forgery protection in your RESTful AJAX calls. Normally AJAX requests, those responding true to request.xhr? in rails, are forgery whitelisted. But sometimes, and under what conditions...
I've been using Xcode for about 8 hard core months now and for all this time I have been using a theme I made that mimics the All Hallow's Eve TextMate theme with a bunch of custom key bindings that...
Here is a little ZSH function I have been using for quickly setting up new XCode apps I call tire kickers, little play and learn apps. Being able to track your learning as you go with git. if [[ -x...
This is my presentation to our local @757rb/@757objc users group this past Tuesday. Hope some find it useful. Lessons learned from building HomeMarks native iPhone application to synchronize Core Data with a RESTful backend built using rails 3.0.0.pre. This covers...
This is something simple I worked up today for my ZSH profile that let's me keep my simple sc alias and have it work with all versions of rails. If you did not know, all the script files in rails...
An updated version of UJS and forgery protection in Rails3 here. Are you bleeding on the edge of rails 3 and need to shim up some unobtrusive JavaScript to work with your link_to code that uses a destructive :method option?...
UPDATE: May 15th, 2011 - Today I decided to to re-write this class as my first dive into both CoffeeScript and jQuery. You can find an updated version in this gist on github. As some of you know, I am...
This is one I have had sitting around for almost 3 years now in my toolbox and thought I would share. Have you ever had complicated rails forms and needed simple form buttons that just took you to a simple...
UPDATE: [10/18/2011] I now use Fog vs AWS::S3 with Paperclip. I have included a Fog specific example below. Yea I know, I am probably the last person on earth that is just getting around to using Paperclip. To be honest,...
Last nights 757.rb meeting was a great success. We did a talk titled Introduction To Ruby & Rails for all the new comers that might have been interested in learning more about both - from the ground up. Since Ruby...
Today I noticed that Ruby Enterprise Edition 2009.10 was released and I have really been wanting to see if I could get the SQL Server adapter tested and running under it. I am really curious how the speed improvements might...
My how time flies. Over a year ago I created a simple bit of code that was useful for stopping ActionController routing errors from common Microsoft attacks from sending exception notification emails. Well now most people do not use exception...
Well it took up quite a bit of my free time and a good 2 weeks of no iPhone development, but I am very very happy that the organization of my first event has been a success so far. Check...
One of the things that bugs me about some people in the technology field is that they do not perform enough occupational maintenance. Today I just purchased Agile Coaching and Beginning Mac Programming: Develop with Objective-C and Cocoa. Both from...
If you are interested in using RVM with a MacPort base for the SQL Server stack, check out this article. TinyTDS is the upcoming de facto raw connection method for the SQL Server adapter. Please read the Using TinyTDS wiki...
UPDATE: Hacks no longer needed, latest Visor/SIMBL is 64-bit Snow Leopard happy! This is a similar process that I had to go through back in the day when I had to hack visor terminal in Leopard. Basically the steps are...
Earlier this week I gave a talk at our local ruby users group, 757.rb, about Memcached. Here recently I started picking it up again so that I could keep track of large sets of PK/FK changes during a big database...
If you have legacy code written for ruby 1.8 and you want to run 1.9 and support your old PDF::Writer code, then just jump right over to my Github pdf-writer fork and get it. $ gem install metaskills-pdf-writer If you...
What have I been up too lately? Well primary working my butt off in my day job and after that, I just finished a week of vacation. As an aside, I need to disconnect more often, my vacation was very...
Want a list of the users and the number of commits they made? Git makes it really really easy, while I could not find such an easy method on Subversion. Here they are. Git $ git log | git shortlog...
UPDATE: In a recent article, I covered how to install REE and have hence NOOP'ed this function to ignore the symlinking when REE is installed. Ruby 1.9.1, the stable release, is just around the corner and if your like me,...
Based on my previous article Using Autotest For Rails Plugin Development, Brennan Dunn wrote a ZSH function that helps him with his eager rails plugin work. Testing plugins is simply the most fun you will ever have. It's nice to...
I got a chance to meet Gregg Pollack at this years RubyConf, a great guy. In fact I seem to owe him alot. Not only did I get 3 mentions lately on the main rubyonrails.org site, but it appears I...
So that about sums up what I've been doing for the past 4 weeks. A total rewrite of the SQL Server Adapter for Rails. On top of passing all the Rails 2.2.2 tests, which is MAJOR news, it includes tons...
While reading the The Unofficial Apple Weblog today I noticed this sweet little Jack-O-Lantern screensaver for OS X. After some feedback on the 757.rb group, I decided to make some Code-O-Lanterns. Follow the instructions for the Jack-O-Lantern screensaver on where...
I've been busy putting together some plugins form misc work. If you did not catch my latest article Jack has_many :things where I covered GroupeScope, by all means check it out. I've also just finished up a pretty solid backport...
I am Jack's sofa, stereo and wardrobe... I make Jack's life complete. I reside in a ActiveRecord table called "things" and Jack is the only one that has the key. This is Jack's life, and it's ending one minute at...
I love autotest. I have event posted before how to extend the idea of autotest sounds to a red/green playlist but now that I am taking more time to extract some of my work to plugins, I really wanted autotest...
Well HomeMarks v2.0 is done and ready for the public. You can download it from my Github project page. It has a real simple rake app:bootstrap task that I came up with over the weekend will have you running a...
I am all about knowing how to survive a zombie invasion – as much as I am a firm believer of using the right tool for a given job. It can not be argued that killing zombies with a shotgun...
Writing the new HomeMarks has been a great exercise. I've learned that the AJAX Head Design Pattern Implementation is more akin to developing a service-oriented application (SOA) since I have moved all client-side coupling from the controllers, like RJS, and...
It has been about 6 months now since I started using the Shoulda testing plugin as my BDD/TDD tool of choice. Unlike a lot of other people, I did not flock to the RSpec bandwaggon. Personally I think RSpec is...
Chris Williams did a really great write up on this pattern with great details on when/how to use it. Please considering reading it afterward. This is the first of a few articles covering the total rewrite of the HomeMarks.com code...
I've been a TextMate user for a long time now and I'm still finding new things to do with it. Here recently I wanted to use the RubyAMP TextMate Bundle and was a little miffed to find that it was...
UPDATE: This issue has now been resolved in the official release. If you are like me and have been using passenger, then you may have run into an issue when working with rails edge. I mean the REAL rails edge...
Well this is working out well so far. I'm really liking the Passenger (mod_rails for Apache) extension. Right now I have this Mephisto site running it and it seems to be doing really well. Also, most people do not do...
Here is how to get a playlist of sounds that will be hooked to both your autotest :red and :green callbacks. Basically this gives you a folder of sounds that are played one after another, in a loop, as your...
I just had an issue pop up today that seemed to be an issue for a few others. It seemed that all of a sudden that my autotest was stuck in an infinite loop after a failure or error. At...
My MacBook is about a year old now and I've read in quite a few places that they could be upgraded to around 3.3GB of memory for this specific model. Unlike the latest MacBook which can "as advertised" accommodate 4GB...
OK, so you want to keep your code placement REALLY organized. You have read about my persnicketyness and now you want to practice the best in concern placement and keep those controllers of yours really slim. Like me, you may...
One of the things that I have really grown persnickety about is the placement of code. For example, I am a huge advocate that controllers in a rails project should read like a mini Domain Specific Language (DSL) and that...
Well after a year of neglect, the MetaSkills.net blog has been reborn on Mephisto. Previously I was using Drupal and it finally got to a point where I was so deep into ruby that I did not even have the...
After attending Rails Edge in Reston, Virginia I decided to move some common tasks from my ~/.irbrc file and put them into Rake. I thought I would share a task that reads and writes the ActiveRecord schema table. Sometimes in...
Only now do I really get this image from DHH's blog. I am really beginning to despise SOAP for some reason, but I guess I will "get it" as I learn more about it -- as it seems to be...
UPDATE: HomeMarks is no longer an open source project available to download. I've heard that the best web applications are ones that usually start as a simple tool that meets the needs of its creator, in this case, myself. I...
Upon downloaded the Cutting-Edge version (1.5.4 r1311) of TextMate yesterday, I was happy to find a halloween surprise. How cool can one program be - thanks Allan! Especially to some of your latest work on extending the dialog features for...
I made a revised version of a rake task that I have used quite often, for unloading existing DB tables into fixture data and thought I would share. This rake task is the in correct name space and adds a...
So the WebSvr mini here at my home-based NOC (named ActionMoniker.com) is now running LightTPD as the web server. The benefits are that I can now run my PHP-based Drupal blog in FastCGI mode while also allowing virtual hosting under...
UPDATE: (May 18th, 2012) The modern replacement for VisorTerminal is called TotalTerminal and cand be found on the binaryage site Well this is far beyond cool but highly functional, a Quake like terminal implementation of Terminal.app that is a HotKey...
I have not been a black Mac owner since I got rid of my Lombard (aka the Bronze Keyboard) way back in 2001. Before that, I was the proud owner of a 3400c which was also black and one of...
Tim Toady tells us that (There Is More Than One Way To Do It) and I am sure this is not the first and not likely the last blog post you will ever see that tells you the best way...
Well, I just got back this past weekend from the Pragmatic Studio in Boston and it was well worth the time and effort. If you have not yet used the RoR framework for web applications, stay tuned to my next...
I will be the first to admit that I am really just learning how to tap into the power of my shell environment and to be honest, I've spent way to many hours reading man pages and figuring out how...
I've been learning to or "trying to learn" Ruby on Rails for a few months now and things have always kept me from finishing the book that I purchased from those great publishers at the pragmatic bookshelf. My problem has...
If you have ever accessed your website using a network protocol such as the Apple Filing Protocol (AFP), Samba (SMB), Web-based Distributed Authoring and Versioning (WebDAV), or Network File System (NFS) using your Mac – I am sure you have...
If you are like me, an up and coming network geek, you probably thought that browsers automatically cached a site's assets and media as you went through it and looked at each page. I was very surprised to find out...
Thanks to all those that read my recent post about networking 3 Mac Mini's Hopefully it can help you create a network that is as close as possible to the administrator's second home, the NOC. As an aside form the...
Or, how to be the biggest network geek you can in only 1 square foot of space. Starting last year after reading Ward Mundy's How-To Bonanza, I knew I needed to use the Mac Mini as the core hardware component...
One of my few New Year's resolutions was to blog often in the year 2006, in fact, I promised myself I was going to write at least one post every day. Well it's been two weeks since my last update...
After being exposed to using TextMate for all my normal text editing needs, I soon began to do more things than just simple GREP-based search and replace functions. I actually started to look at code more often. Within a few...
About a year ago a fellow co-worker of mine was raving that I should learn VIM from the command line interface (CLI) so that I could use it for all my text editing needs. My co-worker at the time was...
Lately, I've been loving all things that can be solved by using RsyncX. It's my de facto backup utility and I just keep finding more and more tasks for it as each day goes by. It has become the hammer...