Viser arkivet for stikkord ruby

MagLev, en ny Ruby-VM

Evan Phoenix fra Rubinius snakker om Maglev, en ny Ruby-VM utviklet av folk fra Gemstone, en av de eldste objektdatabase/applikasjonsserver-leverandørene, og Dabble DB:

For those of you that haven’t yet heard of maglev, it’s a brand new Ruby VM being developed by the folks over at Gemstone. Gemstone is the makers of probably the most advanced object-oriented database used today, and have traditionally been a Smalltalk shop till recently. With the tide rising on Ruby, I’m happy to see another player enter the field. This only means that Ruby is continuing to mature and see that the community is healthy. … The other reason that I’m excited about maglev is that they’re taking a very similar approach to the problem of building a Ruby environment. Like Rubinius, the VM is minimal and most of the kernel is implemented in Ruby.

Dette intervjuet med InfoQ avdekker en del tekniske detaljer:

There are around 8 people who are working on MagLev at least part time. … Our goals are similar to those of the Rubinius project: to have all of the methods in the standard library implemented in Ruby, apart from a few performance-sensitive primitives. The VM is written in C.

Kanskje mest interessant, og unikt, er Smalltalk-vinklingen:

InfoQ: Will Ruby code be able to persist the process to an image a la Smalltalk?
In short, yes. For example, the GLASS product currently lets you save processes that have encountered errors to the repository, and pull them later into a local VM for debugging. There’s no reason we couldn’t do the same thing for Ruby.

InfoQ: Any chance of getting Ruby code on MagLev to interact with Smalltalk code or objects?
The MagLev VM is, in addition to understanding Ruby, perfectly capable of understanding Smalltalk. I’d say the chances of being able to do this are pretty high, but we’d want to see if it is desirable functionality that would be useful to the community before going too far down that road.

Den kommende presentasjonen på RailsConf i Oregon burde være av interesse.

Ruby/Rails deltidsstilling. Perfekt for studenter.

Er du et ihugga rubyhode med behov for å tjene litt penger på siden av studier eller lignende?

Fatguy er et lite web-byrå i Oslo med noen spennede Ruby og Ruby on Rails prosjekter i ermet. Vi kan tilby en deltidsstilling med gode vilkår, gode muligheter for egenutvikling, og stor frihet til å definere egen arbeidstid.

Vi trenger en person med gode tekniske kunnskaper og evne til å jobbe selvstendig. Du bør være stødig i Rails, og også ha god innsikt i Ruby og interesse for språket, men mye arbeidserfaring er ikke påkrevd.

Litt interesse for javascript, Google Maps API, Flex og lignende er et stort pluss. Xhtml og CSS, spesielt IE hacking, tar vi andre oss av. :-)

Ta kontakt med Jonas på telefon 90155578 // jonas(at)fatguy.no // twitter.com/Feiring

JRubME testet!

Jeg testet akkurat JRubME 0.1.1.

Det er JRuby 0.9.8 strippet for ting som ikke kjører under CDC 1.1 + foundation classes 1.1.2

Har bare kjørt “Hello World!”, men DET FUNKA!

Footprint er 7.5MB hvorav 2.3MB er JRubME.

Vi har endel embedded applikasjoner der dette er svært aktuelt å bruke.

Ruby-SMPP. Endelig.

Apparat har akkurat lansert Ruby-SMPP, en rubygem som antagelig er mest interessant for folk som jobber mot mobiloperatører.

sudo gem install ruby-smpp

Koden ligger på Gitorious.

MtnWest RubyConf: Kodegenerering

Skal prøve å kondensere informasjonen litt, men fortsatt prøve å beholde litt innhold! Nå har jeg vært uten nettverk i 5 timer, ikke så lett med internett, med et accesspoint, og over 200 deltakere!

Etter lunsj snakket Giles Bowkett om kodegenerering ved hjelp av magisk metaprogrammering (with safety scissors)

Når man snakker om metaprogrammering i Ruby, snakker man oftest om meta-oo. Man kan gjøre dette på flere måter, og en vanlig måte er å aliase gamle metoder, og omdefinere dem – noe som ofte kalles monkeypatching – og anses som dårlig praksis av mange. De som har fulgt litt med har fått med seg mye motstand mot monkeypatching i blogospheren. Grunnen er hovedsaklig endrene biblioteker som monkeypatches, og det da blir vanskelig å spore endringene.

Giles mener en av de store styrkene til Ruby er at det essensielt tilgjengeliggjør avansert programmering som higher order programmering kjent fra funksjonelle språk som Lisp; på en enkel og forståelig måte! Innenfor metaprogrammering advokerer han hovedsaklig to paradigmer – om jeg kan kalle det det 1) kodegenerering og 2) monkeypatchet monkeypatching.

Angående kodegenerering snakker han hovedsaklig om hvordan man kan bruke Ruby til å skape annen programmeringskode, for eksempel bruke ruby2ruby biblioteket til å generere kode:

irb> l = lambda { puts “i lambdaen” }
=> #<Proc:0×0137ebf4@(irb):13>
irb> l.to_ruby
=> “proc {\n puts(”i lambdaen")\n}"

Eller:

irb> class BlaBla; def name; “bla?”; end; end
irb> puts Ruby2Ruby.translate(BlaBla)
class BlaBla < Object
def name
“bla?”
end
end

Det andre og kanskje mer interessante caset er ideellt for bruk med Rubinius. Der kan man nemlig leke med alt på en ganske sikker måte, noe som åpner opp for veldig kul bruk av monkeypatching. Et eksempel er at man kan overskrive Class.new for å tracke annen monkeypatching:

class Class
alias :old_new, :new
def new(param)
puts “created #{self.name}”
old_new(param)
end
end

Dette vil fungere i Rubinius der alt er Ruby, men er ganske usikkert i andre implementasjoner der store deler er skrevet i C, Java, .NET, osv. Denne ideen kan utvides kraftig, slik at man for eksempel kan bruke det til sporing av monkeypatching, eller istedenfor å bare skrive strenger, kan man for eksempel skrive kode (“#{self.name.camelize}.new(#{param})”), eller rett og slett skape objekter med metaprogrammering av koden.

Veldig interessant ide!

Gratis deltagelse for studenter på RubyFools Oslo

Det er nå bortimot 60 påmeldte til RubyFools i neste uke (i tillegg til 20-30 foredragsholdere).

Blant disse er det ingen studenter, så enten er studentene for late til å synes mannskap tilbudet er interessant, eller så har vi vært for dårlige til å informere dem. Sannsynligvis det siste.

Uansett – vi har valgt å gi G R A T I S adgang til studenter. Påmelding skjer her

Kanalene for å nå studentene på IFI, HIO og NTNU studenter via email er lukket, men jeg har kontaktet de som kontrollerer mailinglistene deres og bedt dem videreformidle denne informasjonen pluss koden de skal bruke for å få gratis adgang.

Dersom du er student og ikke har fått mail om dette (med promo koden for studenter) kan du ringe meg: 982 19 452.

Vi sees på RubyFools!

Matz kommer til Oslo

Ruby on Rails hosting i Norden?

Dette spørsmålet har dukket opp flere ganger, og jeg har fulgt opp noen av tipsene som har kommet frem i de tidligere postene. Den siste jeg prøvde meg på var Primetime, som jeg har hørt mye godt om. Etter 3 uker med purring har de enda ikke svart meg på om de kan hoste 3 enkle små rails aplikasjoner.

Planen i det lange løp er å sette opp en Apple Xserve i en eller annen serverpark i Oslo, men frem til dette skjer, trenger jeg en hosting partner.

Er det noen der ute som kan hjelpe meg? Enten med å finne en god politelig host (shared hosting) for 3 små rails aplikasjoner, eller kanskje har du en server, og kan hoste dem selv?

Setter stor pris på litt hjelp :-)

Obfuscating Ruby/Rails kode?

Hei,

har lett en stund etter verktøy for å beskytte Ruby/Rails kode som skal kjøres i et miljø hvor vi ønsker å beskytte kildekoden i en del ruby script og i en rails app. Er det noen som vet om noen verktøy som gjør noe lignende som obfuscating java kode? De fleste ser ut til å anbefale å bruke jruby og gjøre om rails appen til en war fil, for deretter å beskytte war filen.

Mer om Ruby Fools 3-4 april

Det blir altså Ruby konferanse her i Oslo.

Logistikken ordes av BEKK og Trifork. Vi trenger flere sponsorer, så ta kontakt med meg (se info i lenken over) dersom du vil fronte firmaet ditt.

Jeg håper ALLE fra irb.no kommer.

Aslak

Thin, en enkel og rask web server

Marc-André Cournoyer bestemte seg for å ta de 3 beste Ruby-web-bibliotekene og lage en web-server:

Resultatet ble Thin, 500 linjer skrevet i Ruby (og litt i C), som har vist seg å være raskere enn Mongrel

Anbefaler alle å lese innlegget, men husk:

This is the first experimental release. If you use this on your production server right now you are stupid, looking for extreme sensations or trying to find a way to get fired.

Ruby fortolker?

De som kjenner meg godt vet at jeg hater å bruke engelsk i norsk, men som de fleste sikkert har erfart kan det være vanskelig å vite hva enkelte anglisismer oversettes som.

Hva heter “ruby interpreter” på norsk? Er det “ruby fortolker”? Er det “rubyfortolker”? Noen andre forslag?

Ruby 1.9 sluppet!

Matz har gitt oss en veldig fin julegave i år: Ruby 1.9. Men husk at dette er en development release og kun er til for å gjøre folk klare til 2.0. Her har jeg satt opp et norsk mirror (på Einar Gangsø sin server).

Det ser ut til at hele 1.9-grenen vil være unstable, mens 2.0 vil bli stable. (Selv om ingen er helt sikre. Kan hende at 1.9.1 eller 1.9.6 blir også stable)

Rak - en bedre Grep

Rak er en slags Ruby-implementasjon av Grep som med noen små, enklere grep gjør grepping til en mer behagelig opplevelse. Det mest essensielle er kanskje måten den skriver resultater på: i farger, fint gruppert på filnavn, og med linjenummer foran alle linjer. I tillegg:

  • Den skjønner å hoppe over .svn, _darcs og slike metafiler.
  • Den støtter Ruby-regexps.
  • Den kan utføre en Ruby-expression for hver match.
  • Den skjønner at rak foo en_katalog skal søke rekursivt.

Installeres med:

gem install -r rak

NRK scraper

denne i Rubyforges nye-projekt-feeden:

NRK Scraper allows you to parse the pages of Norwegian national broadcaster NRK’s online TV service and extract the URLs to their streams. Their system is very Microsoft centric and a pain to watch unless you run Windows and Windows Media Player. NRK Scraper lets you use mplayer, vlc, any media player that can play mms URLs. A script that downloads the entire stream can also easily be written. Watch NRK.no on your iPod!

Ruby Nuby kvell?

Igår snakket vi om, takk være John Bartons tips om hvordan de gjorde det “down under”, at holde en ruby nuby kvell.
En kort intro til Ruby og en til om Rails på kanske en 10 minutter var, og så et par mindre på runt en fem minutter om et par av våre favorit features i Ruby/Rails.

Poengen med det hele er egentligen at vi merker at det kommer innom en del nye nysgjerrig folk da og da på møtene våre, men at de ikke så ofte kommer igjen. Så, som en måte at fostre vår lille community litt tror jeg en kvell for alle som er nysgjerrige på Ruby/Rails, men kanske aldrig riktigt har haft sjansen at få med sig mer enn en blogpost da og da, får sig en sjans at få en del mer info om Ruby/Rails, uten at de ska føle at det er “forbudt” at spørre alle de spørsmålen som vi selv spurte oss i begynnelsen (ikke for at det på nån måte er så på våre møten, men jeg skjønner det lett kan kjennes så når det blir mye detajl-snakk).

Vad tror dere? Om vi er to til en ren generell intro til ruby/rails, og så kanske en 5 forskjellige korte presentasjoner om nån speciell feature i ruby/rails, da får folk jo iaf en timmes tid med nyttig info og godt selskap.