Сбылась мечта идиота - меня приняли в команду хакеров. Кто бы что ни говорил, каждый гик с детства мечтает стать хакером ( как вариант - благородным пиратом, который не использует свое интеллектуальное превосходство и эрудицию в целях личного обогащения ). Вообще-то многие приравнивают нас к командам QA, но на таких мы косо смотрим и при случае бьем морду. Чтобы не было скучно, я реально втыкаю в работу и учу кодеров кодить ( да, опасная работа ), а так же все, что только можно, пишу на Ruby. Заодно я переехал в Питер, все подъемные спустил на новые ролики и подобные предметы первой необходимости. Теперь каждый день катаюсь на работу по набережным, обгоняя туристов на пароходах и катерах, в крутых желтых очках для вождения.
Ну да, а то, что добрая бухгалтерия выделила на съем квартиры, я потратил на Apple MacMini для сестрёнки (отчаялся перетащить ее на Линукс, ну хоть так). Так что второй месяц живу в ночлежках с другими прикольными бомжами, а так же с туристами. Новый день - новая компания. Англо-, франко-, хорвато- говорящие люди и вообще непоймикто каждый вечер ждут меня на кухне с вырвиглазно-оранжевыми стенами ( да, и еще финны и шведы! ), готовы перетереть за жизнь и за Питер в частности. Иногда разделить комфортабельный 10-тиместный номер с 15ю другими людьми бывает забавно. И даже еще лучше, если с кем-то в паре на одной койке :)
В Питере архитектурка, просто везде, даже не только в центре. Простое метро. И - на самом деле! - другие люди. Различия идут гораздо дальше, чем то, что они говорят "булка" и "поребрик". Еще пончики называются "пышки"! Шучу, различия еще больше. Например: в любой конторе сотрудник может запросто не явиться на работу, будь то пышка-кассирша в пышечной или врач-офтальмолог в салоне оптики. Или эксперт - аудитор безопастности ПО. Никто не парится, просто сообщают по телефону или почте: "Врач/delivery_manager/security_auditor/кто_угодно_хоть_директор_хоть_дворник сегодня не выйдет, приходите завтра, мы вас очень ждем :)" И все. И знаете что? В М/О на такое я бы обязательно зарядил разбор своих и чужих прав и обязанностей минут на 30, а теперь меня это вообще не парит. Я одеваю свои желтые очки и качусь дальше на своих роликах без тормозов и в огромных закрытых наушниках. Жизнь прекрасна! Девушки дают бесплатно, люди на улицах, когда просят закурить, не дают первым делом по зубам, водители уступают дорогу пешеходам и наоборот, и даже проститутки очень милы. Количество музеев в центре прибижается к 5% всех зданий вообще.
Мне хорошо. Теперь, когда я встречаю человека, едва справляющегося с эксплуатацией винды на своем ноутбуке, я не записываю его в кандидаты в удобрения. Вместо этого я думаю что-то вроде "Забавный чувак! Явный гуманитарий. Не всем же быть механиками своего самолета." Девушки, когда говорят, не вызывают у меня скрежета зубов. Если собеседница не блещет интересной речью, я легко абстрагируюсь и просто смотрю на грудь. А вообще-то, без шуток, я встретил кучу ярких интересных людей за последний месяй, в т.ч. просто случайно на улице.
Вывод: переезд лечит многое. Следующий пункт назначения - Китай!
Thanius - Castlevania (Vampire kickass mix) - SLAY Radio
Utgard Shrine
Saturday, May 14, 2011
Tuesday, September 28, 2010
Haskell Platform + OpenSuse 11.3
Как поставить Haskell Platform 2010.2.0.0 на OpenSuse 11.3? Зачем это делать - другой вопрос; предположим, ответ на него мы уже знаем (: Народ с hackage.haskell.org все свои сорсовые инсталляторы делает с расчетом на уже присутствующий GHC. Поэтому надо сперва приобрести его. Для начала, воспользуемся репозиториями:
Ура! Компилятор есть, можно качать и ставить платформу:
Фигу! Старовата кобылка. Ладно, поверим на слово, не будем пользоваться чудесной опцией "все равно собирай, пользуй что есть", а вместо этого подновим GHC:
Идем обратно собирать платформу предварительно поставив все, чего недостает. У меня, например, не было freeglut-devel:
Можно пользоваться (:
>sudo zypper addrepo -r http://download.opensuse.org/repositories/devel:/languages:/haskell/openSUSE_11.3/devel:languages:haskell.repo
>sudo zypper install ghc
>ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.10.4
>sudo zypper install ghc
>ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.10.4
Ура! Компилятор есть, можно качать и ставить платформу:
>wget http://hackage.haskell.org/platform/2010.2.0.0/haskell-platform-2010.2.0.0.tar.gz
>tar -xzf haskell-platform-2010.2.0.0.tar.gz
>cd haskell-platform-2010.2.0.0
>./configure
...
checking version of ghc... 6.10.4
configure: error: The Haskell Platform version 2010.2.0.0 requires ghc-6.12.3
It is recommended that you upgrade to ghc-6.12.3 however if you
really want to use this release with an unsupported version of GHC
then use ./configure --enable-unsupported-ghc-version
>tar -xzf haskell-platform-2010.2.0.0.tar.gz
>cd haskell-platform-2010.2.0.0
>./configure
...
checking version of ghc... 6.10.4
configure: error: The Haskell Platform version 2010.2.0.0 requires ghc-6.12.3
It is recommended that you upgrade to ghc-6.12.3 however if you
really want to use this release with an unsupported version of GHC
then use ./configure --enable-unsupported-ghc-version
Фигу! Старовата кобылка. Ладно, поверим на слово, не будем пользоваться чудесной опцией "все равно собирай, пользуй что есть", а вместо этого подновим GHC:
>wget http://darcs.haskell.org/download/dist/6.12.3/ghc-6.12.3-src.tar.bz2
>tar -xjf ghc-6.12.3-src.tar.bz2
>cd ghc-6.12.3
>./configure
>make
>sudo make install
>which ghc
/usr/local/bin/ghc
>/usr/local/bin/ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.12.3
>tar -xjf ghc-6.12.3-src.tar.bz2
>cd ghc-6.12.3
>./configure
>make
>sudo make install
>which ghc
/usr/local/bin/ghc
>/usr/local/bin/ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.12.3
Идем обратно собирать платформу предварительно поставив все, чего недостает. У меня, например, не было freeglut-devel:
>sudo zypper install freeglut-devel
>cd ../haskell-platform-2010.2.0.0
>./configure
**************************************************
* Configuration completed successfully.
*
* Install prefix: /usr/local
* Haskell packages will be registered into
* the global ghc package database
*
* If you wish to change these settings then
* use --prefix= and/or --enable-user-install
*
* Now do "make" followed by "sudo make install"
**************************************************
>make
**************************************************
* Building Haskell Platform completed successfully.
*
* Now do "sudo make install"
**************************************************
>sudo make install
>cd ../haskell-platform-2010.2.0.0
>./configure
**************************************************
* Configuration completed successfully.
*
* Install prefix: /usr/local
* Haskell packages will be registered into
* the global ghc package database
*
* If you wish to change these settings then
* use --prefix= and/or --enable-user-install
*
* Now do "make" followed by "sudo make install"
**************************************************
>make
**************************************************
* Building Haskell Platform completed successfully.
*
* Now do "sudo make install"
**************************************************
>sudo make install
Можно пользоваться (:
>cabal update
Downloading the latest package list from hackage.haskell.org
>ghci
GHCi, version 6.12.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> :quit
Leaving GHCi.
>haddock --version
Haddock version 2.6.1, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008
Downloading the latest package list from hackage.haskell.org
>ghci
GHCi, version 6.12.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Prelude> :quit
Leaving GHCi.
>haddock --version
Haddock version 2.6.1, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008
Monday, September 20, 2010
Задачи к ночи перед техническим собеседованием

Недавно привалило развлечений на работе: проводить технические собеседования кандидатов на участие в проекте. Составляя требования к кандидату я, не долго думая, выбрал из всего, что умею сам, или очень хочу уметь, наиболее полезное для текущей задачи, и все это засунул в "желаемые навыки". Наш мега-манагер Дима О. волевым решением перенес это все в "требуемые навыки", и теперь я ожидаю на собеседовании увидеть своего двойника из параллельной вселенной, который, в добавок к этому набору скилов, соображает еще и в биохимии. Больше ждать некого, т.к. , полагаю, люди с конкретно этим наборчиком просто так по Москве не гуляют. Не в смысле, что я очень крут, просто нормальные люди (не из параллельных вселенных) устраиваются на новую работу и изучают что-то местное специфичное, а не приходят наниматься с таким багажом, как если бы они вели все проекты в этой компании последний год.
Но если этот злой двойник все-таки придет, не ударю в грязь лицом, покажу ему, что в нашем отражении тоже есть задачи на организацию распределенного взаимодействия, пусть не думает, что у них там Огненный Путь, а у нас - так себе, седьмая вода на киселе. А какой прикол загадывать загадки, которые сам решить не смог? Ищу и решаю по ночам, одну вот решил:
Начальник тюрьмы - чокнутый компьютерный маньяк - собирает зеков, и объявляет:Можете собраться и спланировать стратегию, а потом всех по одиночкам и никаких перестуков. В камере для медитаций есть рубильник, по особому случаю отключенный от электрического стула, с двумя возможными положениям - вкл/выкл. Иногда, когда захочется, буду случайно выбирать одного из вас, кто пойдет в камеру с рубильником. Войдя, можно перещелкнуть рубильник или просто его не трогать. Никто кроме вас туда входить не будет. Ходить туда будете хоть до конца срока, торопиться некуда. В любой момент каждый из вас может объявить "Начальник, мы все уже тут были в камере для медитаций хотя бы по разу". Если это будет верно, всем амнистия, а нет - всех на корм крокодилам.
- Разработать выигрышную стратегию для известного начального положения рубильника
- То же для неизвестного начального положения.
Суперская задача для тех, кто говорит, что может программировать распределенные вычисления и согласование параллельных процессов, взято из блога Алана Скоркина.
Wednesday, October 28, 2009
Eraserhead

Первые кадры фильма - задумчивое милое лицо мыслителя у главного героя, ретро на граммофоне, переплетающееся с музыкой водопроводных и вентиляционных труб – все это оказало на меня успокаивающее действие. Сразу вспомнилась вентиляция в подвальной университетской столовке, которую я приходил послушать, хотя кормили там не очень. Этот низкочастотный гул растворял в себе все тело, помещал эти кубические помещения ко мне в голову и наоборот. Потом потихоньку начали появляться персонажи, обещанные в тексте. Обещанные – не значит хотя бы приблизительно описанные, так как, полагаю, для передачи этого в тексте требуется больше, чем умение средних перестроечных авторов газетных статей. Мой любимый японский ч/б технотреш “Тетсуо – железный человек” просто отдыхает. Мое ощущение, что я смотрю это кино всю жизнь, усиливалось с каждой знакомой ситуацией на экране. Вот не знал, что моя стиральная машинка может издавать такие звуки. Когда этот динозавр-сперматозоид на экране стал вопить, стиралка подключилась. Даже не знаю, у кого страшнее получалось. Я очень переживал, думал, что из нее вся вода на пол вылилась и без воды она скрипит, что сейчас соседи в дверь постучат или еще что-нибудь, но оторваться, чтобы пойти проверить, просто не мог. Потом она еще вдруг так грохнула, как будто решила припрыгать в комнату, чтобы вместе со мной посмотреть. Периодически я проверял, сколько осталось до конца фильма, думал его выключить, но не выключил. За время просмотра я вспомнил десяток ситуаций с моим участием за последние годы, мое восприятие которых все это время уже было отлично запечатлено на пленке еще до моего рождения. Когда фильм закончился, я был рад, пошел проверил стирку, заварил чай и решил записать это в качестве предостережения. Правду говорят – оторваться невозможно, так что думайте, включать или нет. Не все кино одинаково полезно ;) Теперь у меня новый любимый фильм.
Tuesday, October 20, 2009
Machinarium

Sunday, August 09, 2009
iPhone + Linux + VirtualBox
У вас была ситуация, когда вдруг вы напрочь забыли пароль от винды, которая затаилась у вас на том дальнем маленьком разделе харда только затем, чтобы обновлять ваше йаМобилко? Вот у меня случилось недавно.
Но меня спасла Sun VirtualBox! Хотя тоже без пары приколов не обошлось, о чем я сейчас и расскажу. И если вы относитесь к тому типу людей, которые, увидев первое сообщение об ошибке обновления прошивки iPhone, начинают нервно бегать, грызть ногти и подвывать "ААааа! Нафига ж я вообще стал его обновлять, он же неофициальный, теперь никогда не включится!" , то, возможно, мой рассказ сэкономит вам полночи :)
Предположим, вы ужe поставили себе VirtualBox 3.0 на свой любимый линукс и взвели там какую-нибудь винду. Чтобы оставаться честным человеком и не нарушать лицензий, могу порекомендовать Windows7 RC - бесплатно аж до 2010 года, и отлично работает. Предположим, что и с сеткой у вас проблем нет - например, подсоединяем адаптер виртуалки через NAT. Потом Sun Guest Additions, iTunes, разрешить гостевой ОС доступ к USB, и (это уж как кому нравится, но я так делаю) сохранить snapshot - так, на будущее. Вдруг захочется снести тунец, в котором ваш бекап контактов лежит? Конечно, вместо снапшота виртуалки можно архивировать папку бекапа из скрытых-зарытых папок тунца, и называется она там нечитабельно.
Теперь самое интересное. Если воткнуть iPhone, разрешить виртуалке общаться с ним по USB, штатным способом начать его обновлять и уйти варить кофе, оставив вот такую примерно картинку :

то по возвращении, вместо сообщений "Все круто, расслабьтесь" и перезагружающегося телефона, непременно увидим месагу "Очень неизвестная ошибка номер х_Х" и нашего дружка в режиме восстановления. У меня так было, я ругался матом, даже скриншот не сделал. Но все оказалось достаточно просто, есть один маленький секрет ;)
Секретик:

Да, и еще: владельцам неофицальных мобилок на данный момент не рекомендуется обновляться на 3.1 - не включится, пошлет нафиг с вашей российской симкой. Зато есть 3.0 + redsn0w :) Правда вот, на линуксе я его так и не запустил - поставляется каким-то мутным бинарником, который в упор не видит библиотек, так что пользовал его все на той же виртуалке.
Удачи!
Но меня спасла Sun VirtualBox! Хотя тоже без пары приколов не обошлось, о чем я сейчас и расскажу. И если вы относитесь к тому типу людей, которые, увидев первое сообщение об ошибке обновления прошивки iPhone, начинают нервно бегать, грызть ногти и подвывать "ААааа! Нафига ж я вообще стал его обновлять, он же неофициальный, теперь никогда не включится!" , то, возможно, мой рассказ сэкономит вам полночи :)
Предположим, вы ужe поставили себе VirtualBox 3.0 на свой любимый линукс и взвели там какую-нибудь винду. Чтобы оставаться честным человеком и не нарушать лицензий, могу порекомендовать Windows7 RC - бесплатно аж до 2010 года, и отлично работает. Предположим, что и с сеткой у вас проблем нет - например, подсоединяем адаптер виртуалки через NAT. Потом Sun Guest Additions, iTunes, разрешить гостевой ОС доступ к USB, и (это уж как кому нравится, но я так делаю) сохранить snapshot - так, на будущее. Вдруг захочется снести тунец, в котором ваш бекап контактов лежит? Конечно, вместо снапшота виртуалки можно архивировать папку бекапа из скрытых-зарытых папок тунца, и называется она там нечитабельно.
Теперь самое интересное. Если воткнуть iPhone, разрешить виртуалке общаться с ним по USB, штатным способом начать его обновлять и уйти варить кофе, оставив вот такую примерно картинку :

то по возвращении, вместо сообщений "Все круто, расслабьтесь" и перезагружающегося телефона, непременно увидим месагу "Очень неизвестная ошибка номер х_Х" и нашего дружка в режиме восстановления. У меня так было, я ругался матом, даже скриншот не сделал. Но все оказалось достаточно просто, есть один маленький секрет ;)
Секретик:
- Во время обновления прошивки, iPhone несколько раз отваливается, и подключается как устройство другого типа. ( я насчитал 3 : в режиме DFU, в режиме восстановления и в норме)
- Гостевая ОС не видит этих новых устройств, пока мы не нажмем кнопку "подказать эту новую USB хрень"
- iTunes терпеливо ждет чуть не по минуте, пока iPhone покажется, но все же не бесконечно долго, и, в конце концов, кидает ошибку.
- Из первых трех пунктов делается несложный вывод: запустив этот долгий и нудный процесс, нельзя уходить от компа, надо постоянно погдядывать на лампочку активности USB нашей виртуалки, и если тунец показывает, что трудится над обновлением, а она долго не мигает, то надо быстренько на нее кликнуть и подключить то устройство, в которое превратился теперь iPhone.

Да, и еще: владельцам неофицальных мобилок на данный момент не рекомендуется обновляться на 3.1 - не включится, пошлет нафиг с вашей российской симкой. Зато есть 3.0 + redsn0w :) Правда вот, на линуксе я его так и не запустил - поставляется каким-то мутным бинарником, который в упор не видит библиотек, так что пользовал его все на той же виртуалке.
Удачи!
Wednesday, December 03, 2008
Linux chicks - geeks gone rampant!
Недалеко от любимого вертепа ( F.A.Q. - кафе ) с Миклером стоим как-то раз, размышляем, куда направиться, а мимо две девчонки идут, и слышно от них :
"А там антивирусы как таковые нафиг не нужны, сама структура такая .... "
Честно, я обалдел. Меня посетила одна единственная мысль, я ее высказал, и мы побежали их догонять.
- Девшки, здравствуйте! А вы, часом, не про Линукс разговаривали сейчас?
- Ой блин... ( Типа шоб вы провалились, придурки )
Ну они скривились как от зубной боли, стали отмахиваться и дальше пошли. Они, кажется думали, что какие-то реальные перцы подошли познакомиться, а тут такой облом :D У одной вообще глаза были - " ААА ! Гики по Москве уже бегают, с цепи сорвались и к девкам со своим Линуксом на улице пристают!"
Конец истории, мы от них отстали. Они, правда, зачем-то замедлили шаг и почти встали, но мы рассудили, что такие тёлки нам ни к чему. И сами пошли в другую сторону.
"А там антивирусы как таковые нафиг не нужны, сама структура такая .... "
Честно, я обалдел. Меня посетила одна единственная мысль, я ее высказал, и мы побежали их догонять.
- Девшки, здравствуйте! А вы, часом, не про Линукс разговаривали сейчас?
- Ой блин... ( Типа шоб вы провалились, придурки )
Ну они скривились как от зубной боли, стали отмахиваться и дальше пошли. Они, кажется думали, что какие-то реальные перцы подошли познакомиться, а тут такой облом :D У одной вообще глаза были - " ААА ! Гики по Москве уже бегают, с цепи сорвались и к девкам со своим Линуксом на улице пристают!"
Конец истории, мы от них отстали. Они, правда, зачем-то замедлили шаг и почти встали, но мы рассудили, что такие тёлки нам ни к чему. И сами пошли в другую сторону.
Subscribe to:
Posts (Atom)