{"id":522,"date":"2007-04-21T13:04:24","date_gmt":"2007-04-21T18:04:24","guid":{"rendered":"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby"},"modified":"2007-04-21T13:04:25","modified_gmt":"2007-04-21T18:04:25","slug":"making-breaking-web-services-with-ruby","status":"publish","type":"post","link":"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby","title":{"rendered":"Making &#038; Breaking Web Services (with Ruby)"},"content":{"rendered":"<p><a href=\"http:\/\/errtheblog.com\/\">Chris Wanstrath<\/a> (ex-CNET, now freelancing) worked on Chow and <a href=\"http:\/\/www.chowhound.com\/\">ChowHound<\/a>, and thats Ruby and MySQL based, as opposed to PHP which is something they normally use. At last years conference, he arrived still as a PHP programmer. He transformed to a Rails programmer in only a year!<\/p>\n<p>The Ruby SOAP library is really hard to debug. It however, creates methods on the fly, and the library itself is reliable. mocks is a good way to test SOAP, or <a href=\"http:\/\/mocha.rubyforge.org\/\">Mocha<\/a>.<\/p>\n<p>Microformats &#8211; the website is your API. Just use semantic markup, that tell the pareses what information is important. They&#8217;re very easy to add accessibility to the stuff that you already have there. mofo (sudo gem install mofo) is a gem to parse microformats. Corkd &#8211; another rails site? mofo supports pretty much everything &#8211; hCard, hCalendar, hReview, hEntry, hResume. hEntry is what they used to get recent blog posts displayed on Chow, from ChowHound (because they&#8217;re two separate applications).<\/p>\n<p>Hpricot allows you to scrape pages (and a whole lot more). Its written in C, and its really fast. Great for scripting. <\/p>\n<p><a href=\"http:\/\/cheat.errtheblog.com\/\">Cheat.errtheblog.com<\/a> &#8211; stores cheat sheets. And its a command line Ruby application that pulls information off a web service. The web site itself is some sort of wiki (diffing changes, logging everything).<\/p>\n<p>Technorati Tags: <a class=\"performancingtags\" href=\"http:\/\/technorati.com\/tag\/ruby\" rel=\"tag\">ruby<\/a>, <a class=\"performancingtags\" href=\"http:\/\/technorati.com\/tag\/svrc2007\" rel=\"tag\">svrc2007<\/a>, <a class=\"performancingtags\" href=\"http:\/\/technorati.com\/tag\/soap\" rel=\"tag\">soap<\/a>, <a class=\"performancingtags\" href=\"http:\/\/technorati.com\/tag\/microformats\" rel=\"tag\">microformats<\/a><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BShared%20Post%5D%20Making%20%26%20Breaking%20Web%20Services%20%28with%20Ruby%29&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2007%2F04%2F21%2Fmaking-breaking-web-services-with-ruby&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you&#039;re having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"88eeae70f8\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-522\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-522\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-522\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Chris Wanstrath (ex-CNET, now freelancing) worked on Chow and ChowHound, and thats Ruby and MySQL based, as opposed to PHP which is something they normally use. At last years conference, he arrived still as a PHP programmer. He transformed to a Rails programmer in only a year! The Ruby SOAP library is really hard to [&hellip;]<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BShared%20Post%5D%20Making%20%26%20Breaking%20Web%20Services%20%28with%20Ruby%29&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2007%2F04%2F21%2Fmaking-breaking-web-services-with-ruby&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you&#039;re having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"88eeae70f8\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-522\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-522\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-522\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2007\/04\/21\/making-breaking-web-services-with-ruby?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_options":[]},"categories":[1],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4vJD-8q","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":761,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2008\/03\/31\/hitchhackers-guide-to-the-mysql-conference-rubyruby-on-rails-edition","url_meta":{"origin":522,"position":0},"title":"Hitchhacker&#8217;s Guide to the MySQL Conference &#8211; Ruby\/Ruby on Rails Edition","date":"31\/3\/2008","format":false,"excerpt":"The Hitchhacker's Guide to the MySQL Conference Ruby\/Ruby on Rails Developer's Edition Following on from the excellent Hitchhacker's Guide to the MySQL Conference - PHP Edition by Jay Pipes, I'm doing one for the Ruby and Ruby on Rails developer in you. If you haven't registered yet, remember, I can\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":390,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2006\/04\/04\/sdforums-silicon-valley-ruby-conference","url_meta":{"origin":522,"position":1},"title":"SDForum Silicon Valley Ruby Conference","date":"4\/4\/2006","format":false,"excerpt":"Ruby on Rails is hot technology. Its got the essence of Web 2.0 written all over it, right? Seeing that it supports MySQL out of the box, we like it. We of course want to enhance our support of the Ruby on Rails team, and make sure the RoR users\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1064,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2008\/09\/23\/rails-fails-sticker","url_meta":{"origin":522,"position":2},"title":"Rails&#8230; Fails&#8230; (sticker)","date":"23\/9\/2008","format":false,"excerpt":"I had first seen the interesting Rails logo in a talk by Terry Chay, while I was at OSCON, a few months ago. Now, my esteemed colleague Jay Pipes has it on his laptop. It seems they're making stickers, even. Otherwise, my next task is to revamp our Ruby content.\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":655,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2007\/10\/29\/conferences-and-co-presenters","url_meta":{"origin":522,"position":3},"title":"Conferences and co-presenters","date":"29\/10\/2007","format":false,"excerpt":"I'm noticing some trends of late, as I go through the proposals for the MySQL Conference & Expo 2008. Rails: has it lost its steam? I'd like to see some talk submissions for Ruby and Ruby on Rails users, clearly. This stuff is still hot on the web (look at\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":762,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2008\/04\/04\/selenium-at-the-myoss-meetup","url_meta":{"origin":522,"position":4},"title":"Selenium at the MyOSS meetup","date":"4\/4\/2008","format":false,"excerpt":"I was at yesterday's MyOSS meetup, and the topic was on the Selenium Web Testing Framework, presented by Yuen-Chi Lian. Here are some notes, and hopefully the slides and code make it up to the website soon.- Java guy, who is a MyJUG guy- Employed by CustomWare Asia Pacific, and\u2026","rel":"","context":"In &quot;General&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":497,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2007\/03\/27\/mysql-cool-aid-40-on-mysql-eur1-million-deal-signed","url_meta":{"origin":522,"position":5},"title":"MySQL cool-aid: 40% on MySQL; EUR$1+ million deal signed","date":"27\/3\/2007","format":false,"excerpt":"Its interesting to note some happenings in the MySQL world of late, that might be of interest to people in the database world, and those following open source software development and business models. 40% of developers say they use MySQL, according to the Evans Data Group. This is not including\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/522"}],"collection":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/comments?post=522"}],"version-history":[{"count":0,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/522\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/media?parent=522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/categories?post=522"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/tags?post=522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}