Sugestie technologiczne Qertoipa – Kotlin

Kotlin-logoUwaga: to jest moja wstępna intuicja – do potwierdzenia w ciągu kilku miesięcy.

Kotlin to nikomu nieznany język programowania o popularności mniejszej niż polski ketchup o tej samej nazwie :) Nie jest nawet notowany w Tiobe Index.

Co roku powstaje setki nowych i nikomu niepotrzebnych języków programowania. Oczywiście po kilku latach nikt ich nie używa, łącznie z autorem.

Mimo to odważę się obstawić, że Kotlin zdobędzie serca programistów i uzyska popularność co najmniej rzędu Go, Grooviego i Scali, dołączając do grona realnie używanych języków.

Dlaczego? Nie mam czasu się rozpisywać, zresztą nie ma sensu duplikować tego co już jest w sieci, sygnalizuję tylko temat a zainteresowani wszystko łatwo znajdą.

Posted in polskie, programowanie, technologia | Leave a comment

Jak inwestować w Bitcoin?

bitcoin-spaceSprawdź najpierw jak nie inwestować w Bitcoin.

Od szczytu bańki w listopadzie 2013 ($1151) cena Bitcoina spadała praktycznie przez cały 2014. Początek 2015 roku nie tylko nie przyniósł poprawy ale pogłębił spadki. Obecnie Bitcoin kosztuje $248. Podsumowując, w ciągu 14 miesięcy Bitcoin stracił na wartości prawie 5-krotnie względem ATH. Zatem czy w ogóle warto jeszcze interesować się Bitcoinem? Tak, i to bardziej niż kiedykolwiek!

Ucz się technologii rozproszonego konsensusu

Najpewniejszym sposobem inwestowania “w Bitcoin” jest nauka. Powstała całkiem nowa gałąź wiedzy na skraju inżynierii oprogramowania, systemów rozproszonych, kryptografii i teorii gier. Szeroko pojęty “blockchain” to trudne i złożone zagadnienie wymagające ścisłego podejścia i cierpliwości. Obecnie tę “wiedzę tajemną” należy czerpać głównie z wypowiedzi core developerów Bitcoina. Wiedza nie jest jeszcze usystematyzowana, wszystko rozwija się na bieżąco. Pierwszym krokiem może być przegryzienie się przez Mastering Bitcoin oraz wiki Bitcoina. Dalej pozostaje już czytanie core devów, white-papers i kodu. Kieruj się prostą zasadą: im coś jest trudniejsze do zrozumienia, tym cenniejsza jest ta wiedza. Pamiętaj też, że forum i /r/bitcoin to tylko wierzchołek góry lodowej ;) Zejdź kilka poziomów niżej. Bottom line: technologie “blockchainowe” zaczynają rewolucję jakiej nie było od czasów Internetu. Specjaliści z tej dziedziny będą świetnie opłacaną elitą inżynierów i naukowców.

Skupuj bitcoiny stopniowo na wieloletnie przetrzymanie

Kupno Bitcoinów to niewątpliwie inwestycja wysokiego ryzyka. Nie inwestuj więcej niż możesz stracić. Po 6 latach działania sieci technologia rozproszonego konsensusu wciąż musi być uważana za eksperymentalną.

Największymi technicznymi ryzykami wydają się 1) trwała centralizacja miningu, 2) brak wystarczających zachęt dla minerów by zabezpieczyć sieć po wygaśnięciu nagrody za blok, 3) greylisting inputów.

Największym nietechnicznym zagrożeniem dla rozwoju i ceny jest ogólno-światowy zakaz korzystania z technologii rozproszonego konsensusu (być może pod postacią drakońskich regulacji w głównych jurysdykcjach).

Weź także pod uwagę problemy przy sprzedaży BTC. Ponieważ trudno precyzyjnie udokumentować nabycie bitcoinów, grozi Ci podatek od całości sprzedaży, a nie tylko od zysku. Kolejny problem to VAT. Jeśli jesteś/będziesz vatowcem Twoje oszczędności stopnieją o kolejne 23% przy oficjalnej sprzedaży. Pamiętaj, że kupno towarów i usług za bitcoiny podatkowo traktowane jest tak samo jak ich sprzedaż.

Mimo powyższych ryzyk przyszłość Bitcoina widzę bardzo pozytywnie. Jeśli nie zdarzy się jakaś katastrofa, spodziewam się, że cena Bitcoina długoterminowo musi wzrosnąć o więcej niż rząd wielkości. Obecnie fundamenty są silniejsze niż kiedykolwiek. Development Bitcoin Core przyśpieszył i stał się bardziej zdecentralizowany. VC z każdym rokiem ładują więcej mln $ w bitcoinowe startupy. Bitcoinem nieśmiało interesują się coraz większe firmy (Overstock, Dell, PayPal, Microsoft, NYSE, BBVA Ventures, …). Nowi ewangeliści Bitcoina z coraz “wyższych sfer” wyskakują jak króliki z kapelusza :)

Kluczowe jest zrozumienie, że wartość Bitcoina nie polega na zabraniu dużej części rynku Pypalowi, Western Union i Visie. Technologia rozproszonego konsensusu umożliwi powstanie całkiem nowej ekonomii, nowych rynków, produktów i usług, których do tej pory nie było.

A co z altcoinami, czy nie są zagrożeniem dla Bitcoina? Bitcoin jest obecnie jedynym bezpiecznym blockchainem. Obstawiam, że najważniejsze krypto-innowacje będą budowane na Bitcoinie (z wykorzystaniem sidechains), wzmacniając jego wartość. Nie wierzę w masowe powodzenie niezależnych altcoinów. Dlaczego? To temat inny artykuł.

Podsumowując, wyedukuj się w zakresie bezpiecznego przechowywania bitcoinów, załóż paper wallet i kup swoją pierwszą monetę, póki cena nie przekracza 1000 PLN ;) Jeśli nic więcej, przeżyjesz elektroniczną gorączkę złota – śledzenie rozwoju Bitcoina jest fascynujące samo w sobie, zwłaszcza gdy jesteś “załadowany” ;)

Myśl raczej o horyzoncie 10+ lat. A może będziesz miło zaskoczony :)

Załóż startup bitcoinowy

To najbardziej ryzykowna opcja, ponieważ sukces zależy jednocześnie od powodzenia Twojej firmy oraz samego Bitcoina. Jednocześnie potencjalne korzyści są zwielokrotnione.

Jeśli masz zacięcie biznesowe i jesteś gotów działać w warunkach niejasnej legislacji, rodząca się infrastruktura Bitcoina oferuje wiele trudnych problemów do rozwiązania. Zarówno formalno-prawnych jak i technicznych. Według mnie taki startup musi być wyjątkowo konserwatywny w zakresie bezpieczeństwa i solidnej inżynierii (think: Gavin Andresen) oraz jednocześnie piracki i nonszalancki w podejściu do przepisów prawa (think: Uber). Prawnie nie ma tu bezpiecznej ścieżki – trzeba ją sobie wyrąbać w gęstym borze.

Od czego zacząć?

Edukacja, edukacja i jeszcze raz edukacja. Postaraj się jak najwięcej zrozumieć zanim podejmiesz jakiekolwiek decyzje (np. o kupnie): http://bitcoin.org – go for it :)

[Powyższy artykuł ma charakter informacyjny i nie stanowi porady inwestycyjnej]

 

Posted in bitcoin, lifestyle, technologia | 1 Comment

Jak NIE inwestować w Bitcoin

Piszę to jako reference dla moich kolegów i znajomych, żebym nie musiał ciągle tłumaczyć tego samego ;) Najgorsze sposoby inwestowania “w Bitcoin”:

Zakup altcoinów to najpewniejszy sposób na ujemne ROI. Pomysł w sensie inwestycyjnym jest po prostu fatalny. Nie tylko short-term ale również long-term. Niestety dotyczy to nie tylko oczywistych shitcoinów (jak Litecoin) ale także monet, które faktycznie starają się wprowadzić jakąś innowację. Jest ku temu kilka powodów. Po pierwsze bootstrap bezpiecznego altcoina jest obecnie praktycznie niewykonalny. Do tego dochodzi potężny efekt sieciowy Bitcoina. Wreszcie, sidechains przypieczętują zmierzch alternatywnych blockchainów (nawet jeśli przyjdzie nam na te sidechains jeszcze długo poczekać). To powiedziawszy, kupuj ciekawe altcoiny w symbolicznych ilościach do celów eksperymentalnych oraz śledź temat sidechains z najwyższą uwagą i bądź przygotowany na nowy świat altcoinów przypiętych do blockchaina Bitcoina.

Mining (“kopanie” bitcoinów”) poprzez zakup sprzętu lub udziałów w kopalniach. Nie da się przewidzieć ceny bitcoina, zmian trudności a nawet terminu dostarczenia sprzętu w scenariuszu pre-sale. Zabawa w mining to czysty hazard – tylko że bez dobrej zabawy ;) Bottom line: prawdopodobnie nawet sam sprzęt nie zdąży Ci się zwrócić, a jeśli zdąży to nie odzyskasz kosztów elektryczności, nie mówiąc już o poświęconym czasie. To powiedziawszy, temat miningu może mieć jeszcze sens na poziomie projektowania i produkowania dedykowanych układów scalonych oraz kreatywnego setupowania wielkich farm w miejscach gdzie da się bardzo tanio kupić (samodzielnie wyprodukować?) prąd i łatwo odprowadzić ciepło.

Spekulacja na giełdach, zwłaszcza daytrading. Nie obchodzi mnie, ile razy udało Ci się zarobić 30%+ dziennie. Nie łudź się – to był czysty przypadek a nie Twoje umiejętności. To nie jest “inwestowanie”, to prawdziwy hazard. Oprócz losowości kursu jeszcze bardziej nieprzewidywalnym jest kiedy giełda straci Twoje środki. Musisz wychodzić z założenia, że każda skądinąd uczciwa giełda straci Twoje pieniądze – pytanie tylko kiedy. Spekulacje short-to-mid-term też nie są dobrym pomysłem. Historycznie w krótkim i średnim terminie Bitcoin utracił nawet 94% swojej wartości. W ostatnim czasie (ost ~13 miesięcy) Bitcoin utracił 75% swojej wartości.

W następnym artykule, jeśli go kiedykolwiek napiszę, wyjaśnię jak inwestować w Bitcoin :) Na razie powiem tylko, że warto. Stay tuned!

Posted in bitcoin, lifestyle, polskie, technologia | 7 Comments

Miliard złotych – tyle są warte bitcoiny

Na skutek bańki spekulacyjnej wartość wszystkich bitcoinów sięgnęła już miliarda złotych.

Disclaimer: kurs zmienia się z każdą chwilą i w momencie gdy czytasz ten wpis podane kwoty mogą być już nieaktualne.

Bitcoinów na świecie jest niecałe 11 milionów. Według obecnego kursu 1 bitcoin jest wart 93 złote. Continue reading

Posted in bitcoin, lifestyle, polskie, technologia | 3 Comments

Sugestie technologiczne Qertoipa: Bitcoin

in cryptography we trustW nowym cyklu “Sugestie technologiczne Qertoipa” będę podsuwał Wam tematy i technologie, którymi IMHO naprawdę powinniście się zainteresować. Mam na myśli rzeczy przełomowe, o spodziewanym dużym wpływie na przyszłość technologii i nie tylko.

Pierwsza rekomendacja to kryptowaluta Bitcoin. Continue reading

Posted in bitcoin, lifestyle, polskie, technologia | 1 Comment

Odliczanie do software’owej katastrofy

Miliony klientów w UK mają od kilku dni zablokowane środki bankowe z winy Royal Bank of Scotland:

http://www.theregister.co.uk/2012/06/21/rbs_natwest_tech_glitch_banking_freeze

Intruz uzyskał dostęp do wewnętrznej sieci Citibanku:

http://niebezpiecznik.pl/post/intruz-uzyskal-dostep-do-wewnetrznej-sieci-citibanku/

Wcześniej, z Citi ukradziono 2,7 miliona USD i dane 200 000 osób poprzez manipulację URL-em:

http://niebezpiecznik.pl/post/z-citi-ukradziono-27-miliona-usd/

Wykradziono 1,5 miliona kart kredytowych z Global Payments: http://niebezpiecznik.pl/post/wykradzino-26-000-kart-kredytowych/

W ciągu najbliższych 15 lat dojdzie do katastrofy, w której zginą tysiące ludzi. Powodem będzie błąd w kodzie napisanym przez zmęczonego studenta pod presją deadline’u. Rządy wykorzystają to, by uregulować zawód programisty. Wyobrażacie sobie pisanie kodu zgodnie z widzimisiem urzędasów? Zejdę raczej do podziemia i będę robił zgodnie ze sztuką, za Bitcoiny.

Niniejszym chciałem okazać wielki środkowy palec nieprofesjonalnym programistom:

Posted in bitcoin, lifestyle, polskie, programowanie, rails, rant, ruby, technologia | 6 Comments

Jak stracić czas na TDD i nie dostarczyć na czas

Niekiedy można spotkać się z opinią, że TDD spowalnia wytwarzanie oprogramowania. Jeśli chciałbyś powtórzyć eksperyment i samodzielnie dowieść, że TDD się nie opłaca, poniżej zamieszczam gotową receptę:

  • pisz testy po napisaniu kodu produkcyjnego
  • nie rób żadnej wstępnej analizy problemu, przemyśleń ani odrobiny projektowania (przemiel 100% projektowania przez cykl TDD dzięki czemu będziesz miał okazję sto razy zmieniać design i testy)
  • samodzielnie odkrywaj jak efektywnie pisać przypadki testowe, dzięki czemu zajmie Ci to kilka lat (pod żadnym pozorem nie oglądaj screencastów i nie czytaj książek)
  • upewnij się, że testy ładują się co najmniej pół minuty zanim faktycznie zaczną testować (możesz to łatwo osiągnąć np. ładując cały framework i pracując na powolnym dysku HDD)
  • zadbaj, by każda funkcjonalność była testowana przez GUI (przez sterowanie przeglądarką lub oknem GUI na pulpicie)
  • zadbaj, by wszystkie testy były uzależnione od bazy danych
  • za każdym razem ręcznie poluj na plik testowy odpowiadający kodowi produkcyjnemu i vice versa
  • za każdym razem nawiguj pomiędzy pulpitami, oknami i zakładkami w poszukiwaniu skryptu startującego testy
  • im mniej klas tym lepiej, staraj się by każda klasa miała bogaty zestaw niezwiązanych odpowiedzialności (dzięki temu będziesz mógł spędzić nieograniczoną ilość czasu na pisaniu testów)
  • pisz piękne opisy kroków w Cucamber nawet jeśli klient ma w dupie czytanie Twojej specyfikacji funkcjonalnej (a zwłaszcza gdy w ogóle nie masz klienta)
Posted in polskie, programowanie, rails, rant, ruby, technologia | 4 Comments

Responsibility

After it was revealed he cheated on his wife, Arnold Schwarzenegger said:

“After leaving the governor’s office I told my wife about this event, which occurred over a decade ago. I understand and deserve the feelings of anger and disappointment among my friends and family. There are no excuses and I take full responsibility for the hurt I have caused. I have apologized to Maria, my children and my family. I am truly sorry.”

I really like that guy. Not for cheating on wife of course but for taking full responsibility and making no excuses. Personal responsibility is exactly what I expect from any leader and in fact any person. Taking full responsibility for all your actions and your fate is the only way to go.

And Bill Clinton is a pussy.

Posted in english, lifestyle | Leave a comment

Izolacja transakcji w aplikacjach Ruby on Rails

Na WRUG-u miałem przyjemność opowiedzieć o izolacji transakcji w ogóle oraz konkretnie w Railsach.

Zareklamowałem też dwa gemy mojej produkcji: transaction_isolation pozwala wygodnie manipulować poziomem izolacji transakcji. Gem jest dosłownie bezkonkurencyjny. Tzn. żadne inne dla ActiveRecorda nie istnieją.

Natomiast transaction_retry auto-ponawia transakcje, które zakończyły się błędem typu deadlock lub serialization error. Ten ma silną konkurencję w postaci starego deadlock_retry, ale nie pisałbym go gdyby nie miał być lepszy ;-)

Słowa kluczowe: serializable, repeatable read, read committed, read uncommitted, transaction isolation levels, deadlock found when trying to get lock, serialization error, ActiveRecord, gem.

Posted in polskie, programowanie, rails, ruby | 9 Comments

DataMapper 2 – nie mogę się doczekać

Jest późno w nocy i nie mam czasu uzasadniać – po prostu zaufaj mi i przeczytaj o DataMapper 2 na blogu Piotrka Solnicy: http://solnic.eu/2012/01/10/ruby-datamapper-status.html.

Posted in polskie, programowanie, rails, ruby, technologia | Leave a comment