Posted in HowTo
Comments
CBQ
For a client’s application, we needed to programmatically (without user-intervention) update the Status (Wall) of a Page for a Company. After researching the API and several guides, you would think it was just not possible..
In fact, there’s even a forum post on the Facebook developers forum on How to update facebook page status from 3rd party application where a Facebook employee explains that it is impossible (as of 2007, at least).
The good news is, it is not impossible (as of right now). Here’s how to update the Status of a Facebook Page Programmatically, through the API.
What you’ll need:
- Ruby and RubyGems
- A Facebook Account
- A Facebook Page
- A Facebook Developer Account/Access (we’ll go through setting this up)
- A Ruby or Rails app with access to the facebooker library (either as a gem or using the Rails plugin).
Update: As pointed out in the comments, publishing through Facebook using the method described below does place content on the fan page, however, it is not displayed in any user’s feeds or streams, which makes it not quite so useful. We have since opted to go with the uber-cool ping.FM service and we even wrote a little ping.fm ruby wrapper library for their API.
Read more... 
Posted in Atlanta
Comments
CBQ
If you’re thinking about doing this year’s Rails Rumble, Highgroove HQ in Atlanta (map) is offering up our office space for any teams in the Atlanta area for the competition (Aug 22 – Aug 23).
Highgroove has a team, and we know of a few more folks seeking teams. Ping us if you’re interested in joining or forming one. Registration ends soon (this weekend)!
Posted in Open Source, What We Wrote, Presentations
Comments
Matt Todd
Trying to handle image manipulation, creating PDFs, or in-memory caching in pure Ruby is like trying to win the Tour de France on your hipster single-speed bike. The single-speed works 90% of the time, but when you have demanding performance requirements, it’s not good enough. Many popular Ruby libraries, such as MySQL/PostgreSQL, RMagick, and most of the webservers Ruby applications are deployed on (like Passenger, Mongrel, and Thin), harness the blazing speed of the C language and libraries to handle the heavy lifting and performance-intensive business that Ruby can’t keep up with on its own.
In some of my recent work, I had the opportunity to delve into and expand on a Ruby extension written in C for looking up geographic information based on IPs. This library was vital to one of our client’s projects that has immense performance requirements without the possibility of full request caching. By utilizing the existing GeoIP C library for accessing their special in-memory binary database, we were able to keep up with the demand the application would be seeing.
As is common at Highgroove Studios, along with making sure our contributions to the library were open sourced, I took the lessons and experience gained from this unusual endeavor and presented them to our local Ruby User Group here in Atlanta. I focused more on exposing the bridge between the Ruby and the C environments and understanding the internals of the Ruby language from a C standpoint. However, armed with this knowledge, any Rubyist is able to open up most any Ruby extension or even the Ruby language implementation itself and understand what’s going on. My goal was to get the developers over the initial hurdle of being able to read the code and understand it enough to investigate further.
Personally, I gained from this experience a better appreciation for the real beauty of the Ruby language and the effort required to make it as fluid and dynamic as it is as well as having a more thorough understanding of the internal workings of the language. Working this close to the language core has also made a difference on my Ruby style, both in trying to fight the language less but to also use it more efficiently and effectively.
For more information, check out the presentation slides1 and some of the C examples I wrote for the presentation2. Also check out the GeoIP I contributed to which inspired this whole adventure3.
1 http://www.slideshare.net/maraby/writing-ruby-extensions
2 http://github.com/mtodd/ruby-c
3 http://github.com/mtodd/geoip
Posted in Open Source
Comments
CBQ
Both James Edward Gray II and Matt Todd were quoted in Satish Talim of Ruby Learning’s Poll: 20+ Rubyists are using Sinatra – Do You?
Sinatra is a Ruby framework for quickly creating web applications with minimal effort—a DSL for the web. We use Sinatra for several client projects, and it is also an integral part of Scout.