Matz Just Sent Me a Ruby Script From 2009 #
It suddenly toppled through this DRb port I just opened! An Object with an @author
, @timestamp
and @message
. I can’t verify the authenticity. The message is:
Tumblemail -> ActiveRecord Base belongs to: User has: content -> Link (or) Quote (or) IRC Log (or) Flickr Photo has: Recipient(s) validates presence of: User ID, Creation Time and format of: Reply To with: /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/ also, uniqueness and existence of: URL ::find popular -> |n = 10| <- find: all, order by: Replies, limit: 0, 10 .check status ? .sent (and) .finished <- "Finished" ? .sent <- "Sending" ? .ready <- "Still in draft" ;; ;; .friendly replies <- replies.sender.every.friendly? .percentage who replied <- * 100 <- replies.count / sent.to_f .inspect <- #<Tumblemail:#<Message Id>> ;;
He also sent a short follow-up: “Everything is a class.” Which scared the bejesus out of me and I freaked out and ran straight into the wall of my sock closet.
Jeremy
Hurry, evasive maneuvers from SkyNet resistance, human-coded in an uncrackable aesthetic: copy them quickly!
_why, you must bear that child. He’s.. he’s Matz.
Danno
What… what does it all MEAN ?!
Henry
Where did Tumblemail come from? I only ask because I started writing a ruby app yesterday called Tumblemail! Spooky
murphy
I’m really pleased to see that regexps survive in Ruby4.
do class << self.
Raskelltalk. I’ve seen it myself too, One just needs to set their clock to the future, count to ten in random order, and then start reading SICP backwards and from a mirror, you mail box should contain a message if done correctly. Take that and run it through a Triple-DES cipher using “flux-capacitator” as the key (zero padded). The resulting message should be xor’ed against itself. Now run it with the latest ruby from cvs. The error message it spits out should be identical to what why gave.
Ken
This is starting to take on a suspiciously OCamlly flavor… which is a good thing… apart from those double semicolons. shudder
<|:{
No, methinks this is Absinthe! The apocolypse will be in 2009, then.
MenTaLguY
I have to say, this looks appealing, except for
;;
, which was my least favorite part of OCaml.xml-blog.com
Maybe by then I’ll dig the gratuitous syntactic changes like Tumblemail → ActiveRecord Base vs. Tumblemail < ActiveRecord::Base.
Of course, has: Recipient(s) is cool.
Tom
I don’t like that at all.
Carlos
Ah, come on, dude. Code in 2009 still having to conform to measly nineteenth century ASCII code? GIVE US UNICODE DAMMIT !
->? WTF ? I want a real Unicode arrow symbol. Maybe a biohazard symbol for dangerous methods. But then Ruby in 2009 has colons, double colons, semicolons? Argh, nasty.
KirinDave
Matz must have/will changed/change his mind about prototype languages. I thought he said they were too confusing at RubyConf 05.
Organic
Pick a syntax and stick with it!... climbs back into his hole
Syntactic Anarchy
No, give us macros so we can each choose our own syntax and stick with it! (for a day or two at least)
I don’t want arrows, I think the %^\ is underused and >,< has been neglected.
That’s it! The name for this new language: Babel
robert
Well, I like it.
robert
Oh, and that’s 2006, right, not 2009?
why
RE: Raskelltalk: So you have payloads of your own from the future??
Carlos: That biohazard idea is awesome. Maybe if you post that idea on Ruby-Talk, we’ll see the code sample above change before our very eyes.
John L.
This looks suspiciously like YAML to me.
p@
Carlos: I amen you in buckets.
But don’t stop with biohazard sigils…
It’s just a matter of time.
che guevera
we must send a cyborg through the time vortex to stop this insanity
che guevera
but i confess, i like it. add some syntax highlighting! spiced up
my god, there is a pattern there somewhere. my chronoarchaelogical decyphering thus far: ? == if <- == return -> == block…or is that a method? :: == class method? . == def or method invocation? or both
Tom
No, there’s no pattern to that madness. Instead of an interpreter, they hire a staff of translators who, over the Internet, in real time, transcribe your code into what they think is the corresponding set of instructions.
che guevera
No, I believe that a special sitting of the UN deliberates over the specifics of each execution. The burning question remains unanswered: Not if…WHEN will we need to call in the special squadron of starmonkeys.
THBMan
With all honesty, that’s really ugly. So really what you’re saying is that ruby in 2009 won’t be ruby, right? Is this like a Perl 6 thing?
robert
Heh. Once we get ‘Unicode keyboards’...
Larry W.
Actually, this looks like our plans for Perl7 set to release in 2009. We’re still optimistic that Perl6 will be ready by 11:59 on December 31, 2008.
KirinDave
p@, it’s already time! DrScheme allows your symbols to be real images, and handles inserting λ and → (lambda and arrow) for you.
Nick
Can someone explain why inheritance is now back to front?
Inheritance makes so much more sense as it is at the moment with the
<
pointing in the other direction…And similarly, so much of this is so much more readable, but the @;;@s … ew.
riffraff
that is because → is a message sent to Tumblemail to create a subclass. Maybe in a monad.
Trejkaz
In UML diagrams, the arrow always points towards the superclass. It’s always confused me in languages like Ruby where the arrow points the wrong way.
Dan
Let’s just hope that by 2009 we’re not using naive Regex’s like that to validate email addresses.
moos
the → operator is reminicent of UML generalization: subclass—|> superclass
where—|> is a solid arrow..
KirinDave
Wow, this is a unicode-a-palooza! ☺☻
xml-blog.com
I don’t care if → is UML . I code in Ruby, not UML . I’m not one of those MDA , UML to code generation guys.
ohno
the ;; makes me want to cry
Abica
Oh lord that’s terrible. I hope he was just really drunk when he sent that. :|
Aaron
That is ridiculously confusing. So much for Ruby being a human-readable language.
Surely this is fake, right?
hobbit
wow. very cool. so no more space delimiters. looks like everything is delimited by keyword, symbol or EOL . so you can have spaces in your names.
some guess work:Comments are closed for this entry.