Pull to refresh
90
0
Григорий Крайнов @acmer

User

Send message

IBM PC своими руками — это очень просто

Reading time 34 min
Views 199K
image

После того, как я воплотил свою давнишнюю мечту и все-таки (хотя и с опозданием почти на 30 лет) построил Радио 86РК, некоторое время мне казалось, что на этой части моей истории поставлена вполне достойная точка.

Тем не менее, обнаружилось, что болезнь до конца не вылечена, и она вернулась еще более острым рецидивом. Наверное, сказались как неожиданно успешный опыт постройки 86РК, так и то, что у меня в ходе данного процесса образовалось довольно большое количество весьма притягательно выглядящих инструментов, приборов и деталей, которым очень хотелось найти применение.
В конце концов ломка стала нестерпимой, и мне пришлось снова взяться за паяльник, а также вспомнить некоторые другие навыки из прошлого. Что из этого получилось, можно увидеть вместе с некоторым количеством картинок и очень (повторяю – ОЧЕНЬ) большим количеством букв (и даже не букв, а страниц) дальше…
Читать дальше →
Total votes 261: ↑260 and ↓1 +259
Comments 81

RAII и необрабатываемые исключения

Reading time 4 min
Views 18K
Наверняка все знают прописную (в книгах про С++) истину о чудесной методологии RAII, если нет — приведу краткое описание из википедии.

Это шаблонное описание этой техники
Получение ресурса есть инициализация (англ. Resource Acquisition Is Initialization (RAII)) — программная идиома объектно-ориентированного программирования, смысл которой заключается в том, что с помощью тех или иных программных механизмов получение некоторого ресурса неразрывно совмещается с инициализацией, а освобождение — с уничтожением объекта.

Типичным (хотя и не единственным) способом реализации является организация получения доступа к ресурсу в конструкторе, а освобождения — в деструкторе соответствующего класса. Поскольку деструктор автоматической переменной вызывается при выходе её из области видимости, то ресурс гарантированно освобождается при уничтожении переменной. Это справедливо и в ситуациях, в которых возникают исключения. Это делает RAII ключевой концепцией для написания безопасного при исключениях кода в языках программирования, где конструкторы и деструкторы автоматических объектов вызываются автоматически, прежде всего — в C++.

Последнее предложение вроде как обещает 100% гарантию результата, но как всегда в жизни, а особенно в С++, есть нюанс.
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Comments 45

Сделаем код чище: Что можно исправить в ядре Linux

Reading time 5 min
Views 37K
Наверняка многие хотели бы попробовать что-то изменить в ядре Linux к лучшему, но не знают с чего начать. Я хочу описать несколько проблем, исправить которые под силу каждому, и на примере показать путь от нахождения проблемы до опубликования её исправления в списке рассылки. По ходу повествования читатель познакомится с некоторыми вспомогательными утилитами.
Читать дальше →
Total votes 87: ↑86 and ↓1 +85
Comments 29

Архитектура умного дома — с Black Swift и не только

Reading time 7 min
Views 37K
Привет, Хабр!

Если раньше мы смотрели на проекты «умного дома» с интересом, но несколько со стороны, то сейчас, после выхода Black Swift в публичное поле, нам самим стали приходить вопросы и предложения по использованию его в качестве базы для «умного дома» — и естественно, я не мог не уделить отдельное внимание этой теме.

Результат меня расстроил, и я хотел бы поговорить об этом.

Проекты «умного дома» сейчас рождаются (и умирают) как грибы — но, к сожалению, в большинстве случаев они обусловлены не осознанием недостатков уже существующих решений, а самим фактом наличия технологических платформ, на которых что-то такое можно построить. Это хорошо видно по Хабру: по мере популяризации того или иного решения проходит волна очередных «беспроводных розеток» на нём. Так было с NRF24LE1, сейчас такая же волна идёт с ESP8266. Некоторые многообещающие проекты за свою жизнь успевают поменять по две-три платформы — в зависимости от текущей моды и наличия под рукой кого-нибудь, кто может на одной из них что-нибудь спаять.

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

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

Ах да, чуть не забыл КДПВ. Вот:



Она не про «умный дом», а про то, что Black Swift можно найти на MWC на стенде Imagination Technologies. А теперь давайте про «умный дом».
Читать дальше →
Total votes 37: ↑35 and ↓2 +33
Comments 177

STM32 и FreeRTOS. 5. Приносим пользу и добро!

Reading time 5 min
Views 61K
На всякий случай, а то вдруг санкции применят (смаил). Описываемый случай не имеет никакого отношения к реальности и является целиком и полностью выдумкой автора

Раньше было про потоки, семафоры, очереди и HAL

Как-то раз попросили меня посмотреть на одно очень дорогостоящее устройство. Проблема была одна: среди использующих это устройство возникло стойкое убеждение, что 99,99% его цены происходит от того факта, что производитель этого устройства монополист в своей сфере и деваться пользователям этого устройства некуда.



Вооружившись осциллографом, я полез внутрь.
Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Comments 14

Эти незаменимые регистрационные карточки

Reading time 10 min
Views 73K
image

Продолжается цикл постов, посвященных старинной офисной технике.
В прошлых постах я рассказывал о русских счетах и приспособлениях для копирования, в настоящем посте предлагаю вниманию хабравчан иллюстрированный обзор о регистрационных карточках.
Пост длинный из-за множества картинок.
Читать дальше →
Total votes 168: ↑165 and ↓3 +162
Comments 40

Эй, Google, ты что?

Reading time 8 min
Views 8K
В субботу в блоге кенийского стартапа Mocality появилась следующая заметка, наделавшая много шуму:

Я горжусь делом, которое мы организовали в Mocality, но особенно — двумя вещами:
  • Нашей краудсорсинговой программой. Когда мы начинали работу, мы понимали, что (в отличие от США или Великобритании, где каталог для выкладывания в сеть можно просто купить), если мы хотим получить достойную базу данных кенийских предприятий, нам придётся наполнять её с нуля. Также было очевидно, что для быстрого роста предприятия нам потребуется помощь многих кенийцев. Поэтому мы создали систему сбора информации, задействующую M-PESA (местную популярную платёжную систему) для вознаграждения каждого кенийца с мобильником, кто сообщает данные для нашей базы, и они подтверждаются проверкой. За два года мы выплатили 11 млн кенийских шиллингов (более 100 000 долларов) тысячам человек, и построили самый полный каталог в Кении, включающий более 170 тысяч проверенных записей. От себя, я считаю эту работу самым важным достижением моей 18-летней интернет-карьеры.
  • С первого дня мы нацелились на каждую кенийскую организацию, безотносительно размера. В итоге, примерно для двух третей предприятий в списке Mocality это их первый шаг в Сеть. Мы вывели в онлайн порядка ста тысяч организаций.

Пока вы читаете, держите в голове следующее:

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

В сентябре Google запустил программу Getting Kenyan Businesses Online («Вывод кенийских организаций в Сеть», GKBO). Хотя мы видели, что в некоторых аспектах она конкурирует с нами, мы приветствовали это начинание, поскольку в Кении достаточно потенциала для всех, и каждый новый участник помогает росту рынка. И, конечно, мы достаточно уверены в продукте, в нашей местной команде и в нашей увлечённости, чтобы соревноваться с любым противником при условии честной игры.

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

Читать дальше →
Total votes 177: ↑161 and ↓16 +145
Comments 63

HP будет продавать Touchpad по 99 долларов 11 декабря на eBay

Reading time 1 min
Views 1.5K


Похоже на то, что у любителей приобретать хорошие вещи по не очень высокой цене есть все шансы это сделать. Компания HP объявила о том, что будет продавать свои планшеты Touchpad с webOS на eBay 11 декабря. В продажу поступят как 16 ГБ, так и 32 ГБ модели. Стоимость их составляет 99 и 149 долларов, соответственно. Можно только представить себе, какой поднимется ажиотаж при «выбросе» партии этих планшетов.

Читать дальше →
Total votes 57: ↑50 and ↓7 +43
Comments 265

Закачка любых файлов в бесплатный Google Account

Reading time 1 min
Views 6.3K
В последнем обновлении Google Documents List Data API v. 3.0 добавлена возможность сторонним приложениям закачивать файлы любых форматов в Google Account. Раньше эта функция была доступна только владельцам аккаунтов Google Apps for Business.



Похоже, пресловутый GDrive наконец-то пришёл, только с опозданием на пять лет, позволив раскрутиться разным «левым» проектам вроде Dropbox.
Читать дальше →
Total votes 109: ↑99 and ↓10 +89
Comments 97

Стенограмма доклада про Фантом-ОС, сделанного Дмитрием Завалишиным на ADD-2010

Reading time 22 min
Views 4.3K

Аннотация


Дмитрий Завалишин рассказал о текущем состоянии в разработке своего любимого детища — оригинальной операционной системы PhantomOS, близкой по концепции Microsoft Singularity, но при этом open-source (опубликована большая часть исходных кодов этой операционной системы).

Микроядерная операционная система без файлов и процессов, только с вечно живущими объектами/нитями/тредами, привлекала любопытных даже на уровне концепции, а теперь она стала оживать, загружаться, и готова превратиться в настоящий коллективный проект.
Читать дальше →
Total votes 168: ↑158 and ↓10 +148
Comments 117

Как сохранить здоровье, работая за компьютером?

Reading time 8 min
Views 105K
Иллюстрация

Вы заботитесь о своем здоровье?


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

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

Читать дальше →
Total votes 272: ↑259 and ↓13 +246
Comments 139

Реклама Почты России

Reading time 1 min
Views 3.1K
Я нарисовал «рекламу» для Почты России — в связи с событиями последних месяцев. Думаю, вам будет интересно заценить.

russian post

Под катом еще 6 штук.

UPD. По мотивам комментариев сделал еще 4 постера.

UPD2. Ещё 2.

UPD3. Добавил шаблоны.

Обращаю ваше внимание: кликнув на картинку, вы перейдете на Flickr, где сможете получить hi-res версию постера — для вашего личного блога, к примеру. Или чтобы распечатать и на стенку повесить. Если вдруг кому понадобиться, могу pdf прислать, обращайтесь в личку.

Читать дальше →
Total votes 265: ↑239 and ↓26 +213
Comments 89

Первый Dropquest от Dropbox.com

Reading time 1 min
Views 1.2K
DropquestЗавтра 15.01.2011 состоится первый Dropquest. Что такое Dropquest?

Dropquest — это специальный конкурс который дает шанс выиграть свободное пространство к своему аккаунту на dropbox'e и также памятные призы.

Немного о сути квеста:
Читать дальше →
Total votes 134: ↑123 and ↓11 +112
Comments 397

Cookies внутри iframe — проблема при создании приложения ВКонтакте/Facebook

Reading time 5 min
Views 56K
Управление сессиями при помощи посылки cookies на сайтах стало настолько распространено, что без этого не обходится, наверное, ни один проект, требующий авторизации пользователей. Казалось бы, механизм настолько изучен, что проблемы с ним просто немыслимы.

Так считали и мы при разработке iframe-приложения для ВКонтакте.
Но после того, как приложение было разработано (разработка велась в основном в Mozilla Firefox и Google Chrome), выяснилось, что оно неработоспособно в Internet Explorer, к которому позднее присоединились последние версии Opera и Safari.

Под катом подробное описание проблемы и вариантов её решения.
Читать дальше →
Total votes 59: ↑54 and ↓5 +49
Comments 45

Модернизации зеркала в прихожей

Reading time 2 min
Views 197K
Результат моих трудов

Идея модернизации зеркала появилась у меня 2 года назад. И для ее реализации в магазине Икея было куплено зеркало. Так же для этого зеркала была куплены фоторамка с метеостанцией. Как всегда, нехватка времени, лень и страх не давали мне реализовать свою идею до победного конца. И вот моя идея, наконец-то, реализовалась.
Читать дальше →
Total votes 94: ↑86 and ↓8 +78
Comments 55

10 анти-паттернов навигации в Android

Reading time 4 min
Views 80K


В данной статье мы рассмотрим 10 анти-паттернов навигации в Android, которые допускают многие новички (и не только) в создании интерфейсов Android-приложений.

Читать дальше →
Total votes 116: ↑107 and ↓9 +98
Comments 26

SoftEther VPN — продвинутый мультипротокольный VPN-сервер и клиент

Reading time 3 min
Views 386K
Как скоро я смогу вас заинтересовать, если скажу, что в этой статье речь пойдет о VPN-сервере, который может поднимать L2TP/IPsec, OpenVPN, MS-SSTP, L2TPv3, EtherIP-серверы, а также имеет свой собственный протокол «SSL-VPN», который неотличим от обычного HTTPS-трафика (чего не скажешь про OpenVPN handshake, например), может работать не только через TCP/UDP, но и через ICMP (подобно pingtunnel, hanstunnel) и DNS (подобно iodine), работает быстрее (по заверению разработчиков) текущих имплементаций, строит L2 и L3 туннели, имеет встроенный DHCP-сервер, поддерживает как kernel-mode, так и user-mode NAT, IPv6, шейпинг, QoS, кластеризацию, load balancing и fault tolerance, может быть запущен под Windows, Linux, Mac OS, FreeBSD и Solaris и является Open-Source проектом под GPLv2?

То-то и оно. Такое пропустить нельзя.
Читать дальше →
Total votes 125: ↑120 and ↓5 +115
Comments 45

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity