14. Friday, 1 May 2009
The code isn’t important, but basically it just talks to a yahoo pipe that I made up.
15. Friday, 1 May 2009
I made “munch”. It pulls from various recipe and cooking related web sites like taste.com.au
and friends. It reads RSS and scrapes sites. Pretty simple.
17. “I need a new
web site”
- Me, probably avoiding real work
Friday, 1 May 2009
I wanted to blog about this, sadly my blog is cached files sitting on a slicehost account.
Mephisto isn’t even running any longer.
21. Friday, 1 May 2009
I knew that I didn’t want to write everything then link it in to my blog, I wanted to write it
once and be able to keep it updated.
22. Friday, 1 May 2009
I knew that I didn’t want to write everything then link it in to my blog, I wanted to write it
once and be able to keep it updated.
23. Friday, 1 May 2009
I knew that I didn’t want to write everything then link it in to my blog, I wanted to write it
once and be able to keep it updated.
24. Friday, 1 May 2009
I knew that I didn’t want to write everything then link it in to my blog, I wanted to write it
once and be able to keep it updated.
25. Friday, 1 May 2009
I knew that I didn’t want to write everything then link it in to my blog, I wanted to write it
once and be able to keep it updated.
26. Friday, 1 May 2009
I knew that I didn’t want to write everything then link it in to my blog, I wanted to write it
once and be able to keep it updated.
27. ?
Friday, 1 May 2009
I knew that I didn’t want to write everything then link it in to my blog, I wanted to write it
once and be able to keep it updated.
28. Friday, 1 May 2009
of course, I could’ve just got a tumblr account. That didn’t let me use sinatra or mess around
with HTML5.
29. Friday, 1 May 2009
It was getting easier, I had constraints around the use of my data
30. Delicious
Friday, 1 May 2009
It was getting easier, I had constraints around the use of my data
31. All
Delicious
Friday, 1 May 2009
It was getting easier, I had constraints around the use of my data
32. All
Delicious
Twitter
Friday, 1 May 2009
It was getting easier, I had constraints around the use of my data
33. All
Delicious
When I wasn’t talking to @someone
Twitter
Friday, 1 May 2009
It was getting easier, I had constraints around the use of my data
34. All
Delicious
When I wasn’t talking to @someone
Twitter
Flickr
Friday, 1 May 2009
It was getting easier, I had constraints around the use of my data
35. All
Delicious
When I wasn’t talking to @someone
Twitter
Selected (special tag)
Flickr
Friday, 1 May 2009
It was getting easier, I had constraints around the use of my data
36. All
Delicious
When I wasn’t talking to @someone
Twitter
Selected (special tag)
Flickr
?
Friday, 1 May 2009
It was getting easier, I had constraints around the use of my data
37. All
Delicious
When I wasn’t talking to @someone
Twitter
Selected (special tag)
Flickr
?
?
Friday, 1 May 2009
It was getting easier, I had constraints around the use of my data
38. Friday, 1 May 2009
The yahoo pipe looked like this. A bit of a mental leap.
39. Friday, 1 May 2009
Some things stood out. like union, I could join multiple sources of data together and output
them as one
40. Friday, 1 May 2009
or sort them by the publication date
41. Friday, 1 May 2009
and filter out the tweets to people. Sure a regex would’ve been smarter, but this was 90%
good enough
42. Friday, 1 May 2009
I started thinking about my process, the data coming from all over the place.
43. “What if I could
write something
like pipes?”
Friday, 1 May 2009
I wanted to do something myself (again)
44. “What if I could
write a ruby block
based DSL?”
Friday, 1 May 2009
I’d never written one, totally a good time to jump right in head first.
45. “What if you got
plain old Ruby
objects?”
Friday, 1 May 2009
If the data returned could be ruby, irrespective of what format it started as... it would be
awesome
49. Friday, 1 May 2009
A search, which I named “ruby” uses yql and does a web based (search engine) search for the
keyword of “ruby”
50. Friday, 1 May 2009
A search, which I named “ruby” uses yql and does a web based (search engine) search for the
keyword of “ruby”
51. Friday, 1 May 2009
A search, which I named “ruby” uses yql and does a web based (search engine) search for the
keyword of “ruby”
52. Friday, 1 May 2009
A search, which I named “ruby” uses yql and does a web based (search engine) search for the
keyword of “ruby”
53. Friday, 1 May 2009
and hey, I’m gonna grab the RSS feed from slashdot.
“emit” will transform the objects that my feed returns.
I’ll rename any keys of link to url, this will make my data mind-map better
54. Friday, 1 May 2009
and hey, I’m gonna grab the RSS feed from slashdot.
“emit” will transform the objects that my feed returns.
I’ll rename any keys of link to url, this will make my data mind-map better
55. Friday, 1 May 2009
and hey, I’m gonna grab the RSS feed from slashdot.
“emit” will transform the objects that my feed returns.
I’ll rename any keys of link to url, this will make my data mind-map better
56. Friday, 1 May 2009
and hey, I’m gonna grab the RSS feed from slashdot.
“emit” will transform the objects that my feed returns.
I’ll rename any keys of link to url, this will make my data mind-map better
57. Friday, 1 May 2009
and hey, I’m gonna grab the RSS feed from slashdot.
“emit” will transform the objects that my feed returns.
I’ll rename any keys of link to url, this will make my data mind-map better
58. Friday, 1 May 2009
and hey, I’m gonna grab the RSS feed from slashdot.
“emit” will transform the objects that my feed returns.
I’ll rename any keys of link to url, this will make my data mind-map better
59. Friday, 1 May 2009
and hey, I’m gonna grab the RSS feed from slashdot.
“emit” will transform the objects that my feed returns.
I’ll rename any keys of link to url, this will make my data mind-map better
60. Friday, 1 May 2009
The whole point of this was to bring these multiple feeds together, re interpret them as one
common feed.
61. Friday, 1 May 2009
This creates a new “source”, it’ll be named “ruby_useless_joined”. It can be refiltered if
required
62. Creates
Friday, 1 May 2009
This creates a new “source”, it’ll be named “ruby_useless_joined”. It can be refiltered if
required
63. Creates
Friday, 1 May 2009
This creates a new “source”, it’ll be named “ruby_useless_joined”. It can be refiltered if
required
64. Friday, 1 May 2009
That can be extended and the items from the two sources can have some transformations as
well.
65. Friday, 1 May 2009
That can be extended and the items from the two sources can have some transformations as
well.
66. Friday, 1 May 2009
That can be extended and the items from the two sources can have some transformations as
well.
67. Friday, 1 May 2009
That can be extended and the items from the two sources can have some transformations as
well.
68. Friday, 1 May 2009
That can be extended and the items from the two sources can have some transformations as
well.
69. Friday, 1 May 2009
That can be extended and the items from the two sources can have some transformations as
well.
70. Friday, 1 May 2009
That can be extended and the items from the two sources can have some transformations as
well.
71. Friday, 1 May 2009
That can be extended and the items from the two sources can have some transformations as
well.
75. What just happened?
Friday, 1 May 2009
Thinking a little more about what actually just happened.
It parsed the data to a ruby object, irrespective of the format it came in as.
76. What just happened?
• Queried the web
Friday, 1 May 2009
Thinking a little more about what actually just happened.
It parsed the data to a ruby object, irrespective of the format it came in as.
77. What just happened?
• Queried the web
• Auto-magically parsed the data
Friday, 1 May 2009
Thinking a little more about what actually just happened.
It parsed the data to a ruby object, irrespective of the format it came in as.
78. What just happened?
• Queried the web
• Auto-magically parsed the data
• Returned a clean object
Friday, 1 May 2009
Thinking a little more about what actually just happened.
It parsed the data to a ruby object, irrespective of the format it came in as.
80. Friday, 1 May 2009
Its string escaped and not worth reading, but you could pass this through a web based app
straight down to javascript
81. Method
chaining
Friday, 1 May 2009
Methods can also be chained without invoking a new source or joining sources together
82. Friday, 1 May 2009
Here we can get a predefined source, shorten the result set and re sort it.
83. Friday, 1 May 2009
Here we can get a predefined source, shorten the result set and re sort it.
84. Friday, 1 May 2009
Here we can get a predefined source, shorten the result set and re sort it.
85. Transformations
Amount of items
Truncate
By a single key
Sort
One key to another
Rename
Items that match regex
Keep
Items that match regex
Discard
Ruby (default) or JSON
Output
Friday, 1 May 2009
Right now, you can do these things
86. YQL
Definitions
Friday, 1 May 2009
I’m looking at adding support for YQL definitions
87. Friday, 1 May 2009
They look like this, I’ve never written one, but it doesn’t look too hard. You can add search to
your own preexisting site / rss etc