anton_nazarov: (Default)
Если вы еще не видели, срочно смотреть.
Работает только в новых браузерах (Firefox 4, Chrome).
anton_nazarov: (Default)
Недавно дочитал хорошую книжку Peter-а Seibel-а "Coders at work".

Автор известен своей первой книгой "Practical Common Lisp", которая бесплатно доступна на его сайте. Именно по ней я осваивал Common Lisp. При этом на сайте автора помимо самой книги выложена специальная сборка Emacs+SLIME+sbcl, которая хотя и слегка устарела, представляет собой полную среду разработки на Lisp для начинающих.

Новая книга "Coders at work" состоит из интервью со следующими известными программистами:

  • Jamie Zawinski ([livejournal.com profile] jwz) - основатель XEmacs, автор bbdb, один из создателей Netscape
  • Brad Fitzpatrick - создатель LiveJournal, memcached
  • Douglas Crockford - изобретатель JSON
  • Brendan Eich - автор JavaScript
  • Joshua Bloch - один из авторов Java Collections Framework, автор кучи книжек про Jav-у, главный архитектор Google по Java
  • Joe Armstrong - создатель Erlang
  • Simon Peyton Jones - ведущий разработчик GHC
  • Peter Norvig - автор известных книг про искусственный интеллект, директор исследовательского подразделения Google
  • Guy Steele - серийный создатель и стандартизатор языков программирования. Придумал Scheme и Fortress, участвовал в стандартизации Scheme, Common Lisp, Fortran, C, ECMAScript и Java.
  • Dan Ingalls - один из создателей Smalltalk и первого GUI.
  • L Peter Deutsch - работал над Interlisp и Smalltalk, один из авторов Just-in-time компиляции, автор Ghostscript.
  • Ken Thompson - создатель UNIX.
  • Fran Allen - пионер оптимизирующих компиляторов, первая женщина, получившая Turing Award.
  • Bernie Cosell - автор первой реализации Arpanet.
  • Donald Knuth - в представлении не нуждается :)

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

Например, взгляды на язык C у Дональда Кнута и Fran Allen прямо противоположны - Кнут считает, что язык C очень хорош, так как позволил программистам самим создавать гибкие структуры данных, такие, как двусвязный список. А для Fran Allen его появление стало катастрофой, так как после этого пропал интерес к оптимизирующим компиляторам. По её мнению это отбросило всю отрасль на десятилетия назад.

В отношении C++ взгляды почти у всех сходятся - этот язык не нравится никому =) Peter Seibel просуммировал это в своём посте. Однако Java тоже вызвала некоторые споры.

Небезынтересно также обсуждение TDD и Literate Programming. Оказывается, почти никто из почтенных героев книги не использует TDD, хотя все соглашаются с важностью тестов. Питер Норвиг вообще считает, что тесты - это не главное. Он приводит в подтверждение историю написания программы для решения судоку. Сам Питер Норвиг написал эту программку, а другой блоггер, пропагандирующий TDD увяз в написании тестов в самом начале, так как просто не знал, как решать задачу. Рассказ [livejournal.com profile] jwz о разработке в Netscape и роли в ней тестов, и реакция на него Joel-a Spolsky также вызвали драму. (Ссылка 1, ссылка 2, ссылка 3).

Почти все говорят о важности чтения кода, но полноценным Literate Programming-ом занимается только Кнут =). Впрочем, проблема заключается лишь в том, что программисты не очень привыкли писать. Поэтому надежда на рост блоггерства. Я вот тоже решил попробовать пойти по стопам Кнута, так что следующий пост будет про Literate Programming.

Надеюсь, я вас убедил прочитать книгу "Coders at work". Бумажную книжку можно купить в Amazone :) А электронная есть на gigapedia.org (нужна регистрация).

anton_nazarov: (Default)
Читал этот пост [livejournal.com profile] jwz в ответ на статью Джоэла Спольски. Сами тексты довольно интересны и вызвали некоторое обсуждение среди публики, но речь не о них.

При чтении журнала [livejournal.com profile] jwz мне захотелось инвертировать цвета на экране. То есть я, конечно, понимаю, что можно добавить к адресу ?style=mine или поменять тему в браузере, но я осознал, что мне не хватает сочетания кнопок для инвертирования. Тем более, что когда я ещё использовал KDE3 и Compiz, negate был единственным действительно полезным эффектом.

Две минуты поиска в гугле не дали простого готового решения на уровне X-ов, поэтому пришлось изобразить следующее.

Технические детали )
А как у вас устроена кнопка для инвертирования экрана?
anton_nazarov: (Default)
По телевизору показали Кашпировского и в этот момент сгорел монитор.
anton_nazarov: (Default)
Что-то я простыл, поэтому сегодня сижу дома. Зато приклеил очередную отвалившуюся пластмассовую деталь лаптопа. То, что я клеил в прошлый раз выделено синим, а то, что сейчас - красным.

laptop

А у кого-нибудь ещё такие детали отламывались, или мне достался особенно ломкий лаптоп?
anton_nazarov: (Default)
Как-то так получилось, что про компы я пишу в другом блоге и на английском, так что не буду нарушать традицию, хотя этот пост не очень технический.

Воспоминания про то, какие у меня были компьютеры (с картинками)
anton_nazarov: (Default)
Под катом смутные воспоминания про то, как я искал работу

Читать )

Profile

anton_nazarov: (Default)
anton_nazarov

September 2014

S M T W T F S
 123456
78910111213
14 151617181920
21222324252627
282930    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 25th, 2017 02:47 am
Powered by Dreamwidth Studios