История разработки одного муниципального сайта

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

Читать дальше →

В Starcraft 2 теперь можно выбирать расы, цвета, моды (AI)

Для Starcraft 2 появился новый графический лаунчер, главная фишка которого — выбор рас. Теперь не обязательно по 20 раз делать рестарт ради того, чтобы сыграть за желаемую расу против определенных врагов. Кроме того, есть возможность выбрать цвет для каждого игрока, удобный выбор карты и отключение игроков (например, если на карте на для 4 игроков вы хотите поиграть только с 2 ботами). Добавить к этому еще быструю смену модов (AI), включение показа FPS и многие другие функции, и получается просто мастхэв.

Читать дальше →

Вынужденное пиратство или как я возненавидел лицензионные копии

Сегодня, 27 августа, ранним теплым утром я вскочил с постели, умылся, поел и с радостью пошел в магазинчик компьютерных дисков. Я редко играю, а если и играю, то скачиваю с торрентов, денек увлекаюсь, потом сразу удаляю. Но сегодня особый случай. Выходит «Мафия 2», её я ждал долгих 9 лет. Первая часть игры является одним из приятнейших воспоминаний далёкого детства.
Читать дальше →

Passenger/DataMapper/Sinatra: Ruby наносит ответный удар

Всемирная сеть полна всевозможных мануалов, как для php поднять на %operation_system% связку Apache + php + MySQL и сделать работающий «It Works!»/«<? phpinfo() ?>».
Логотип: Passenger for nginx, DataMapper, Sinatra
Почему для ruby поднять сервер не сложнее и пример простого веб-приложения, развернутого на Linux-сервере, под катом.

Читать дальше →

Разработка приложений для сенсорных экранов

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

Читать дальше →

Автоматизация небольшого магазина

Добрый день.

Хотел бы вам рассказать о своем опыте автоматизации магазинов с нуля. Самое тяжелое в данном процессе является понять чего же хочет в конечном итоге видеть заказчик. Приведу пример из своего опыта.

Средний магазин по продаже игрушек для детей и одежды. Хозяйка которая через знакомых находит меня и обращается со своей проблемой.

1) Не работает учет.
2) Не лицензионное программное обеспечение.
3) Обучение сотрудников.
4) Заметил что клиенты иногда думают что они вам могут поделиться и начинают взваливать на вас личные проблемы. В данный момент самое страшная проблема для нее, она расходиться с мужем с которым она делила бизнес.

Читать дальше →

Каталогизация архива дисков с Camel Disc Catalog

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

Рассмотрев решения для каталогизации, я остановился на Camel Disc Catalog. Программа позволяла добавлять в БД диски вместе с внутренней структурой, что позволяло быстро найти понадобившийся файлик. Кроме того, для каждого диска можно прописать такие полезные данные, как его группа, теги (создаются пользователем), описание и номер (об этом чуть позже).

Читать дальше →

Плагин CMS Apostrophe для фреймворка symfony

Здравствуйте уважаемые читатели Хабра. Я хочу рассказать о прекрасном плагине Apostrophe для фреймворка symfony.
Данный плагин представляет из себя CMS с открытым исходным кодом, построенную на базе ORM Doctrine и библиотеки jQuery. Особенностью Apostrophe является поддержка контроля версий, которая позволяет сделать откат любых изменений, совершенных ранее. В отличии от большинства CMS плагин не разделяет сайт на две части: пользовательскую и администраторскую, все изменения вносятся в самом контексте сайта. Все эти возможности позволяют сохранить интуитивно понятный интерфейс и дают возможность свободно изменять содержимое сайта, не боясь при этом допустить ошибки.

Читать дальше →

Различные красивости и фантики при помощи CSS3

В общем то много интересного говорят сейчас о CSS3. Он дает большие возможности и различные вкусности которых нам так всегда не хватало. Конечно же, часто приходится искать нестандартные решения, особенно если заказчик противится прогрессу браузеров, и ему все равно где, что и как, но на его XP SP1 стоит Internet Explorer 6, и ни на что его менять он не собирается.

В общем это все грустно и печально, но в последнее время мне стали попадаться заказчики, которые все чаще говорят: «Ну значит пользователям Internet Explorer не повезло.» Это на самом деле замечательно. Понятно, что верстка никуда не должна ехать, ничего не должно слетать в наших «самых любимых браузерах», однако такой сговорчивый заказчик, и подход к делу с этой стороны позволяют нам использовать различные плюшки, которые упрощают верстальщику жизнь, а главное уменьшают вес страницы, а значит дает дополнительные возможности для высоконагруженных порталов.

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


Читать дальше →

Эмпирическая оценка алгоритмов на Python

Ниже представлен перевод главы из книги Python Algorithms: Mastering Basic Algorithms in the Python Language (Expert's Voice in Open Source).

В этой книге описывается проектирование алгоритмов (и тесно связанный с ним анализ алгоритмов). Но в разработке есть также и другой немаловажный процесс, жизненно необходимый при создании крупных реальных проектов, это — оптимизация алгоритмов. С точки зрения такого разделения, проектирование алгоритма можно рассматривать как способ достижения заданного асимптотического времени работы (с помощью разработки эффективного алгоритма), а оптимизацию — как процесс уменьшения скрытых временных затрат при сохранении асимптотической сложности алгоритма.


Читать дальше →