Uwolnienie potęgi iPhona - jailbreaking

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 , , , , , , , , , , , , , ,  | 16 comments

Atak na zabezpieczenia protected/private Javy/Scali i PHP5

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 , , , , , , ,  | 27 comments

Projekt Eulera 17 - Ruby, Python, Scala

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 , , , , , ,  | 7 comments

Scala - język przyszłości

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 , , , , , , , , , , ,  | 108 comments

Django 1.0

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 , , ,  | 2 comments

Zen of Python - uwagi

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.

>>> import this
  • 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 ,  | 7 comments

Ruby, Python i natywne wątki systemu operacyjnego

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 , , , ,  | 33 comments

Passenger bliżej - Rails, Rack i WSGI

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 , , , , , , ,  | 6 comments

Sprzątanie po PHP czyli Passenger 2.0 i Ruby Enterprise 1.0

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 , , , , , , , ,  | 34 comments

Google App Engine

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 , ,  | 10 comments

Git, Bazaar, Mercurial - Subversion pod obstrzałem

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 , , , , ,  | 25 comments

Szalejące frameworki Rubiego i Rack/WSGI

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 , , , , , , , , , , ,  | 9 comments

Słoneczna przyszłość dla Jythona

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 ,  | 3 comments

Po wideokonferencji z Matzem

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 , , ,  | 30 comments

Django on Jython

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 , , ,  | 8 comments

Ukończono Django Book

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 ,  | brak comments

Szybki start z Rails, Merb i Pylons

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 , , , , , , , ,  | 15 comments

Shoulda - pozbycie się magii RSpec'a

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 , , , , , , , ,  | 11 comments

Django ograniczeniem w rozwoju?

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 , ,  | 33 comments

Grok - web framework oparty na Zope 3

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 ,  | 7 comments

Starsze wpisy: 1 2 3