Pull to refresh
554
0
Филипп Володин @Fil

Пользователь

Send message

Как найти свое призвание (новая статья от Оливера Эмбертона)

Reading time6 min
Views292K
image

Очень многие из нас верят в существование волшебной субстанции под названием «призвание». «Если бы я только мог найти свое призвание», — с горечью говорим мы. «Я был бы счастлив, если бы нашел свое призвание...»

Что сказать? Призвание — реальность, причем, невероятно могущественная. Но почти все, что люди знают о его поиске, в корне неверно. Именно об этом ведет речь в своей последней статье Оливер Эмбертон. Продолжаем размышлять над личной эффективностью!
Читать дальше →

Организация памяти в ОС семейства Windows

Reading time2 min
Views13K
Пост создан для публикации одной единственной картинки (кликабельна). На мой взгляд, она как нельзя лучше передаёт атмосферу того как устроена память в компьютере. Я изобразил её на 3-4 курсе института на A4 при объяснении положения дел товарищу. Так она мне тогда понравилась, что дал себе обещание нарисовать её в электронном виде.

Исходник в формате VSD (Microsoft Visio) лежит у меня в DropBox. Если имеются уточнения, поправки, комментарии — прошу под кат.
Читать дальше →

Байки о несовместимых приложениях

Reading time7 min
Views11K
Это отрывки из бесплатной главы из бумажной книги «The Old New Thing». Они ничему не пытаются научить; это просто короткие забавные эпизоды из будней борцов за совместимость новых версий Windows со старыми приложениями.

Изменяем номер версии Windows


Изменить номер версии, который Windows сообщает программам, не просто, как кажется. Например, некоторые программы проверяют номер версии так:
UINT Ver = GetVersion();
UINT MajorVersion = LOBYTE(uVer);
UINT MinorVersion = HIBYTE(uVer);
if (MajorVersion < 3 || MinorVersion < 10) {
    Error("This program requires Windows 3.1");
}

Представьте себе, как этот код отработает на Windows 95, у которой номер версии 4.0. Вторая проверка срабатывает из-за того, что 0 меньше 10.
И ладно бы программа просто выводила сообщение об ошибке и завершалась. Многие рушились: очевидно было, что их поведение на «неподдерживаемых» версиях Windows никогда не тестировалось.

Таких программ оказалось настолько много, что мы перестали исправлять их по одной, и просто изменили возвращаемый номер версии с 4.0 на 3.95.

Программы для MS-DOS тоже не все гладко реагировали на изменение версии ОС. Это удивительно потому, что к тому времени у MS-DOS уже были десятки выпущенных версий и под-версий, и разработчикам пора было бы уже научиться проверять номер версии. Но например, один пакет программ использовал номер версии DOS как индекс в таблице функций: по собственной функции для каждой вышедшей версии. В таблице было пять функций: от MS-DOS 1.x до 5.x. Когда программа запускалась под MS-DOS 6.0, она вызывала адрес за пределами таблицы, и рушилась.

Изменить номер версии, который Windows сообщает программам, — необходимый, но очень тяжёлый шаг. Пара нажатых клавиш, и падают сотни приложений, отлично работавших до сих пор; теперь отделу совместимости придётся потратить на вылавливание чужих багов лишнюю тысячу человеко-часов.

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

Перестаньте называть себя программистом и другие карьерные советы

Reading time19 min
Views258K
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
Читать дальше →

Как на самом деле работает протокол Биткоин

Reading time28 min
Views213K
(Замечательное объяснение принципов работы сети Bitcoin авторства Michael Nielsen. Много текста, немного картинок. Обо всех корявостях перевода — в личку, буду исправлять по мере обнаружения)

Много тысяч статей было написано для того, чтобы объяснить Биткоин — онлайн, одноранговую (p2p) валюту. Большинство из этих статей поверхностно рассказывают суть криптографического протокола, опуская многие детали. Даже те статьи, которые «копают» глубже, часто замалчивают важные моменты. Моя цель в этой публикации — объяснить основные идеи, лежащие в протоколе Биткоин в ясной, легкодоступной форме. Мы начнем с простых принципов, далее пойдем к широкому теоретическому пониманию, как работает протокол, а затем копнем глубже, рассматривая сырые (raw) данные в транзакции Биткоин.
Читать дальше →

Достичь совершенства

Reading time4 min
Views25K
Со мной что-то не так. Ни в одном деле я не могу достигнуть высот мастерства. Будучи человеком увлекающимся, я чем только не увлекался (простите за тавтологию). И всё происходит по стандартной схеме:

Новая тематика -> Погружение с головой в вопрос -> Осознание границ тематики и собственных перспектив в ней -> Потеря интереса
Похоже на вас?

Разорительные принтеры по программе модернизации здравоохранения

Reading time3 min
Views2.8K
Я работаю админом в муниципальной поликлинике, веду сообщество italks «ИТ в медицине: Иркутск и Иркутская область» (есть jabber-конфа, ВК, блог, почтовая рассылка и даже телефонная книга). Пришёл сюда в 2010м на 2 внедрения: электронные медицинские карты и «электронная» запись к специалистам. Медицина — очень перспективное по внедрениям направление, всё получается и поэтому очень нравится)

image

Начало работы на новом месте пришлось на начало «Программы модернизации здравоохранения Иркутской области на 2011-2012 годы». Меня сразу заинтересовали её несколько пунктов: создание ЛВС учреждения, разработка МИС (медицинской информационной системы) и приобретение техники (персональных компьютеров, принтеров, серверов). Мы сами занимались разработкой и согласованием проектов ЛВС, а региональное министерство здравоохранения взяло на себя разработку МИС и централизованную закупку техники через аукцион.

image

Чтобы иметь возможность повлиять на выбор техники, которая попадёт ко мне, я вёл достаточно активную деятельность.
Читать дальше →

UEFA показывает, как не нужно делать формы опроса на сайте

Reading time1 min
Views2.1K
Имел неосторожность выиграть возможность купить один билет на ЕВРО-2012 (ну зачем мне один, я хотел два) на билетном портале UEFA. Сегодня пришло предложение поучаствовать в анкетировании, для увеличения качества сервиса. И был очень сильно удивлен, оказывается не только у нас официальные организации могут делать вещи настолько плохо.



Внимание загадка — что ответить на эти вопросы?

Как начать и не бросить писать ОС

Reading time7 min
Views78K
Очередной велосипедЧитая Хабр в течении последних двух лет, я видел только несколько попыток разработки ОС (если конкретно: от пользователей pehat и iley (отложено на неопределённый срок) и Igor1024 (не заброшено, но пока больше походит на описание работы защищённого режима x86-совместимых процессоров, что бесспорно тоже необходимо знать для написания ОС под x86); и описание готовой системы от alman (правда не с нуля, хотя в этом нет ничего плохого, может даже наоборот)). Мне почему-то думается, что почти все системные (да и часть прикладных) программисты хотя бы раз, но задумывались о написании собственной операционной системы. В связи с чем, 3 ОС от многочисленного сообщества данного ресурса кажется смешным числом. Видимо, большинство задумывающихся о собственной ОС так никуда дальше идеи и не идёт, малая часть останавливается после написания загрузчика, немногие пишут куски ядра, и только безнадёжно упёртые создают что-то отдалённо напоминающее ОС (если сравнивать с чем-то вроде Windows/Linux). Причин для этого можно найти много, но главной на мой взгляд является то, что люди бросают разработку (некоторые даже не успев начать) из-за небольшого количества описаний самого процесса написания и отладки ОС, который довольно сильно отличается от того, что происходит при разработке прикладного ПО.

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

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

В человеческом мозге столько же «транзисторов», сколько в мировой ИТ-инфраструктуре

Reading time2 min
Views26K
Стэнфордские нейробиологи потратили несколько лет, разрабатывая новый способ 3D-сканирования мозга. Они совместили объёмную компьютерную томографию (array tomography — техника «антенных решёток» из радиоастрономии) и специально разработанный софт, чтобы получить объёмную и реалистичную 3D-модель. Такую, по которой можно перемещаться, масштабировать и вращать её в разных измерениях.


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

Изучив полученную картину, учёные пришли к выводу, что синапсы устроены гораздо сложнее, чем предполагалось раньше.
Читать дальше →

Создание FB2 версии свежего номера журнала/газеты

Reading time3 min
Views7.7K

Предыстория


Последнее время всё больше журналов и газет выкладывают свои свежие номера в сеть (Ведомости, Эксперт, Esquire и т.п.). Все хорошо с этими номерами за одним исключением — что бы их читать нужен интернет.
С интернетом проблема в том что он не везде есть (метро) и не каждое устройство его видит (большинство e-ink ридеров).
В связи с этим родилась мысль о том что не плохо бы делать копии периодики в виде электронных книжек (например в FB2 формате).
Как сделать электронную книгу из номера журнала на сайте

Цветы для Дэниела Киза

Reading time3 min
Views1.1K
Как Вы считаете, может ли один автор получить две самые престижные премии за практически одно произведение, а после не написать ни одного произведения сравнимого по успеху с первым?
А может ли это произведение быть настолько успешным, что на родине автора его включили в список обязательной литературы для изучения в учебных заведениях?
о ком идет речь читаем далее

YouTube — один час в секунду

Reading time1 min
Views2.2K
Ранее Google создавали таблицы и графики для визуализации достижений пользователей YouTube. Теперь они запустили http://onehourpersecond.com — интерактивную коллекцию событий, которые происходят за «одну секунду YouTube».

Итак, за 1 секунду пользователи загружают на YouTube 1 час видео. Это значит, что… http://onehourpersecond.com

Также доступно видео на YouTube (спасибо Londain):

О другом подходе к устройству на работу

Reading time5 min
Views18K
… или почему я никогда не занимался веерной рассылкой резюме, а долго присматривался, затем посылал одно, и меня там брали.

Пришедшая на почту рассылка новостей принесла мне очередную статью с «ХедХантера», призванную, якобы, помочь соискателям правильнее составить резюме.
Одна из многих подобных. Несть им числа.
Там, конечно же, рассказывалось о том, что хорошо, а что плохо писать в разных разделах резюме, какими словами о себе рассказывать можно, а какими нет, в общем — как представить из себя идеально собранную машинку по исполнению скромной, но очень важной для компании роли.

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

Статья для соискателей.
Читать дальше →

Жизнь разработчика (в картинках)

Reading time1 min
Views67K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



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

Альтернативные аллокаторы памяти

Reading time13 min
Views96K
Написал Стивен Тови в 2:29 утра по программированию (шутка юмора Google Translate)
Вступление от себя: эта заметка, прорекламированная Алёной C++, предназначена в основном разработчикам игр для консолей, но будет, наверное, полезна и всем, кому приходится сталкиваться с экстремальным аллоцированием динамической памяти. Возможно, любители посравнивать управление памятью в C++ и Java тоже найдут над чем задуматься.

Оригинал с небезынтересной дискуссией в комментариях: altdevblogaday.org/2011/02/12/alternatives-to-malloc-and-new


Обязательная вступительная басня

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

Сейчас объясню, почему...

Своя поисковая система на сайте

Reading time2 min
Views1.1K
Часто встречаю такую ситуацию, когда на Интернет-сайтах необходим собственный внутренний полнотекстовый поиск. Реализовать его не так уж и сложно, а эффект от его внедрения огромный.
Так на одном из своих проектов необходимо было реализовать быстрый поиск тематической информации из БД. На данный момент для решения подобных проблем используются теги и рубрики к записям. Но в моем случае это был не вариант. Постановка задачи следующая: на основе введенных двух-трех слов необходимо вывести записи, содержащие эти слова.
Структура в упрощенной форме БД приведена на рисунке.

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

10 лучших stop-motion видеороликов на YouTube

Reading time2 min
Views47K
imageСоздание stop-motion видеороликов — труд зачастую бескорыстный, но достаточно кропотливый. Ниже представлена коллекция из десяти видеороликов, созданных людьми, которые были по-настоящему вовлечены в свою работу.

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

Итак, 10 невероятных покадровых видеороликов:

1. Stop Motion With Wolf And Pig



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

Information

Rating
8,669-th
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity