Pull to refresh
0
0
Александр Лукошков @alcr

User

Send message

Айтишник на отдыхе: добавим немного астрономии?

Reading time6 min
Views125K

Стремительно приближается лето и сопутствующие ему выезды на природу. Посиделки затягиваются заполночь, и над головой появляются звезды. Но, как правило, зведное небо таинственно и непонятно — астрономию в школах не преподают толком, наверное, уже с конца 80-х, да и кто помнит, чему его учили в школе, если это не использовалось в жизни постоянно? А в небе хватает интересного, особенно если потратить чуть-чуть времени на астрономическое обеспечение выезда на природу.
Читать дальше →
Total votes 107: ↑104 and ↓3+101
Comments81

Аддон для Overclock`a сознания или флешбек-профи

Reading time3 min
Views69K
В продолжение темы ОС и этих двух постов: «Overclock мозга или внутренняя виртуализация сознания», Патч для гипервизора сознания хотелось бы поделиться своим опытом в данном сабже, а так же мало задокументированной, но зато намного более простой возможностью «прокачать» свой мозг.

image
Читать дальше →
Total votes 44: ↑34 and ↓10+24
Comments29

Overclock мозга или Внутренняя виртуализация сознания

Reading time29 min
Views455K


Все помнят этот фильм? Какого черта он делает на Хабре? И вообще что тут делает подобный пост?
Наверное потому, что я считаю главным звеном в IT все таки человека, а точнее его мозги. Я попробую рассказать еще об одной возможности использовать свой мозг чуточку эффективнее. Одна из слабо задокументированных возможностей, которую мы используем каждый день, но не всегда даже об этом вспоминаем. Все описанное проверялось на мне. Если что-то я не пробовал, но рассказать об этом важно буду отмечать особо. Никаких наркотиков, аппаратов и издевательств над собой, только общедоступные легкие методики (короче, лег проспался и вперед, не вставая даже с кровати).
И да… Это до жути реалистично, на столько, что попробовав, вы не сможете не рассказать об этом.

Что бы не было лишних криков в комментах, попрошу всех кто ярых сторонников любой религии и конфессии, а так же убежденных эзотериков сразу поставить минус в карму и не читать дальше. Здесь не будет философии и великих вселенских тайн. А остальных прошу под кат — попробую рассказать о своей практике разгона мозга с помощью встроенных функций.
ночь как полигон для...
Total votes 224: ↑172 and ↓52+120
Comments292

Асинхронность: назад в будущее

Reading time22 min
Views113K

Асинхронность… Услышав это слово, у программистов начинают блестеть глаза, дыхание становится поверхностным, руки начинают трястись, голос — заикаться, мозг начинает рисовать многочисленные уровни абстракции… У менеджеров округляются глаза, звуки становятся нечленораздельными, руки сжимаются в кулаки, а голос переходит на обертона… Единственное, что их объединяет — это учащенный пульс. Только причины этого различны: программисты рвутся в бой, а менеджеры пытаются заглянуть в хрустальный шар и осознать риски, начинают судорожно придумывать причины увеличения сроков в разы… И уже потом, когда большая часть кода написана, программисты начинают осознавать и познавать всю горечь асинхронности, проводя бесконечные ночи в дебаггере, отчаянно пытаясь понять, что же все-таки происходит…

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

Так что же такое асинхронность? Почему она так привлекательна? А главное: что с ней не так?
Назад в будущее...
Total votes 130: ↑124 and ↓6+118
Comments42

Асинхронность 2: телепортация сквозь порталы

Reading time27 min
Views49K


Не прошло и года, как я добрался до продолжения статьи про асинхронность. Эта статья развивает идеи той, самой первой статьи про асинхронность [1]. В ней обсуждается достаточно сложная задача, на примере которой будет раскрыта мощь и гибкость использования сопрограмм в различных нетривиальных сценариях. В заключение будут рассмотрены две задачи на состояние гонки (race-condition), а также небольшой, но очень приятный бонус.
Читать дальше →
Total votes 63: ↑60 and ↓3+57
Comments28

Домашняя библиотека современного ребёнка

Reading time7 min
Views69K
В моём детстве огромную роль играли книги. У моих родителей (тогда ещё молодых инженеров) было много книг — приключенческие романы, детективы, фантастика, техническая и научная литература. У отца была подшивка журналов «Юный техник» и «Изобретатель и рационализатор» за полтора десятилетия. Книга или журнал в нашем доме всегда были чем-то очень важным. Дело было даже не столько в том, что в 80-90-ых их было не так легко достать, как во внимании, с которым мои родители их читали, обсуждали, что-то пересказывали мне. А ребёнок ведь в любом случае наследует поведение родителей, их интересы. И я зачитывал до дыр технические журналы, легко «глотал» детскую фантастику Булычева и Гаррисона, чуть поднапрягшись — и более серьёзных Брэдбери и Шекли. Городская библиотека, откровенно презираемая большинством моих сверстников, видела меня 2-3 раза в неделю почти десятилетие. Во многом мой жизненный путь, интерес к науке и технике, был определён уже тогда. Думаю, если бы в моём книжном шкафу 20 лет назад не стояли «Аэлита» Толстого, «Машина времени» Уэллса и «Я, робот» Азимова, я не писал бы сейчас на Хабре эту статью (и сотню предыдущих), а протирал бы штаны где-нибудь на должности «менеджера среднего звена по перекладыванию из пустого в порожнее».

Сегодня на дворе 2014 год и вот уже мой ребёнок учится читать по слогам. Завтра он протянет руку к книжному шкафу. Что же он возьмёт — бумажную книгу или электронную? Что это будет за книга?
Читать дальше →
Total votes 123: ↑116 and ↓7+109
Comments87

Автоматизация снятия показаний со счетчиков воды

Reading time6 min
Views216K
Все знают, что лень двигатель прогресса. Так случилось и в моем случае.



В квартире присутствует 6 точек раздачи воды (3 холодные и 3 горячие). На каждой из точек стоит счетчик.
Каждые 2 счетчика спрятаны за люками скрытого монтажа, один из люков находится за зеркалом, которое нужно снять, чтобы до него добраться.

Раз в месяц с 20 по 25 число необходимо снимать показания со всех счетчиков и отправлять данные в Управляющую Компанию на бланке определенного образца.

В какой-то момент мне надоело открывать люки, снимать зеркало и было решено автоматизировать снятие показаний.
Читать дальше →
Total votes 75: ↑67 and ↓8+59
Comments136

Папа, а почему на ноль делить нельзя?

Reading time6 min
Views237K
Моя трёхлетняя дочка София в последнее время частенько упоминает «ноль», например, в таком контексте:
— Соня, вот ты вроде сначала не послушалась, а затем послушалась, что же получается?..
— Ну… ноль!

Т.е. ощущение отрицательных чисел и нейтральности нуля уже имеет, о как. Скоро поинтересуется: почему же это на ноль делить нельзя?
И вот решил я простыми словами записать всё, что я ещё помню про деление на ноль и всё такое.
Читать дальше →
Total votes 262: ↑192 and ↓70+122
Comments281

Необычные материалы в DIY. Стоматология + электроника =? Часть 1

Reading time8 min
Views202K
Нет ничего прекраснее, чем сидеть в лаборатории и гладить толстую плешивую крысу в поисках вдохновения.



Итак, сегодня у нас будет немного необычный DIY-пост. Делать руками мы ничего не будем. Arduino и прошивок в 30 строк на Brainfuck тоже не будет. Мы попробуем взглянуть на привычные вещи под необычным углом.
Все мы привыкли к классическим для этой области материалам вроде текстолита, оловянного припоя и прочих радостей любителей повыпиливать лобзиком потравить платы. В этой статье мы попробуем найти интересные альтернативы привычным техпроцессам в несколько непривычной области — стоматологии. Зубные техники и стоматологи работают с целой кучей полимеров, композитов и много с чем еще. Я не буду давать конкретных рецептов применения, а просто дам общее направление для самостоятельных экспериментов.

В сегодняшней программе:
Материалы
  • Силиконы. Как кремний, только интереснее.
  • Супергипс. Гипсее всех гипсов.
  • Пластмассы. Отличный розовый цвет.


В следующей части:
Материалы
  • Фотокомпозиты. Сам себе 3D принтер.
  • Ортофосфорная кислота для травления

Оборудование и инструменты
  • Алмазные и твердосплавные боры
  • Портативные микромоторы. Замена дремеля
  • Обратные пинцеты, зонды и другая мелочь

Читать дальше →
Total votes 197: ↑191 and ↓6+185
Comments171

Моя реализация «умного дома»

Reading time7 min
Views276K
Полтора года назад я писал статью о разработке своей собственной шины «CLUNET» для соединения устройств в «умном доме». Многие просят рассказать о том, что же у меня получилось в итоге, что я сейчас и попытаюсь сделать.

Попытался начертить схему моей комнаты со всеми устройствами объединёнными в сеть, картинка кликабельна:



Вся идея держится на трёх китах:

  • Децентрализация — вся система функционирует без какого-либо главного модуля;
  • Простота — минимум компонентов и лёгкость подключения;
  • Дешевизна — себестоимость устройства легко уложить в 100 рублей.

Читать дальше →
Total votes 212: ↑207 and ↓5+202
Comments95

Вытесняющая многозадачность на ассемблере Z80

Reading time8 min
Views29K
Медленный процессор и маленький объем ОЗУ — это еще не значит, что на такой платформе нельзя реализовать вытесняющую многозадачность. Более того, главный смысл организации многозадачной среды — это эффективное использование процессорного времени, чтобы процессор не простаивал, пока одни программы ждут какого-либо события, а использовался другими программами. Даже на таких платформах, как ZX Spectrum (Z80 3.5МГц, 48-128кБ ОЗУ), или 8-битные микроконтроллеры AVR, организация вытесняющей многозадачности имеет большой смысл.

Предлагаю вашему вниманию собственную реализацию многозадачного диспетчера на ассемблере Z80 (ZX Spectrum), который не является частью какой-либо ОС, а может использоваться отдельно. В нем нет ничего лишнего — только организация исполнения потоков и синхронизации между ними. Диспетчер можно использовать как составную часть программного проекта, как основу для создания более серьезного диспетчера для ОС, или как обучающий материал.
Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments32

Защита подъезда методом организации разумного видеонаблюдения без консьержа

Reading time13 min
Views258K
Так получилось, что какой бы ни был аккуратный микрорайон, он всегда с чем-нибудь соседствует, плюс всегда есть праздношатающиеся, непраздношатающиеся и «этождети». Это если забыть про наркоманов, целенаправленных воров и разбойников. Твой дом — твоя крепость. Подъезд твоего дома — тоже твой дом. (Да, этот пункт многие не понимают, но учиться никогда не поздно). Классические методы защиты подъезда — установка укреплённых дверей; установка домофона; инсталляция консьержки; организация видеонаблюдения над входами.

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

Однако, если включить мозги и подумать, на самом деле можно весьма небольшими вложениями получить очень эффективный результат.
Читать дальше →
Total votes 298: ↑294 and ↓4+290
Comments314

Самая сложная игра всех времён

Reading time3 min
Views197K

Robot Odyssey

Нью-йоркский программист Дэвид Ауэрбах (David Auerbach) вспоминает компьютерную игру, для прохождения которой ему понадобилось 13 лет и которая определила его будущее как программиста.
Читать дальше →
Total votes 202: ↑178 and ↓24+154
Comments110

Трюки с интерфейсами в Delphi

Reading time7 min
Views35K
Приветствую.
Буквально сегодня обсуждал с коллегой интерфейсы. Он мне рассказал о своем интересном приеме, я ему о своем, но только по дороге домой я осознал всю мощь этих приемов, в особенности если объединить их вместе.
Любители удобной автоматики и MVC паттернов — прошу под кат.
За трюками
Total votes 35: ↑27 and ↓8+19
Comments26

Управление устройством USB HID на Windows 7

Reading time9 min
Views92K
В статье сделана попытка предоставить пошаговую инструкцию — как соединить самодельное устройство USB HID на микроконтроллере AVR и компьютер с операционной системой Windows 7 x64, чтобы обмениваться данными и управлять портами микроконтроллера. Пример приложения управляет через USB ножкой порта микроконтроллера (к ней подключен индикационный светодиод). Есть возможность также прочитать состояние состояние светодиода — потушен он или горит. Топик предназначен для новичков, поэтому большая просьба к знатокам программирования — приберегите тухлые яйца и гнилые помидоры иронические комментарии для более удобного случая.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments20

Siemens Logo! — десять лет спустя

Reading time5 min
Views122K
Наводя порядок в шкафу, я нашел старый контроллер Siemens Logo! и ряд аксессуаров к нему. Когда-то, десять лет назад, я сделал несколько проектов на таких игрушках. Ностальгия и тёплые воспоминания про те времена побудили меня к написанию этого поста.



Под катом много фотографий (geek porn)!

Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments46

6 применений в «умном доме» платы USBasp. Нестандартное использование USBasp

Reading time5 min
Views129K
Устройство nRF24L01-USB
Иногда дешевле купить готовое устройство, чем собирать его самому. Да и самодельное устройство не всегда и не у всех будет выглядеть аккуратно- это зависит от наличия оборудования/материалов и прямоты рук.

Пользователи, знакомые с микроконтроллерами Atmel или хотя бы с Arduino скорее всего знают о дешевом программаторе USBasp, цена которого на Ebay около $ 3. Распространены две версии программатора:
USBasp 2.0 — с стабилизатором на 3.3 вольта.
USBasp 3.0 — плата поменьше, без стабилизатора. Так же у него не выведены на разъем порты PD0 и PD1(Аппаратный UART).В руках не держал и соответственно рассматривать его тут не будем.

Ниже мы рассмотрим как превратить программатор USBasp в I2C-USB переходник, научимся читать датчики влажности и температуры, получим простой набор портов ввода/вывода (PIO), RS232-USB, а так же попытаемся создать устройство nRF24L01-USB для чтения беспроводных датчиков и управления устройствами. Ну и для любителей Arduino — будем программировать в среде Arduino IDE используя USBasp как макетную плату.Проекты используют популярную библиотеку V-USB для работы с USB в программной реализации.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments19

Несколько интересностей и полезностей для веб-разработчика (выпуск 6)

Reading time3 min
Views29K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Zephir — Ze(nd Engine) Ph(p) I(nt)r(mediate). Зефир — это компилируемый высокоуровневый язык программирования, предназначенный для написания PHP расширений без использования C. Проект от создателей Phalcon (скомпилированный PHP MVC Framework). О Zephir на Sitepoint
   

JSDB.IO — большая и качественная база нужных скриптов/библиотек/фреймворков на JavaScript. Все распределено по категориям: Animation, Application, Audio, Video, Games и др. Дабы собрать все популярные .js воедино добавлю еще три ссылки: Microjs (множество маленьких полезностей до 5кб), а еще jsdelivr и cdnjs, которые позволяют добавлять собственные скрипты.

Snap.svg — продукт от Adobe Webplatform. Недавно я рассказывал про "достойного конкурента Raphaël" и в комментариях оспоривали эту фразу из за отсутствия поддержки такого же множества браузеров. В разработке Snap участвует автор Raphaël — Дмитрий Барановский, а причина создания новой библиотеки для работы с SVG — невозможность поддерживать все возможности SVG в старых браузерах.

At.js — очень юзабельный скрипт для автозаполнения (в демо используется Emojify). А еще есть более функциональная библиотека для автозаполнения — Typehead от Twitter.
$('.atwho-inputor').atwho({
  at: "@", data: ["one", "two", "three"],
});

Читать дальше →
Total votes 58: ↑49 and ↓9+40
Comments9

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Reading time14 min
Views345K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Total votes 126: ↑116 and ↓10+106
Comments180

Целебное зелье для IE5+ или IE7.js

Reading time2 min
Views7.1K
Разбирая код очередного проекта внутри тега head наткнулся на интересный код:

<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta3)/IE9.js"></script>
<![endif]-->

Только одно слово «IE9» меня пустило в замешательство. Первое что пришло мне в голову — это то, что при помощи этого .js кода браузеры под печальным клеймом Internet Explorer можно заставить работать используя свойства многообещающего IE9. Больше всего я ожидал что будут доступны свойства CSS3.0, но не тут-то было!
Читать дальше →
Total votes 159: ↑125 and ↓34+91
Comments73

Information

Rating
Does not participate
Location
Кетово, Курганская обл., Россия
Date of birth
Registered
Activity