sun_yurta

[info]vorushin


Я - киборг и это нормально!


HackDay2, Санкт-Петербург
sun_yurta
[info]vorushin
HackDay2 - http://spb.hackday.ru/
Санкт-Петербург
От идеи к прототипу за выходные
(СПбГУ ИТМО), 5-6 декабря 2009 года

Про стремление к истине
sun_yurta
[info]vorushin
[info]_joki_ пишет:

только стремление к истине отличает человека от животного, оно же большее понимание, оно же большее самоосознание, оно же просветление.
такие продукты как развитие, созидание, творчество, радость, свобода в высшем понимании всегда только следствие этого стремления к истине
без него развитие - это только приспособление и подстраивание мира под себя
созидание - это только желание получить результат
творчество - это только жевание соплей и собственная важность
радость - это только стремление к удовольствию и комфорту
свобода - только жадность, вседозволенность и снова важность

Читать дальше - http://users.livejournal.com/_joki_/262316.html

[info]avva пишет:
мне показалась интересной недавняя запись Пола Букхайта Applied Philosophy, a.k.a. "Hacking".

Главная мысль Букхайта - что хакером является каждый, кто стремится выяснить, как оно на самом деле работает, и пользуется этим знанием, чтобы сделать что-то лучше, быстрее, выгоднее, удобнее, красивее, чем вышло бы по правилам.

Читать дальше - http://avva.livejournal.com/2151009.html

Python quotes, part 2
sun_yurta
[info]vorushin
Fortunately, you've left that madness behind, and entered the clean, happy, and safe Python world of transvestite lumberjacks and singing Vikings.
-- Quinn Dunkan, 17 Sep 2000

Regular expressions are among my most valued tools, along with goto, eval, multiple inheritance, preemptive multithreading, floating point, run-time type identification, a big knife, a bottle of bleach, and 120VAC electricity. All of these things suck sometimes.
-- Kragen Sitaker, 27 Sep 2000

The most successful projects I've seen and been on did rewrite all the code routinely, but one subsystem at a time. This happens when you're tempted to add a hack, realize it wouldn't be needed if an entire area were reworked, and mgmt is bright enough to realize that hacks compound in fatal ways over time. The "ain't broke, don't fix" philosophy is a good guide here, provided you've got a very low threshold for insisting "it's broke".
-- Tim Peters, 25 Oct 2000

Humour is a tricky thing. Some people can't even get the spelling right.
-- Richard Brodie, 30 Oct 2000
Read more... )

Начало - http://vorushin.livejournal.com/205511.html
Источник - http://www.amk.ca/quotations/python-quotes/

Python quotes
sun_yurta
[info]vorushin
Нашел подборку цитат от разработчиков языка Python (этакая история языка в цитатах):

I've seen Python criticized as "ugly" precisely because it doesn't have a trick-based view of the world. In many ways, it's a dull language, borrowing solid old concepts from many other languages & styles: boring syntax, unsurprising semantics, few automatic coercions, etc etc. But that's one of the things I like about it.
-- Tim Peters, 16 Sep 1993

Python is an experiment in how much freedom programmers need. Too much freedom and nobody can read another's code; too little and expressiveness is endangered.
-- Guido van Rossum, 13 Aug 1996

I mean, just take a look at Joe Strout's brilliant little "python for beginners" page. Replace all print-statements with sys.stdout.write( string.join(map(str, args)) + "\n") and you surely won't get any new beginners. And That Would Be A Very Bad Thing.
-- Fredrik Lundh, 27 Aug 1996

One of my first big programming assignments as a student of computer science was a source formatter for Pascal. The assignment was designed to show us the real-life difficulties of group programming projects. It succeeded perhaps too well. For a long time, I was convinced that source code formatters were a total waste of time, and decided to write beautiful code that no automatic formatter could improve upon. In fact, I would intentionally write code that formatters could only make worse.
-- Guido van Rossum, 31 Mar 1998

This is Python! If we didn't care what code looked like, most of us would probably be hacking in some version of Lisp -- which already covered most of Python's abstract semantics way back when Guido was just a wee snakelet frolicking in the lush Amsterdam jungle.
-- Tim Peters, 24 Apr 1998
Read more... )

Источник - http://www.amk.ca/quotations/python-quotes/ (я прочитал пока только первые 5 частей :)))))

Вакансия веб-разрабочика
sun_yurta
[info]vorushin
Москоммерцбанк (где я работаю с июня, и откуда скоро ухожу на новый проект) ищет веб-разработчика, с опытом создания веб-сервисов и веб-приложений на современных технологиях - PHP/Python/Java (как-минимум что-то одно), HTML/CSS/JavaScript (желательно все - верстать некому).

Плюсы:
- офис рядом с м. 1905 года
- рабочий день с 9 до 18 - сразу научитесь рано просыпаться :))))
- оформление по ТК РФ
- зарплата от 50 000 рублей на руки (верхняя планка зависит от квалификации)
- неплотный рабочий график - можно поизучать новые технологии
- хорошее начальство

Минусы:
- поскольку это банк, то разработчику тут скучновато - медленные процессы, не самые новые технологии (но вполне реально внедрить новые, например я написал веб-приложение на Python+Django)
- большие стационарные компьютеры с Windows (но можно приносить свой ноут)
- рано или поздно придется серьезно вникать в устройство банковских информационных систем (как хранятся счета, карты, депозиты и тп)

Тем не менее, вполне реально набраться опыта, сделать что-то полезное и получить за это хорошие деньги. Кому интересно - пишите мне на roman.vorushin@gmail.com

PythonLabs
sun_yurta
[info]vorushin
Одна из серьезнейших причин любить Python - это питонисты :)))) Вокруг этого языка собралось действительно интересное сообщество!!!

Вот сегодня обнаружил - http://pythonlabs.com/ (текст на английском, одна страничка, подымает в небеса и заставляет улыбаться!!!!!)

Upd. А вот тут можно полюбоваться на питонистов - http://www.flickr.com/photos/termie/sets/72157616044454732/

15 лет назад
sun_yurta
[info]vorushin
Отчетливо помню как осенним прохладным павлодарским вечером я стоял на автобусной остановке "Счастье" и приходил в себя после первого волшебного контакта с компьютером. Это была Yamaha с зелено-черным экраном, 64 килобайтами памяти и встроенным интерпретатором языка MSX-Basic.

Девятый класс, 1994 год, прошло 15 лет :)))))

Автобусная остановка действительно называлась "Счастье" - по названию большого магазина "Счастье", который находился напротив остановки.

И программирование действительно подарило мне много счастья :))))) Классе в 10-11 я думал что переболел этой болезнью, но нет - оказалось что это уже на всю жизнь!

Perl
sun_yurta
[info]vorushin
Цитата из книги "Learning Perl, 5th edition":

E:
In fact, a big part of learning Perl is actually learning how Larry thinks. Therefore, once you can think like Larry does, you know what Perl should do. But while you’re learning, you’ll probably need to look into the documentation.

R:
Вообще-то, большая часть в изучении языка Perl - это изучение того как Ларри (автор языка) мыслит. Следовательно, как только вы сможете мыслить также, как это делает Ларри, вы будете знать что должен делать Perl. Но пока вы учитесь, вам следует заглядывать в документацию.

-
И это действительно так - каждый язык программирования отражает стиль мышления его создателя. Гвидо ван Россум - ты отлично мыслишь!

Upd. Написал на Хабр - http://habrahabr.ru/blogs/programming/70816/

Документация в Python
sun_yurta
[info]vorushin
Посмотрел как правильно документировать проекты, написанные на Python, рассказываю:

Забудьте про javadoc-style (вы ведь поставляете исходники, а не скомпилированный модуль)

Используйте string literals в начале модуля, класса, функции для комментирования по сути - что это и зачем. Если написать нечего - ничего вообще вставлять не нужно, никаких пустышек-заменителей. Никаких особых символов использовать не нужно - обычный человеческий хорошо написанный текст. Параметры функций расписывать не нужно - разве что написать про некоторые особо важные. Вместо этого лучше сделать имена параметров самоописательными.

Используйте обычные комментарии # там где это полезно. Вообще правильно считать и string literals и # частью кода. Там где код говорит сам за себя, там вообще не нужны комментарии. Лучше упростить код и убрать лишние комментарии. Код должен быть простым и красивым. Писать на Python проекты - это как писать книгу.

Для design-level документации: либо используйте Sphinx, либо просто любимую wiki. Если документации много, много авторов и много версий проекта - лучше выбрать Sphinx. Он как wiki, которая хорошо понимает Python и текст документов которой хранится рядом с кодом в svn/mercurial/git/bazaar. Для примера - сайты с документацией к Python и Django генерируются при помощи Sphinx.

И всё :))))

httplib2 версии 0.5
sun_yurta
[info]vorushin
Всем, кто пишет на Python и частенько вызывает всякие веб-сервисы, интересно будет узнать что вышла библиотека httplib2 версии 0.5

Версия 0.4 тоже работала неплохо, но не очень дружила с Python 2.6 и 3.0, а у этой версии уже всё с этим хорошо. Также добавлена поддержка Google Account Authentication

http://code.google.com/p/httplib2/

Эрланг и три простые истины
sun_yurta
[info]vorushin
Из скайп-чата:

Краткая выжимка по Эрлангу - самый подходящий язык для реализации различных Comet-приложений: всякие уведомления, близкие к мгновенным, постоянные соединения

Самый подходящий - потому что словарь языка и главные границы при проектировании языка это "быстрые легкие процессы", "быстрый обмен информацией между процессами", "минимум разделяемой памяти"

Мне еще открылась одна простая истина, даже две :)
Сейчас расскажу

Первая - что чем более язык программирования близок к DSL*, тем правильнее, быстрее и красивее получаются продукты

Вторая - что не нужно писать DSL-языки на каком-то мета-языке, созданном для написания DSL-языков. Вместо этого лучше использовать разные языки и дружить их между собой

О, и третья истина, уже довольно старая
Вообще нужно больше изучать то, что создали другие, и по возможности использовать их наработки, и если это хорошие наработки - то делиться ими и поддерживать их

--
* - domain specific language (язык, специфичный для данной предметной области, пример инструкции на варианте банковского DSL - "создаем клиента, добавляем ему кредит, отправляем уведомление по СМС")

А потом они становятся обычными программистами
sun_yurta
[info]vorushin
Янка рассказала вчера - к нам ходит женщина-врач, делает массаж Еве. Женщина по возрасту - как наши родители. Ева - очень активная, шустрая, умная, быстрая, успевает и повозмущаться по поводу массажа и всё попробовать и куда-то уползти :))))

Женщина ворчит - "Ох уже эти гиперактивные дети! Я передачу смотрела про них - учатся читать в 2 года, школу заканчивают в 14 лет, но потом-то - все равно становятся ОБЫЧНЫМИ ПРОГРАММИСТАМИ."

Янка хохочет и говорит - "Ну, так и есть. Муж читает с 2-х лет, школу закончил в 15 и сейчас - программист"

Женщина покраснела и сменила тему.

А я как услышал эту историю, сказал - "Становятся не обычными программистами, а ХОРОШИМИ программистами. Это большая разница!"

:))))))

Open-source проекты
spacesuit_rudy
[info]vorushin
Сегодня запостил первый мой Django-баг - нашел один неработающий фрагмент, разобрался что там не так, заставил его заработать и написал об этом в общую google group - ребята ответили что "очень похоже на баг" и я добавил его в трекер Django.

К чему это я:
1. Я молодец :))))
2. Если программная система открыта, то её пользователи могут сами исправлять ошибки, присылать комментарии и исправления

Причем я даже не расстроился и не подумал ни про кого плохо. Ведь ребята сами работают ради того, чтобы программисты получали удовольствие, пользуясь их любимым фреймфорком.

"Будущее наступило. Просто оно еще неравномерно распределено." (с) Уильям Гибсон

И для хороших программистов это не просто слова :))))

Веб-программирование и корпорации
sun_yurta
[info]vorushin
[16:48:51] Ворушин: Веб-программирование хотя бы потому прекрасно, что веб никому конкретно не принадлежит
[16:49:09] Ворушин: И поэтому не может быть одной единственной лучшей технологии, "от производителя"
[16:49:30] Ворушин: Не может быть одного самого лучшего патентованного подхода, который можно купить за 49.99
[16:51:16] Ворушин: Окунулся в SOAP web-services, в которые вложили миллиарды и миллиарды долларов - так вот, они хуже во многих случаях, чем RESTful web services, которые просто были упомянуты в диссертации по вебу (0 миллиардов долларов)

Научился верстать веб-странички
sun_yurta
[info]vorushin
Сверстал первую в своей жизни полноценную страничку полностью самостоятельно. DIV, CSS, все дела :)))))

Краткий, но очень хороший учебник по DIV/CSS верстке - http://softwaremaniacs.org/blog/category/web/primer
Офигенный инструмент для отладки верстки - http://www.getfirebug.com

PS. А пару дней назад научился программировать на PL/SQL

The Zen of Python
sun_yurta
[info]vorushin
Напишите в консоли:

python
>>> import this

И получите:

The Zen of Python, by Tim Peters

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!

Люблю этот язык!

Рисоваська под Mac (как собрать Qt-приложение под Mac OS X)
рисоваська
[info]vorushin
Написал статью на Хабр - http://habrahabr.ru/blogs/apple/59057/



Еще в начале января я собрал первую работающую версию Рисоваськи под Mac и лишь два дня назад появилась версия, которую не стыдно показывать другим людям. Сначала расскажу почему же портирование на Mac заняло так много времени, а потом - как собрать проект на Qt под Mac OS X

Читать всю статью на Хабре

Особая благодарность - Валере Хиоре [info]9val!
Mac-версия Рисоваськи - http://static.risovaska.ru/Risovaska_Mac.zip
Присылайте фидбек в комментарии к этому посту или в сообщество Друзья Рисоваськи"

Очень простая жизнь
sun_yurta
[info]vorushin
У меня сейчас очень простая жизнь: смог убаюкать ребенка - можешь немного попрограммировать :))))

PS. Если кого-то смущает покупка Oracle'ом компании Sun (которая владеет MySQL), посмотрите на PostgreSQL

Маленькие программерские радости
sun_yurta
[info]vorushin
1. Python - офигенный язык! Гугловцы обещают ускорить его в пять раз - и никаких компромиссов! (PHP, до свидания!)

2. Django - офигенный фреймворк для создания сайтов, написанный на Python! Читал блог разработчиков, очень радовался!!!

3. Ubuntu Linux 8.10 - просто подарок для веб-программиста! Заодно понял почему так много веб-разработчиков "сидят" на Mac OS X - это одновременно и Unix, и работают привычные визуальные инструменты: Flash, Photoshop, MS Office.

4. Консоль и текстовые форматы рулят!

5. UTF8 forever!

Раз-два-три-Тетрис
sun_yurta
[info]vorushin
Сегодня с помощью [info]rudyryk научился писать на флеше :)))))
Написал тетрис для программистов и математиков:

1. Щелкните мышкой по игровой области
2. Управляйте стрелочками на клавиатуре "Влево", "Вправо", "Вниз"
3. Кубики уничтожаются, если по вертикали или по горизонтали сумма кубиков даёт число 10
4. Чтобы сыграть заново - перезагрузите страничку в браузере



Посвящаю эту игрушку моей любимой Янке [info]schtorm

Home