rosy 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README ADDED
File without changes
@@ -0,0 +1,6 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__)) unless $LOAD_PATH.include?(File.dirname(__FILE__))
2
+
3
+ require 'rosy/parse.rb'
4
+
5
+ # rosy = Rosy::Parse.get_updates("http://feeds.feedburner.com/rizwanreza", "Jan 1 2009", "Jan 7 2009", 200)
6
+
@@ -0,0 +1,35 @@
1
+ require "rubygems"
2
+ require "feedzirra"
3
+ require "chronic"
4
+
5
+ module Rosy
6
+ class Parse
7
+ def self.get_updates(feed, from, to, chr_limit)
8
+ @feed = feed
9
+ @from = Chronic.parse(from)
10
+ @to = Chronic.parse(to)
11
+ @range = @from..@to
12
+
13
+ parsed = Feedzirra::Feed.fetch_and_parse(@feed)
14
+
15
+ updated_entries = []
16
+
17
+ # Narrow entries in date range
18
+ parsed.entries.each do |entry|
19
+ content = entry.content || entry.summary
20
+ if (entry.published >= @from) && (entry.published <= @to) && (content.length >= chr_limit)
21
+ updated_entries << entry
22
+ end
23
+ end
24
+ return updated_entries
25
+ end
26
+
27
+ def self.get_multiple_updates(feeds, from, to, chr_limit)
28
+ updates = []
29
+ feeds.each do |feed|
30
+ updates << self.get_updates(feed, from, to, chr_limit)
31
+ end
32
+ return updates
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,16 @@
1
+ require "rubygems"
2
+ require "activerecord"
3
+
4
+ module Rosy
5
+ class Record
6
+ def self.record_updated_entries(parsed)
7
+ parsed.each do |entry|
8
+ Model.create( :title => entry.title,
9
+ :url => entry.url,
10
+ :author => entry.author,
11
+ :content => (entry.content || entry.summary),
12
+ :published => entry.published )
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,150 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
3
+ <channel>
4
+ <generator>http://textpattern.com/</generator>
5
+ <title>Maxvoltar</title>
6
+ <link>http://maxvoltar.com/</link>
7
+ <description />
8
+ <copyright>Copyrights (c) 2010 Maxvoltar. All rights reserved.</copyright>
9
+ <pubDate>Mon, 11 Jan 2010 14:35:53 GMT</pubDate>
10
+ <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/maxvoltar" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
11
+ <title>Dreaming of an Apple Tablet</title>
12
+ <description>&lt;p class="conversation"&gt;&lt;cite&gt;My Mom&lt;/cite&gt;: &lt;q&gt;Have you heard, Apple&amp;#8217;s launching a pill in a couple of weeks!!&lt;/q&gt;&lt;br /&gt;
13
+ &lt;cite&gt;Me&lt;/cite&gt;: &lt;q&gt;&amp;#8230;&lt;/q&gt;&lt;br /&gt;
14
+ &lt;cite&gt;Me&lt;/cite&gt;: &lt;q&gt;Erm&amp;#8230;&lt;/q&gt;&lt;br /&gt;
15
+ &lt;cite&gt;Me&lt;/cite&gt;: &lt;q&gt;&amp;#8230;&lt;/q&gt;&lt;br /&gt;
16
+ &lt;cite&gt;Me&lt;/cite&gt;: &lt;q&gt;Is it possible you mean a &amp;#8216;tablet&amp;#8217;?&lt;/q&gt;&lt;br /&gt;
17
+ &lt;cite&gt;My Mom&lt;/cite&gt;: &lt;q&gt;Yeah that!&lt;/q&gt;&lt;br /&gt;
18
+ &lt;cite&gt;Audience&lt;/cite&gt;: [hysterical laughter]&lt;br /&gt;
19
+ &lt;cite&gt;The band&lt;/cite&gt;: [rimshot]&lt;/p&gt;
20
+
21
+ &lt;p&gt;It looks like everyone and their next door neighbor is super excited about whatever Apple will supposable reveal on January 27th. We&amp;#8217;re no longer asking ourselves &amp;#8220;&lt;em&gt;Will&lt;/em&gt; Apple launch a tablet,&amp;#8221; or &amp;#8220;&lt;em&gt;When&lt;/em&gt; will the tablet be available?&amp;#8221; No, we&amp;#8217;re completely certain Apple will reveal a 10&amp;#8221; touchscreen pumped up iPhone/scaled down Mac in the upcoming weeks.&lt;/p&gt;
22
+
23
+ &lt;p&gt;The buzz around this is only comparable with the launch of the first generation iPhone. As far as I can tell, there&amp;#8217;ve always been 2 mayor subjects when it came to rumors about which products Apple could launch: A phone, and a tablet. Which makes me wonder what rumor sites will talk about after Steve pulls a tablet out of his pocket on January 27th. As &lt;cite&gt;Spencer Fry&lt;/cite&gt; said on &lt;a href="http://twitter.com/spencerfry/status/7209665867"&gt;Twitter&lt;/a&gt;: &lt;q&gt;We&amp;#8217;ll just go back to bitching about [the] Apple TV.&lt;/q&gt;&lt;/p&gt;
24
+
25
+ &lt;p&gt;I had a large draft with predictions ready, but waited too long to publish it. By the time I opened it early this week, multiple bloggers had already written a lot on the subject, and covered about 75% of my ideas. Here&amp;#8217;s a list you should check out if you want to catch up on what everyone is &lt;em&gt;guessing&lt;/em&gt; the tablet will be:&lt;/p&gt;
26
+
27
+ &lt;ul&gt;
28
+ &lt;li&gt;&lt;a href="http://daringfireball.net/2009/12/the_tablet"&gt;John&lt;/a&gt; &lt;a href="http://daringfireball.net/2010/01/tablet_musings"&gt;Gruber&lt;/a&gt;&lt;/li&gt;
29
+ &lt;li&gt;&lt;a href="http://www.marco.org/310348919"&gt;Marco Arment&lt;/a&gt;&lt;/li&gt;
30
+ &lt;li&gt;&lt;a href="http://arstechnica.com/staff/fatbits/2010/01/antacid-tablet.ars"&gt;John Siracusa&lt;/a&gt; in an article for Ars Technica&lt;/li&gt;
31
+ &lt;li&gt;&lt;a href="http://aaronmahnke.com/2009/12/23/apples-tablet-device/"&gt;Aaron Mahnke&lt;/a&gt;&lt;/li&gt;
32
+ &lt;li&gt;&lt;a href="http://www.suntimes.com/technology/ihnatko/1980077,ihnatko-apple-tablet-microsoft-010710.article"&gt;Andy Ihnatko&lt;/a&gt; in an article for the Chicago Sun-Times&lt;/li&gt;
33
+ &lt;li&gt;&lt;a href="http://twit.tv/mbw174"&gt;Leo Laporte, Alex Lindsay, Andy Ihnatko, and John Gruber&lt;/a&gt; discuss about the tablet for an hour on an episode of MacBreak Weekly&lt;/li&gt;
34
+ &lt;li&gt;&lt;a href="http://mrgan.tumblr.com/post/318412000/diy"&gt;Neven&lt;/a&gt; &lt;a href="http://mrgan.tumblr.com/post/323938510/diy-pt-ii"&gt;Morgan&lt;/a&gt;&lt;/li&gt;
35
+ &lt;li&gt;&lt;a href="http://www.loopinsight.com/2010/01/08/prediction-apple-to-release-two-tablets-and-other-prognostications/"&gt;Jim Dalrymple&lt;/a&gt;&lt;/li&gt;
36
+ &lt;/ul&gt;
37
+
38
+ &lt;p&gt;A couple of these much respected bloggers mention that Apple might try to change the way we see desktops and laptops. Combined with this new &lt;a href="http://www.uncrate.com/men/gear/laptops/lenovo-ideapad-u1-hybrid-notebook/"&gt;Lenovo IdeaPad U1 Hybrid Notebook&lt;/a&gt; (what&amp;#8217;s in a name&amp;#8230;), it sparked my imagination.&lt;/p&gt;
39
+
40
+ &lt;h3&gt;I had a dream&lt;/h3&gt;
41
+
42
+ &lt;p&gt;What about this: You have a tablet, which stores all your media like music, pictures, movies, contacts, personal documents&amp;#8230; It has a touchscreen, wifi, bluetooth, fast &lt;span class="caps"&gt;SSD&lt;/span&gt; storage and a lot more. Everything you can dream of in a tablet, a nice &amp;#8220;computer&amp;#8221; you could use on the couch, in bed, on the toilet, in the kitchen. Let&amp;#8217;s say it looks like this:&lt;/p&gt;
43
+
44
+ &lt;p class="image alt"&gt;&lt;img src="http://maxvoltar.com/images/7.png" width="460" height="200" alt="The Tablet" /&gt;&lt;br /&gt;
45
+ &lt;em&gt;Exhibit A: The Tablet&lt;/em&gt;&lt;/p&gt;
46
+
47
+ &lt;p&gt;Next, imagine an iMac sans the internal computer, just a screen with some extra storage, extra &lt;span class="caps"&gt;RAM&lt;/span&gt;, a stronger video card, maybe even an extra processor, and a docking bay for the tablet. Sounds familiar? &lt;a href="http://www.macrumors.com/2008/01/03/apple-creating-imac-like-docking-station/"&gt;Yes it does.&lt;/a&gt; Combine this &amp;#8220;shell&amp;#8221; with our tablet, and you get a fully functional desktop computer:&lt;/p&gt;
48
+
49
+ &lt;p class="image alt"&gt;&lt;img src="http://maxvoltar.com/images/8.png" width="460" height="200" alt="The Desktop" /&gt;&lt;br /&gt;
50
+ &lt;em&gt;Exhibit B: The Desktop&lt;/em&gt;&lt;/p&gt;
51
+
52
+ &lt;p&gt;Finally, to come back to our original source of inspiration, we have something that looks like the bottom part of a laptop. Built in you have a keyboard, a trackpad, some extra hardware and most importantly: A large second battery. If the battery life of the tablet would be something between 6 and 8 hours (in my opinion that&amp;#8217;s the minimum), this peripheral would extend that to 12-16.&lt;/p&gt;
53
+
54
+ &lt;p class="image alt"&gt;&lt;img src="http://maxvoltar.com/images/9.png" width="460" height="200" alt="The Laptop" /&gt;&lt;br /&gt;
55
+ &lt;em&gt;Exhibit C: The Laptop&lt;/em&gt;&lt;/p&gt;
56
+
57
+ &lt;p&gt;This would be a perfect solution when you are traveling, when you need to take notes in a long meeting&amp;#8230; All your files, with you all the time, and no need to keep multiple devices in sync.&lt;/p&gt;
58
+
59
+ &lt;p class="image alt"&gt;&lt;img src="http://maxvoltar.com/images/10.png" width="460" height="200" alt="The Complete Package" /&gt;&lt;br /&gt;
60
+ &lt;em&gt;Exhibit D: The Complete Package&lt;/em&gt;&lt;/p&gt;
61
+
62
+ &lt;p&gt;But I&amp;#8217;m not an idiot. I&amp;#8217;m well aware Apple will never launch something that can slide or click into a peripheral. Too many loose parts that can break, too many separate &amp;#8220;devices&amp;#8221;. Like I said: a dream.&lt;/p&gt;
63
+
64
+ &lt;h3&gt;&amp;#8220;Why would I buy a device like that?&amp;#8221;&lt;/h3&gt;
65
+
66
+ &lt;p&gt;Maybe you love using a laptop, but would like something more powerful for when you&amp;#8217;re in your office. Maybe you&amp;#8217;re a die-hard fan of desktops, but you mis having all your files with you when on the road. The possibilities are endless, especially when you add the option to install third party applications (like on the iPhone). &lt;/p&gt;
67
+
68
+ &lt;p&gt;If it&amp;#8217;s not running Mac OS X, but something more like the iPhone OS, it could be the perfect computer for your parents or grandparents. Or for your kids. Imagine the possibilities when using this device at schools. It could be a notebook, a diary, multiple textbooks&amp;#8230;&lt;/p&gt;
69
+
70
+ &lt;p&gt;Don&amp;#8217;t expect Apple to advertise the device as an electronic book reader though. Yes, it&amp;#8217;ll be used as one a lot, but it&amp;#8217;s not catchy enough to sell it under that name. Just like with the iPhone, the software independent developers are going to write for this device will reveal the true power of it. There&amp;#8217;s a lot you can do with a 10&amp;#8221; touchscreen device.&lt;/p&gt;
71
+
72
+ &lt;h3&gt;Conclusion&lt;/h3&gt;
73
+
74
+ &lt;p&gt;Nobody (not even the people who say they do) has any idea what Steve will pull out his sleeve on January 27th. Right now, it&amp;#8217;s a big blur, but as soon as the keynote is over, it&amp;#8217;ll be so clear, so logical, that we&amp;#8217;ll all say &amp;#8220;Now why didn&amp;#8217;t I think of that?!&amp;#8221; The only thing &lt;em&gt;I&lt;/em&gt; know, is that I&amp;#8217;ll take 2.&lt;/p&gt;
75
+ &lt;dl&gt;
76
+ &lt;dt&gt;Tags&lt;/dt&gt;
77
+ &lt;dd&gt;&lt;a href="http://maxvoltar.com/tags/apple/" rel="tag"&gt;apple&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/itablet/" rel="tag"&gt;itablet&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/predictions/" rel="tag"&gt;predictions&lt;/a&gt;&lt;/dd&gt;
78
+ &lt;dt&gt;Short URL&lt;/dt&gt;
79
+ &lt;dd&gt;&lt;a href="http://maxvoltar.com/21" title="Short URL"&gt;maxvoltar.com/21&lt;/a&gt;&lt;/dd&gt;
80
+ &lt;/dl&gt;&lt;img src="http://feeds.feedburner.com/~r/maxvoltar/~4/LiTfe027oEM" height="1" width="1"/&gt;</description>
81
+ <link>http://feedproxy.google.com/~r/maxvoltar/~3/LiTfe027oEM/dreaming-of-an-apple-tablet</link>
82
+ <pubDate>Mon, 11 Jan 2010 15:09:33 GMT</pubDate>
83
+ <dc:creator>Tim Van Damme</dc:creator>
84
+ <guid isPermaLink="false">http://maxvoltar.com/archive/dreaming-of-an-apple-tablet</guid>
85
+ <feedburner:origLink>http://maxvoltar.com/archive/dreaming-of-an-apple-tablet</feedburner:origLink></item><item>
86
+ <title>Siteseeing, week 1</title>
87
+ <description>&lt;p&gt;&lt;em&gt;Sightseeing? Siteseeing! Instead of posting links whenever I find them, I&amp;#8217;ll be posting weekly roundups, easily digestible, and &lt;span class="caps"&gt;RSS&lt;/span&gt;-reader friendly.&lt;/em&gt;&lt;/p&gt;
88
+
89
+ &lt;h3&gt;Project 52&lt;/h3&gt;
90
+
91
+ &lt;p&gt;Biggest news this week is probable the launch of &lt;a href="http://project52.info/"&gt;Project 52&lt;/a&gt;. In short: By becoming a member of this site, you pledge to write at least one article per week. In a time where people only blog lists and instead use Twitter to spread their opinion, I&amp;#8217;m really happy this&amp;#8217;ll hopefully produce a lot of read-worthy articles! Looking forward filling up &lt;a href="http://www.instapaper.com/"&gt;Instapaper&lt;/a&gt; with some quality content. Some of my favorites so far:&lt;/p&gt;
92
+
93
+ &lt;ul&gt;
94
+ &lt;li&gt;Sam Brown&amp;#8217;s &lt;a href="http://sam.brown.tc/entry/414/how-to-stay-sane-when-freelancing-from-home"&gt;How to stay sane when freelancing from home&lt;/a&gt; has some great tips. I agree wholeheartedly, but in my opinion, if you&amp;#8217;re really serious about freelancing, you should look for a shared office. Probable my best investment ever.&lt;/li&gt;
95
+ &lt;li&gt;Jason Cale&amp;#8217;s &lt;a href="http://jasoncale.com/articles/1-degradable-interface-elements"&gt;The fine art of degradable interface elements&lt;/a&gt; is a school example of how you can make complicated forms that will work even if you disabled Javascript. And he&amp;#8217;s just plain funny.&lt;/li&gt;
96
+ &lt;li&gt;I&amp;#8217;ve always loved Matt Brett&amp;#8217;s writing style, and I&amp;#8217;m glad that in &lt;a href="http://mattbrett.com/2010/01/apple-has-ruined-me-for-everyone-else/"&gt;Apple has ruined me for everyone else&lt;/a&gt;, he&amp;#8217;s writing about something different than gaming.&lt;/li&gt;
97
+ &lt;/ul&gt;
98
+
99
+ &lt;h3&gt;Others&lt;/h3&gt;
100
+
101
+ &lt;ul&gt;
102
+ &lt;li&gt;One of the best conference speakers I ever saw must be Andy Budd. In &lt;a href="http://www.andybudd.com/archives/2010/01/7_ways_to_impro/"&gt;7 Ways to Improve your Public Speaking&lt;/a&gt;, he gives a lot of tips on how to become a better public speaker. Warning though: What he describes here is far from easy.&lt;/li&gt;
103
+ &lt;li&gt;&lt;a href="http://www.drawar.com/articles/minimalism-is-mandatory/51/"&gt;Minimalism Is Mandatory&lt;/a&gt; tells about how content &lt;em&gt;is&lt;/em&gt; the design, and that minimalism is something different than just using few colors and graphics.&lt;/li&gt;
104
+ &lt;/ul&gt;
105
+ &lt;dl&gt;
106
+ &lt;dt&gt;Tags&lt;/dt&gt;
107
+ &lt;dd&gt;&lt;a href="http://maxvoltar.com/tags/andybudd/" rel="tag"&gt;andybudd&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/apple/" rel="tag"&gt;apple&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/drawar/" rel="tag"&gt;drawar&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/freelancing/" rel="tag"&gt;freelancing&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/frontendcoding/" rel="tag"&gt;frontendcoding&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/jasoncale/" rel="tag"&gt;jasoncale&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/mattbrett/" rel="tag"&gt;mattbrett&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/minimalism/" rel="tag"&gt;minimalism&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/project52/" rel="tag"&gt;project52&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/sambrown/" rel="tag"&gt;sambrown&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/speaking/" rel="tag"&gt;speaking&lt;/a&gt;&lt;/dd&gt;
108
+ &lt;dt&gt;Short URL&lt;/dt&gt;
109
+ &lt;dd&gt;&lt;a href="http://maxvoltar.com/20" title="Short URL"&gt;maxvoltar.com/20&lt;/a&gt;&lt;/dd&gt;
110
+ &lt;/dl&gt;&lt;img src="http://feeds.feedburner.com/~r/maxvoltar/~4/J7k-BGSnmWA" height="1" width="1"/&gt;</description>
111
+ <link>http://feedproxy.google.com/~r/maxvoltar/~3/J7k-BGSnmWA/siteseeing-week-1</link>
112
+ <pubDate>Thu, 07 Jan 2010 13:40:34 GMT</pubDate>
113
+ <dc:creator>Tim Van Damme</dc:creator>
114
+ <guid isPermaLink="false">http://maxvoltar.com/archive/siteseeing-week-1</guid>
115
+ <feedburner:origLink>http://maxvoltar.com/archive/siteseeing-week-1</feedburner:origLink></item><item>
116
+ <title>Stop being so fucking polite</title>
117
+ <description>&lt;p&gt;&lt;cite&gt; &lt;a href="http://en.wikipedia.org/wiki/George_Carlin"&gt;George Carlin&lt;/a&gt; &lt;/cite&gt; (May 12, 1937 &amp;#8211; June 22, 2008) said it best in his &lt;a href="http://www.youtube.com/watch?v=3_Nrp7cj_tM"&gt;Seven words you can never say on television&lt;/a&gt;:&lt;/p&gt;
118
+
119
+ &lt;blockquote&gt;
120
+ &lt;p&gt;Shit, Piss, Fuck, Cunt, Cocksucker, Motherfucker, Tits.&lt;/p&gt;
121
+ &lt;/blockquote&gt;
122
+
123
+ &lt;p&gt;Maybe I&amp;#8217;ve been &lt;a href="http://www.amazon.co.uk/gp/product/1439172951?ie=UTF8&amp;amp;tag=maxvoltar-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=1439172951"&gt;reading&lt;/a&gt; and &lt;a href="http://www.amazon.co.uk/gp/product/B002CM6VDO?ie=UTF8&amp;amp;tag=maxvoltar-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=B002CM6VDO"&gt;watching&lt;/a&gt; too much of his work lately, but his arrogance and &amp;#8220;I don&amp;#8217;t care what you think or who you are&amp;#8221; mentality left me inspired, and opened my eyes: We are all too polite, and often forget what caring about something &lt;em&gt;really&lt;/em&gt; means.&lt;/p&gt;
124
+
125
+ &lt;p&gt;Let me explain: The web community is great. It&amp;#8217;s small, you know a lot of other people who do the same as you, and with whom you share interests. It&amp;#8217;s become really easy to quickly share interesting bits you found elsewhere on the net, or to spread the word on something you&amp;#8217;ve just launched.&lt;/p&gt;
126
+
127
+ &lt;p&gt;But we&amp;#8217;re just not critical enough. One person farts and the others start cheering about how good it smells. What ever happened to saying what you really think? I don&amp;#8217;t mean you should gossip, I&amp;#8217;m talking about saying what you mean, in public, or in private, to the person who&amp;#8217;s responsible for whatever you&amp;#8217;re criticizing. Tell them people start to notice they&amp;#8217;re re-using the same style for buttons in every project, tell them the line-height they&amp;#8217;ve chosen really makes for an unreadable blog.&lt;/p&gt;
128
+
129
+ &lt;p&gt;How do you expect people to believe you when you say something particular is worth checking out, if all you ever do is raving about how fucking awesome everything is? Good example of this is &lt;a href="http://search.twitter.com/search?q=%23ff+OR+%23followfriday"&gt;follow friday&lt;/a&gt;. Yes, you could blurb out 20 Twitter users per week you think people should follow. Or you could make a list of 50 Photoshop tips that&amp;#8217;ll make you a better designer. You could even make lists of the 1.000 most beautiful webdesigns of 2009. Instead, try this: explain people &lt;em&gt;why&lt;/em&gt; they should follow a certain person on Twitter, &lt;em&gt;why&lt;/em&gt; you think it would be good for them to read an interesting tutorial, &lt;em&gt;why&lt;/em&gt; you think that one website is beautifully designed, &lt;strong&gt;1 at a time&lt;/strong&gt;.&lt;/p&gt;
130
+
131
+ &lt;p&gt;&lt;q&gt;But the person I&amp;#8217;m linking to always links to stuff I wrote/designed and he&amp;#8217;s a really good friend of mine.&lt;/q&gt; Hogwash. If something isn&amp;#8217;t worth sharing, don&amp;#8217;t share it. If someone isn&amp;#8217;t worth following on Twitter, don&amp;#8217;t follow him. No matter how much exposure that certain person has, or how good of a friend he is.&lt;/p&gt;
132
+
133
+ &lt;p&gt;Quality content and design is becoming very sparse these days. Everything looks like a copy you&amp;#8217;ve already seen last week. How do you expect to see original, inspiring websites or articles when you never give decent feedback? It&amp;#8217;s like parents telling their kids everything they do is beautiful and amazing. After years of being told everything they do is holy, the kid will eventually think his farts smell like roses on a sunny morning.&lt;/p&gt;
134
+
135
+ &lt;p&gt;Be honest, tell people what you &lt;em&gt;really&lt;/em&gt; think, and give constructive feedback. It can only make &lt;del&gt;the world&lt;/del&gt; &lt;ins&gt;the web&lt;/ins&gt; a better place.&lt;/p&gt;
136
+
137
+
138
+ &lt;dl&gt;
139
+ &lt;dt&gt;Tags&lt;/dt&gt;
140
+ &lt;dd&gt;&lt;a href="http://maxvoltar.com/tags/georgecarlin/" rel="tag"&gt;georgecarlin&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/rant/" rel="tag"&gt;rant&lt;/a&gt;, &lt;a href="http://maxvoltar.com/tags/webcommunity/" rel="tag"&gt;webcommunity&lt;/a&gt;&lt;/dd&gt;
141
+ &lt;dt&gt;Short URL&lt;/dt&gt;
142
+ &lt;dd&gt;&lt;a href="http://maxvoltar.com/19" title="Short URL"&gt;maxvoltar.com/19&lt;/a&gt;&lt;/dd&gt;
143
+ &lt;/dl&gt;&lt;img src="http://feeds.feedburner.com/~r/maxvoltar/~4/-s7Yn3qlhco" height="1" width="1"/&gt;</description>
144
+ <link>http://feedproxy.google.com/~r/maxvoltar/~3/-s7Yn3qlhco/stop-being-so-fucking-polite</link>
145
+ <pubDate>Tue, 05 Jan 2010 15:34:28 GMT</pubDate>
146
+ <dc:creator>Tim Van Damme</dc:creator>
147
+ <guid isPermaLink="false">http://maxvoltar.com/archive/stop-being-so-fucking-polite</guid>
148
+ <feedburner:origLink>http://maxvoltar.com/archive/stop-being-so-fucking-polite</feedburner:origLink></item>
149
+ </channel>
150
+ </rss>
@@ -0,0 +1,259 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
3
+
4
+ <channel>
5
+ <title>Ruby Inside</title>
6
+
7
+ <link>http://www.rubyinside.com</link>
8
+ <description />
9
+ <lastBuildDate>Fri, 08 Jan 2010 15:20:21 +0000</lastBuildDate>
10
+ <generator>http://wordpress.org/?v=2.8.4</generator>
11
+ <language>en</language>
12
+ <sy:updatePeriod>hourly</sy:updatePeriod>
13
+ <sy:updateFrequency>1</sy:updateFrequency>
14
+ <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/RubyInside" /><feedburner:emailServiceId>RubyInside</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
15
+ <title>7 Top Ruby and Rails Jobs for January 2010</title>
16
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/nFtgYTqCnhE/7-top-ruby-and-rails-jobs-for-january-2010-2935.html</link>
17
+ <comments>http://www.rubyinside.com/7-top-ruby-and-rails-jobs-for-january-2010-2935.html#comments</comments>
18
+ <pubDate>Fri, 08 Jan 2010 15:20:21 +0000</pubDate>
19
+ <dc:creator>Peter Cooper</dc:creator>
20
+ <category><![CDATA[Miscellaneous]]></category>
21
+
22
+ <guid isPermaLink="false">http://www.rubyinside.com/7-top-ruby-and-rails-jobs-for-january-2010-2935.html</guid>
23
+ <description><![CDATA[<p>Looking for a Ruby or Rails job? There are still some good ones out there. They're getting posted daily on <a href="http://jobs.rubynow.com/">jobs.rubynow.com</a> but we've got 6 special ones of our own that have come in via <a href="http://ruby.jobamatic.com/a/jbb/find-jobs">the Ruby Inside jobs board</a>. Jobs this month come from the United Kingdom and the US (Portland, Chicago, Birmingham and Santa Barbara) and are, as usual, Rails heavy.</p>]]></description>
24
+ <content:encoded><![CDATA[<p>Looking for a Ruby or Rails job? There are still some good ones out there. They're getting posted daily on <a href="http://jobs.rubynow.com/">jobs.rubynow.com</a> but we've got 6 special ones of our own that have come in via <a href="http://ruby.jobamatic.com/a/jbb/find-jobs">the Ruby Inside jobs board</a>. Jobs this month come from the United Kingdom and the US (Portland, Chicago, Birmingham and Santa Barbara) and are, as usual, Rails heavy.</p>
25
+ <h3>January 2010's Jobs</h3>
26
+ <p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/billmonitor.png" width="128" height="34" alt="billmonitor.png" style="float:left; margin-right:12px; margin-bottom:12px;" /> <a href="http://billmonitor.theresumator.com/apply/YU1PgK/source:RUBYINSIDE"><b>Rails Developer at</b> <i><b>BillMonitor</b></i></a> <b>(Oxford, United Kingdom)</b> — Billmonitor is a British mobile phone comparison service and they're looking for a Rails developer to work side-by-side with their Web design team to develop new features and functionality for their site. <a href="http://billmonitor.theresumator.com/apply/YU1PgK/source:RUBYINSIDE">Learn more.</a></p>
27
+ <p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/newrelic.png" width="127" height="35" alt="newrelic.png" style="float:left; margin-right:12px; margin-bottom:12px;" /><a href="http://ruby.jobamatic.com/a/jbb/job-details/165476"><b>Ruby on Rails Developer at</b> <i><b>New Relic</b></i></a> <b>(Portland, OR)</b> — New Relic is the leading provider of application monitoring services in the Ruby world and they're looking for an experienced Rails developer to join their fun and growing company. You need to be familiar with agile development processes (such as TDD and continuous integration), Rails, Javascript and CSS. <a href="http://ruby.jobamatic.com/a/jbb/job-details/165476">Learn more.</a></p>
28
+ <p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/groupon.png" width="129" height="51" alt="groupon.png" style="float:left; margin-right:12px; margin-bottom:12px;" /></p>
29
+ <p><a href="http://ruby.jobamatic.com/a/jbb/job-details/166499"><b>Senior Rails Developer at</b> <i><b>Groupon</b></i></a> <b>(Chicago, IL)</b> — <a href="http://en.wikipedia.org/wiki/Groupon">Groupon</a> is a deal-of-the-day site that is available in multiple localized versions for different US cities. They're seeking expert Rails developers with proven records in working on high traffic sites. <a href="http://ruby.jobamatic.com/a/jbb/job-details/166499">Learn more.</a></p>
30
+ <p style="clear: left"><a href="http://ruby.jobamatic.com/a/jbb/job-details/168553"><b>Senior <i>and</i> Junior Rails Developers at</b> <i><b>Insight Card Services</b></i></a> <b>(Birmingham, AL)</b> - Insight Card Services is a provider of prepaid credit cards and they're looking for both senior and junior Rails developers to join their team. Senior level requires at least 10 years of software development experience (2 in Rails) along with team leader skills. The junior level requires 2 years of software development experience and familiarity with Rails. <a href="http://ruby.jobamatic.com/a/jbb/job-details/168553">Learn more.</a></p>
31
+ <p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/snapizzi.png" width="130" height="52" alt="snapizzi.png" style="float:left; margin-right:12px; margin-bottom:12px;" /></p>
32
+ <p><a href="http://ruby.jobamatic.com/a/jbb/job-details/170683"><b>Software Developer at</b> <i><b>Snapizzi</b></i></a> <b>(Santa Barbara, CA)</b> — Snapizzi is an online photography e-commerce site. They're looking for an outstanding software engineer with 2 to 15 years of experience to join their development team. It's a full-time position and located in Santa Barbara, CA. A Bachelors in Comp Sci or Engineering is necessary, along with proficiency with Ruby, Rails, and MySQL. <a href="http://ruby.jobamatic.com/a/jbb/job-details/170683">Learn more.</a></p>
33
+ <p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/alphasights.png" width="131" height="70" alt="alphasights.png" style="float:left; margin-right:12px; margin-bottom:12px;" /></p>
34
+ <p><a href="http://www.alphasights.com/about-us/careers/ruby-on-rails-developer/"><b>Rails Developer at <i>AlphaSights</i></b></a> <b>(London, UK)</b> — AlphaSights is an independent, privately-owned information services and advisory firm for institutional buy-side investors. They're looking for a Rails developer with database and object design experience, as well as experience with JavaScript, HAML, and SASS. You'll also need to be familiar with UNIX-like environments. <a href="http://www.alphasights.com/about-us/careers/ruby-on-rails-developer/">Learn more.</a></p>
35
+ <h3 style="clear: left">Want To Post A Job?</h3>
36
+ <p>If you want Ruby and Rails Inside to promote your own Ruby/Rails career openings, <a href="http://www.rubyinside.com/post-a-job">check out our new Post A Job page</a>. It's $249 for 60 days of exposure with a link on all Ruby Inside and Rails Inside pages, exposure through Simply Hired, and inclusion on a post like this that goes out to all 22,000 subscribers. Most ads get 1-2,000 direct views during their run (and linked from about 450,000 pageviews on our sites in all). If you drop a comment on this post, we can also sort you out with a discount code..</p>
37
+ <div class="feedflare">
38
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=nFtgYTqCnhE:Br4Mx9Wliqw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=nFtgYTqCnhE:Br4Mx9Wliqw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=nFtgYTqCnhE:Br4Mx9Wliqw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=nFtgYTqCnhE:Br4Mx9Wliqw:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=nFtgYTqCnhE:Br4Mx9Wliqw:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=nFtgYTqCnhE:Br4Mx9Wliqw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=nFtgYTqCnhE:Br4Mx9Wliqw:F7zBnMyn0Lo" border="0"></img></a>
39
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/nFtgYTqCnhE" height="1" width="1"/>]]></content:encoded>
40
+ <wfw:commentRss>http://www.rubyinside.com/7-top-ruby-and-rails-jobs-for-january-2010-2935.html/feed</wfw:commentRss>
41
+ <slash:comments>1</slash:comments>
42
+ <feedburner:origLink>http://www.rubyinside.com/7-top-ruby-and-rails-jobs-for-january-2010-2935.html</feedburner:origLink></item>
43
+ <item>
44
+ <title>Cramp: Asychronous Event-Driven Ruby Web App Framework</title>
45
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/rh0MXZYo2EQ/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html</link>
46
+ <comments>http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html#comments</comments>
47
+ <pubDate>Thu, 07 Jan 2010 23:36:00 +0000</pubDate>
48
+ <dc:creator>Peter Cooper</dc:creator>
49
+ <category><![CDATA[Cool]]></category>
50
+ <category><![CDATA[Miscellaneous]]></category>
51
+
52
+ <guid isPermaLink="false">http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html</guid>
53
+ <description><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/got-the-cramp.png" width="101" height="110" alt="got-the-cramp.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /><a href="http://m.onkey.org/2010/1/7/introducing-cramp">Cramp</a> <sup>(<a href="http://github.com/lifo/cramp">GitHub repo</a>)</sup>is a new, asychronous evented Web app framework by Pratik Naik of 37signals (and the Rails core team). It's built around Ruby's <a href="http://rubyeventmachine.com/">EventMachine</a> library and was designed to use event-driven I/O throughout - making it ideal for situations where you need to handle a large number of open connections (such as <a href="http://en.wikipedia.org/wiki/Comet_(programming)">Comet</a> systems or streaming APIs.)</p>]]></description>
54
+ <content:encoded><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/got-the-cramp.png" width="101" height="110" alt="got-the-cramp.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /><a href="http://m.onkey.org/2010/1/7/introducing-cramp">Cramp</a> <sup>(<a href="http://github.com/lifo/cramp">GitHub repo</a>)</sup>is a new, asychronous evented Web app framework by Pratik Naik of 37signals (and the Rails core team). It's built around Ruby's <a href="http://rubyeventmachine.com/">EventMachine</a> library and was designed to use event-driven I/O throughout - making it ideal for situations where you need to handle a large number of open connections (such as <a href="http://en.wikipedia.org/wiki/Comet_(programming)">Comet</a> systems or streaming APIs.)</p>
55
+ <p>Out of the box, Cramp relies on Rails 3.0-pre's ActiveSupport and <a href="http://github.com/rails/rails/tree/master/activemodel">ActiveModel</a> libraries (and won't work with earlier versions). Using these, it presents you with two layers to develop: controllers and models. Cramp controllers are ostensibly Rack compliant (Rack was designed primarily for synchronous scenarios) but <a href="http://code.macournoyer.com/thin/">Thin</a> is currently the only HTTP daemon that can run Cramp apps due to its asynchronous app support.</p>
56
+ <p>Cramp models are built around a custom asynchronous MySQL-only ORM built on top of <a href="http://github.com/rails/arel">Arel</a> and ActiveModel. Compared to the controllers, it seems to be at a very embryonic stage though it supports data methods like all, first, each, where, select, group, order, limit and offset. For basic CRUD functionality, it should do the job fine.</p>
57
+ <p>Pratik has a basic "hello world" example to show off the general structure of a Cramp app:</p>
58
+ <p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/cramp-hello-world.png" width="415" height="200" alt="cramp-hello-world.png" /></p>
59
+ <p>To learn more, read Pratik's <a href="http://m.onkey.org/2010/1/7/introducing-cramp">Introducing Cramp blog post</a>. He's presented a lot of examples to get you going.</p>
60
+ <div class="feedflare">
61
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=rh0MXZYo2EQ:FrmX91wMHhg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=rh0MXZYo2EQ:FrmX91wMHhg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=rh0MXZYo2EQ:FrmX91wMHhg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=rh0MXZYo2EQ:FrmX91wMHhg:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=rh0MXZYo2EQ:FrmX91wMHhg:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=rh0MXZYo2EQ:FrmX91wMHhg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=rh0MXZYo2EQ:FrmX91wMHhg:F7zBnMyn0Lo" border="0"></img></a>
62
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/rh0MXZYo2EQ" height="1" width="1"/>]]></content:encoded>
63
+ <wfw:commentRss>http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html/feed</wfw:commentRss>
64
+ <slash:comments>0</slash:comments>
65
+ <feedburner:origLink>http://www.rubyinside.com/cramp-asychronous-event-driven-ruby-web-app-framework-2928.html</feedburner:origLink></item>
66
+ <item>
67
+ <title>CoffeeScript: A New Language With A Pure Ruby Compiler</title>
68
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/4Kie8Rpj9DM/coffeescript-a-new-language-with-a-pure-ruby-compiler-2921.html</link>
69
+ <comments>http://www.rubyinside.com/coffeescript-a-new-language-with-a-pure-ruby-compiler-2921.html#comments</comments>
70
+ <pubDate>Mon, 04 Jan 2010 23:03:19 +0000</pubDate>
71
+ <dc:creator>Peter Cooper</dc:creator>
72
+ <category><![CDATA[Cool]]></category>
73
+
74
+ <guid isPermaLink="false">http://www.rubyinside.com/coffeescript-a-new-language-with-a-pure-ruby-compiler-2921.html</guid>
75
+ <description><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/coffeescript.png" width="59" height="69" alt="coffeescript.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /> <a href="http://jashkenas.github.com/coffee-script/">CoffeeScript</a> <sup>(<a href="http://github.com/jashkenas/coffee-script/">GitHub repo</a>)</sup> is a new programming language with a pure Ruby compiler. Creator Jeremy Ashkenas calls it "JavaScript's less ostentatious kid brother" - mostly because it compiles <i>into</i> JavaScript and shares most of the same constructs, but with a different, tighter syntax.</p>]]></description>
76
+ <content:encoded><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/coffeescript.png" width="59" height="69" alt="coffeescript.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /> <a href="http://jashkenas.github.com/coffee-script/">CoffeeScript</a> <sup>(<a href="http://github.com/jashkenas/coffee-script/">GitHub repo</a>)</sup> is a new programming language with a pure Ruby compiler. Creator Jeremy Ashkenas calls it "JavaScript's less ostentatious kid brother" - mostly because it compiles <i>into</i> JavaScript and shares most of the same constructs, but with a different, tighter syntax.</p>
77
+ <p>To get a feel for the language, check out this example code (CoffeeScript on the left, resulting JavaScript on the right):</p>
78
+ <p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/cofeescriptdemo.png" width="640" height="485" alt="cofeescriptdemo.png" /></p>
79
+ <p>As a Ruby project, you can get the CoffeeScript compiler installed with a simple <code>gem install coffee-script</code> or check out <a href="http://github.com/jashkenas/coffee-script/">the code from/on GitHub</a>. The code is worth a look as it's notably quite vanilla with hand crafted Ruby covering the lexer and code generation and <a href="http://i.loveruby.net/en/projects/racc/doc/">Racc</a> built code for the parser.</p>
80
+ <div class="feedflare">
81
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=4Kie8Rpj9DM:q2eZa81zpTI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=4Kie8Rpj9DM:q2eZa81zpTI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=4Kie8Rpj9DM:q2eZa81zpTI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=4Kie8Rpj9DM:q2eZa81zpTI:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=4Kie8Rpj9DM:q2eZa81zpTI:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=4Kie8Rpj9DM:q2eZa81zpTI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=4Kie8Rpj9DM:q2eZa81zpTI:F7zBnMyn0Lo" border="0"></img></a>
82
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/4Kie8Rpj9DM" height="1" width="1"/>]]></content:encoded>
83
+ <wfw:commentRss>http://www.rubyinside.com/coffeescript-a-new-language-with-a-pure-ruby-compiler-2921.html/feed</wfw:commentRss>
84
+ <slash:comments>7</slash:comments>
85
+ <feedburner:origLink>http://www.rubyinside.com/coffeescript-a-new-language-with-a-pure-ruby-compiler-2921.html</feedburner:origLink></item>
86
+ <item>
87
+ <title>Rackamole: Rack-Based Monitoring For Your Ruby Web Apps</title>
88
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/qFZeEFm6pTw/rackamole-rack-based-monitoring-for-your-ruby-web-apps-2918.html</link>
89
+ <comments>http://www.rubyinside.com/rackamole-rack-based-monitoring-for-your-ruby-web-apps-2918.html#comments</comments>
90
+ <pubDate>Mon, 04 Jan 2010 03:22:23 +0000</pubDate>
91
+ <dc:creator>Peter Cooper</dc:creator>
92
+ <category><![CDATA[Tools]]></category>
93
+
94
+ <guid isPermaLink="false">http://www.rubyinside.com/rackamole-rack-based-monitoring-for-your-ruby-web-apps-2918.html</guid>
95
+ <description><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/rackamole.png" width="98" height="114" alt="rackamole.png" style="float:left; margin-right:12px; margin-bottom:12px;" /><a href="http://rackamole.com/">Rackamole</a> <sup>(<a href="http://github.com/derailed/rackamole">GitHub repo</a>)</sup> is a <a href="http://rack.rubyforge.org/">Rack</a> application that lets you to monitor the interactions between users and your own Rack-based application (e.g. any Rails or Sinatra app). As well as pumping out information to the console or a log file, there's a Web interface called <a href="http://rackamole.com/home/screens">Wackamole</a> to give you the skinny on your app activity.</p>]]></description>
96
+ <content:encoded><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/rackamole.png" width="98" height="114" alt="rackamole.png" style="float:left; margin-right:12px; margin-bottom:12px;" /><a href="http://rackamole.com/">Rackamole</a> <sup>(<a href="http://github.com/derailed/rackamole">GitHub repo</a>)</sup> is a <a href="http://rack.rubyforge.org/">Rack</a> application that lets you to monitor the interactions between users and your own Rack-based application (e.g. any Rails or Sinatra app). As well as pumping out information to the console or a log file, there's a Web interface called <a href="http://rackamole.com/home/screens">Wackamole</a> to give you the skinny on your app activity.</p>
97
+ <p>Rackamole's creator, Fernand Galiana (also of <a href="http://liquidrail.com/2008/8/24/ziya-gem-2-0">ZiYa charting library</a> fame), says that Rackamole is well suited for determining what parts of your application you need to work on next. It traps and records feature usage, performance issues, and application exceptions, and by integrating as a middle layer between your HTTP server and your Web app, it can work with almost any backend system out of the box.</p>
98
+ <p><img src="http://www.rubyinside.com/wp-content/uploads/2010/01/wackamole.png" width="480" height="323" alt="wackamole.png" /></p>
99
+ <p><i>Above: Wackamole and Rackamole in action</i></p>
100
+ <p>As well as logging data and presenting it through Wackamole, Rackamole also has a built-in e-mail notifier so you can be alerted when certain actions occur that need your attention. In this way, it's sort of like a New Relic-lite or like FiveRuns' now defunct Dash system. MongoDB fans might also appreciate that Rackamole also has support for logging to a MongoDB database out of the box.</p>
101
+ <div class="feedflare">
102
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=qFZeEFm6pTw:YpTY1UZoyPk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=qFZeEFm6pTw:YpTY1UZoyPk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=qFZeEFm6pTw:YpTY1UZoyPk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=qFZeEFm6pTw:YpTY1UZoyPk:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=qFZeEFm6pTw:YpTY1UZoyPk:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=qFZeEFm6pTw:YpTY1UZoyPk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=qFZeEFm6pTw:YpTY1UZoyPk:F7zBnMyn0Lo" border="0"></img></a>
103
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/qFZeEFm6pTw" height="1" width="1"/>]]></content:encoded>
104
+ <wfw:commentRss>http://www.rubyinside.com/rackamole-rack-based-monitoring-for-your-ruby-web-apps-2918.html/feed</wfw:commentRss>
105
+ <slash:comments>2</slash:comments>
106
+ <feedburner:origLink>http://www.rubyinside.com/rackamole-rack-based-monitoring-for-your-ruby-web-apps-2918.html</feedburner:origLink></item>
107
+ <item>
108
+ <title>Holiday Fun: How Programming Language Fanboys See Each Others’ Languages</title>
109
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/Lc7QOm8_ttk/holiday-fun-how-programming-language-fanboys-see-each-others-languages-2911.html</link>
110
+ <comments>http://www.rubyinside.com/holiday-fun-how-programming-language-fanboys-see-each-others-languages-2911.html#comments</comments>
111
+ <pubDate>Tue, 22 Dec 2009 02:43:05 +0000</pubDate>
112
+ <dc:creator>Peter Cooper</dc:creator>
113
+ <category><![CDATA[Nonsense]]></category>
114
+
115
+ <guid isPermaLink="false">http://www.rubyinside.com/holiday-fun-how-programming-language-fanboys-see-each-others-languages-2911.html</guid>
116
+ <description><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/superfriends.png" width="129" height="113" alt="superfriends.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" />Overt humor isn't usually Ruby Inside's thing, but it's the holiday season, so there's nothing wrong with kicking up your heels and having a little fun. Don't worry - this won't become a habit. Promise! After the fold, check out a chart showing how programming language fanboys (Ruby's included) see each other's respective languages.</p>]]></description>
117
+ <content:encoded><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/superfriends.png" width="129" height="113" alt="superfriends.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" />Overt humor isn't usually Ruby Inside's thing, but it's the holiday season, so there's nothing wrong with kicking up your heels and having a little fun. Don't worry - this won't become a habit. Promise! After the fold, check out a chart showing how programming language fanboys (Ruby's included) see each other's respective languages.</p>
118
+ <p style="clear: left"><a href="http://i.imgur.com/pG3q7.jpg"><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/language-fanboys.jpg" width="640" height="420" alt="language-fanboys.jpg" /></a></p>
119
+ <p><em>There's a <a href="http://i.imgur.com/pG3q7.jpg">higher resolution version</a> available..</em></p>
120
+ <div class="feedflare">
121
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=Lc7QOm8_ttk:aYJS5VP_56Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=Lc7QOm8_ttk:aYJS5VP_56Y:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=Lc7QOm8_ttk:aYJS5VP_56Y:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=Lc7QOm8_ttk:aYJS5VP_56Y:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=Lc7QOm8_ttk:aYJS5VP_56Y:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=Lc7QOm8_ttk:aYJS5VP_56Y:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=Lc7QOm8_ttk:aYJS5VP_56Y:F7zBnMyn0Lo" border="0"></img></a>
122
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/Lc7QOm8_ttk" height="1" width="1"/>]]></content:encoded>
123
+ <wfw:commentRss>http://www.rubyinside.com/holiday-fun-how-programming-language-fanboys-see-each-others-languages-2911.html/feed</wfw:commentRss>
124
+ <slash:comments>41</slash:comments>
125
+ <feedburner:origLink>http://www.rubyinside.com/holiday-fun-how-programming-language-fanboys-see-each-others-languages-2911.html</feedburner:origLink></item>
126
+ <item>
127
+ <title>Friendly: Easy Schemaless “NoSQL” Data Storage with MySQL in Ruby</title>
128
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/PwmvPrnTUwg/friendly-easy-schemaless-nosql-data-storage-with-mysql-in-ruby-2908.html</link>
129
+ <comments>http://www.rubyinside.com/friendly-easy-schemaless-nosql-data-storage-with-mysql-in-ruby-2908.html#comments</comments>
130
+ <pubDate>Mon, 21 Dec 2009 13:49:46 +0000</pubDate>
131
+ <dc:creator>Peter Cooper</dc:creator>
132
+ <category><![CDATA[Cool]]></category>
133
+ <category><![CDATA[Elsewhere]]></category>
134
+
135
+ <guid isPermaLink="false">http://www.rubyinside.com/friendly-easy-schemaless-nosql-data-storage-with-mysql-in-ruby-2908.html</guid>
136
+ <description><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/friendly.png" width="110" height="110" alt="friendly.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /> <a href="http://friendlyorm.com/">Friendly</a> is a new Ruby ORM (a la ActiveRecord) that lets you easily use NoSQL ideas on regular database engines, such as MySQL. Developer James Golick has written <a href="http://jamesgolick.com/2009/12/16/introducing-friendly-nosql-with-mysql-in-ruby.html">a blog post introducing Friendly</a> that goes into detail on how it works - with code examples. Effectively you get schema-less, document-like storage (with indexes!) but based around MySQL.</p>]]></description>
137
+ <content:encoded><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/friendly.png" width="110" height="110" alt="friendly.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /> <a href="http://friendlyorm.com/">Friendly</a> is a new Ruby ORM (a la ActiveRecord) that lets you easily use NoSQL ideas on regular database engines, such as MySQL. Developer James Golick has written <a href="http://jamesgolick.com/2009/12/16/introducing-friendly-nosql-with-mysql-in-ruby.html">a blog post introducing Friendly</a> that goes into detail on how it works - with code examples. Effectively you get schema-less, document-like storage (with indexes!) but based around MySQL.</p>
138
+ <p>If you're not familiar with "<a href="http://en.wikipedia.org/wiki/NoSQL">NoSQL</a>", it's a blanket/branding term (somewhat like AJAX or Web 2.0) that covers non-relational forms of databases that, typically, have no need for SQL. A common subset of NoSQL technologies is the "document-based database," as provided by systems like <a href="http://couchdb.apache.org/">CouchDB</a> or <a href="http://www.mongodb.org/">MongoDB</a> (for which RailsTips author John Nunemaker <a href="http://railstips.org/2009/12/18/why-i-think-mongo-is-to-databases-what-rails-was-to-frameworks">has evangelized strongly</a>).</p>
139
+ <p>An issue many people are having with the various NoSQL systems available is that they're not all "battle hardened" or as familiar to administer than their existing MySQL or Postgres systems. Social aggregator FriendFeed wrote about <a href="http://bret.appspot.com/entry/how-friendfeed-uses-mysql">how they use MySQL to store schema-less data</a>, and Friendly is based on the same techniques.</p>
140
+ <div class="feedflare">
141
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=PwmvPrnTUwg:Zwv9ODWLXN4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=PwmvPrnTUwg:Zwv9ODWLXN4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=PwmvPrnTUwg:Zwv9ODWLXN4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=PwmvPrnTUwg:Zwv9ODWLXN4:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=PwmvPrnTUwg:Zwv9ODWLXN4:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=PwmvPrnTUwg:Zwv9ODWLXN4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=PwmvPrnTUwg:Zwv9ODWLXN4:F7zBnMyn0Lo" border="0"></img></a>
142
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/PwmvPrnTUwg" height="1" width="1"/>]]></content:encoded>
143
+ <wfw:commentRss>http://www.rubyinside.com/friendly-easy-schemaless-nosql-data-storage-with-mysql-in-ruby-2908.html/feed</wfw:commentRss>
144
+ <slash:comments>4</slash:comments>
145
+ <feedburner:origLink>http://www.rubyinside.com/friendly-easy-schemaless-nosql-data-storage-with-mysql-in-ruby-2908.html</feedburner:origLink></item>
146
+ <item>
147
+ <title>How Phusion Built A More Efficient Ruby 1.8 Interpreter</title>
148
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/XIFKBmHobJ0/how-phusion-built-a-more-efficient-ruby-1-8-interpreter-2906.html</link>
149
+ <comments>http://www.rubyinside.com/how-phusion-built-a-more-efficient-ruby-1-8-interpreter-2906.html#comments</comments>
150
+ <pubDate>Wed, 16 Dec 2009 09:58:26 +0000</pubDate>
151
+ <dc:creator>Peter Cooper</dc:creator>
152
+ <category><![CDATA[Cool]]></category>
153
+
154
+ <guid isPermaLink="false">http://www.rubyinside.com/how-phusion-built-a-more-efficient-ruby-1-8-interpreter-2906.html</guid>
155
+ <description><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/ninh-bui.png" width="96" height="113" alt="ninh-bui.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /><a href="http://www.modrails.com/">Phusion Passenger</a> and <a href="http://www.rubyenterpriseedition.com/">Ruby Enterprise Edition</a> developers Ninh "Hernandez" Bui and Hongli Lai travelled to San Francisco last week and gave a 35 minute Google Tech Talk called <a href="http://www.youtube.com/watch?v=ghLCtCwAKqQ">Building A More Efficient Ruby Interpreter</a>.</p>]]></description>
156
+ <content:encoded><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/ninh-bui.png" width="96" height="113" alt="ninh-bui.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /><a href="http://www.modrails.com/">Phusion Passenger</a> and <a href="http://www.rubyenterpriseedition.com/">Ruby Enterprise Edition</a> developers Ninh "Hernandez" Bui and Hongli Lai travelled to San Francisco last week and gave a 35 minute Google Tech Talk called <a href="http://www.youtube.com/watch?v=ghLCtCwAKqQ">Building A More Efficient Ruby Interpreter</a>.</p>
157
+ <p>The talk focused on how the guys (with some help from other sources, including Joe Damato and Aman Gupta) have dug into MRI Ruby 1.8's internals to get some significant memory usage and thread performance improvements for their Ruby Enterprise Edition <i>branch</i> (they're not calling it a fork) of Ruby 1.8.</p>
158
+ <p>The video is presented in HD so the slides are easy to see and the audio is solid. If taking a small trip through Ruby's garbage collection, memory allocation, and threading system sounds good to you (or you just want to know what Ruby Enterprise Edition is all about), it's a must watch. If you want some practical Ruby stuff and don't care about what the interpreter's doing, give it a miss.</p>
159
+ <p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/ghLCtCwAKqQ&#038;hl=en_US&#038;fs=1&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ghLCtCwAKqQ&#038;hl=en_US&#038;fs=1&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
160
+ <p style="background-color:#ffd;padding:8px;font-family:verdana;font-size:12px"><img src="http://www.rubyinside.com/wp-content/uploads/2009/07/jslab.png"; width="32" height="35" alt="jslab.png" style="float:left;margin-left:12px; margin-right:8px; border:1px #000000 solid;"/><em>[ad]</em> <a href="http://jumpstartlab.com" rel="nofollow">Jumpstart Lab</a> is offering <a href="http://jumpstartlab.com/courses/custom-training/"; rel="nofollow">private and corporate training in <strong>Ruby</strong> and <strong>Rails</strong></a>. Not just great programmers, they're experienced educators available worldwide. CC-Licensed tutorials including <a href="http://jumpstartlab.com/resources/ruby-jumpstart/ruby/"; rel="nofollow">"Ruby in 100 Minutes"</a> available at <a href="http://jumpstartlab.com/resources/"; rel="nofollow">JumpstartLab.com</a></p>
161
+ <div class="feedflare">
162
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=XIFKBmHobJ0:c7AHJYVq7FM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=XIFKBmHobJ0:c7AHJYVq7FM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=XIFKBmHobJ0:c7AHJYVq7FM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=XIFKBmHobJ0:c7AHJYVq7FM:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=XIFKBmHobJ0:c7AHJYVq7FM:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=XIFKBmHobJ0:c7AHJYVq7FM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=XIFKBmHobJ0:c7AHJYVq7FM:F7zBnMyn0Lo" border="0"></img></a>
163
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/XIFKBmHobJ0" height="1" width="1"/>]]></content:encoded>
164
+ <wfw:commentRss>http://www.rubyinside.com/how-phusion-built-a-more-efficient-ruby-1-8-interpreter-2906.html/feed</wfw:commentRss>
165
+ <slash:comments>11</slash:comments>
166
+ <feedburner:origLink>http://www.rubyinside.com/how-phusion-built-a-more-efficient-ruby-1-8-interpreter-2906.html</feedburner:origLink></item>
167
+ <item>
168
+ <title>9 New Ruby Libraries To Check Out</title>
169
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/VchaFjX3Vqk/9-new-ruby-libraries-to-check-out-2902.html</link>
170
+ <comments>http://www.rubyinside.com/9-new-ruby-libraries-to-check-out-2902.html#comments</comments>
171
+ <pubDate>Thu, 10 Dec 2009 15:45:00 +0000</pubDate>
172
+ <dc:creator>Peter Cooper</dc:creator>
173
+ <category><![CDATA[Compilation Posts]]></category>
174
+ <category><![CDATA[Miscellaneous]]></category>
175
+
176
+ <guid isPermaLink="false">http://www.rubyinside.com/9-new-ruby-libraries-to-check-out-2902.html</guid>
177
+ <description><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/love-your-library.png" width="112" height="102" alt="love-your-library.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" />I love checking out new Ruby libraries, and recently many new ones have passed my eyes. The most prominent releases get their own post on Ruby Inside, but often there are less significant libraries that I'd struggle to write 100 words about yet still contribute to Ruby's lifeblood. This post aims to round up a selection of my recent discoveries.</p>]]></description>
178
+ <content:encoded><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/love-your-library.png" width="112" height="102" alt="love-your-library.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" />I love checking out new Ruby libraries, and recently many new ones have passed my eyes. The most prominent releases get their own post on Ruby Inside, but often there are less significant libraries that I'd struggle to write 100 words about yet still contribute to Ruby's lifeblood. This post aims to round up a selection of my recent discoveries.</p>
179
+ <h3>RConfig - Powerful Ruby configuration management</h3>
180
+ <p><a href="http://github.com/rahmal/rconfig">RConfig</a>, by Rahmal Conda, bills itself as a "complete solution for Ruby configuration management" and it certainly has a compelling feature-set. It supports YAML, XML, and properties files (a bit like INI files) and provides a short hand global access to application configurations in both enumeration-based and dot-notation/method forms. It also supports what it calls "overlays" where different configurations can be used within a single app (for different "environments", say). RConfig can be installed as a gem as it's <a href="http://gemcutter.org/gems/rconfig">hosted on Gemcutter</a>.</p>
181
+ <h3>Ruby-GMail - A Rubyesque interface to GMail</h3>
182
+ <p><a href="http://github.com/dcparker/ruby-gmail">Ruby-GMail</a> is an awesome new library by Daniel Parker that provides significant GMail-specific (Google Mail) functionality within your apps. You can read/retrieve e-mails via IMAP, fully handle attachments, deal with labels, mark items as spam/unread/read, and send e-mails (including MIME messages with images and attachments).</p>
183
+ <h3><b>Excelsior - Super fast CSV parsing</b></h3>
184
+ <p><a href="http://www.toastyapps.com/excelsior/">Excelsior</a> (<a href="http://github.com/toastyapps/excelsior">GitHub</a>) is a Ruby gem by Matthew Mongeau that binds to some C code that parses CSV (comma delimited) data <i>very</i> quickly. Matthew benchmarked Excelsior against the built in Ruby 1.9 'csv' parser (based on 1.8's FasterCSV) and a 1 million row CSV file was parsed in 4.44 seconds with Excelsior versus 54 seconds for the built-in library. As well as being a useful library, the <a href="http://github.com/toastyapps/excelsior">source</a> is useful to check out if writing a native extension of your own is of interest.</p>
185
+ <h3>Linkedin - Ruby Bindings for the LinkedIn API</h3>
186
+ <p>If you don't know about it, <a href="http://www.linkedin.com/">LinkedIn</a> is basically a Facebook for business contacts and relationships. You get profiles, can message other people, and build up "connections" with other people (as an aside, if you want to add me - Peter Cooper - on your LinkedIn, <a href="http://uk.linkedin.com/in/petercooper">my profile is here</a>). Wynn Netherland has put together <a href="http://wynnnetherland.com/2009/11/link-linkedin-into-your-next-ruby-application/">a tidy Ruby library to use LinkedIn's new API</a> features. His <a href="http://wynnnetherland.com/2009/11/link-linkedin-into-your-next-ruby-application/">blog post</a> highlights some uses for it.</p>
187
+ <h3><b>Ohm - Object-hash mapping library for Redis</b></h3>
188
+ <p><a href="http://code.google.com/p/redis/">Redis</a> is one of a growing number of persistent key-value database systems, and <a href="http://ohm.keyvalue.org/">Ohm</a> is a library for storing objects in a Redis database. It was built by Citrusbyte - the team behind the <a href="http://monkrb.com/">Monk</a> Ruby Web development framework. As an aside, <a href="http://ruby.jobamatic.com/a/jbb/job-details/151556">Citrusbyte are looking for a software engineer</a> to work with them in Los Angeles.</p>
189
+ <h3>Alchemist - Conversion between units</h3>
190
+ <p><a href="http://github.com/toastyapps/alchemist">Alchemist</a> is another library by Matthew Mongeau. It makes it easy to convert between different units - such as from miles to meters or celsius to kelvin with code like <code>8.meters.to.miles</code> or in operations like <code>10.kilometers + 1.mile</code>. It was mentioned in an <a href="http://www.rubyinside.com/ruby-tidbits-29-2780.html">earlier</a> Ruby Inside post but fits in well here too.</p>
191
+ <h3>Nanotest - Super lightweight testing</h3>
192
+ <p><a href="http://github.com/mynyml/nanotest">Nanotest</a> is, perhaps, the most lightweight testing library available for Rubyists today. Billing itself as "extremely minimal," it provides the bare minimum needed to test code in a constructive manner. When it was mentioned on RubyFlow recently, <a href="http://rubyflow.com/items/3132">Nanotest got quite a bit of flack</a>..</p>
193
+ <h3>Savon - "Heavy metal" SOAP client library</h3>
194
+ <p>Unlucky enough to need to use <a href="http://en.wikipedia.org/wiki/SOAP">SOAP</a> (Simple Object Access Protocol)? <a href="http://github.com/rubiii/savon">Savon</a> presents a new, intriguing alternative to <a href="http://dev.ctor.org/soap4r">Soap4R</a> (which few people seem to be particularly complimentary about). If your SOAP service is SOAP 1.1 compliant, has a WSDL file, and doesn't need WSSE authentication, you can be calling methods in just two lines of Ruby. You can do a lot more with further tweaks, however (including SOAP 1.2 and WSSE authentication).</p>
195
+ <h3>Versionomy - A "version number" library</h3>
196
+ <p><a href="http://github.com/dazuma/versionomy">Versionomy</a> by Daniel Azuma is a library that provides tools to represent, manipulate, parse, and compare version numbers in the wide variety of versioning schemes in use. In this sense, think of it as a <a href="http://www.rubyinside.com/chronic-natural-date-parsing-for-ruby-229.html">Chronic</a> for version numbers.</p>
197
+ <div class="feedflare">
198
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=VchaFjX3Vqk:Y1gU0v0uQ2I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=VchaFjX3Vqk:Y1gU0v0uQ2I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=VchaFjX3Vqk:Y1gU0v0uQ2I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=VchaFjX3Vqk:Y1gU0v0uQ2I:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=VchaFjX3Vqk:Y1gU0v0uQ2I:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=VchaFjX3Vqk:Y1gU0v0uQ2I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=VchaFjX3Vqk:Y1gU0v0uQ2I:F7zBnMyn0Lo" border="0"></img></a>
199
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/VchaFjX3Vqk" height="1" width="1"/>]]></content:encoded>
200
+ <wfw:commentRss>http://www.rubyinside.com/9-new-ruby-libraries-to-check-out-2902.html/feed</wfw:commentRss>
201
+ <slash:comments>14</slash:comments>
202
+ <feedburner:origLink>http://www.rubyinside.com/9-new-ruby-libraries-to-check-out-2902.html</feedburner:origLink></item>
203
+ <item>
204
+ <title>Ruby Gets An Official Spec: Heading To Become An ISO International Standard</title>
205
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/Vj1rDMKckH8/ruby-iso-spec-draft-2900.html</link>
206
+ <comments>http://www.rubyinside.com/ruby-iso-spec-draft-2900.html#comments</comments>
207
+ <pubDate>Mon, 07 Dec 2009 13:55:15 +0000</pubDate>
208
+ <dc:creator>Peter Cooper</dc:creator>
209
+ <category><![CDATA[News]]></category>
210
+
211
+ <guid isPermaLink="false">http://www.rubyinside.com/ruby-iso-spec-draft-2900.html</guid>
212
+ <description><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/red-specs.png" width="99" height="89" alt="red-specs.png" style="float:left; margin-right:12px; margin-bottom:12px;" />It's long been a bone of contention in the Ruby world that Ruby, as a programming language, doesn't have an <i>official</i> spec (though <a href="http://rubyspec.org/">RubySpec</a> has been a noble, community effort to build an executable specification for Ruby). Now, though, there's <a href="http://ruby-std.netlab.jp/">a <i>draft</i>, official Ruby specification available</a> for you to check out- based on Ruby 1.8.7 (which <a href="http://joefiorini.com/post/266523563/the-ruby-draft-specification">some</a> aren't happy about).</p>]]></description>
213
+ <content:encoded><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/red-specs.png" width="99" height="89" alt="red-specs.png" style="float:left; margin-right:12px; margin-bottom:12px;" />It's long been a bone of contention in the Ruby world that Ruby, as a programming language, doesn't have an <i>official</i> spec (though <a href="http://rubyspec.org/">RubySpec</a> has been a noble, community effort to build an executable specification for Ruby). Now, though, there's <a href="http://ruby-std.netlab.jp/">a <i>draft</i>, official Ruby specification available</a> for you to check out- based on Ruby 1.8.7 (which <a href="http://joefiorini.com/post/266523563/the-ruby-draft-specification">some</a> aren't happy about).</p>
214
+ <p>From the announcement:</p>
215
+ <blockquote>
216
+ <p>For wider and more application of Ruby language, "Ruby Standardization Working Group" has been established under Information-technology Promotion Agency, Japan (IPA) to define the specification of Ruby language on Oct. 2008. Since then the WG has been drafting the specification of Ruby language.</p>
217
+ <p>As the first draft of Ruby language specification has just recently completed, we'd like to request users and developers of Ruby communities to review it.</p>
218
+ <p>By gathering review comments widely from you, we are going to improve the draft of Ruby language specification further. Then we will propose the improved draft to Japanese Industrial Standards Committee (JISC) to be JIS. After JIS for Ruby has been published, <b>we will propose it to International Standardization Organization (ISO/IEC JTC1) to be International Standard.</b></p>
219
+ </blockquote>
220
+ <p>Why now? In <a href="http://www.ruby-forum.com/topic/169195">a ruby-core thread</a> about the forthcoming standard, Shugo Maeda spills the beans:</p>
221
+ <blockquote>
222
+ <p>In addition, one of reasons why we need open standard for Ruby is that the basic guideline for the government procurement in Japan require it. In that policy, we should refer to open standards instead of specific products for fair competition.</p>
223
+ </blockquote>
224
+ <p>While the prospect of getting cushy government contracts is appealing to Japanese Rubyists, it could also start to play a role elsewhere as governments start to ride their own open standards/open source bandwagons.</p>
225
+ <p>Ultimately, this news isn't going to matter to the majority of Rubyists yet, but becoming an international standard will ultimately lend more legitimacy to a language that has been flagging in popularity lately. If you want to jump right to checking out the standard (available only as a PDF at the moment), <a href="http://ruby-std.netlab.jp/draft_spec/agreement.html">click here</a>.</p>
226
+ <div class="feedflare">
227
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=Vj1rDMKckH8:_yNVk3p6Q0Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=Vj1rDMKckH8:_yNVk3p6Q0Y:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=Vj1rDMKckH8:_yNVk3p6Q0Y:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=Vj1rDMKckH8:_yNVk3p6Q0Y:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=Vj1rDMKckH8:_yNVk3p6Q0Y:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=Vj1rDMKckH8:_yNVk3p6Q0Y:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=Vj1rDMKckH8:_yNVk3p6Q0Y:F7zBnMyn0Lo" border="0"></img></a>
228
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/Vj1rDMKckH8" height="1" width="1"/>]]></content:encoded>
229
+ <wfw:commentRss>http://www.rubyinside.com/ruby-iso-spec-draft-2900.html/feed</wfw:commentRss>
230
+ <slash:comments>17</slash:comments>
231
+ <feedburner:origLink>http://www.rubyinside.com/ruby-iso-spec-draft-2900.html</feedburner:origLink></item>
232
+ <item>
233
+ <title>Ruby 1.9.1-p376 Released: Fixes A Heap Overflow Vulnerability And More</title>
234
+ <link>http://feedproxy.google.com/~r/RubyInside/~3/fSeIBmSSTZA/ruby-1-9-1-p376-released-fixes-a-heap-overflow-vulnerability-and-more-2898.html</link>
235
+ <comments>http://www.rubyinside.com/ruby-1-9-1-p376-released-fixes-a-heap-overflow-vulnerability-and-more-2898.html#comments</comments>
236
+ <pubDate>Mon, 07 Dec 2009 12:28:46 +0000</pubDate>
237
+ <dc:creator>Peter Cooper</dc:creator>
238
+ <category><![CDATA[News]]></category>
239
+
240
+ <guid isPermaLink="false">http://www.rubyinside.com/ruby-1-9-1-p376-released-fixes-a-heap-overflow-vulnerability-and-more-2898.html</guid>
241
+ <description><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/head-palm-slap.png" width="120" height="120" alt="head-palm-slap.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /> Uh oh, it's upgrade time again. Today, the official Ruby 1.9 maintainer (Yuki Sonoda, a.k.a. Yugui) announced <a href="http://www.ruby-lang.org/en/news/2009/12/07/heap-overflow-in-string/">a heap overflow vulnerability in Ruby 1.9.1</a> and, subsequently, the <a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/352175">release of Ruby 1.9.1-p376</a> (patch level 376). As the current production level release of Ruby, this is a crucial upgrade - unless you're still using Ruby 1.8.x, which isn't affected at all.</p>]]></description>
242
+ <content:encoded><![CDATA[<p><img src="http://www.rubyinside.com/wp-content/uploads/2009/12/head-palm-slap.png" width="120" height="120" alt="head-palm-slap.png" style="float:left; margin-right:12px; margin-bottom:12px; border:1px #000000 solid;" /> Uh oh, it's upgrade time again. Today, the official Ruby 1.9 maintainer (Yuki Sonoda, a.k.a. Yugui) announced <a href="http://www.ruby-lang.org/en/news/2009/12/07/heap-overflow-in-string/">a heap overflow vulnerability in Ruby 1.9.1</a> and, subsequently, the <a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/352175">release of Ruby 1.9.1-p376</a> (patch level 376). As the current production level release of Ruby, this is a crucial upgrade - unless you're still using Ruby 1.8.x, which isn't affected at all.</p>
243
+ <p>As well as fixing the vulnerability, Ruby 1.9.1-p376 also includes over 100 bug fixes on the previous release, none of which are particularly interesting. You can check <a href="http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1/ChangeLog">this release's change log</a> to see if anything affects you.</p>
244
+ <p>If you want to download Ruby 1.9.1-p376 now, the following URLs will work direct:</p>
245
+ <ul>
246
+ <li><a href="http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.tar.bz2">http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.tar.bz2</a></li>
247
+ <li><a href="http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.tar.gz">http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.tar.gz</a></li>
248
+ <li><a href="http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.zip">http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.zip</a></li>
249
+ </ul>
250
+ <p>Further, Danny Tatom has put together <a href="http://gist.github.com/250699">a PKGBUILD file for Ruby 1.9.1-p376</a> for <a href="http://www.archlinux.org/">Arch Linux</a> users. As an aside, Arch Linux is worth a look if you haven't heard of it yet. It's basically a lightweight, heavily customizable, developer focused Linux distribution that's less annoying than Gentoo, and a little more BSD-like than the average Linux distro.</p>
251
+ <p style="background-color:#ffd;padding:8px;font-family:verdana;font-size:12px"><a href="http://devver.net/caliper" rel="nofollow"><img src="http://www.rubyinside.com/wp-content/uploads/2009/10/caliper-logo.png" width="98" height="42" alt="caliper-logo.png" style="float:right; margin-bottom:8px; margin-left:12px;" /></a><em>[ad]</em> Find duplication, code smells, complex code and more in your Ruby code with <a href="http://devver.net/caliper" rel="nofollow">Caliper!</a> The metrics are free and setup takes just one click. <a href="http://devver.net/caliper" rel="nofollow">Get started!</a></p>
252
+ <div class="feedflare">
253
+ <a href="http://feeds.feedburner.com/~ff/RubyInside?a=fSeIBmSSTZA:5ZcP7XyHBJM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/RubyInside?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=fSeIBmSSTZA:5ZcP7XyHBJM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=fSeIBmSSTZA:5ZcP7XyHBJM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=fSeIBmSSTZA:5ZcP7XyHBJM:3H-1DwQop_U"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=fSeIBmSSTZA:5ZcP7XyHBJM:3H-1DwQop_U" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/RubyInside?a=fSeIBmSSTZA:5ZcP7XyHBJM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/RubyInside?i=fSeIBmSSTZA:5ZcP7XyHBJM:F7zBnMyn0Lo" border="0"></img></a>
254
+ </div><img src="http://feeds.feedburner.com/~r/RubyInside/~4/fSeIBmSSTZA" height="1" width="1"/>]]></content:encoded>
255
+ <wfw:commentRss>http://www.rubyinside.com/ruby-1-9-1-p376-released-fixes-a-heap-overflow-vulnerability-and-more-2898.html/feed</wfw:commentRss>
256
+ <slash:comments>2</slash:comments>
257
+ <feedburner:origLink>http://www.rubyinside.com/ruby-1-9-1-p376-released-fixes-a-heap-overflow-vulnerability-and-more-2898.html</feedburner:origLink></item>
258
+ </channel>
259
+ </rss>
@@ -0,0 +1,23 @@
1
+ require File.join(File.dirname(__FILE__), "..","spec_helper")
2
+
3
+ # TODO: Bring RSS feeds out as fixture files.
4
+
5
+ describe Rosy::Parse do
6
+ before(:all) do
7
+ FakeWeb.register_uri(:get, "http://feeds.feedburner.com/RubyInside", :body => load_feed("rubyinside.rss"))
8
+ end
9
+
10
+ it "extracts feed from Jan 1 to Jan 7 with 200 character limit" do
11
+ Rosy::Parse.get_updates("http://feeds.feedburner.com/RubyInside", "Jan 1 2010", "Jan 8 2010", 200).length.should == 3
12
+ end
13
+
14
+ it "extracts multiple feeds"
15
+
16
+ it "extracts feed with articles in summary tag but not in content"
17
+
18
+ it "extracts feed with articles in content tag but not in summary"
19
+
20
+ it "does not return feed entries out of the character limit"
21
+
22
+
23
+ end
@@ -0,0 +1,13 @@
1
+ require "rubygems"
2
+ require 'spec'
3
+ require "fakeweb"
4
+
5
+ begin require "redgreen" unless ENV['TM_CURRENT_LINE']; rescue LoadError; end
6
+
7
+ $LOAD_PATH << File.join(File.dirname(__FILE__),"..","lib")
8
+ require 'rosy'
9
+
10
+
11
+ def load_feed(filename)
12
+ File.read("#{File.dirname(__FILE__)}/feeds/#{filename}")
13
+ end
metadata ADDED
@@ -0,0 +1,62 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rosy
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Rizwan Reza
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-01-11 00:00:00 +03:30
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: Allows you to extract entries based on dates and character count.
17
+ email: rizwanreza@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - lib/rosy/parse.rb
26
+ - lib/rosy/record.rb
27
+ - lib/rosy.rb
28
+ - spec/feeds/maxvoltar.rss
29
+ - spec/feeds/rubyinside.rss
30
+ - spec/rosy/parse_spec.rb
31
+ - spec/spec_helper.rb
32
+ - README
33
+ has_rdoc: false
34
+ homepage: http://github.com/rizwanreza/rosy
35
+ licenses: []
36
+
37
+ post_install_message:
38
+ rdoc_options: []
39
+
40
+ require_paths:
41
+ - lib
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: "0"
47
+ version:
48
+ required_rubygems_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: "1.2"
53
+ version:
54
+ requirements: []
55
+
56
+ rubyforge_project:
57
+ rubygems_version: 1.3.5
58
+ signing_key:
59
+ specification_version: 3
60
+ summary: Filter based feed parser
61
+ test_files: []
62
+