User
Видеообзор GarageBand для iPad
1 min
3.4KПростенький обзор GarageBand для iPad от дилетанта. Прошу прощения за качество съемки, в камере нет ручной фокусировки. В двух словах — программа сказочная. Восторженные отзывы могу только поддерживать. Если пользоваться платным софтом, то он должен быть таким.
+131
Фулвью ор нот фулвью: о пользе и вреде полной BGP-таблицы
17 min
74KНа любом околосетевом форуме легко найти с десяток веток о выборе оборудования для BGP-пиринга с возможностью «держать две, три, пять, двадцать пять фулвью». Большинство таких веток выливается в холивары на тему Cisco vs. Juniper или еще чего похуже. Офлайновое же их развитие нередко напоминает мультфильм о шести шапках из одной овичины. В общем, бывает смешно.
И крайне редко обсуждается вопрос о необходимости этого самого фулвью.
+89
Перевод «1С: Хронограф Школа» на СПО
2 min
1.5KОт постера: завершая «бархатный» переход к СПО в нескольких образовательных учреждениях, в конце этого года столкнулся я со следующей проблемой: в учебных классы, на «печатных машинках» учитилей, методистов и секретарей существование Windows в меню загрузки было обусловлено лишь существованием 1С: Хронографа. Даже с помощью вполне официальной инструкции и описаний успешных следований ей долгое время не решалась проблема устойчивой работы этого проприетарного продукта под Linux. Впрочем, и под Windows сие поделие 1С стабильностью не отличается..
Проблему только за последний год в моём регионе пыталось решить несколько групп специалистов… И вот накануне мне пришло письмо от начальника нашего Областного Ресурсного Центра Е.В.Михалёвой, её команде удалось разобраться в причинах неприменимости официальной инструкции, серьёзно её доработать и добиться стабильной работы школьного Хронографа под АльтЛинукс 4 Мастер. На очереди доработка для АльтЛинукс 5 и популярных ubuntu-based дистрибутивов.
Проблему только за последний год в моём регионе пыталось решить несколько групп специалистов… И вот накануне мне пришло письмо от начальника нашего Областного Ресурсного Центра Е.В.Михалёвой, её команде удалось разобраться в причинах неприменимости официальной инструкции, серьёзно её доработать и добиться стабильной работы школьного Хронографа под АльтЛинукс 4 Мастер. На очереди доработка для АльтЛинукс 5 и популярных ubuntu-based дистрибутивов.
+24
Налоги — неизбежны как смерть
9 min
5.5KСегодня хочу немного поговорить на тему налогов в российском малом бизнесе вообще и налогов в жизни веб-студии в частности. Надеюсь топик будет полезен вчерашним фрилансерам, доросшим до необходимости создания студии, начинающим предпринимателям и просто интересующимся темой. Ничего сверхнового в этом топике нет.
+128
Как достичь профессионального вида с помощью цвета
9 min
11KTranslation
Что заставляет дизайн выглядеть скоординированным, спланированным и профессиональным? Ответ: 'цвет'.
Далеко не каждый проект нуждается в использовании мягкого корпоративного синего цвета для того, чтобы выглядеть профессионально. Планирование цвета означает создание структуры, которая бы описывала, какие использовать цвета и как их использовать. Цвет — самый неподдающийся элемент дизайна. «Хороший» цвет жестко связан с такими неуловимыми вещами как личный вкус и интуиция, и, в то же время, с технической позиции с калибровкой монитора и контрастом.
Но цвет просто необходим для контента. Если Вы уделите вебсайту достаточно времени для его совершенства, то читатели вероятно уделят достаточно времени его просмотру. Хороший выбор цвета сделает это возможным.
В этой статье мы будем делать обзор некоторых методик, чтобы достигнуть красивого сочетания цвета для Ваших проектов в сети.
+140
+117
Эмулятор компьютера с linux на JavaScript
2 min
45KНикакой серверной части. Только JS: полноценный эмулятор компьютера с линуксом на борту.
bellard.org/jslinux
(внимание, только хром и FF4)
Я долго с ним игрался — это не имитация, линукс ведёт себя как настоящий линукс — компилированные программы работают, ошибки в них вызывают segmentation fault, повреждение корневой файловой системы вызывает бурю возмущения в dmesg и т.д.
dd показывает при работе с памятью более чем приличную производительность — более 40 мб/с (не забываем, что это эмулятор, и что это JS в вашем браузере!).
Я никогда не думал, что мы доживём до подобного.
… А теперь начинается оргия:
* С использованием локального хранилища мы можем организовать диски (каждый key-value соответствует одному сектору).
* С использованием web-socket мы можем создать паравиртуализированный драйвер сети с выходом на железный машрутизатор и получить нормальную сеть.
* С использованием существующих технологий (NUMA, DRBD, corosync) можно организовать вычислительный кластер из браузеров.
(Кстати, показывать консоль в этом случае не обязательно — вы запускаете виртуальную машину у клиента в бэкграунде, виртуальная машина присоединяется к кластеру, начинает считать, по её аварийному завершению — закрытию браузера — кластер автоматически переконфигурируется).
Я это пишу как хохму, но в реальности, если у вас есть линукс и есть — у вас есть все возможности для работы чего угодно. Любые сетевые приложения, любые системы синхронизации и управления.
Никто не мешает создать паравиртуализированный драйвер видео с помощью canvas, у вас есть webGL, для которого можно написать свой вариант cuda и получить довольно мощную акселерацию вычислений…
Ну и финал — запуск хрома внутри эмулируемой виртуальной машины.
Итак, эмуляция дошла до браузеров…
bellard.org/jslinux
(внимание, только хром и FF4)
Я долго с ним игрался — это не имитация, линукс ведёт себя как настоящий линукс — компилированные программы работают, ошибки в них вызывают segmentation fault, повреждение корневой файловой системы вызывает бурю возмущения в dmesg и т.д.
dd показывает при работе с памятью более чем приличную производительность — более 40 мб/с (не забываем, что это эмулятор, и что это JS в вашем браузере!).
Я никогда не думал, что мы доживём до подобного.
… А теперь начинается оргия:
* С использованием локального хранилища мы можем организовать диски (каждый key-value соответствует одному сектору).
* С использованием web-socket мы можем создать паравиртуализированный драйвер сети с выходом на железный машрутизатор и получить нормальную сеть.
* С использованием существующих технологий (NUMA, DRBD, corosync) можно организовать вычислительный кластер из браузеров.
(Кстати, показывать консоль в этом случае не обязательно — вы запускаете виртуальную машину у клиента в бэкграунде, виртуальная машина присоединяется к кластеру, начинает считать, по её аварийному завершению — закрытию браузера — кластер автоматически переконфигурируется).
Я это пишу как хохму, но в реальности, если у вас есть линукс и есть — у вас есть все возможности для работы чего угодно. Любые сетевые приложения, любые системы синхронизации и управления.
Никто не мешает создать паравиртуализированный драйвер видео с помощью canvas, у вас есть webGL, для которого можно написать свой вариант cuda и получить довольно мощную акселерацию вычислений…
Ну и финал — запуск хрома внутри эмулируемой виртуальной машины.
Итак, эмуляция дошла до браузеров…
+304
Вы НЕ инженер-программист!
3 min
36KTranslation
От перев.: Думаю, практически каждый разработчик читал произведение искусства под названием «Если бы программисты строили дома». В этом юмористическом рассказе проводится параллель между строительством и разработкой ПО. Неожиданно! Понятно, что в каждой шутке есть доля правды. И вот спустя годы я наткнулся на другое сравнение. Мне оно показалось более точным, поэтому я решил перевести его на русский и поделиться с сообществом.
+173
Полиморфные ассоциации и Devise в Ruby on Rails
7 min
4.7KВсем привет.
Когда-то давно я писал статью про полиморфные ассоциации в Ruby on Rails и, помнится, некоторые негодовали: зачем, мол, писать про Rails 2, если на подходе новая версия.
Недавно мне пришлось столкнуться с полиморфными ассоциациями в Rails 3, а точнее придумать, как организовать на сайте два типа пользователей: заказчик и исполнитель. В этой статье речь пойдет о полиморфных ассоциациях и гемах Devise (для аутентификации) и CanCan (для авторизации).
Когда-то давно я писал статью про полиморфные ассоциации в Ruby on Rails и, помнится, некоторые негодовали: зачем, мол, писать про Rails 2, если на подходе новая версия.
Недавно мне пришлось столкнуться с полиморфными ассоциациями в Rails 3, а точнее придумать, как организовать на сайте два типа пользователей: заказчик и исполнитель. В этой статье речь пойдет о полиморфных ассоциациях и гемах Devise (для аутентификации) и CanCan (для авторизации).
+33
Создание py2exe сборок с модулями Python, содержащими сторонние файлы
6 min
11KДля краткости, введем обозначение «нестандартные» — под этим термином будем далее подразумевать такие модули, которые содержат в себе файлы, отличные от *.py. К примеру это могут быть библиотеки (*.pyd), картинки, иконки, и т.д.
Первая проблема состоит в том, что практически все сборщики бинарных «дистрибутивов» python-приложений, такие как py2exe, bbfreeze, cx_Freeze, и другие, забирают из таких модулей только *.py файлы. Вторая проблема возникает со сложными namespace-модулями, такими как ETS — часто сборщик не может правильно разобрать все их внутренние зависимости.
Конкретно в моем случае камнями преткновения оказались все модули ETS (mayavi, chaco, и т.д.), m2crypto, vtk, h5py, matplotlib и несколько других (вообще, как выяснилось, таких модулей очень много).
Я попробовал протестировать разные сборщики и поначалу остановился на cx_Freeze, т.к. он единственный умеет более-менее правильно импортировать ETS «из коробки». Однако, его оказалось недостаточно: он не смог справиться с другими нестандартными модулями, а также по ряду других причин (к примеру, мне так и не удалось скрыть окно консоли, поставить кастомную иконку, и пр.). Конечно, там есть механизм «рецептов» (совсем не документированный), который даже работает, к примеру, для matplotlib, но хотелось более универсального и простого решения, чем писать подобный рецепт под каждый модуль.
В итоге я остановился на py2exe, т.к. с ним удалось решить все вышеназванные проблемы. Поскольку на это ушло довольно-таки значительное время, то хочу с вами поделиться — может кому тоже понадобится.
Первая проблема состоит в том, что практически все сборщики бинарных «дистрибутивов» python-приложений, такие как py2exe, bbfreeze, cx_Freeze, и другие, забирают из таких модулей только *.py файлы. Вторая проблема возникает со сложными namespace-модулями, такими как ETS — часто сборщик не может правильно разобрать все их внутренние зависимости.
Конкретно в моем случае камнями преткновения оказались все модули ETS (mayavi, chaco, и т.д.), m2crypto, vtk, h5py, matplotlib и несколько других (вообще, как выяснилось, таких модулей очень много).
Я попробовал протестировать разные сборщики и поначалу остановился на cx_Freeze, т.к. он единственный умеет более-менее правильно импортировать ETS «из коробки». Однако, его оказалось недостаточно: он не смог справиться с другими нестандартными модулями, а также по ряду других причин (к примеру, мне так и не удалось скрыть окно консоли, поставить кастомную иконку, и пр.). Конечно, там есть механизм «рецептов» (совсем не документированный), который даже работает, к примеру, для matplotlib, но хотелось более универсального и простого решения, чем писать подобный рецепт под каждый модуль.
В итоге я остановился на py2exe, т.к. с ним удалось решить все вышеназванные проблемы. Поскольку на это ушло довольно-таки значительное время, то хочу с вами поделиться — может кому тоже понадобится.
+28
Паять просто (комикс)
1 min
64KБуквально неделю назад ребята из MightyOhm выпустили 8ми страничный комикс об азах пайки. Он понравился мне тем, что не смотря на свой формат и объём, в мелких деталях объясняет основные принципы этого процесса, которые совсем не очевидны для людей ни разу не державших в руках паяльник (как показывает практика, для многих державших тоже).
В общем, потратив сутки я всё там перевёл, постаравшись сохранить оригинальную верстку и стиль.
Если вы давно хотели научиться паять сами, или планируете научить этому своих детей, то все необходимые ссылки под катом.
В общем, потратив сутки я всё там перевёл, постаравшись сохранить оригинальную верстку и стиль.
Если вы давно хотели научиться паять сами, или планируете научить этому своих детей, то все необходимые ссылки под катом.
+216
Информационное общество и повторное использование информации
2 min
1.6KВ том что российское государство декларирует и делает в инициативах по электронному правительству, электронному государству и информационному обществу есть одна большая тема которая и по сей день тщательно избегается.
Эта тема называется «открытые государственные данные» (open government data), которая в Евросоюзе также может называться как public sector information.
Именно развитие этой темы позволяет не просто создать государственные услуги и иные информационные сервисы, но и вовлекать граждан в контроль за государственными органами.
Что такое открытые данные?
Открытые данные — это способ представления общедоступной информации в машиночитаемой форме. В виде в котором разработчики могут загрузить их в базы данных, проанализировать и представить в куда более наглядной и понятной форме чем то как это делается в государственных системах.
Открытые данные ценны не сами по себе, а благодаря тому что они используются гражданами. Это называется «повторное использование информации».
Говоря иначе — информация раскрываемая государством становится ценной не тогда когда она публикуется, а тогда когда она используется повторно и именно это сейчас активно поощряется государственными структурами в Евросоюзе, США и многих других государствахх ОЭСР.
Так, в Европейском союзе открытые данные уже являются частью их программы по построению информационного общества и подробности, отчеты и материалы они публикуют на специальном разделе сайта посвященного этой программе http://ec.europa.eu/information_society/policy/psi/index_en.htm
В США действует несколько десятков проектов созданных как органами власти так и некоммерческими организациями и все они нацелены именно на открытые данные.
Самый известный их проект — это Data.gov. Это огромный по маштабам «склад данных» которые можно использовать в коммерческих и некоммерческих целях.
Эта тема называется «открытые государственные данные» (open government data), которая в Евросоюзе также может называться как public sector information.
Именно развитие этой темы позволяет не просто создать государственные услуги и иные информационные сервисы, но и вовлекать граждан в контроль за государственными органами.
Что такое открытые данные?
Открытые данные — это способ представления общедоступной информации в машиночитаемой форме. В виде в котором разработчики могут загрузить их в базы данных, проанализировать и представить в куда более наглядной и понятной форме чем то как это делается в государственных системах.
Открытые данные ценны не сами по себе, а благодаря тому что они используются гражданами. Это называется «повторное использование информации».
Говоря иначе — информация раскрываемая государством становится ценной не тогда когда она публикуется, а тогда когда она используется повторно и именно это сейчас активно поощряется государственными структурами в Евросоюзе, США и многих других государствахх ОЭСР.
Так, в Европейском союзе открытые данные уже являются частью их программы по построению информационного общества и подробности, отчеты и материалы они публикуют на специальном разделе сайта посвященного этой программе http://ec.europa.eu/information_society/policy/psi/index_en.htm
В США действует несколько десятков проектов созданных как органами власти так и некоммерческими организациями и все они нацелены именно на открытые данные.
Самый известный их проект — это Data.gov. Это огромный по маштабам «склад данных» которые можно использовать в коммерческих и некоммерческих целях.
+40
Объединение двух локальных сетей с одинаковым номерами сетей на Linux-шлюзе
5 min
44KПри создании локальной сети не каждый администратор подходит с ответственностью к выбору диапазона адресов. А может и не каждый догадывается о наличии частных диапазонов кроме 192.168.0.0/24. И со временем такая бомба замедленного действия может дать о себе знать. Локальные сети объединяются, возникает потребность в коммуникации между хостами разных сетей. И тут выясняется, что номера сетей совпадают. И менять их по каким либо причинам проблематично или невозможно.
+61
Канбан в IT (Kanban Development)
7 min
283KЯ собираюсь написать несколько статей про новую методологию гибкой разработки Канбан (Kanban Development) в целях подготовки к Scandinavian Agile Conference 2009, где я буду делать один из докладов (кстати, заодно приглашаю всех на конференцию).
Сегодня публикую первую из статей.
Основная задача первой статьи — это как можно проще описать основы Канбан: что это такое, в чем отличие от других гибких методологий и зачем это нужно.
Также я хотел бы собрать как можно больше вопросов и сомнений в комментариях, чтобы ответить на них в следующих статьях, так что пишите всё, что вам непонятно, или что ещё вы хотели бы узнать про Канбан.
Я не то, чтобы большой специалист по этой новой методологии, но мы внутри команды пришли к Канбану самостоятельно и последовательно прошли все этапы мутации от SCRUM до Канбан, так что практический опыт есть.
Сегодня публикую первую из статей.
Основная задача первой статьи — это как можно проще описать основы Канбан: что это такое, в чем отличие от других гибких методологий и зачем это нужно.
Также я хотел бы собрать как можно больше вопросов и сомнений в комментариях, чтобы ответить на них в следующих статьях, так что пишите всё, что вам непонятно, или что ещё вы хотели бы узнать про Канбан.
Я не то, чтобы большой специалист по этой новой методологии, но мы внутри команды пришли к Канбану самостоятельно и последовательно прошли все этапы мутации от SCRUM до Канбан, так что практический опыт есть.
+55
Подборка 10 css3 кнопок
4 min
91KС каждым днем новые стандарты css3 и html5 всё более глубоко входят в жизнь верстальщиков и web-разработчиков, а браузеры с каждым днем становятся все более совместимыми с этими стандартами.
В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
+188
Обзор плагинов ++
2 min
3.4KОчередной топик с обзором нескольких интересных плагинов jQuery.
Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
Узнать больше (англ.) | Посмотреть в действии
Mobily Map
Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
Узнать больше (англ.) | Посмотреть в действии
+134
Pathogen. Организуем плагины
3 min
14KПроблема
Вим унаследовал структуру директорий от Unix, где файлы организованы по выполняемой ей функции, а не пакетам, к которым они принадлежат. Сложность удаления и обновления пакетов при такой организации привела к появлению пакетных менеджеров.
Решение
Pathogen позволяет устанавливать плагины в отдельные директории совершенно прозрачно для вима, причем плагины размещенные «по-старому» продолжат работать (например коллекция цветовых схем).
Пример директорий на рабочей машине:
$ ls ~/.vim/bundle/
eclim nerdtree vim-align vim-haml vim-ruby vim-vividchalk
gist PreciseJump VimCalc vim-markdown vim-ruby-debugger wombat256mod
IndexedSearch snipmate.vim vim-cucumber vim-rails vim-shoulda
jquery SuperTab-continued. vim-fugitive vim-repeat vim-surround
matchit.zip textile.vim vim-git Vim-R-plugin vim-tcomment
+16
+27
Переписываем проект с Zend Framework на Rails
9 min
7.8KОколо пяти месяцев назад я завязал с zend framework и пересел на рельсы. Тогда же начал переписывать свой проект www.okinfo.ru. Сейчас он уже закончен и sloccount показал что количество строк в проекте уменьшилось с 15000 до 4000. Мои знакомые php разработчики попросили success story и в итоге родилась эта статья. В ней я опишу как оно было, а так же немного расскажу о своем переходе на ruby.
+132
Information
- Rating
- Does not participate
- Location
- Магнитогорск, Челябинская обл., Россия
- Registered
- Activity