The most effective way to build an accessible site is to write good markup
If you produce well written HTML you shouldn’t have to do anything clever to make your site accessible.
How Facebook Platform Works and Why We Like It
At Inigral, I’ve been fortunate enough to be able to build an application that integrates with Facebook, perhaps the most advanced and interesting platform ever created.
Inigral Helps Facebook Stay Secure
The Inigral CTO accidentally made worldwide headlines when he found a bug in Facebook’s Instant Personalization. Facebook immediately fixed it, and the world was saved from potentially evil hackers…. We’re so proud, our George is a superhero.
Facebook Awards Inigral Preferred Developer Consultant Status
Our team is proud to announce that we are now Facebook Preferred Developer Consultants! After a long and hard year of working with our clients to make sure that our applications meet their institutions’ standards, along with ensuring that the user experience of our Facebook applications was no less in quality than that of Facebook’s itself, this is quite a treat to us and our community.
Inigral Co-Founder Wins 2010 UC Berkeley Hackathon
Inigral Co-Founder and CTO George Deglin joined forces with Causes engineer Okay Zed this past weekend to compete in the 2010 UC Berkeley Hackathon, sponsored by Zynga (creators of Farmville). Their team of four came in second place for converting a website mockup to HTML/CSS with OCR and computer vision.
Getting Started with Schools on Facebook
This is a step-by-step guide to adding your institution’s Schools on Facebook app to your profile. If you have any questions, feel free to contact Kyle Langdon at klangdon@inigral.com.
Openness in Higher Education: Municipal Data as Inspiration for Openness
I want to see a school that puts their course catalog and offerings up on their website in XML format that’s easy to scrape and crawl, then make an App Challenge for their students to make something cool out of it.
Google Maps Server-Side Clustering with Ruby on Rails (RoR)
While working on google maps in the past I have always ran into the same problems time and time again. One of those problems is the issue of clustering. Maps with simple markers and GManagers work great until you start working with a lot more information (10′s of thousands of markers). One could wonder “How is it possible to accurately show thousands of points while maintaining a quick application?”.
Sax Mapper: SQL batch inserts from XML with SAX parsing in Ruby
As part of my work with IMS Global on educational data specifications, I’ve been working on a REST binding of the Learner Information Services (LIS) protocol, that I call Simple LIS. I wrote the reference implementation with Hpricot DOM parsing and ActiveRecord, so it had speed and memory issues when run in production.
A Google Wave robot container in Sinatra
Since I got a Google Wave account at Google IO, I felt like I should try to do something Ruby-ish in it. I got talking to Charles Nutter, and he suggested a Sinatra template for Wave Robots. So here it is. I stole shamelessly from Tim Morgan (http://github.com/seven1m) and Sam Ruby (http://github.com/rubys) to make this [...]
Invitation-bot: A Google Wave Robot in Python
Google Wave opened its doors to Google IO attendees yesterday, and I’ve been playing with it a bit since then. We had the usual problem with a new communications system: no one knows anyone else. And so a thread was started on the google groups list, where people were listing their email addresses so people [...]
Mongrel Cluster Charts using god and munin
I wanted a way to get graphical histories of my Rails app’s behavior, and I decided the easiest way to do that was to create a munin-node plugin for god. So I did that in a fork of god here: http://github.com/MikeSofaer/god/tree/master
Rails on App Engine: A Cold Start
I’m at RailsConf ’09 and I want to get a “Hello World” style Rails app running on Google App Engine, from a totally cold start, without any dependencies. A lot of this is available in various places on the net, including Dan Kubb’s sample Datamapper Rails app, and Ola Bini’s Rails on GAE post.
Trouble with config.gem?
While going back through an improving some initialization code of our application I moved all require statements for our rails gems into the Rails::Initializer block. This worked great for everyone except one of my coworkers who reported the following error: c:/ruby/lib/ruby/site_ruby/1.8/rubygems/version.rb:237:in `initialize’: undefined method `collect’ for #<Gem::Version::Requirement:0x371b2d8> (NoMethodError) The solution turned out to be very [...]
Facebook FBJS Javascript Library
We’re big fans of javascript. Used correctly it can create a great user experience. It gives me great pleasure to announce that we at Inigral have decided to develop and share our own Javascript library with the rest of the Facebook development community. It’s available now at: http://github.com/gdeglin/inigral-fbjs-library
has_many :through polymorphic with STI
The code for has_many :through polymorphic is pretty straightforward but what if you are using Single Table Inheritance (STI) on either or both sides of the polymorphic through table? There were a number of painful hacks to make this work until a patch to ActiveRecord by Trevor Squires added the :source_type key to has_many :through [...]
Finding the Biggest Group
An interesting undocumented piece of ActiveRecord I bumped into today is “count_all”. You can use this inside ActiveRecord count calls to do sorts and limits based on the count when you’re doing GROUP BY. I came across this because I was having a bit of trouble recently finding the Rails way to find the biggest [...]
Developing a Facebook Platform application from your local machine (with Ruby on Rails)
You have a laptop, a sever and a Facebook app. Ideally, Facebook would talk to your development machine. But what if you don’t have a static ip address and you can’t use dynamic dns or port forwarding? vReverse SSH Tunneling is what you need my friend. The following is a step by step tutorial of [...]


















