OAuth2 – промінчик світла в темному царстві?
З давніх давен мене завжди харила необхідність реєстрації на сайтах. Чесно. Причому не з якихось там параноїдальних міркувань (мене це дуже мало бентежить), а банально: знову вводити ім’я користувача, придумувати пароль, тощо… І тому коли треба реєструватись на комусь сайті доводиться через стандартну логін/пароль/e-mail процедуру це мене запросто може відлякнути від реєстрації взагалі. Потім з’явилися всякі OpenID, Facebook Connect, OAuth і життя стало налагоджуватись – реєстрації на одному з популярних сервісів типу Google/Facebook/Twitter зазвичай вистачає аби мати можливість логінитись на нормальні сайти в один клік: наприклад той самий Покупон ніколи б не отримав моїх грошиків ні за які знижки аби у нього не було реєстрації через Facebook та оплати по Webmoney, коли можна було придбати купончика фактично не торкаючись клавіатури, а просто в кілька тицків мишкою. І впевнений, що я такий не один. Тому останнім часом завжди коли доводиться писати сайт з реєстрацією мну намагається всунути туди реєстрацію через “3rd party” сервіси. Але ще рік тому це була нефігова проблема, бо усі ці сервіси використовували різні протоколи і незважаючи на те, що всі вони намагались зробити якнайкраще – виходило як завжди, бо об’єднати все це в якусь уніфіковану систему не так вже й тривіально. Чи не найбільше мене напрягав OAuth, бо при першому знайомстві з його процесом обмінами токенів наскоком без півлітри не розібратися. Причому мало того, кожен сервіс часто використовував свою варіацію протоколу, що знову ж таки ускладнювало написання гнучкого коду.
Коли довелося причіплювати мультиавторизацію останній раз, я вже поступово готувався засісти в ці окопи надовго. Хоча в цьому випадку було простіше – у Django принаймні добрі люди написали django-publicauth. Документація там бідненька, тому як правильно його заюзати довелося гуглити по коду інших open-source проектів, які його використовували. Facebook тим не менш завівся досить живенько, а от на ВКонтакті вже мило чекали перші граблі: модуль більше року не оновлювався і там API для авторизації встиг змінитися. Доктор сказав “Різати!” Як виявилося, російський недофейсбук встиг перейти на OAuth2 і (о, диво!) там все було просто як гранчастий стакан (щоб отримати токен для подальших запитів треба зробити лише один редірект та один фоновий запит з мінімумом параметрів). Причому там все було настільки просто і так чудово лягло на архітектуру бекендів django-publicauth, що все пофіксилось буквально за пару годин (включно з вдуплянням в те як все парцює, першим прототипом та подальшим рефакторингом). Мало того, при пошуку інформації про новий протокол виявилося, що Google та Facebook вже теж його підтримують. Коротше кажучи, наступного вечора я переписав і ці дві системи під OAuth2 і все працювало як швейцарський годинник. На все про все менше 8 годин часу і майже готовий патч. Кароче, вирішив я форкнути django-publicauth на bitbucket та влити туди свої правки
Єдина поки що паршива вівця – це Twitter, який поки не підтримує другу версію, але благо перша там працює нормально.
OAuth2 flow for server-side applications
Ложка дьогтю: не дивлячись на простоту реалізації стандарт OAuth2 ще не затверджено остаточною. Існує кілька його драфтів і всі використовують свої власні інтерпретації. Але за рахунок його простоти складність правок під конкретну реалізацію зазвичай є справою перевизначення пари методів. Причому насправді відмінності дуже тупі. Вконтакт повертає JSON-відповідь із “зайвим” рівнем вкладеності, Гугл вимагає авторизувати токен через POST-запит, а Фейсбук повертає результат не в JSON, а в urlencoded query string
Стандартизація рулить
Garage48, Startup Mixer, DOU Hackaton і всі, всі, всі…
Мені отут подумалось, чи я єдиний кому цікаво було б якось прийняти участь у якомусь із названих у сабжі заходів? ^_^ Про Хакатон я знав раніше, але якось не склалося, а про два інших дізнався буквально нещодавно. Основна їх ідея – написати робочий додаток/стартап за дуже обмежену кількість часу (24-48 годин, причому не робочих, а саме календарних!). Я подивився на список того, що клепали під час проведення Garage48 – вражає.
Отож, з того, що проводиться в Україні я знайшов три: Garage48, Startup Mixer, DOU Hackaton. У першого основний приціл на практику і навчання саме створення і просування стартапів (на заходах присутні “наставники”, які допомагають правильно обрати цільову аудиторію, скерувати розробку в умовах обмеженого часу та “продаж” ідеї). Другий – наш український клон першого. Хакатон судячи з того, що я читав у відгуках менш бізнес-орієнтований і більше схоже на змагання “just for fun”: зібрались, попили пива, склепали прожку (хоча, що цікаво, судячи з відгуків продуктивність на Хакатонах була вищою ніж на проведеному на минулому тижні Startup Mixer).
Кароче, хацууууу! Схоже, що наступний захід – це Garage48 в травні 2012 в Києві. Треба придумати цікаву але компактну ідею і не провтикати дату як завжди.
Перемогти посередність
Нарешті в мене дійшли руки перекласти ще одну повчальну статтю Пола Грема про мови програмування, яку я вже згадував у минулому перекладі про “дух міста”. Зазвичай подібні “євангелістичні” речі я сприймаю вельми критично, оскільки я чудово знаю, що срібних куль не існує, але тим не менш думаю, що основна ідея вірна. Читаючи статтю зробіть поправку на те, що вона написана в 2003-му, тобто майже десятиріччя тому і з тих пір дещо змінилося, а Lisp вже не одна така мова-д’Артаньян
Велика подяка Тарасу за виправлення купи помилок
Автор оригіналу: Пол Грем (Paul Graham)
Оригінал: Beating the Averages
Photo by AlicePopkorn
Влітку 1995-го я та мій друг Роберт Морріс запустили стартап під назвою Viaweb. Нашою метою було написати програмне забезпечення, що дозволило б користувачам створювати власні онлайн-магазини. Інновацією на той час було те, що наш софт працював на нашому сервері, а інтерфейсом були звичайні веб-сторінки.
Я впевнений, що у багатьох людей виникла подібна ідея в той час, але наскільки я знаю, Viaweb був першим web-додатком. Це виглядало настільки ново для нас, що ми навіть компанію назвали аби підкреслити це: Viaweb, бо наше програмне забезпечення працювало “через Веб” (англ. “via Web”, – прим. пер.), а не на персональному комп’ютері.
Іншою назвичністю було те, що наш софт було написано здебільшого на мові програмування Lisp. Це був один із найперших великих додатків націлених на кінцевого користувача, написаних на Lisp, який до того часу був прерогативою університетів та дослідницьких лабораторій. [1]
Read the rest of this entry »
Моє дежавю :)
За 15 хвилин тре йти обговорювати естімейти на наступний проект. Треба постаратись щоб знову не було отакого.
Read the rest of this entry »
Atlas Shrugged: Part I (Movie)
І раз вже зайшла мова про кінематограф… Мну на днях ще продивився екранізацію першої частини “Атлант розправив плечі” Айн Ренд (про книжку я вже писав раніше) – благо вона вона вже з’явилася в торрентах ^_^ Але після перегляду я зрозумів чого у неї такий низький рейтинг на IMDB: його критикували як ті, кому книжка не сподобалась (що цілком зрозуміло – у соціалістично налаштованих вона викликає butthurt), так і у тих кому вона сподобалась. По очевидній причині: фільм вийшов ні про що. Тим, хто книжку не читав там взагалі нічого не буде зрозуміло. Навіть в самому банальному сюжеті, я вже не кажу про якісь там філософські ідеї, адже автори сценарію і не намагались хоч якось адаптувати і спробувати хоч якось втиснути в кіно основні тези висловлені у довгих (і дуже ідеалізованих) монологах типу промови Франциско про гроші, а натомість взяли фрагменти вибірково. При цьому гіперболізованість персонажів кидалася у очі ще більше і від того ще більше дратувала. Я тепер розумію, чому Ренд хотіла зняти саме серіал: з повнометражки толку – нуль. Просто набір штампів, що викликає відразу при перегляді.
Ось, мабуть, самий нормальний і більш-менш повний епізод з усього – не дивно що вони для затравки виклали його в інет. А тепер уявіть якого рівня тоді все інше. Інколи інді-фільми це такий відстій…
Children Who Chase Lost Voices From Deep Below, або Шінкай – “бобік здох”?
Пан Макото Шінкай нові речі випускає нечасто і сабжу в торрентах досі нема (так як не випущена ще DVD-версія). А враховуючи, що він славний саме своєю витонченою промальовкою, можливість подивитись новий твір на великому екрані видавалась просто подарунком з небес і занесла нас нелегка в кінотеатр. Багато хто вже висловився на рахунок сабжу, але і я не можу не підкинути трохи лайна на вентилятор (і взагалі пофілософствую трохи на тему онеме та перекладів). Маленький дисклеймер: у роботах Шінкая мої вподобання дещо відрізняються від загальноприйнятих. Наприклад, улюблена річ – “Beyond the Clouds” (фантастика, містика, хмари, польоти, ммм…), гарні – “Voices of a Distant Star” та “She and Her Cat” (щоправда, дзен пізнав лише після другого перегляду), а от “5 Centimeters Per Second” цікава, але назвати шедевром, яким його багато хто вважає, – ну ніяк.
Сюжет
Епічна фігня. Навіть якщо закрити очі на те, що це геть не те на що я очікував від назви серіалу та після трейлеру (це саме по собі не є мінусом), він прямий як стріла Робін Гуда і простий як гранчастий стакан, але найгірше – він ні про що. Тобто у нього був якийсь задум, але якби не вікіпедія з цитатою самого режисера, я б ні за що в світі не здогадався про що ж воно.
Озвучка (російський дубляж)
Тут можна складати поеми, але найбільш влучною є фраза “бессмыслен и беспощаден”
По-перше, переклад абсолютно бездарний в тому сенсі, що там є фрази, які просто не зрозуміти. По-друге, адаптація де не треба: якщо чуючи купу інших ляпів ми лише здивовано та з іронічними посмішками переглядалися між собою, то почувши “Асуночка” замість більш звичного “Асуна-чян”, вже не втримались і пирснули зі сміху. Та її [адаптації] відсутність де варто було б: деякі фрази були прямим перекладом з японської, але одна проблема: в деяких випадках у нас так не говорять (наприклад, не констатують в голос якісь очевидні речі). Але мало того! Ці ляпи стали ще більш тупими із-за того, що актори намагались копіювати інтонацію японців. І це був повний ппц. Складалося враження, що діалоги писала шестирічна дитина. Щоправда мну інколи подумки уявляв деякі простенькі фрази (чи скоріше окремі слова) як би вони були звучали в оригіналі і розумів, що там би це не звучало так тупо, бо вони саме так говорять – традиція така. Взагалі у мене склалося враження, що в студії, яка займалась дубляжем чи то не дивились, що відбувається на екрані, коли озвучували, чи то потім самі не перевіряли, що у них вийшло в остаточному варіанті.
Хоча можливо це все із-за того, що я не люблю дубляж в принципі. Особливо коли це стосується інших культур. Дублювати такі речі – це майже те саме, що дублювати бушмена з “Напевно боги з’їхали з глузду”. Хоча якщо казати конкретно про аніме, то є все-таки і два гарних (ІМХО) приклади (і обидва дублювала одна й та ж студія): “Gunslinger Girl” (меланхолійна озвучка дуже пасувала загальному настрою) та “Last Exile” (голос Діо пасував його персонажу можливо навіть більше, аніж оригінал).
Картинка
Мабуть єдиний плюс всього твору, якби не деякі “але”. Якщо говорити про задники, то вони просто… просто фантастичні: хоч бери друкуй і вішай на стіну (кілька прикладів нижче), але персонажі… Перший же кадр з головним героєм викликав лише одну думку: “Якого дідька тут робить Хаул?” Духом Ghibli від персонажів несло за версту, але в контексті цього твору вони були м’яко кажучи недоречними. Ну навіщо? Навіщо? Навіщо? Більш традиційна по “Voices of Distant Star” та “Beyond the Clouds” злегка кирпатоноса промальовка персонажів пасувала б куди більше і не було б того когнітивного дисонансу між персонажами та подіями на екрані. Та що персонажі? Навіть літаючий корабель богів (або щось типу цього) – і той якийсь вже дуже Міядзаківський.
Нотатки мандруючого вовка
Хотілося б написати трохи про мандрівки. З одного боку за останній час щось їх не так багато було як хотілося б, а з іншого я частіше став вибиратись закордон і хочу цю тенденцію продовжити. І незважаючи на порівняно невеликий досвід хотілося б занотувати кілька власних спостережень (хоча знаю, що для багатьох моїх знайомих це і так очевидні факти
).
Звичайні організовані цивільні виїзди через тур-агенції – зло. Звісно, лише в тому випадку якщо ви збираєтесь ходити за групою, а не просто впадете “на хвіст” заради готелю та транспорту. І навіть в другому випадку час подорожі ви не обираєте. Ви не можете проспати до 12 дня тому що гуляли містом вночі до ранку, бо о 7-й у вас підйом на екскурсію. За весь час, що я лазив десь з гідами практично жоден не запам’ятався так, що аж-аж-аж, плюс більша частина інформації вам не потрібна. Ну яка по великому рахунку різниця була якась будівля побудована в тому чи іншому році. Ті, хто цікавиться самі відрізнять готику від бароко, а ті, хто не цікавиться – забудуть через кілька хвилин як їм про це скажуть. Плюс туристичні групи водять в основному по “туристичних” маршрутах, де завжди натовп та великі ціни і ви бачите лише “вітрину” міста. Якщо ви не дозволите собі зануритись в місто, лазити по його найменших вуличках (де незбурений натовпом туристів дрімає справжній його дух), ви можете прогавити купу справді фантастичних місць. Наприклад таких (я взагалі тоді шукав одну кав’ярню далеченько від туристичного центру, але по тій вулиці було багато вузеньких мінітунелів-відгалужень, один з яких закінчився оцим):
Маленька ремарка: я не спонукаю забити на це взагалі (я можу навести і гарні приклади). Але! Завдяки самостійному дослідженню міста, коли ви самі визначається куди вам піти сьогодні, коли соціалізація в тій чи іншій мірі з місцевим населенням стає необхідністю, ви відкриєте для себе інший світ… і матимете гарний привід попрактикуватися в іноземних мовах
Місцеві та інші самотні мандрівники будуть сахатися великого натовпу туристів і вам ніколи не допомогти перелізти італійці через невеликий паркан де вона застрягла, та не допомогти заблукавшій майже опівночі дівчинці знайти потрібну вулицю (приклади з власного досвіду
). Як казав гід по Празі: “Для того, аби полюбити Прагу в ній треба заблукати. Звернути в найпершу вузьку вулицю, відійти подалі, поки не стихне гамір площ, знайти кафешку, де сидять одні чехи, повернутися до знайомих місць лише пізно вночі”. Це правда, і вона стосується не лише Праги, а і будь-якого міста. Коли я мандрував Бельгією, то в місто з вокзалу влітав приблизно так, як вбігаю у річку чи море – з розгону плюхаючись у воду подалі від берега.
Але щоб дозволити собі такі самоорганізовані мандрівки треба докладати певних зусиль. Самим відкривати візи, бронювати готелі, купляти квитки, тощо… Інколи це може вийти навіть дорожче, аніж купити готовий тур, але це інша історія. Щодо віз та інших цікавих нотаток для самостійних подорожей можу порекомендувати почитати записи Світанкової з тегом wanderlust. До речі, в якості суттєвої економії та ще більшого проникнення в культуру країни, куди ви збираєтесь їхати рекомендую ознайомитись з таким явищем як CouchSurfing.
Інша сторона самостійних мандрівок – ви самі відповідаєте за себе і це означає, що на всяк випадок до них треба підійти підготовленим. Випадки можуть бути різні – наприклад мовний бар’єр ніхто не відміняв (в тому ж Льєжі знайти англомовну особу вельми і вельми проблематично в той час як у будь-якому місті Фландрії майже всі знають англійську). Благо, сучасні технології дозволяють
Один з моїх найбільших помічників у всіх мандрівках – це HTC Desire. Наявність GPS та Google Maps пару разів мене рятувала. Хоча навіть коли я відходив далеко від центральної частини міста і був впевнений, що заблукав, я ним рідко користувався, а просто йшов по відчуттям, але наявність в кишені електронної мапи, яка може в будь-який момент прийти на допомогу не давала сумнівам зруйнувати настрій і я спокійно і радісно блукав далі. Інша корисна штука – це Foursquare. Цей сервіс я використовував здебільшого для того, аби знайти де б то його перекусити. Причому часто там можна прочитати не лише про саме розташування закладу, а і різноманітні відгуки відвідувачів: які страви там справді гарні, а які не дуже, та куди краще не йти без бронювання столику на вихідних ввечері, бо там все буде забито. Щоправда, для того, аби насолодитися всими цими забавками сучасного світу вам треба буде придбати sim-картку місцевого оператора (інтернет в роумнгу – це зло). Наприклад, у тій-таки Бельгії мій стартовий пакет коштував 20 євро, з яких 10 пішло на оплату 200MB трафіку, якого вільно має вистачити на пару тижнів польового використання (при нагоді все-таки бажано перемикатись на безкоштовний wifi
). Не знаю, правда, як справи у інших країнах. Ну і звісно ж паперові мапи та всілякі “Помічники мандрівника” теж ніхто не відміняв.
Ну і остання річ. Вона звучатиме трохи дивно, але… я зрозумів, що мені відрядження подобаються більше, аніж просто мандрівки. І справа зовсім не те, що ваш переліт та проживання оплачені, або що. Ходячи щодня на роботу закордоном ви певним чином фактично починаєте жити там, стаєте на якусь там долю відсотка місцевим мешканцем, занурюєтесь у потік життя, в той час як в звичайних мандрівках ви зазвичай лише споглядаєте на все зі сторони (хоча якщо ви живете в готелі, а не апартменті – це відчуття трохи руйнується, nuff said). У відрядженні вас починають турбувати інші проблеми: наприклад, піти з роботи пораніше, аби встигнути до закриття супермаркету
Ну от і все поки що. Але зрештою який би спосіб ви не обрали бажаю завжди приємно проводити час!
Agile Eastern Europe. Season 3
Три тижні тому мну мав змогу побувати на Agileee: третій східноєвропейській конференції по agile методологіям розробки. Два дні занурення в позаробочу ІТ-атмосферу спілкування та обміну досвідом (бачив кілька колишніх співробітників – всім привіт ^_^). Дуже надихаючі два дні. Так, там часто говорилось про речі, які здавалося б очевидні і відомі, але описані іншими словами, або просто практичними прикладами вони набували іншого сенсу, що давало можливість поглянути на відому сутність з різних сторін.
Мінусів було не так багато. Найбільший – вартість заходу. 300 ойро я сам особисто навряд заплатив би навіть за таку чудову конференцію (тому дякую MD за надану можливість ^_^). Ще один момент з яким навряд можна щось зробити – це те, що деякі цікаві (і навпаки нудні) доповіді були паралельно і доводилося мучитись вибором між двома. В результаті я не потрапив на дуже цікаву судячи по слайдах “Programmers Anarchy”
Ну а тепер трохи про найбільш цікаві доповіді та ідеї…
Read the rest of this entry »
Революція очолювана АйТішниками? Чому б ні?
Перепрошую за “жовтий” заголовок, просто трохи замріявся…
Взагалі кажучи, з одного боку вся калатнеча навколо ПростоПринт (хронологія подій: раз, два, три, чотири) нічим особливим не відрізняється, адже вони не перші хто відчув на собі “покращення життя вже сьогодні”. Різниця лише в тому, що і сам власник сервісу і його оточення розуміють принципи роботи з інтернет-медіа. Тому у них може реально вдатися підняти якусь хвилю, яка і так назріває у світлі останніх “реформ”. А взагалі в політиці потрібна свіжа кров – не хочеться все-таки на наступних виборах псувати бюлетень (за відсутності колишнього останнього пункту).
Два виступи Лева Валкіна в Києві. Враження (UPDATED)
© unknown
По-перше, Грей – птах гордий, поки не пнеш – не полетить, тому дякую Jolly Roger за копняка (тобто що підбив-таки піти)
По-друге, для тих хто не в курсі (мій блог-то не тематичний і таких буде багато
) Лев – це дядько з Росії, ім’я якого, наприклад, щасливі власники iPhone/iPad можуть бачити About > Legal (він автор компілятора asn1c, що використовується Apple). Плюс він же засновник журналу “Практика функціонального програмування” та засновник/со-засновник кількох стартапів (з цінами від десятків тисяч до кількох мільйонів USD).
Одразу дві відмазки (дисклеймера). По-перше, це лише мої спогади про те, що розповідалось (а ще я обидва рази спізнився і сидів на гальорці, де не завжди було гарно чути), тому якщо я десь щось недочув чи забув та добрехав – буду дуже вдячний, якщо мене виправлять
По-друге, я залишаю за собою право описувати все власними словами й інтерпретувати почуті слова так як я це розумію, але залюбки вислухаю альтернативні погляди (якщо будуть).
Виступ 2-го серпня був присвячений ФП та Erlang. Тут вже дещо понаписували до мене (як мінімум одна стаття та кілька відгуків у Твітері за хештегом #lvwkiev), тому повторюватись не буду і лише якщо вистачить сил доповню своїм стислим підсумком в кінці допису.
Тепер щодо виступу 3-го серпня. Тематика була уже більш високорівнева: бізнес, стартапи, Кремнієва долина, еміграція, продуктові vs аутсорс компанії, тощо. Я трохи спізнився, тому про що була мова в перші 20 хвилин не знаю, але попав я якраз на момент, коли Лев по суті розповідав те саме, про що згадував Пол Грем у своєму есе “Міста та амбіції”, яке пару тижнів тому переклав: долина просто-таки “дихає” стартапами. Там жартують, що коли у прибиральниць вдається перекинутись парою слів, то вони обговорюють виключно їх
Також Лев казав, що був свідком того як камбоджійські офіціантки в Пало-Альто, коли видається вільна хвилинка читають та конспектують книжки по хімії для вступу в Стенфорд (це вже трохи протирічить з твердженням Грема) і це абсолютно нормально для цього міста. Як влучно помітили слухачі – у нас може бути схожа ситуація, коли людина з науковим ступенем працює касиром у супермаркеті, але причини у того інші: абітур’єнти Стенфорду йдуть на таку роботу, щоб заробити гроші, аби оплатити навчання (тобто, власне, майбутні знання), в той час як у нас це означає те, що отримані знання не відповідають потребам ринку (або якість знань, або напрям).
Read the rest of this entry »







![[EXPLORED] Blonde in black latex in a box.](http://farm8.staticflickr.com/7029/6692580047_9a3775aa56_s.jpg)
















