dimrub: (Default)
Нет, вы не знаете С++. Вы знаете С++ с хорошей стороны, но вы еще узнаете С++ с плохой стороны!

Я в последние годы как-то остерегаюсь высказывать категоричные мнения по таким темам, как будущее языков программирования, но мне кажется, что будет интересно.
dimrub: (Default)
at least twice. Очень интересный список, судя по аннотациям. Я оттуда читал только №5, но теперь собираюсь и остальные прочитать.
dimrub: (Default)
А вот еще такой вопрос ко френдам-программистам. Допустим, вы отвечаете за какой-то, достаточно значительный кусок кода. До вас этим куском кода в течении многих лет занималось еще множество народу, с частью из которых вы даже не знакомы, а другие уж далече. Вам кажется, что код этот - наказание за все ваши грехи: он с одной стороны имеет очень сложный для понимания дизайн, с другой - в течении тех лет, что его поддерживали, в него внесли кучу изменений, которые идут поперек этого дизайна. Таким образом в нынешнем его виде вносить в него дальнейшие изменения (о которых все время просят заказчики) - чистая и незамутненная радость. В такой ситуации есть два возможных решения:

1. Либо потратить кучу времени и сил на реставрацию: понаписать тестов, сделать рефакторинг, вернуть код к жизни.
2. Либо выбросить все, и написать, с учетом имеющегося опыта, заново.

Очевидно, что начальство двумя руками за 1-й вариант: переписывание - это риск, начальство рисков не любит. Очевидно также, что будут ситуации, когда будет выбран первый вариант, а будут - когда второй. Чем бы вы руководствовались при решении о том, какой вариант выбрать?
dimrub: (Default)
Читаю по наводке [livejournal.com profile] object уже третью книгу подряд. Вот они в порядке прочтения:

1. Agile software development
2. Test driven development by example
3. Refactoring (это та, которую сейчас читаю)

Мне, такому всему из себя "матерому зубру", должно быть немного неловко, но эти книги были для меня настоящим eye opener-ом. В отличие от традиционных книг по программированию, которые либо описывают конкретную технологию, либо говорят о дизайне в идеальном мире (см., скажем, Буч либо гэнг оф фор), эти книги говорят о том, как решать проблемы, с которыми большинство программистов вынуждены сталкиваться на практике в течении 90% своей профессиональной деятельности (время, потраченное на заседания, перекуры и тренинги - не в счет). Например - как быть, когда приходится иметь дело с кодом, написанным годы назад неизвестно кем, а потом поддерживающимся еще кучей народу, мало кто из которых до конца понимал, как работает код, который он изменяет. Как вести себя в условиях постоянно меняющихся требований, в условиях, когда эти новые требования тянут код в направлении, о котором не думали при певоначальном дизайне. И так далее. Очень рекомендую всем, кто еще не (и кто не дошел до всего своим умом).

Линки

Dec. 23rd, 2008 02:35 pm
dimrub: (Default)
на технические темы, накопилось:

  1. The C10K problem (как достичь 10К одновременных соединений на стандартном линуксе)
  2. Debugging Makefiles
  3. Linux kernel networking flows
  4. Google's Python based build system

gotchas

Oct. 23rd, 2008 12:01 pm
dimrub: (Default)
Скорее для собственной памяти, но и для нахождения в поисковиках решений на редкие компьютерные проблемы, замутил сообщество [livejournal.com profile] gotchas. Что-то типа упомянавшегося здесь stackoverflow.com небезызвестного Й. Спольского, но более камерное. Если вдруг кому интересно - прошу.
dimrub: (Default)
Программы, которые компилируются (и работают) на разных языках.

(случайно обратил внимание, что один из авторов - мой бывший коллега).

Neat

Sep. 23rd, 2008 05:50 pm
dimrub: (Default)
programming trick (thanks to [livejournal.com profile] ilya_dogolazky for inspiration for looking it up).
dimrub: (Default)
к вопросу о старинных компьютерных технологиях (по ссылке <lj user=stas>). Все, конечно, знают анекдот про программиста на Коболе, замороженного на тысячу лет...
dimrub: (Default)
Это покруче целования дуба будет, однако. Наверное, по эпохальности, это войдет в один ряд с priority inversion на pathfinder-e, и длинными зимними ночами программисты будут пугать своих детей этим багом.

Fit&Eat

Apr. 29th, 2008 04:28 pm
dimrub: (Default)
Продолжаем разговор. Уже готовы, в базовом виде, сбор статистик и замеров, и кардио-тренировки (кроме небольшого рефакторинга, который намечен на сегодняшний вечер, после чего можно будет строить графики всевозможных статистик, связанных с кардио). Сегодня я перешел на использование этих двух аппликух вместо того, чем пользовался раньше (caloriecount.about.com для слежения за весом, и Google Spreadsheets для кардио), что облегчается своевременно написанными импортом/экспортом. Следующий пункт - силовые тренировки. Забацаю их, потом свяжу это все воедино - и закину на сервер, чтобы можно было начинать с этим играться. Потом займусь самым тяжелым - питанием. Никто не знает, случаем, где взять израильскую и российскую базу данных продуктов, аналогичную американской?

Fiteat

Apr. 21st, 2008 02:23 pm
dimrub: (Default)
Потихоньку продолжаю стругать сайтег для слежения за кормежкой и качанием. Завел ему гугль проджект:

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

Делаю это (стругаю, то есть) исключительно по двум причинам: во-первых, чтобы была аппликуха, которая идеально подходит именно под мои требования, во-вторых, чтобы изучить еще одну технологию (всерьез веб-программиногом не занимался с 96 года). Потому и делаю, несмотря на кучу уже имеющихся аналогичных сайтов. Кстати, на том же гугль коде поиск на фитнес выдает штук 10 аналогичных проектов (все, впрочем, замороженные).

В общем, если есть идеи, что должен включать в себя такой сайт - пишите письма комменты.
dimrub: (Default)
Чем больше пишу на Джанго, тем больше кайфую. Вчера сделал солидный кусок своей аппликации, стерев пару сотен строчек кода, и написав вместо них примерно 10 других строчек. Очень хорошо продуманная система, далекая от идеала, но легко расширяемая до оного - потому как с самого начала правильно думали.

Django

Apr. 15th, 2008 09:42 am
dimrub: (Default)
Скажите, а есть ли среди читающих этот журнал спецы по Джанго? То есть, люди, которые его действительно хорошо знают? Хотел бы пару вопросов задать.
dimrub: (Default)
А вы говорите - зачем эта гонка за миллисекундами. А вот что мне пишет Google Apps Engine в ответ на простенький запрос, который генерирует некий файл, одновременно обновляя базу данных (ничего сверхестественного, ей богу, каких-то 400 записей):

This request used a high amount of CPU, and was roughly 1.4 times 
over the average request CPU limit. High CPU requests have a small
quota, and if you exceed this quota, your app will be temporarily disabled.

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








GAE

Apr. 10th, 2008 05:06 pm
dimrub: (Default)
Все-таки получил доступ в Google App Engine (спасибо доброму инсайдеру :)).

Забавная штука. В теории это работает так:
  1. Скачиваешь SDK
  2. Быстренько перегоняешь под него свою аппликацию (SDK включает в себя тестовый сервер)

  3. Загоняешь на сервер
  4. Наслаждаешься следами трудов своих
На деле, увы, все не так просто. GAE поддерживает два уеб-фреймворка: некий свой, называется WebApp - и Django (речь пока что идет исключительно о питоне, но планируют добавлять и другие среды выполнения). Но это только на словах Django поддерживается. На деле же, чтобы готовая аппликация заработала в GAE, ее надо подвергнуть довольно значительной переработке. В частности, некоторые APIs не работают, вместо них, зачем-то, гугль дает свои, с несколько урезанной функциональностью (например, urllib2 не работает, вместо него есть некий странный fetchurl, в котором, например, нет authentication, и редайректы он тоже, например, не отрабатывает). Ну и кроме того пункт №4 не совсем работает: моя аппликация, работавшая с тестовым сервером, после загрузки на настоящий не сработала, а почему - я еще не понял. В общем, сыровато как-то, но потенцияль есть. По условиям беты, можно создать три аппликации, чем я с удовольствием и займусь - идей хватает :).

В заключение не могу не пропеарить еще раз конкурс в [livejournal.com profile] coding4fun_ru (сорри, [livejournal.com profile] asbb :)). Народ там прямо-таки жжот, и борьба идет за десятые доли секунды (под конец и до сотых дойдет, чую). Я там уже плетусь в хвосте, и подумываю о сходе с дистанции со своими несчастными 3.3s on 2GHz.
dimrub: (Default)
А вот на этом конкурсе на данный момент уже представлены следующие языки:

C++
Perl
Python
PHP
Haskell
LISP
Scala (первый раз слышу про такой)

Кто больше?
dimrub: (Default)
в [livejournal.com profile] coding4fun_ru: здесь.

Я свое уже написал. Работает на питоне, предложенный data set решает за чуть меньше 14 секунд на 2GHz CPU. На плюсах, говорит [livejournal.com profile] zhuzh, есть решение за 3 секунды. 

Profile

dimrub: (Default)
Adventures of a somewhat curious character

September 2013

S M T W T F S
12 345 67
891011121314
15161718192021
22232425262728
2930     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 26th, 2017 09:14 am
Powered by Dreamwidth Studios