Как стать автором
Обновить
0
0

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

Отправить сообщение

Сон — это главный ресурс для мозга программиста

Время на прочтение12 мин
Количество просмотров114K
Можете использовать этот пост как аргумент при переговорах.

image

Вы, наверное, уже слышали эту продуманную фразу, которую произнес Рид Хастингс, CEO компании Netflix, говоря о развитии компании: «Наш главный конкурент – это сон». Он логично рассуждает, что с точки зрения прибыльности его бизнеса, сон, занимающий треть всего времени – огромный ресурс, за который можно побороться. Но если мы дорожим своим здоровьем, красотой и жизнью, то он не должен получить от нас ни минуты от нашего сна. Мы всё еще настолько недооцениваем сон, что этот факт удивителен сам по себе. Почему мы считаем сон чем-то, чем можно жертвовать, что можно сжимать, над чем можно издеваться? Даже простейшее популярное представление о биологии говорит нам, что природа не стала бы требовать от нас трети жизни на что-то неважное.

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

Между тем, мы действительно не знаем, почему мы спим. Да, у нас есть объяснения – насчет консолидации памяти, обучения, восстановления сил и прочее. Сам вопрос остается открытым и задается вновь и вновь, потому что мы подозреваем, что это не все, что мы знаем про сон.

Все животные спят, при условии, что они живут хотя бы несколько дней. Есть исключения, но они могут быть чисто методологическими: еще до недавнего времени ученым не хватало данных назвать сном периоды отключения у некоторых животных (насекомых).
Читать дальше →
Всего голосов 119: ↑111 и ↓8+103
Комментарии265

Красивые точные часы из старого смартфона

Время на прочтение25 мин
Количество просмотров87K


Речь в статье пойдёт о том, как старый ненужный мобильник переделать в отличные настенные часы с крупными цифрами, всегда точным временем и резервным питанием.

Я расскажу о некоторых выясненных особенностях сихронизации времени в ОС Андроид, а также о разных электрических хитростях в системе питания смартфона. Опишу пример схемы на несложных аналоговых компонентах, которая осуществляет автоматическое резервное питание. И конечно речь будет о программной части андроид – как и с помощью чего можно самому сделать из смартфона красивые часы на любой вкус.
Читать дальше →
Всего голосов 150: ↑147 и ↓3+144
Комментарии137

Гик-снайпер или как сделать «зоркий глаз»

Время на прочтение5 мин
Количество просмотров45K
Пригласили меня как-то на стрельбище с использованием высокоточного оружия (по простому — снайперкой пострелять). Это стрельба из ружья, которое поражает цели на довольно больших расстояниях, например, на километр. Отстреляв свои первые три пульки мне захотелось посмотреть, куда же я все-таки попал. Мишень находится очень далеко и отверстия от попадания в прицел не видны. Единственным возможным решением оказалось — двигаться к мишени и посмотреть все попадания непосредственно на месте.

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



Внимание, под катом много фотографий!
Как это было
Всего голосов 64: ↑64 и ↓0+64
Комментарии166

Увеличь это! Современное увеличение разрешения

Время на прочтение21 мин
Количество просмотров182K

Я уже перестал вздрагивать и удивляться, когда звонит телефон и в трубке раздается жесткий уверенный голос: «Вас беспокоит капитан такой-то (майор такой-то), вы можете ответить на пару вопросов?» Почему бы не поговорить с родной полицией…

Вопросы всегда одни и те же. «У нас есть видео с подозреваемым, пожалуйста, помогите восстановить лицо»… «Помогите увеличить номер с видеорегистратора»… «Здесь не видно рук человека, пожалуйста, помогите увеличить»… И так далее в том же духе.

Чтобы было понятно о чем речь — вот реальный пример присланного сильно сжатого видео, где просят восстановить размытое лицо (размер которого эквивалентен примерно 8 пикселям):


И ладно бы только русские дяди Степы беспокоили, пишут и западные Пинкертоны.
Читать дальше →
Всего голосов 377: ↑376 и ↓1+375
Комментарии262

Трехмерный движок внутри запроса SQL

Время на прочтение8 мин
Количество просмотров41K
Несколько лет назад на форуме SQL.ru решили провести сравнение реализаций трассировщиков лучей на разных языках программирования. К сожалению, моя заявка не может участвовать т.к. она не выводит надпись «PIXAR», поэтому публикую ее здесь.

Для чистоты эксперимента я использовал SQLite без расширений. Оказалось, что там нет даже функции SQRT.

WITH RECURSIVE numbers AS (SELECT 0 AS n UNION ALL SELECT n+1 FROM numbers WHERE n<89),
pixels AS (SELECT rows.n as row, cols.n as col FROM numbers as rows CROSS JOIN
numbers as cols WHERE rows.n > 4 AND rows.n < 38 AND cols.n > 9 AND cols.n < 89),
rawRays AS (SELECT row, col, -0.9049 + col * 0.0065 + row * 0.0057 as x,
-0.1487 + row * -0.0171 as y, 0.6713 + col * 0.0045 + row * -0.0081 as z FROM pixels),
norms AS (SELECT row, col, x, y, z, (1 + x * x + y * y + z * z) / 2 as n FROM rawRays),
rays AS (SELECT row, col, x / n AS x, y / n AS y, z / n AS z FROM norms),
iters AS (SELECT row, col, 0 as it, 0 as v FROM rays UNION ALL
SELECT rays.row, rays.col, it + 1 AS it, v + MAX(ABS(0.7+v*x) - 0.3,
ABS(0.7+v*y) - 0.3, ABS(-1.1+v*z) - 0.3, -((0.7+v*x) * (0.7+v*x) +
(0.7+v*y) * (0.7+v*y) + (-1.1+v*z) * (-1.1+v*z)) * 1.78 + 0.28) AS v
FROM iters JOIN rays ON rays.row = iters.row AND rays.col = iters.col WHERE it < 15),
lastIters AS (SELECT it0.row, it0.col, it0.v AS v0, it1.v AS v1, it2.v AS v2
FROM iters as it0 JOIN iters AS it1 ON it0.col = it1.col AND it0.row = it1.row
JOIN iters AS it2 ON it0.col = it2.col AND it0.row = it2.row
WHERE it0.it = 15 AND it1.it = 14 AND it2.it = 13),
res AS (SELECT col, (v0 - v1) / (v1 - v2) as v FROM lastIters)
SELECT group_concat(
substr('$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^. ',
round(1 + max(0, min(66, v * 67))), 1) || CASE WHEN col=88 THEN X'0A' ELSE '' END, '')
FROM res;



Здесь можно покрутить кубик

Под катом построчный разбор запроса. Как обычно, достаточно знания основ SQL и школьной математики.
Читать дальше →
Всего голосов 169: ↑168 и ↓1+167
Комментарии24

Заметки фитохимика. Банановая шкурка наносит ответный удар

Время на прочтение25 мин
Количество просмотров75K

Банан велик, а кожура еще больше…
(журнал «Техника — молодежи» №8 за 1986 год)


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


Всего голосов 99: ↑98 и ↓1+97
Комментарии45

Любопытные извращения из мира ИТ

Время на прочтение11 мин
Количество просмотров127K
Сайт The Daily WTF уже 14 лет собирает курьёзные, дикие и/или печальные истории из мира ИТ. Я перевёл несколько рассказов, показавшихся мне интересными. Все имена и названия компаний изменены.

На работу за 3 000 миль


Правдивая история из личного опыта нашего автора Snoofle. [Оригинал]

Много десятков лет назад оборонный подрядчик DefCon Inc работал на армию США и пытался получить новый контракт на создание какого-то приложения, применяемого в бою. Компания хотела продемонстрировать в своём предложении, что у неё хватит персонала для выполнения этого проекта. Поэтому она наняла более тысячи разнообразных программистов, руководителей проектов, менеджеров и так далее. Военные, изучавшие различные коммерческие предложения, увидели кучу новых сотрудников, абсолютно незнакомых с необходимыми процессами, процедурами и требованиями, поэтому передали контракт другой фирме. Подрядчик, со своей стороны, уволил всю эту тысячу человек.

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

Читать дальше →
Всего голосов 118: ↑111 и ↓7+104
Комментарии117

J’Accuse! 122-летний рекорд долгожительства Жанны Кальман — фейк?

Время на прочтение10 мин
Количество просмотров84K
Жанна Кальман для многих геронтологов — почти как Жанна д’Арк для французов. Символ, легенда, святыня. Рекорд Жанны д’Арль по продолжительности жизни в 122 года и 164 дня знает каждый истинный борец со старением. Он был установлен в 1997 году и с тех пор даже приблизиться к нему никому не удалось — второе место едва превышает 119 лет, а на третьем — 117. Из ныне живых ещё долгожителей самому старому лишь 115 лет. С учётом того, что после 100-летнего возраста годовая вероятность умереть колеблется вокруг отметки 1/2, шансы сентенариев дожить до 122 лет невероятно малы.

Но в геронтологических кругах достижение Жанны под сомнение никто не ставит. Наоборот, о ней отзываются как о “самом валидированном долгожителе”. И действительно, с документами у неё всё в полном порядке — она родилась и прожила всю жизнь в одном месте, в городе Арле на юге Франции, и, будучи из достаточно обеспеченной буржуазной семьи, фигурирует во многих официальных источниках. Однако правильные документы — ещё не гарантия отсутствия мошенничества, ведь по твоим документам может жить кто-то помоложе. Например, твоя дочь.


Читать дальше →
Всего голосов 172: ↑160 и ↓12+148
Комментарии194

Трехмерный движок на формулах Excel для чайников

Время на прочтение9 мин
Количество просмотров70K


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

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

Также я сделал небольшое веб-приложение, где можно потренироваться в создании формул для произвольных фигур и сгенерировать свой файл Excel.

Осторожно: 19 картинок и 3 анимации под катом.
Читать дальше →
Всего голосов 211: ↑209 и ↓2+207
Комментарии54

Как спастись от «зайцев». Инструкция по борьбе с ультрафиолетом

Время на прочтение22 мин
Количество просмотров69K

Однажды в далекие школьные годы у меня появилась идея заняться авто-реставрацией, благо у отца был в наличии уже практически сгнивший (но с отличным мотором) АЗЛК Москвич-408. Первым делом конечно же было решено поменять пороги и укрепить раму металлическим швеллером. Самый быстрый способ — естественно сварка, благо у отца и самодельный аппарат на Ш-образных пластинах был. Электроды и я нашел и, в принципе, довольно сносно приварил куски металла. Довольный своей работой заснул, думая о том, что я буду приваривать с утра. А с утра проснулся и понял что "ослеп", а отец поздравил "с первым пойманным зайцем". Чтобы понять о чем разговор — проследуйте под cut.


Читать дальше →
Всего голосов 88: ↑87 и ↓1+86
Комментарии121

Первый лазер в истории: каким он был

Время на прочтение11 мин
Количество просмотров44K
Как известно, лазер – это устройство способное к усилению света путем вынужденного излучения. И возможность построения этого устройства была сначала предсказана в теории, а лишь много лет спустя удалось построить первый образец. Напомню, что вынужденное излучение было объяснено с точки зрения квантовой теории Эйнштейном, а первое воплощение этого принципа в железе началось в 50х годах ХХ века независимо различными группами ученых, наиболее известными из которых стали Ч. Таунс, А. М. Прохоров и Н. Г. Басов. Тогда им удалось построить первый квантовый генератор – мазер, который генерировал излучение в области сантиметровых волн. Непокоренным на то время оставался оптический диапазон, и о том, как его удалось покорить я и постараюсь рассказать в этой статье.

image

Читать дальше →
Всего голосов 140: ↑140 и ↓0+140
Комментарии121

Реактивный самолёт своими руками: «Два дебила — это сила»

Время на прочтение2 мин
Количество просмотров275K
Настало время турбореактивных аппаратов для всех желающих.



Игорь со своим дружбаном в феврале засели за винишком и задумали построить планер легче 115 кг (чтобы хакнуть Росавиацию). Ставить электромоторы было не круто, поэтому они поставили турбореактивные движки. Потому что могут.


10 ноября 2018 был совершен первый полет на самодельном планере весом до 115 кг с турбореактивным приводом (2х30кг JetCat P-300 Pro). Даже петлю Нестерова выполнили.
«Я думал что будет круто, но я не думал что будет настолько о… енно! Мы сделали это! Два дебила — это сила».
— Игорь, пилот-испытатель
Под катом — экспресс фотоотчет (очень хочется побыстрее поделиться новостью, поэтому не ругайте за видео с мобильника и прочие ляпы).

DISCLAIMER — комментарии сугубо мои, пилоты и техники разговаривали на непонятной суперпрофессиональной белиберде, которую я не разобрал. (Меня уже отругали за «изнасилованные термины» и за «самолёт», который планер.)
Читать дальше →
Всего голосов 331: ↑327 и ↓4+323
Комментарии460

96-ядерный суперкомпьютер на одноплатниках NanoPi Fire3

Время на прочтение14 мин
Количество просмотров66K
Создание высокопроизводительного кластера с 12 узлами NanoPi-Fire3 менее чем за £100 (£550, включая двенадцать Fire3)

Мой прошлый кластер на Raspberry Pi 3 в прошлом году немало заинтересовал публику, так что я попробовать сделать аналогичные проекты на других отличных одноплатных компьютерах, которые есть на рынке. FriendlyARM из Китая очень щедро отправила мне 12 своих последних 64-битных ARM плат NanoPi-Fire3, на каждой из которых восьмиядерный ARM A53 SoC, работающий на частоте 1,4 ГГц, с гигабитным Ethernet.


Читать дальше →
Всего голосов 89: ↑88 и ↓1+87
Комментарии55

Быстрый старт с ARM Mbed: разработка на современных микроконтроллерах для начинающих

Время на прочтение17 мин
Количество просмотров74K
Привет, Хабр.

Традиционным уникальным преимуществом платформы Arduino называлось (да и сейчас иногда называется, хотя это уже неверно — и мы поговорим, почему) опускание порога входа в микроконтроллерную разработку до уровня базовых знаний C/C++ и электроники в маштабе «подключить светодиод в нужной полярности».

Спросите примерно у любого активного сторонника Arduino — и вам быстро объяснят, что можно, конечно, писать под STM32 или nRF52, но выгоды в том реальной никакой, зато вас ждут бессонные ночи над сотнями страниц даташитов и бесконечные простыни функций с длинными непонятными названиями.

Заслуги Arduino в снижении порога вхождения действительно трудно переоценить — эта платформа появилась на свет в середине нулевых годов, а после 2010 завоевала серьёзную популярность среди любителей. Особых альтернатив на тот момент ей не было — процессоры на ядрах Cortex-M только появились, по сравнению с AVR они были довольно сложны даже для профессиональных разработчиков, а отладочные платы у большинства вендоров стоили от сотни долларов и выше (и в общем в индустрии ценник за отладку на 5-долларовом контроллере в $500 никого сильно не удивлял).

Однако большая проблема Arduino в том, что её развитие за минувшие 10+ лет более всего напоминает некоторые модели АвтоВАЗа:


Так как дальше я планирую длинное вступление, то сейчас, чтобы вы представляли, в чём будет заключаться практическая часть, я приведу полный текст программы, включающий инициализацию процессора STM32 и мигание светодиодом. Программа написана для ОС ARM Mbed:

#include "mbed.h"
DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}

Похоже ли это на высокий входной порог? На функции с непонятными названиями? Бессонные ночи над даташитами? Нет? Ладно, давайте не будем забегать вперёд.
Читать дальше →
Всего голосов 114: ↑98 и ↓16+82
Комментарии463

Как мы делали первый российский смартфон

Время на прочтение5 мин
Количество просмотров69K


Эта история началась 1 октября 2012 года, когда мне позвонил институтский товарищ Игорь и попросил помочь с горящим проектом. Они пытались сделать терминал сбора данных для технологического применения в РЖД. Такая штука для обходчиков путей и вагонов, чтобы они могли фиксировать все неполадки онлайн.

Если лень читать - смотрите что получилось в итоге

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

Читать дальше →
Всего голосов 167: ↑157 и ↓10+147
Комментарии349

Прощай, Google Maps

Время на прочтение6 мин
Количество просмотров271K
Google решил сделать из Google Maps новый миллиардный бизнес, подняв цены в 14 раз и уменьшив лимит бесплатного использования почти в 30 раз, всё с минимальным периодом уведомления. К счастью, это немедленно стимулировало конкуренцию. Apple Maps, MapBox, TomTom — что выбрать?

Наш стартап GdziePoLek.pl позволяет пациентам находить нужные лекарства в обычных аптеках. И даже по названию («где найти лекарства») понятно, насколько важно отображение на карте. Работу сервиса легко объяснить одной картинкой, на фоне которой всегда были карты Google Maps:


Типичная страница нашего сервиса показывает наличие лекарства в аптеках
Читать дальше →
Всего голосов 130: ↑128 и ↓2+126
Комментарии203

Блокировка Роскомнадзора Гимном Российской Федерации

Время на прочтение8 мин
Количество просмотров82K
Опишу свой опыт общения с Роскомнадзором и прокуратурой по вопросу блокировки сайта, может кому пригодиться. Тут больше юридических аспектов, чем айтишных, но от сумы да Единого реестра не зарекайся.

По статистике Федеральной службой по надзору в сфере связи за всю ее историю было заблокировано порядка 500000 сайтов (указателей на страницы), и еще порядка 10 миллионов — неправомерно заблокированных из-за неосторожности быть на одном IP с нарушителем. Думаю, из этих сотен тысяч и миллионов есть люди, чьи права были нарушены по беспределу, и которые хотели бы их защитить. Небольшой ликбез ниже.
Читать дальше →
Всего голосов 291: ↑278 и ↓13+265
Комментарии362

Вариатор для «Москвича»

Время на прочтение11 мин
Количество просмотров85K
Акселерация: старушка утверждает, что у «Москвича» некачественная коробка передач
© М. Жванецкий


«Сорок первый»


В 1985 году в СССР появился новый автомобиль «Москвич-2141».

Планировалось, что этот автомобиль третьей группы малого класса займет потребительскую нишу между массовой «восьмеркой» ВАЗ-2108 второй группы малого класса и престижной «Волгой» ГАЗ-24-10 среднего класса.

Довольно большой, скоростной, комфортабельный (по советским меркам) автомобиль с некоторыми элементами шика (УКВ радиоприемник в штатной комплектации!), мечта советского человека.

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

И если проблему с двигателем предполагалось со временем решить переходом с УЗАМ-331.10 и ВАЗ-2106 на новое семейство двигателей АЗЛК-21414, под которые началось строительство нового завода, то с автоматической коробкой передач все обстояло более печально. Строго говоря, автоматической коробкой не мог похвастаться ни один массовый советский автомобиль, включая предел мечтаний советской номенклатуры 24-ю «Волгу».

Однако некоторые задумки все-таки были, и тем, кто интересуется историей советской автомобильной техники добро пожаловать под кат


Читать дальше →
Всего голосов 191: ↑189 и ↓2+187
Комментарии295

В арсенал радио-хакера: широкополосная замена RTL-SDR до 6 ГГц

Время на прочтение3 мин
Количество просмотров86K

image


Недавно я прочитал статью, в которой автор пророчит нам веселое, но светлое будущее. Кроме всего прочего, он говорит дословно следующее: «Если мы ничего не можем поделать с тем, что государство следит за нами, мы должны иметь право следить за ним».


Замечательный тезис! Даешь гонку радио-вооружений!

Читать дальше →
Всего голосов 93: ↑92 и ↓1+91
Комментарии111

3D лазерный сканер на Android телефоне

Время на прочтение6 мин
Количество просмотров44K

Представляю вниманию DIY сканер на базе Android смартфона.

При проектировании и создании сканера, в первую очередь, интересовало сканирование крупных объектов. Минимум – фигура человека в полный рост с точность – хотя бы 1-2 мм.

Данные критерии успешно достигнуты. Успешно сканируются объекты при естественном освещении (без прямого солнечного света). Поле сканирования определяется углом захвата камеры смартфона и расстоянием, на котором лазерный луч сохраняет достаточную для детектирования яркость (днем в помещении). Это фигура человека в полный рост (1.8 метров) с шириной захвата в 1.2 метров.

Сканер был сделан из соображений «а не сделать ли что ни будь более или менее полезное и интересное, когда заняться нечем». Все иллюстрации – на примере «тестового» объекта (выкладывать сканы людей не корректно).

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

Цель статьи – рассказать о тупиковых ветках и проблемах, собранных на пути к созданию окончательной рабочей версии.
Всего голосов 79: ↑78 и ↓1+77
Комментарии55
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность