Opublikowane przez Jarosław Zabiełło
Sun, 17 Jan 2010 02:58:00 GMT
Tak, jak pewnie większość użytkowników iPhone’a, mimo że słyszałem od dawna o możliwości zdjęcia apple’owskich blokad (proces określany jako jailbreaking), to trochę się obawiałem że taka operacja to potencjalne ryzyko zablokowania aparatu lub jakichś innych nieodwracalnych uszkodzeń. Prawda jest taka, że to wszystko to brednie i ploty. Jailbreak jest bardzo łatwy do przeprowadzenia i jest to proces w pełni odwracalny.
Czytaj dalej...
Tagi apple, cydia, django, hacking, iphone, jailbreak, merb, osx, pylons, python, rails, rock, ruby, sinatra | 15 comments
Opublikowane przez Jarosław Zabiełło
Sun, 21 Jun 2009 03:45:00 GMT
Być może jednym z argumentów, dla których Ruby znajduje więcej zainteresowania ze strony programistów Javy niż Python, jest podobny mechanizm zabezpieczenia dostępu do atrybutów klasy za pomocą słów kluczowych private i protected. W języku PHP 5 wprowadzono podobny mechanizm. Ci jednak, którzy myślą, że te kwalifikatory zakresu dostępu stanowią jakiekolwiek poważne zabezpieczenie, są w głębokim błędzie. W banalny sposób można to obejść zarówno w w PHP 5, jak i w Javie. Przy czym o ile, w Javie wynika to raczej z celowego projektu w mechanizmie refleksji, w PHP 5 wygląda to na dziurę bezpieczeństwa…
Czytaj dalej...
Tagi hacking, java, php, python, reflection, ruby, scala, security | 27 comments
Opublikowane przez Jarosław Zabiełło
Sun, 05 Apr 2009 21:24:00 GMT
Na polskim forum RoR pojawiła się informacja o projekcie Eulera składającym się z różnych łamigłówek programistycznych. Na forum RoR przedstawiane są rozwiązania w języku Ruby. Istnieją też rozwiązania w języku Clojure. Takie projekty są dobrym pretekstem do poćwiczenia swoich umiejętności programowania.
Czytaj dalej...
Tagi clojure, euler, fp, oop, python, ruby, scala | 6 comments
Opublikowane przez Jarosław Zabiełło
Sat, 28 Mar 2009 06:17:00 GMT
Kiedy zapytano Jamesa Goslinga (twórcę Javy) o to, który z języków programowania współpracujących z JVM (wirtualną maszyną Javy) by użył teraz, pomijając samą Javę, odpowiedź była zaskakująco szybka i bardzo jasna – Scala.
Nazwa “Scala” pochodzi od “Scalable language” (język skalowalny). Język ten nadaje się równie dobrze do krótkich, zwartych skryptów jak i do tworzenia wydajnych, ogromnych, bezpiecznych systemów sieciowych. W swych założeniach Scala nawiązuje do minimalizmu składni Lispa i Smalltalka (większość rzeczy oparta jest na bibliotekach a nie na składni) dzięki czemu język ten praktycznie nie ma ograniczeń rozwoju i doskonale się skaluje (w miarę potrzeb można tworzyć nowe typy i całe nowe struktury wyglądające jak nowa składnia języka).
Scala jest językiem kompilowanym do bytecodu JVM dzięki czemu potrafi się integrować w sposób praktycznie przezroczysty, z całą platformą Javy (istnieje co prawda implementacja Scali dla platformy .NET ale jest jeszcze niedojrzała). W Scali mamy też wygodną konsolę do interaktywnego testowania kodu (tak jak to jest w Pythonie i Ruby). W Scali każda wartość jest obiektem, każda funkcja zwraca wartość. Zatem każda funkcja też jest obiektem (first class object). Funkcje są też obiektami wyższego rzędu (higher order kinds), można je zagnieżdżać, przekazywać w parametrach, a nawet stosować mechanizm dziedziczenia.
Czytaj dalej...
Tagi clojure, django, fp, java, jruby, lisp, oop, python, rails, ruby, scala, wicket | 104 comments
Opublikowane przez Jarosław Zabiełło
Thu, 04 Sep 2008 12:16:00 GMT
“Nie, to nie halucynacje, naprawdę już jest.” Tak rozpoczyna się ogłoszenie odnośnie wydania finalnej wersji Django 1.0. Trochę za długo to trwało. Prawdę mówiąc, nie wiem czy znajdę jeszcze dość sił aby wgłębiać się ponownie w Django. Pylons 1.0 jest planowany na koniec roku. Rails 2.2 ma podobno wyjść gdzieś koło października. Ale najbardziej oczekuję na Merba 1.0 który (wg planów) ma być się pojawić 11 października (termin łączy się z konferencją Merbcamp 11-12 X 2008 w San Diego gdzie pewnie Ezra Zygmuntowicz będzie chciał zaprezentować jego wersję finalną)
Tagi django, merb, python, ruby | 2 comments
Opublikowane przez Jarosław Zabiełło
Mon, 01 Sep 2008 11:42:00 GMT
Filozofię języka Python najlepiej oddaje tzw. Zen of Python. Jest ono dostępne w jęz. angielskim z poziomu interpretera.
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
- Special cases aren’t special enough to break the rules.
- Although practicality beats purity.
- Errors should never pass silently.
- Unless explicitly silenced.
- In the face of ambiguity, refuse the temptation to guess.
- There should be one—and preferably only one—obvious way to do it.
- Although that way may not be obvious at first unless you’re Dutch.
- Now is better than never.
- Although never is often better than right now.
- If the implementation is hard to explain, it’s a bad idea.
- If the implementation is easy to explain, it may be a good idea.
- Namespaces are one honking great idea—let’s do more of those!
W języku polskim brzmiałoby to mniej więcej tak:
- Piękny jest lepszy niż brzydki.
- Jawny jest lepszy niż domyślny.
- Prosty jest lepszy niż złożony.
- Złożony jest lepszy niż skomplikowany.
- Płaski jest lepszy niż zagnieżdżony.
- Rzadki jest lepszy niż zagęszczony.
- Czytelność ma znaczenie.
- Sytuacje wyjątkowe nie są na tyle wyjątkowe, aby łamać reguły.
- Aczkolwiek pragmatyzm wygrywa z puryzmem sztywnego trzymania się reguł.
- Błędy zawsze powinny być sygnalizowane.
- No chyba, że zostaną celowo ukryte.
- W obliczu dwuznaczności odrzuć pokusę aby zgadywać.
- Powinien istnieć jeden, i najlepiej tylko jeden, oczywisty sposób do zrobienia danej rzeczy.
- Chociaż sposób ten nie musi być początkowo oczywisty jeśli nie jesteś Holendrem.
- Teraz jest lepsze niż nigdy.
- Chociaż nigdy jest często lepsze niż właśnie teraz.
- Źle, jeśli implementację jest trudno wyjaśnić.
- Dobrze, jeśli implementację jest łatwo wyjaśnić.
- Przestrzenie nazw są świetnym pomysłem – stwórzmy ich więcej!
Czytaj dalej...
Tagi python, ruby | 7 comments
Opublikowane przez Jarosław Zabiełło
Sat, 26 Jul 2008 11:22:00 GMT
Wiele się mówi o tym, że Ruby jak i Python nie posiadają obsługi natywnych wątków systemu operacyjnego. Wbudowane, tzw. green threads, nie są w stanie wykorzystać zalet maszyn wyposażonych w procesory wielordzeniowe. Istnieją jednak implementacje obu języków w czystej Javie. Czy ich użycie daje jakieś znaczące przyśpieszenie?
Czytaj dalej...
Tagi java, jruby, jython, python, ruby | 33 comments
Opublikowane przez Jarosław Zabiełło
Sat, 07 Jun 2008 13:24:00 GMT
Stworzony pierwotnie na użytek Rails, aktualnie mod_passenger już obsługuje nie tylko Rails ale także masę innych frameworków używających Rack’a. W nowej dokumentacji wymienione są frameworki: Camping, Halcyon, Mack, Merb, Ramaze i Sinatra. W dokumentacji nie wymieniono jeszcze “drugiej listy”, zawierającej frameworki korzystające z WSGI i Pythona (np. Pylons, Django, TurboGears itp.). Chcąc sprawdzić plotki wokół tej sprawy, sprawdziłem, czy faktycznie mod_passenger pracuje nie tylko z Ruby, ale także z Pythonem. Sprawdziłem także jak to jest faktycznie z obługą Rails i frameworków na Rack’u (tu sprawdziłem tylko Merba). Sprawdziłem też JRuby dla Rails i Merba.
Czytaj dalej...
Tagi apache, benchmark, django, jruby, merb, python, rails, ruby | 6 comments
Opublikowane przez Jarosław Zabiełło
Tue, 03 Jun 2008 23:40:00 GMT
Stało się! Twórcy świetnego modułu Apache’a – mod_rails – zmieniają jego nazwę na mod_passenger, bo mod_rails nie jest już więcej modułem tylko dla Rails. W nowej wersji 2.0 (ktora ma wyjść na dniach) dodano pełne wsparcie dla Rack i tym samym mod_passenger 2.0 obsługuje wszystkie pozostałe frameworki używające Rack’a (ze świetnym Merbem włącznie).
Czytaj dalej...
Tagi apache, django, merb, mod_rails, php, python, rack, rails, ruby | 34 comments
Opublikowane przez Jarosław Zabiełło
Sun, 13 Apr 2008 19:12:00 GMT
Od niedawna Google oferuje dosyć atrakcyjną możliwość pisania aplikacji webowych wykorzystujących potęgę ich infrastruktury – Google App Engine. Usługa jest darmowa i jeszcze testowa. Można stworzyć do 3 aplikacji z których każda może używać do 500MB danych trzymanych w BigTable i Google obiecuje że bez problemu będzie można uzyskać do 5 mln odsłon miesięcznie i niezły traffic 10 TB/m-c.
Czytaj dalej...
Tagi django, google, python | 10 comments
Opublikowane przez Jarosław Zabiełło
Wed, 19 Mar 2008 11:00:00 GMT
Świat technologii IT zmienia się coraz szybciej. Nie minęło wiele lat od dosyć masowego przechodzenia CVS do Subversion a już zanosi się na kolejną rewolucję. Tak jak wcześniej atakowany był CVS, teraz atakowany jest Subversion. Atakowany jest przez rozproszone systemy kontroli wersji.
Czytaj dalej...
Tagi bazaar, git, mercurial, python, subversion, vcs | 24 comments
Opublikowane przez Jarosław Zabiełło
Tue, 04 Mar 2008 21:56:00 GMT
Merb w wersji 0.9 poszedł na całość i oparli swój midleware na Rack’u. Jej twórcy nie kryją się że wzorowali się na pythonowej bibliotece WSGI. Biblioteka ta robi niezłą furorę w kręgach Rubiego. Powstaje sporo różnych mikroframeworków lub szybkich serwerów HTTP pracujących asynchronicznie i wykorzystujących Rack. Niedawno powstał świetny Thin, a już można przeczytać o 2x szybszy Ebb. Co ciekawe, Ebb chce docelowo obsługiwać zarówno frameworki Rubiego jak i Pythona! Jestem ciekaw czy będzie w stanie zdetronizować serwer Paste... Rack doczekał się już swojej implementacji w JRuby! Umożliwia to tym samym odpalanie w JRuby wszystkich frameworków które korzystają z Rack’a.
Czytaj dalej...
Tagi ebb, frameworks, fuzed, jruby, merb, mongerl, python, rack, rails, ramaze, ruby, thin | 9 comments
Opublikowane przez Jarosław Zabiełło
Mon, 03 Mar 2008 16:15:00 GMT
Od czasu odejścia twórcy Jythona, Jima Hugginsa, do firmy Microsoft (do prac na IronPythonem), rozwój Jythona , (javowej implementacji Pythona) mocno zwolnił i został sporo w tyle za wychodzącymi kolejnymi wersjami CPythona. Dlatego sympatycy Pythona z pewnością się ucieszą wiadomością o tym, że firma Sun zatrudniła na pełen etat Franka Wierzbickiego, będącego głównym developerem Jythona od grudnia 2005. Jest zatem spora szansa że projekt nabierze porządnego rozpędu tak, jak to się stało z JRuby.
Czytaj dalej...
Tagi jython, python | 3 comments
Opublikowane przez Jarosław Zabiełło
Thu, 21 Feb 2008 00:08:00 GMT
Zapowiadana wcześniej wideokonferencja z twórcą języka Ruby, została dobrze przygotowana przez Google. Obraz był wyświetlany na dużym ekranie, i co ważniejsze można było zadawać pytania prelegentowi i udało mi się nawet dwa zadać. :)
Czytaj dalej...
Tagi konferencja, matz, python, ruby | 30 comments
Opublikowane przez Jarosław Zabiełło
Tue, 08 Jan 2008 03:34:00 GMT
Pythonistas chyba pozazdrościli możliwości odpalenia Railsów w JRuby. Trwają prace nad uruchomieniem frameworka Django w Jythonie, implementacji Pythona w czystej Javie.
Czytaj dalej...
Tagi django, java, jython, python | 8 comments
Opublikowane przez Jarosław Zabiełło
Wed, 19 Dec 2007 00:07:00 GMT
Po roku pisania, zebraniu 2.5 tys uwag online od użytkowników, została ukończona książka o pythonowym frameworku webowym Django. Wersja papierowa ma być w sprzedaży w przyszłym tygodniu. Wersja online jest dostępna za darmo.
Tagi django, python | brak comments
Opublikowane przez Jarosław Zabiełło
Sun, 16 Dec 2007 06:31:00 GMT
Celem tego tekstu jest porównanie podstawowych czynności niezbędnych do tego aby uruchomić Rails, Merb oraz Pylons. Zakładam że używany będzie
Czytaj dalej...
Tagi activerecord, mako, merb, pylons, python, rails, ruby, sequel, sqlalchemy | 14 comments
Opublikowane przez Jarosław Zabiełło
Sun, 28 Oct 2007 17:45:00 GMT
Od jakiegoś czasu w kręgach Ruby on Rails można zauważyć przesunięcie paradygmatu w zakresie metodologii testowania kodu. Popularyzowane podejście TDD (Test Driven Development) zostaje wypierane przez BDD (Behaviour Driven Development). Jedną z bardziej promowanych bibliotek jest RSpec. Mimo że kusi składnią przypominającą naturalny język angielski, próba wykorzystania RSPec w rzeczywistym projekcie szybko może stać się co najmniej kłopotliwe.
Czytaj dalej...
Tagi bdd, metodologia, pinnocchio, pylons, python, rails, rspec, ruby, tdd | 11 comments
Opublikowane przez Jarosław Zabiełło
Sat, 27 Oct 2007 14:31:00 GMT
Django do dobry i szybki framework do większości zastosowań. Jednakże ci, którzy chcą za jego pomocą stworzyć stworzyć większy projekt, mogę mieć później problemy z dalszym jego rozwojem…
Czytaj dalej...
Tagi django, pylons, python | 33 comments
Opublikowane przez Jarosław Zabiełło
Sun, 26 Aug 2007 21:01:00 GMT
Zope 3 doczekał się swojego megaframeworka. Grok, to framework oparty na Zope 3. Jak znajdę czas, muszę się temu przyjrzeć dokładniej. W każdym razie zapowiada się bardzo ciekawie, bo reklamowany jest hasłem “Teraz nawet jaskiniowcy potrafią używać Zope 3”. :)
Tagi python, zope | 7 comments