Pull to refresh
91
0
Send message

Python + OpenCV + Keras: делаем распознавалку текста за полчаса

Reading time12 min
Views199K
Привет Хабр.

После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST).

Если кому интересно, как с помощью этой базы можно сделать несложную распознавалку текста, добро пожаловать под кат.


Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments27

Kotlin: копаем глубже. Конструкторы и инициализаторы

Reading time12 min
Views27K


В уже далёком мае 2017 года Google объявила о том, что Kotlin стал официальным языком для разработки под Android. Кто-то тогда впервые услышал название этого языка, кто-то на нём уже продолжительное время писал, но с того момента стало понятно, что все, кто близок к Android-разработке, теперь просто обязаны познакомиться с ним. Далее последовали как восторженные отклики «Наконец-то!», так и жуткое негодование «Зачем нам нам новый язык? Чем Java не угодила?» и т.д. и т.п.

С тех пор прошло достаточно времени, и хоть споры о том, хороший Kotlin или плохой, до сих пор не утихли, всё больше кода под Android пишется именно на нём. И даже вполне консервативные разработчики тоже переходят на него. Кроме того, в сети можно наткнуться на информацию, что скорость разработки после освоения этого языка увеличивается на 30% по сравнению с Java.

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

И вот на этой волне мне пришла в голову идея подробно разобрать отдельные элементы молодого, но популярного языка. Обратить внимание на сложные моменты и сравнить их с Java для наглядности и лучшего понимания. Разобраться в вопросе несколько глубже, чем это можно сделать, прочитав документацию. Если эта статья вызовет интерес, то, скорее всего, она положит начало целому циклу статей. А пока начну с довольно базовых вещей, которые, тем не менее, скрывают массу подводных камней. Поговорим о конструкторах и инициализаторах в Kotlin.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments19

Markdown база знаний (или блог, или документация проекта)

Reading time3 min
Views24K

Заметил за собой, что постоянно записываю всякие мелочи, полезную информацию, просто что-то из буфера обмена прямо в текстовом редакторе. Всегда где-то на фоне висит открытый Sublime Text с кучей вкладок.


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


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


Всё это привело меня к мысли написать что-то вроде своего движка для хранения всей информации в одном месте и в удобном виде. Да-да, есть куча всяких Evernote, каких-нибудь заметок, встроенных в MacOS/iOS и так далее, которые и синхронизируются, и фичи полезные имеют — но, как говорится, хочешь сделать что-то хорошо (для себя), сделай это сам. Да и, как почти любой программист, в любой непонятной ситуации я беру и пишу всё сам. Так вышло и в этот раз.


Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments34

Приятная сборка frontend проекта

Reading time12 min
Views441K
В этой статье мы подробно разберем процесс сборки фронтенд проекта, который прижился в моей повседневной работе и очень облегчил рутину.

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

UPD (13 марта 2015): Заменил несколько плагинов на более актуальные + решил проблему с импортом CSS файлов внутрь SCSS

Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments119

Переход с jQuery на Vue.js

Reading time10 min
Views40K
Автор статьи, перевод которой мы публикуем сегодня, полагает, что в мире существует ещё много программистов, которые, когда им нужно разработать простое веб-приложение, обращаются к jQuery. Обычно это случается тогда, когда некую страницу нужно оснастить простыми интерактивными возможностями, но использование для этого какого-нибудь JavaScript-фреймворка кажется явным перебором. Ведь это — килобайты ненужного кода, шаблоны, инструменты для сборки проектов, средства для упаковки модулей… При этом подключить к странице jQuery, воспользовавшись CDN-ресурсом, проще простого.



В этом материале речь пойдёт о том, как перевести проект, созданный с использованием jQuery, на Vue.js. Этот проект будет создан на jQuery, а потом переработан с применением Vue. Автор материала хочет продемонстрировать всем желающим то, что использование Vue, даже в сравнительно небольших проектах, не обязательно означает чрезмерное увеличение размера кода таких проектов и большую дополнительную нагрузку на программиста. Это, наоборот, при практически тех же размерах вспомогательного кода, что и при использовании jQuery, позволяет повысить производительность труда и улучшить качество приложений.
Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments43

[Перевод] Как я учился прогать ИИ последние два месяца

Reading time5 min
Views29K
image

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

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

То, что я full stack разработчик — это уже не круто. Full stack уже не «full» без компетенций в ИИ.

Настала пора действовать. Поэтому я решил привести свои навыки в области разработки, маркетинга и предпринимательства в соответствие с современными требованиями, решил полностью открыться новому.
Total votes 27: ↑16 and ↓11+5
Comments8

OPENTadpole: первое кибернетическое животное

Reading time20 min
Views23K
image

Здравствуйте, уважаемое сообщество GeekTimes! После своего длительного молчания, я хочу представить свой новый проект. OPENTadpole – приложение, состоящее из полноценного редактора нервной системы головастика лягушки и физической эмуляции тела головастика и внешней среды. Возможность с нуля создать, настроить и отредактировать коннектом животного и немедленно увидеть, как Ваше творение отражается в его поведении.


Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments34

Руководство по материалам электротехники для всех. Часть 6

Reading time9 min
Views37K
Продолжение руководства по материалам электротехники. В этой части продолжаем разбирать диэлектрики полностью синтетические по происхождению. Тоесть всем известные пластики. В этой части: карболит, гетинакс, текстолит.


Добро пожаловать под кат (ТРАФИК)
узнать о материалах
Total votes 49: ↑46 and ↓3+43
Comments34

Тянем ролик с YouTube и раздаем по WebRTC в реалтайме

Reading time7 min
Views24K


Задача следующая. Провести совместный просмотр ролика с YouTube в реальном времени несколькими пользователями. Зрители должны получать видео одновременно, с минимальной задержкой.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments32

XBRL: Просто о сложном − Глава 1. Введение

Reading time6 min
Views40K

Комментарий от переводчика


В 2015 году Центральный Банк РФ запустил проект перехода некредитных финансовых организаций (НФО) на электронный формат представления отчетных данных в формате XBRL с 01.01.2018. Сроки уже подходят, а НФО только начинают осознавать масштабы грядущих изменений. Качественных материалов про XBRL на русском языке достаточно мало (могу разве что рекомендовать книгу XBRL для чайников, перевод которой был инициирован ЦБ, правда выполнен не в лучшем виде). Хочу восполнить этот пробел и предлагаю вашему вниманию свою адаптацию неплохой брошюры XBRL in Plain English от компании Batavia, которая рассказывает об основах XBRL.


Перевод веду от лица автора, немного дополняю текст полезными ссылками. Стараюсь придерживаться терминологии ЦБ РФ со ссылкой на оригинальные термины. Начну с первых глав, и если тема будет вам интересна, завершу перевод. Комментируйте, задавайте вопросы − расскажу все, что знаю.


Роман Удальцов




1. Введение


В этой главе представлена сама книга и основные понятия XBRL


1.1. Что ожидать


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

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments18

Делаем модуль расширения для Raspberry Pi с Arduino на борту

Reading time6 min
Views18K
У нас в хакспейсе есть много разных Raspberry Pi, с помощью которых мы учим детей программировать на python, делать роботов и разные полезные гаджеты. Разумеется, все то же самое делаем и на Arduino. За три года жизни душа в душу с этими крайне отличающимися платформами, у нас появилось несколько идей о том, как правильнее сделать учебного робота, учитывая плюсы и минусы каждой железки. Все эти мысли материализовались в новом устройство, о котором речь и пойдет далее.



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

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments11

Runtime программирование промышленного робота на RCML

Reading time13 min
Views37K


Под runtime программированием в этой статье понимается процесс создания исполняемой программы для контроллера робота (далее просто робота) на внешнем контроллере. Процесс исполнения роботом созданной программы в таком случае, происходит итерационно, путем передачи ему минимальной исполняемой команды или пакета команд. Другими словами, при runtime программировании, исполняемая программа передаётся роботу порционно, при этом робот не обладает, не хранит и не знает заранее всю исполняемую программу. Такой подход позволяет создать абстрактную параметризованную исполняемую программу, которая формируется внешним устройством «на ходу», т.е. runtime.

Под катом описание и реальный пример того, как работает runtime программирование.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments12

Архитектура построения Single Page Application на основе AngularJS и Ruby on Rails

Reading time8 min
Views23K
Заинтересовавшись методологией построения SPA-приложений на Ruby on Rails, я пришел к некоторым идеям, которые реализуются теперь в каждом моем приложении и впоследствии даже были выделены в отдельный гем Oxymoron. На данный момент на Oxymoron написано более 20 достаточно крупных коммерческих рельсовых приложений. Хочу вынести гем на общественный суд. Поэтому дальнейшее свое повествование буду вести уже на его основе.

Пример готового приложения.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments5

Espruino: JavaScript в микроконтроллере

Reading time7 min
Views53K
image

«Зачем?», «Что за бред?», «Извращение!», «Фу-фу-фу» — вот некоторые из многих высказываний, которые мы услышали, когда выпустили плату Iskra JS на ядре Espruino.

Зачем


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

Но ведь можно пойти ещё дальше. Взять микроконтроллер Cortex M4, который в десятки раз богаче того, что стоит на той же Arduino Uno, запихнуть туда интерпретатор JavaScript и делать проекты на JavaScript!

Думаю, что на этом моменте те, кто не готов к такому надругательству над святыми микросхемами, уже лопнули. Я продолжу для остальных.

Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments40

Фестиваль Город Технотворчества 2016, или как привлечь детей к технике

Reading time5 min
Views5.7K
Почти месяц назад закончился фестиваль Город технотворчества, который вот уже третий год подряд проходит в Екатеринбурге. Мы как всегда не смогли остаться в стороне от такого масштаба, и поучаствовали в организации фестиваля силами всего хакспейса MakeItLab.



Год назад мы уже писали о технотворчестве в своем блоге на хабре. Тогда, на главное мероприятие фестиваля — техноночь, собралось около тысячи посетителей. Для всех организаторов фестиваля это стало знаком того, что все мы делаем хорошее дело, которое объединяет под одной идеей множество любознательных детей и взрослых.

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

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

Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments3

8 фактов о бразильском ИТ и интернет-рынке от местного

Reading time7 min
Views14K
До выхода в Бразилию с нашим продуктом, мы знали только, что эта страна — родина языка Lua, которым мы делаем свои "модные" логи.


Распределение тем на португалоязычной, преимущественно бразильской, версии Stack Overflow (изначально вместо pt. в урле даже было br.)

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

Факт 1. У бразильских айтишников есть самобытные комиксы


Один из популярных комиксов называется “Жизнь программиста”, и по стилю похож на то, как если бы Дилберт был разработчиком.
Вот пара примеров
Total votes 10: ↑10 and ↓0+10
Comments24

Для чего blender фотографу?

Reading time3 min
Views51K
Существуют ли эмуляторы фотостудий? Таким вопросом однажды задался мой товарищ, изучая цены на аренду осветителей и вспоминая первые эксперименты с настольными лампами и листами ватмана. Хороший студийный свет стоит дорого, требует затемненное помещение и специальные фоны. В виртуальном мире эксперименты со светом не ограничены ничем, а результат можно повторить в реальности имея готовую схему. Мы отыскали несколько приложений. Платное и даже онлайн. Но руки чесались сделать что-то своё. Выделил пару выходных на благодатное дело и смоделировал виртуальную студию с пресетами освещения и «фотомоделью» Сюзанной — маскотом свободного 3Д редактора blender.



Читать дальше →
Total votes 68: ↑66 and ↓2+64
Comments25

Тест-тренировка зрительного внимания

Reading time3 min
Views35K
Если я напишу 2, потом 4, потом 6, тогда мы почувствуем себя хорошо, потому что мы знаем, что дальше идет 8. Мы можем это предвидеть, мы не в руках судьбы. Однако, к сожалению, это не имеет ничего общего с истиной...
х/ф «Оксфордские убийства»


Задача: обнаружить центральную фигуру среди сереньких фигур вокруг.

Данный проект — PsyMatchArea — задумывался в качестве альтернативы знаменитым таблицам Шульте. С теми же целями (тренировка зрительного периферического внимания), но с другими, более «отмороженными» исходными предпосылками. Во-первых, нужно было уйти от цифр и букв — символов, знакомых каждому практически с яслей и потому распознаваемых на автомате без активного вовлечения сознания в процесс. Во-вторых, чтобы внимание как можно меньше подменялось памятью (и вообще не расслаблялось), надо было обеспечить соответствующие «помехи» — смена позиций, мерцания, наложения и т.п.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments25

Ещё немного о японском зонде

Reading time5 min
Views13K
На днях, 7 декабря 2015 японский зонд «Акацуки» героически вышел на орбиту Венеры после аварии пять лет назад. Об этом уже написал заметку marks. Мне хотелось бы дополнить историю, рассказав об аварии на изначальной миссии.

image
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments6

Information

Rating
3,594-th
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity