Pull to refresh
1
0
Send message

WebUSB. Прошейся из браузера

Reading time3 min
Views19K


Разработчики хромиума постоянно пилят огромное количество классных API для разных технологий и железяк. Тут и Web Share, и работа со звуком, Bluetooth, NFC, WebOTP и много чего ещё, более-менее полный список со статусами реализации можно посмотреть здесь. Но больше всего среди них впечатляет WebUSB API, о настоящих возможностях которого я узнал совсем недавно. Оказывается, с его помощью можно не только открывать странички с подключенных устройств, но и прошивать их. Это открывает новый крутейший сценарий работы со всякой мелкой электроникой.
Читать дальше →

Сокрытые драгоценности Python

Reading time5 min
Views27K

Особенности Python,  о которых я даже не подозревал

Автор оригинала: Чарудатта Манваткар

В последнее время у меня появилось новое хобби – чтение документации Python просто для удовольствия! Когда вы читаете на досуге, то, как правило, замечаете интересные «лакомые кусочки», которые пропустили бы в противном случае. Итак, вот перечень «кусочков», которые заставили меня сказать:

О! Вы можете сделать это на Python?

Читать далее

Как получить температуру в -50°C (и ниже!) на дому или вихревая трубка Ранка-Хилша «под микроскопом»

Reading time13 min
Views72K

А что, если я скажу Вам, что можно «подуть» в Т-образную трубку — и с двух других её концов пойдет воздух «сильно минусовой» и «сильно плюсовой» температуры? Похоже на какой-то бред, не так ли? Тем не менее, такое замечательное устройство вполне себе существует и известно очень давно. Ученые до сих пор расходятся во мнениях относительно того, «как же оно всё-таки работает?!». Предлагаем и Вам ознакомиться с этим любопытным эффектом…

14 Python-пакетов, про которые вы скорее всего не знали

Reading time6 min
Views29K


Язык Python предоставляет всем пользователям возможность создавать свои пакеты и делиться ими со всем сообществом. Так появлялись очень популярные библиотеки для работы с данными (Pandas, Numpy, Matplotlib), для машинного обучения (TensorFlow, PyTorch), для веб разработки. Но есть много смешных, полезных или интересных пакетов, про которые вы вероятно никогда не слышали. Именно про них и пойдёт речь дальше.

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

Наиболее полное руководство по практическому использованию Web Speech API

Reading time17 min
Views23K

В этой статье я хочу поделиться с вами результатами изучения основных возможностей Web Speech API (далее — WSA).


Введение


WSA — это экспериментальная технология, состоящая из двух интерфейсов: SpeechSynthesis (интерфейс для перевода текста в речь) и SpeechRecognition (интерфейс для распознавания речи).


О том, что из себя представляют названные интерфейсы и что в себя включают можно почитать на MDN или в рабочем черновике (данный черновик, в отличие от большинства спецификаций, написан более-менее человеческим языком).


Что касается поддержки, то вот что об этом говорит Can I use:



Трюки в консоли. Крутые однострочники

Reading time6 min
Views16K


Много говорилось об удовольствии, которое испытываешь при работе в консоли. Это не случайно: так задумано отцами-основателями Unix. Возникает странное ощущение, что это самый правильный способ взаимодействия с компьютером.

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

В чём же дело?
Читать дальше →

Может поменять способ хранения?

Reading time2 min
Views9.7K

Фантастическая история о том, как программисты приложение разрабатывали.

Собрались однажды 2 разработчика. И нужно было им новую HTTP API реализовать для игрового магазина. Дошло дело до выбора БД, которую стоит применить в проекте:

- Слушай, а как мы выберем? Реляционную БД использовать или NoSQL. В частности, может нужна документоориентированная?

- Сперва нужно понять какие данные будут в нашей предметной области!

Читать далее

Серендипность тебя найдет

Reading time5 min
Views7.9K
image

Об авторе: Пол Букхайт — создатель Gmail и FriendFeed, партнер Y Combinator.

Инстинктивная (интуитивная) прозорливость, серендипность (англ. serendipity) — способность, делая глубокие выводы из случайных наблюдений, находить то, чего не искал намеренно.

Вот интересный комментарий из «Hacker News» к статье о том, как человек отклонил предложение работать в Google в начале его пути.

«Со мной в 1999 году была такая же история. Я понял, что Google гораздо круче, чем AltaVista, и лучше находит нужное, чем каталог Yahoo. Подумал: вот оно, будущее. И отправил им резюме на позицию, не связанную с развитием — хранение и обработка данных, и системное администрирование. Они дважды позвонили мне, но я убедил себя, что они всё равно бы меня не взяли — и поэтому не стал перезванивать.»


Независимо от того, насколько правильным было решение проигнорировать звонки от Google, причина этого игнорирования (страх отказа) — на самом деле, не очень хорошая.

У меня немного воспоминаний из старшей школы, но то, что осталось со мной надолго — связано с первым учебным днём в 11 классе. Наш учитель английского (кажется, его звали мистер Мэй) поделился с нами историей о том, что произошло с ним накануне вечером. Он вёл машину под дождём и заметил на обочине двух людей на велосипедах. Он остановился узнать, не нужна ли им помощь, и в итоге отвёз их к себе домой, дал сухую одежду, и они вместе с женой пригласили их на ужин. За столом те рассказали кучу удивительных случаев, которые произошли с ними в поездке через всю страну.

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

Необычная концепция синтаксиса языка программирования

Reading time8 min
Views9K


Хочу представить на обсуждение читателей немного необычный концепт языка программирования, в котором отсутствует проблема, присущая практически всем промышленным языкам — постоянное увеличение сложности синтаксиса языка из-за его естественного развития по мере выхода новых версий и добавления новых фич. Эта проблема описана в материале Простое сложное программирование и Какая «идеальная» цель развития у языков программирования?

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

Особенности языка:

  • Низкий порог входа и естественное ограничение уровня сложности в течение длительного времени даже при условии постоянного развития самого языка.
  • Возможность писать код программы как в декларативной, так и в императивной парадигме с использованием процедурного, модульного и объектно-ориентированного подхода.

Ну и в соответствии с собственным наблюдением Хабр — ума палата, буду рад любым комментариям и предложениям, которые помогут протестировать или улучшить предлагаемое решение.
Читать дальше →

В поисках упорядоченного множества в Python: разбираемся с теорией и выбираем лучшую реализацию

Reading time6 min
Views16K


Множество (Set) — структура данных, которая позволяет достаточно быстро (в зависимости от реализации) применить операции add, erase и is_in_set. Но иногда этого не достаточно: например, невозможно перебрать все элементы в порядке возрастания, получить следующий / предыдущий по величине или быстро узнать, сколько элементов меньше данного есть в множестве. В таких случаях приходится использовать Упорядоченное множество (ordered_set). О том, как оно работает, и какие реализации есть для питона — далее.

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

И еще несколько полезных библиотек для Python (с примерами)

Reading time9 min
Views20K

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

Хотелось бы рассмотреть несколько интересных на мой взгляд библиотек.

Ознакомиться

Разукрашиваем вывод в консоли: теория и практика

Reading time5 min
Views78K


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

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

Не ищите лучших; нанимайте людей, исходя из слабых сторон команды

Reading time6 min
Views19K


Поиск сотрудников надо начинать не с вопроса «как нам нанять самого лучшего?», а с вопроса «какие у нас есть слабые стороны?».

Зачем вы нанимаете людей? Вы нанимаете, чтобы больше делать или достигать?

Спроектируйте процесс найма так, чтобы подбирать людей, усиливающих слабые стороны команды, а не искать лучших.

Думайте не о том, «как нанять самых умных?», а о том, «как найти людей, способных сделать команду сильнее?».

Про планковские кирпичики

Reading time1 min
Views5.6K
Пятничная задачка из сборника Арнольда для детей 5-15 лет, с небольшим авторским дополнением:

Положив (нужным образом) друг на друга несколько одинаковых кирпичиков, можно образовать навес длиной x. Каково наибольшее достижимое значение длины навеса, если длина кирпича 1 метр, и его нельзя сдвинуть менее чем на планковскую длину (приблизительно 1,6*10**-35)?
image

Малоизвестное изобретение Николы Теслы, заинтересовавшее ученых

Reading time4 min
Views60K

Сербско-американский физик и изобретатель Никола Тесла широко известен своими работами в области электро- и радиотехники. Его устройства, работающие на переменном токе, во многом определили технический облик XX века. Особенно Теслу любят в массовой культуре, связывая с ним совершенно умопомрачительные мифы (Филадельфийский эксперимент, создание лучей смерти и прочих «вундервафлей»). Однако совсем недавно внимание ученых привлекло одно малоизвестное изобретение Николы Теслы. Это не очередная выдуманная конспирологами «машина смерти», и даже не что-то из электротехники. Речь идет о любопытном гидравлическом механизме под названием «клапан Теслы».

Читать далее

Внутри материнской платы: анализ технологий, лежащих в основе компонентов ПК

Reading time15 min
Views60K

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

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

Читать далее

M/o/Vfuscator2, безумный компилятор

Reading time4 min
Views7.9K


Однажды один умный чувак (Кристофер Домас) читал статью другого умного чувака (Стивена Долана) про удивительную особенность архитектуры x86. Стивен ругал её за избыточность и утверждал, что набор инструкций можно сократить до одной лишь mov, потому что она Тюринг-полная. Если бы Стивен не был таким умным, в его словах можно было бы усомниться, но у Кристофера загорелись глаза: проработав двадцать лет с x86, он не слышал ни о чём подобном, и ему страшно захотелось написать компилятор, который бы переводил весь код в наборы одних лишь mov-инструкций. Так родились M/o/Vfuscator и M/o/Vfuscator2, наглядно иллюстрирующие ненормальное программирование.
Читать дальше →

Как Пифагор, Платон и Будда предвосхитили самую смелую гипотезу современной науки

Reading time16 min
Views77K

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

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

Как появился Пегас?

Величайшим из древнегреческих философов по праву считается ученик Сократа афинянин Платон. Именно благодаря его "Диалогам" до нас дошла большая часть сведений о греческой философской мысли.

Несмотря на то, что Платон изучал и даже преподавал математику, никаких особенных математических достижений он после себя не оставил. Но все же девизом основанной им Академии он избрал фразу "Не геометр да не войдет", тем самым подчеркнув важность математики для познания мира и формирования ума.

Основной идеей философии Платона была, извините за каламбур, сама "идея". Именно он ввел в оборот это слово, которое на древнегреческом звучало как "эйдос". Для объяснения своей теории Платон обычно использовал аллегорию, позже ставшую известной как миф о пещере. Я вкратце приведу здесь только самую ее суть.

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

Читать далее

Как решать «упрямые» уравнения?

Reading time9 min
Views14K

Из этой статьи вы узнаете, почему одна задачка о пасущихся козах уже более века не даёт покоя математикам. Если вы когда-нибудь сдавали экзамен по математике, то наверняка вам задавали задачку про пасущуюся козу. Её смысл заключается в следующем: рассеянный фермер оставил козу привязанной к столбу у забора или сарая, и теперь она подъедает вокруг себя всю траву, до которой может дотянуться. Ваша задача — рассчитать общую площадь, на которой может пастись коза. Давно ли вы проходили математическое тестирование?

Приятного чтения

У каждого приложения должна быть палитра команд

Reading time4 min
Views7K
В старых и новых приложениях незаметно начинает появляться инструмент, упрощающий взаимодействие и ускоряющий выполнение действий. Это мощное поле поиска, которое я называю «power bar»; иногда оно имеет название «command palette».

Power bar, похожая на поиск Spotlight в macOS, встраивается в приложение и обычно вызывается сочетанием горячих клавиш CMD+K (или CMD+SHIFT+P). После её вызова пользователь вводит в неё то действие, которое хочет выполнить. Однако в отличие от Spotlight, power bar позволяет выполнять задачи, а не просто искать файлы или переходить в другие части приложения.


Command palette приложения Superhuman.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity