Czerwone sznurki czyli linki wybrane z blogów

Istnieje co najmniej kilka powodów dla którego programiści używają Capistrano zamiast takich prostych rozwiązań. Jeśli ich jeszcze nie widzisz albo taki skrypt po prostu spełnia Twoje wymagania, to znaczy że jeszcze nie miałeś sytuacji w której np. rollback uratował Ci tyłek :wink:

Ruby 1.9.3 Preview 1 Released - with faster loading times in Rails 3.x

rvm get head rvm reload rvm install 1.9.3-preview1 rvm use 1.9.3

[quote]Key Updates:
The load.c patch discussed at length in this post is in! Yes, faster loading times in Rails 3.x should now be yours to enjoy :slight_smile:
(…)
test/unit gains parallel test running support[/quote]

Jest gdzieś opis tego równloegłego testowania na jakimś blogu, coś ?

jakbyś coś znalazł - daj znać. ja dzisiaj wieczorem sprawdzę tą zabawkę i opiszę wrażenia;)

http://www.appsumo.com/new-relic-promo/

promocja na new relic (jeszcze 8,5h ważna) - może komuś się przyda :slight_smile:

Fajnie że zaczyna się robić jakaś ciekawa alternatywa, niemniej póki co rvm jest silniejszym narzędziem.

“wiem, zrobię biedakopię rvm, ale bez jego najfajniejszych ficzerów, a potem będę to ogłaszał jako lepsze rvm”

Do not want.

Od tej biblioteki totalnie odrzuca mnie podejście autora i z tego co Tomash mówi wynika, że nie ma kilku feature’ów (sam nie miałem ochoty bliżej się przyjrzeć), więc ja na razie to olewam. Zresztą to nie jest pierwszy raz kiedy wydaje mi się, że koleś jest dupkiem : https://github.com/tomdale/everyjs.com/pull/26

Tomasz, gdzie autor tej biblioteki twierdzi, że jest lepsze od rvm? Jasno napisał “rbenv lets you easily switch between multiple versions of Ruby. It’s simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.” I jego narzędzie to robi. Po co miałby robić kopię rvm? Dla mnie rvm to jest dopiero kobyła. Bardziej do mnie przemawia rzekoma prosta tego narzędzia niż rvm (wystarczy, że wchodzę na homepage rvm i widzę jak dużą ma dokumentację).

[code]In contrast with rvm, rbenv does not…

Override shell commands like cd. That’s dangerous and error-prone.
Manage gemsets. Bundler is a better way to manage application dependencies. If you have projects that are not yet using Bundler you can install the rbenv-gemset plugin.[/code]
Do mnie te argumenty (oraz pozostałe w README) przemawiają.

drogus, wydaje się dupkiem bo? Jakoś w tym pull-requeście (nie wiem do końca o co w ogóle chodzi) dostał sporo +1 i nie widzę żeby było z nim coś nie tak (normalny ton wypowiedzi).

+1 radarek, w obu kwestiach. rvm to spory overkill, zwłaszcza z gemsetami. Jedyne czego może ew. brakować to integracja z guard, gdzie mogłem sobie podać na których ruby ma testować. Ale to w sumie rozwiązuje travis :).

A co do pull requesta do everyjs: progressive enhancement jest imo bardzo ważne. Ciekawe jak ta strona by działała z czytnikami dla niewidomych.

Jest taki typ ludzi, których bardzo nie lubię, w który całkowicie wpisuje się sam: zamiast stworzyć pole do dyskusji i podejść do ludzi/narzędzi z respektem, będzie starał się za wszelką cenę pokazać, że coś jest gorsze i przekombinowane.

Nie mam nic przeciwko tworzeniu narzędzia z podobnymi możliwościami, ale z innym podejściem, inaczej nie byłoby takich projektów jak merb czy capybara. Kłopot w tym, że README, które zamieścił jest napisane w taki sposób, że czuć z tego pogardę dla rvma. Jak pierwszy raz to czytałem, to poczułem coś w stylu: łapcie moje wspaniałe nowe narzędzie, które nie robi tych wszystkich głupich rzeczy, które robi ten kawałek syfu, jakim jest rvm. Np. kawałek o nadpisywaniu ‘cd’. Wcześniej był tam kawałek, który mówił mniej więcej tyle: rbenv nie nadpisuje komend systemowych, to jest po prostu obleśne!

A teraz zastanówmy się dlaczego rvm robi to co robi. Wayne’owi się nudziło? A może jest to obejście jakiegoś buga, który może wystąpić przy pewnych okolicznościach? (hint: http://yehudakatz.com/2010/08/24/a-tale-of-abort-traps-or-always-question-your-assumptions/) Dalej uważacie, że to bez sensu? Spoko, można to wyłączyć.

Co do gemsetów - z tego co pamiętam gemsety powstały przed sensownymi wersjami bundlera i wtedy to było bardzo dobre rozwiązanie, szczególnie, że niektórych aplikacji nie dało się jeszcze prosto przerzucić na bundlera.

rvm to overkill? Ciekawe dlaczego? Dlatego, że Wayne jak zaczął implementację, to wpieprzył tam 100k linii kodu w pierwszym dniu? A może przypadkiem zaczął od kilkuset linii kodu i przez lata dodawał coraz więcej feature’ów? Stawiam na to drugie. (hint: https://github.com/wayneeseguin/rvm/commit/038781c9bbe885f25178145e7dc76f60ba135234 - pierwszy commit do rvm).

Cała ta sytuacja przypomina mi to co działo się z vladem: http://pjhyett.com/2007/09/12/how-not-to-open-source.html

Dużo prościej jest przyjść jako naśladowca jakiegoś fajnego pomysłu, który właściwie zmienił sposób pracy większości programistów rubiego i napisać coś wiedząc już jakie są potencjalne problemy i które rozwiązania się nie sprawdzają. Czy to źle? Oczywiście, że nie. Tylko trzeba do tego podejść z odpowiednim nastawieniem.

Co do everyjs.com. Wyobraźcie sobie sytuację: piszecie stronkę, w bibliotece, którą rozwijacie, żeby się pobawić i sprawdzić możliwości (Tom pracuje nad sproutcore’em i zrobił everyjs między innymi po to, żeby się pobawić nowymi rzeczami). I nagle przychodzi taki Sam i robi wielkiego pull requesta, którego wiadomo, że nie zmerge’ujecie, bo nie taki był cel robienia tego typu aplikacji i wrzuca to na hackernews tylko po to, żeby zrobić z autora idiotę. Co z tego, że jet tam dużo komentarzy +1? Wersja Sama jest dużo trudniejsza w utrzymaniu i jeżeli chodzi o hobbystyczny projekt, który ma za zadanie pokazać jakiś punkt widzenia, to nie sądzę, żeby było to lepsze podejście. Szczególnie, że jest to całkiem fajny projekt, żeby sprawdzić jakie są przy takim podejściu problemy - czy tego chcemy czy nie w sieci jest więcej javascriptu i często utrzymanie wersji dla wyszukiwarek i użytkowników jest kosztowne, więc fajnie jest szukać rozwiązań tych problemów (np. jak zaindeksować w pełni javascriptową stronę).

Ten przykład z everyjs jest pewnie dyskusyjny, ale pokazuje ogólne nastawienie tego gościa - zamiast dyskutować woli zrobić z kogoś idiotę, który się nie zna i przekombinowuje rozwiązania.

Ale z drugiej strony, jest dużo przypadków kiedy ktoś marudzi i marudzi, ale sam nic nie zrobi. I tu mi się właśnie podoba jego podejście - moim zdaniem tak powinno być, a tu jest gotowy kod.

drogus, masz jakieś niepotrzebne uprzedzenia. Gość w READMe napisał jak działa jego tool ("rbenv does… "), czym się różnie od rvm ("In contrast with rvm, rbenv does not… ") i bez żadnego “better, awesome, cool”. Chyba że czytaliśmy coś innego…

Co do rvm. Oczywiście, że wszystkie jego ficzery mają jakąś genezę. Faktem jest także to, że im większe narzędzie tym więcej czasu trzeba poświęcić na jego opanowanie i tym większa szansa, że coś się spieprzy przy jego używaniu (dosyć niedawno próbowałem użyć rvm + passenger + nginx i to była jakaś masakra, dziesiątki opisów na blogach i nic nie działało, musiałem odpalać jakieś wrappery i inne cuda…).

Nie podejrzewam, że autor ma na celu stworzenie lepszego rvm, a raczej prostego narzędzia, które będzie miało najczęściej używane ficzery (czyli głównie ruby version switching).

“wiem, zrobię biedakopię rvm, ale bez jego najfajniejszych ficzerów, a potem będę to ogłaszał jako lepsze rvm”

Do not want.[/quote]
Do not need to want. Idąc tym tokiem rozumowania należało by zdisować teraz 60 % gemów w repozytorium. Zawsze wydawało mi się że atutem community ruby, tym największym to różnorodność w podejściu do rozwiązania problemu, poszukiwanie ciągle nowych rzeczy, nie ma w nas betonu, skąd ta zmiana ? :slight_smile:

rbenv ma proste zadanie, wszystko jest opisane w README, radarek już chyba powiedział wszystko co jest do powiedzenia w tym temacie. Wcześniej niebyło alternatywy, teraz jest, to chyba dobrze ?

Pewnie mam trochę uprzedzeń, ale moim zdaniem tego typu sformułowanie README wskazuje na to, że rvm robi coś kiepsko (nadpisywanie cd jest ohydne!). Kilka innych punktów też jest na siłę wrzuconych dlatego, że biblioteka jest młoda, ciekawe ile czasu zajmie zanim np. nie będą chcieli dodać pliku konfiguracyjnego. Ogólnie nie podoba mi się to dlatego, że większość programistów to ignoranci i w takim momencie nagle wchodzi na hackernews 100 łosi i zaczyna się disowanie rvma.

Jeszcze raz podkreślę to co pisałem wcześniej. Jestem jak najbardziej za eksperymentowaniem, ale starając się zrobić to z szacunkiem do narzędzia, które jest inspiracją dla tych eksperymentów.

Bez jaj, nie widziałeś posta na rubyflow? Gość wyraźnie próbuje wypromować rbenv przez dissowanie rvm. Dawno nie widziałem udanego projektu opensource’owego który właśnie na tym – na dissowaniu oryginalnej inspiracji – zbudował swój sukces. Powiem więcej, próba lansowania swojego projektu w ten sposób jest po prostu bucerą, a ja mam spore obawy przez używaniem softu napisanego przez buców.

Równie dobrze mógł napisać “it tries to solve similar problems as rvm, but on a smaller scale and with a different approach”. Tymczasem całe readme jest ładnym case-study kompleksu małego pyrdka.

Może ujmę to tak, rbenv ma jeden fajny ficzer: używanie PATH zamiast .profile. I to właściwie wszystko.

To jest dla mnie kolejny mindfuck: szczerze, ilu z biorących udział w tej dyskusji (czy w rvm-dissfestiwalu na hackernews) wiedziało że rvm nadpisuje cd własnym skryptem? Ja przeglądałem kod rvm i trafiłem na to, ale 1) właściwie robiłem to przypadkowo i z nudów, próbując uczyć sie bash-fu przez podpatrywania oraz 2) nie zobaczyłem w tym wrapperze wokół cd nic strasznego. Po kilkunastu miesiącach używania rvm dochodzi 3), nadpisane cd nigdy nie sprawiło mi problemów, więc skąd ten butthurt?

Nawet i 90%. Rubygems są pełne nikomu niepotrzebnego krapu. Nie odmawiam tym gemom prawa do istnienia i chciałbym, jeśli pozwolisz, zachować swoje prawo do wolności wypowiedzi że uważam je za niepotrzebny oraz krap.

Jakiego betonu? Przejrzałem kod, uruchomiłem, spróbowałem, stwierdziłem że słabe i nara. Czy żebyś nie nazwał mnie betonem mam wyrzucić rvm i przejść na rbenv? Spoko, ziom, jak mi pokażesz jak do projektu w Rails 1.2.3 (bez kitu, opiekuję się takowym, upgrade nie wchodzi w grę do czasu planowanego na jesień rewrite’a) dorzucasz wsparcie do bundlera, bo rbenv nie ma porządnych gemsetów. Jeśli nie pokażesz, to znaczy że chyba trochę pojechałeś z tym “betonem” :wink:

Whoa, to naprawdę jest gigantyczny buc. Robi pull requesta który ma ponad 24 tysiące zmienionych linijek (tak, wiem, 23k z nich to wywalenie sprouta – patrz niżej) i zasadniczo jest gigantyczną refaktoryzacją (wywalenie sprouta), a nie uważa za stosowne napisanie choćby dwóch zdań opisu i uzasadnienia. Z dyskusji wnioskuję że nawet nie zgłosił tego pomysłu Tomowi. Fakt, że Tom mu napisał “wtf gościu?” tak grzecznie, że sam chyba nie potrafiłbym grzeczniej, tylko pokazuje różnicę w klasie tych dwóch gości.