RuPy 2008
Ilość miejsc się kurczy, a nie chciałbyś, żeby Cię tam zabrakło, czyż nie?
Szczegóły na rupy.eu.
amazon s3, attachment_fu i script/console
Musiałem podmienić jakiś obrazek na railsowej stronie obsługiwanej przez amazońskie S3, więc podmiana pliku nie wchodziła w grę. Grafiki dodawane są przy pomocy attachment_fu, więc najłatwiej było skorzystać ze script/console i ręcznie przeładować odpowiedni model.
Dłuższą chwilę zajęło mi rozkminienie parametrów z jakimi nadpisywać model kiedy nie korzysta się z :uploaded_data. Oto one:
image.update_attributes :filename => 'image.png', :content_type => 'image/png',
:temp_path => '/home/deploy/image.png'
Może się komuś przyda. Na przykład mi w przyszłości.
Ruby - się dzieje się
Jak w tytule w świecie Ruby'ego. Pojawiła się mocna konkurencja dla EuRuKo. W połowie kwietnia (12-13) zawitają w Poznaniu na gościnnych występach na konferencji RuPy takie gwiazdy jak:
- Zed "Rails is a ghetto" Shaw, twórca m.in. Mongrela
- Jay Fields, specjalista od Domain Specific Languages z firmy Thoughtworks
- Rida al Barazi, haker z Dubaju, który pokaże jak stworzyć konkurencję dla IMDB w Railsach w 3h. Dużo się pozmieniało od bloga w 15 minut.
- Ry Dahl, tajemniczy Niemiec, który twierdzi, że napisał serwer nie tylko szybszy od Mongrela, ale i od niedawno wypuszczonego Thin, pracownik Engine Yard
- Pedro Sousa, który pokaże nam jak rozwiązuje się Railsowe problemy na zachodnim końcu Europy
- Andrzej Krzywda, znany zeszłorocznym uczestnikom, który opowie o TDD w Railsach
Nie wspominam tu nawet o ludziach od Pythona i miejscowych (polskich) speakerach, bo długo by pisać. Na stronie RuPy jest pełna lista, a pełniejsze opisy wraz z prezentacją "kto zacz" pojawią sie na dniach.
Słyszałem też pokątnie, że koszulki dla uczestników też mają być..
Tworzenie ramek z RMagick
Zdjęcia w ramkach wyglądają w ogromnej większości wypadków lepiej niż bez. Z tego powodu warto przed jakimkolwiek umieszczeniem je w takowe wyposażyć (pomijam już w ogóle takie oczywiste rzeczy jak przeprowadzenie porządnej selekcji, poprawienie kolorystyki, kontrastu, kadru, etc.). Ponieważ przydarzyło mi się dzisiaj wrzucać na obieżyświata większą ich ilość, to napisałem krótki skrypt w Rubym, który wykona za mnie tę robotę dla głupiego.
Skrypt dodaje najpierw obramowanie białe o szerokości 2 pikseli, a potem takie samo czarne. Listę plików bierze oczywiscie jako argumenty z linii poleceń. So, without further ado:
require 'rubygems'
require 'RMagick'
ARGV.each do |filename|
original = Magick::ImageList.new(filename)
bcg_white = Magick::Image.new(original.columns+4, original.rows+4) {
self.background_color = "white"
}
bcg_black = Magick::Image.new(original.columns+8, original.rows+8) {
self.background_color = "black"
}
result = bcg_black.composite(bcg_white, Magick::CenterGravity, Magick::OverCompositeOp)
result = result.composite(original, Magick::CenterGravity, Magick::OverCompositeOp)
result.write('br_'+filename+'.jpg')
end
RuPy Conference 2007
W dniach 14-15 kwietnia w Poznaniu odbędzie się międzynarodowa konferencja poświęcona językom programowania Ruby i Python. Serdecznie zapraszam.
Więcej informacji na stronie konferencji.