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

Пасу Котов

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

Избавление от иллюзий

Время на прочтение3 мин
Количество просмотров6.1K
Я давно хотел найти себе работу связанную с разработкой CAD программ. Потому, что мне это интересно и потому, что имею большой (20 лет) опыт в этой сфере. И 2010 году осуществилась моя мечта и я получил даже больше чем хотел.

И первое время я просто бился в экстазе. Любимая работа, возможность работы на дому. У меня были грандиозные планы! В самом начале я набросал себе этот план в письменном виде Cobalt Next Steps.
Читать дальше →
Всего голосов 43: ↑20 и ↓23-3
Комментарии34

Обзор бесплатных 2D САПР

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

Тем не менее, в инженерном деле остаётся место и для традиционного двумерного проектирования, и для этого есть соответствующие инструменты.

image
Читать дальше →
Всего голосов 43: ↑42 и ↓1+41
Комментарии91

Познакомьтесь с анархистами, самостоятельно делающими лекарства

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

«Уксусный коллектив четырёх воров» – сеть анархистов, опирающихся на технологии, и бросающих вызов гигантам фарминдустрии при помощи самостоятельно изготовленных лекарств




Впервые я познакомился с Майклом Лофером, когда он швырялся в аудиторию хакерской конференции HOPE (Hackers on Planet Earth), проходящей раз в два года в Нью-Йорке, лекарствами на тысячи долларов.

«Кто-нибудь из присутствующих переживал анафилактический шок, не имея доступа к эпинефрину?» – спросил Лофер у аудитории. Поднялось несколько рук, и Лофер швырнул одному из поднявших руку людей изготовленную в домашних условиях EpiPen [похожее на шариковую ручку устройство для самостоятельных инъекций адреналина / прим. перев.]. «Это одно из первых сделанных нами устройств, — сказал он. – Используйте его с умом».

Немного позлорадствовав насчёт того, как Мартин Шкрели из племени фармацевтических гигантов поднял цены на препарат дараприм, необходимый для людей, страдающих от ВИЧ, с $13 до $750, Лофер посерьёзнел. «Прошло два года, но несмотря на всё произошедшее, стоимость препарата дараприм не поменялась», — сказал он. Он залез в карман и достал пригоршню белых таблеток. «Думаю, надо раздать ещё немного», — сказал Лофер, и швырнул дараприм в аудиторию.
Читать дальше →
Всего голосов 147: ↑141 и ↓6+135
Комментарии450

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

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


Надеюсь, что смог привлечь ваше внимание таким провокационным (и, признаться, утрированным) заголовком. Хорошо. Теперь позвольте его переформулировать в чуть более изящном и менее завлекающем виде:

В принципе, софт можно написать либо вовремя, либо хорошо, но не то и другое одновременно*

* за исключением считанных случаев в сложившихся высокопроизводительных командах

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

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

Переведено в Alconost
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии30

7 практических уроков по UX

Время на прочтение9 мин
Количество просмотров9.7K
Эта статья будет представлять собой анализ нескольких уроков по UX/UI, которые мы получили, внимательно наблюдая на выставке за парой сотен людей, занимавшихся плейтестингом ранней сборки нашей игры Steamhounds.


Для понимания контекста скажу, что Steamhounds — это пошаговая игра, смесь JRPG и тактического боя на сетке. Игроки могут сражаться против ИИ, но мы по возможности стремились мотивировать их играть друг против друга, сидя рядом за разными мониторами.

В целом, перед проведением этого эксперимента основная схема и представление информации в нашей игре не были абсолютно ужасными. Опытные игроки и знакомые с жанром пользователи обычно без проблем разбирались с игрой без нашего вмешательства. Но на таких живых мероприятиях бывают люди, которые никогда не видели раньше подобных игр, и эти игроки очень помогают нам, показывая те скрытые странности и допущения, которые мы внесли в дизайн игры.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Работа тимлидом в 2018-ом году

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

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


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


Читать дальше →
Всего голосов 86: ↑78 и ↓8+70
Комментарии168

Михаил Бессмельцев с коллегой разработал новые алгоритмы для векторизации графики

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

Слева направо: оригинал, оснащённое поле (frame field) и окончательный результат. На базе зашумлённого растрового изображение в оттенках серого вычисляется оснащённое поле, выровненное по линиям картинки. На острые углы типа X- и T-пересечений накладываются векторы по обоим направлениям. Затем из этого поля извлекается топология чертежа — и производится окончательная генерация векторных кривых

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

Первые алгоритмы векторизации изображений появились в начале 1990-х годов и
использовались в инструментах для редактирования векторной графики, таких как Adobe Illustrator (Live Trace), CorelDRAW (PowerTRACE) и Inkscape. Несмотря на их широкое внедрение в промышленности, эти алгоритмы до сих пор страдают от серьёзных недостатков и находятся в активной разработке. В нескольких индустриях, где векторизация крайне необходима, включая традиционную анимацию и инженерное проектирование, она часто выполняется вручную. Дизайнеры кропотливо обводят отсканированное изображение с помощью инструментов рисования.
Читать дальше →
Всего голосов 82: ↑80 и ↓2+78
Комментарии28

Таймер — начало

Время на прочтение8 мин
Количество просмотров24K
Все началось с него. Это была первая моя покупка на Алиэкспресс для первой автоматизации на даче — захотелось сделать автополив в теплице. Таймер пришел в помятой коробке, с треснутым защитным колпаком, но рабочий. Он прекрасно отработал весь летний сезон поливая огурцы.На зиму был снят и спрятан в теплое и сухое место. Но на следующий сезон меня ждал неприятный сюрприз  — таймер стал зависать, переставал реагировать на кнопки управления и открывать воду. Сначала я грешил на дешевые батарейки и заменил их на фирменные Duraсell. Думал проблема в питании и пусковых токах. Не помогло. Тогда я достал паяльник и пропаял в нем все, что только можно, даже добавил некоторые недостающие конденсаторы. Но он упорно продолжал зависать. К сожалению, изделие не очень ремонтопригодно — в том что было у меня используется бескорпусная микросхема-капля и, видимо, что-то расконтачилось именно под компаундом с микросхемой. Кое-как сезон был закончен с таким барахлящим таймером и я начал думать чем же мне его заменить.
Читать дальше →
Всего голосов 60: ↑60 и ↓0+60
Комментарии57

CUDA и удалённый GPU

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

CUDA всем хороша, пока под рукой есть видеокарта от Nvidia. Но что делать, когда на любимом ноутбуке нет Nvidia видеокарты? Или нужно вести разработку в виртуальной машине?


Я постараюсь рассмотреть в этой статье такое решение, как фреймворк rCUDA (Remote CUDA), который поможет, когда Nvidia видеокарта есть, но установлена не в той машине, на которой предполагается запуск CUDA приложений. Тем, кому это интересно, добро пожаловать под кат.


TLDR

rCUDA (Remote CUDA) — фреймворк, реализующий CUDA API, позволяющий использовать удалённую видеокарту. Находится в работоспособной бета-версии, доступен только под Linux. Основная цель rCUDA — полная совместимость с CUDA API, вам не нужно никак модифицировать свой код, достаточно задать специальные переменные среды.

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

Дверь, которая с нами здоровается по именам и открывает только сотрудникам отдела

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

У нас была пара дней промежутка между большими проектами, и мы решили поиздеваться над дверью руководителя подразделения. Just for fun. Потому что дроны нас в лицо уже узнают — чем дверь-то хуже?

На момент старта IT-проекта у нас уже была накладная панель, напечатанная на 3D-принтере. За два дня из железа, готовых библиотек и какой-то матери мы сделали прототип устройства, которое учитывает сотрудников или позволяет проверять, что человек прошёл через турникет именно по своему пропуску.

Никаких денег. Мы использовали только опенсорс.

Вы можете повторить это минут за 15–20 с нашим скриптом.
Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии42

Машинное зрение для ритейла. Как прочитать ценники в магазине

Время на прочтение7 мин
Количество просмотров18K
Машинное зрение – очень актуальная тема в наши дни. Для решения задачи по распознаванию магазинных ценников с использованием нейронных сетей мы выбрали фреймворк TensorFlow.

В статье пойдет речь именно о том, как с его помощью локализовать и идентифицировать несколько объектов на одном магазинном ценнике, а также распознать его содержимое. Похожая задача распознавания ценников IKEA уже решалась на Хабре с применением классических инструментов обработки изображений, доступных в библиотеке OpenCV.

Отдельно хотелось бы отметить, что решение может работать как на платформе SAP HANA в связке с Tensorflow Serving, так и на SAP Cloud Platform.

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

Хватит лирики – гоу в технику!
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии10

Аппаратное кодирование видео потока на камере Logitech C920 и отправка его в ROS по wifi с задержкой менее 0.2 секунды

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

В этой инструкции мы отправим аппаратно закодированный h264 видео поток камеры Logitech C920 переданный c BeagleBone Blue по wifi сети на ноутбук, а затем примем его в узел ROS gscam и произведем поиск и распознавание изображений карт таро и бутылки кетчупа по пути движения робота EduMIP.
Всего голосов 27: ↑27 и ↓0+27
Комментарии4

Трансляция h264 видео без перекодирования с камеры Logitech C920

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


Задержка составила не более 0.3 секунды, с учетом того что камера подключена к слабому BeagleBone Blue с загрузкой процессора не более 30% и передачей потока видео через wifi роутер на ноутбук.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии20

Особенности вызова функций в С++

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

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


  • Регистры и их назначение при вызове функций.
  • Передача и возврат простых типов и структур.
  • Как передача по ссылке и по значению влияют на оптимизации тела функции компилятором.
  • Как используется место при многочисленных вызовах функций.
  • Механизм виртуальных вызовов.
  • Оптимизация хвостовых вызовов и рекурсии.
  • Инициализация структур, массивов и векторов.

Осторожно! Статья содержит большое количество кода на C++ и ассемблере (Intel ASM с комментариями), а также множество таблиц с оценками производительности. Всё написанное актуально для x86-64 System V ABI, который используется во всех современных Unix операционных системах, к примеру, в Linux и macOS.

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

BMW ConnectedDrive или «об этом можно долго рассказывать»

Время на прочтение20 мин
Количество просмотров87K
Если говорить про современные автомобили BMW, то на том же YouTube можно найти обзор любой из моделей — там расскажут всё про двигатель, внешний вид, удобства салона и даже про ездовые характеристики. Но есть одна тема, которую почти никогда не затрагивают, а если речь и заходит о ней, то очень поверхностно. «В следующем разделе меню находятся сервисы ConnectedDrive, об этом можно долго рассказывать» и множество других вариантов ухода от темы.



Наверное вы уже догадались, о чём пойдёт речь под катом? :)  
Всего голосов 97: ↑84 и ↓13+71
Комментарии227

Как не надо писать код

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

image


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


Если ваш ответ "Да!" — добро пожаловать под кат.


Вас будут ждать несколько занимательных задачек на С или С++.


Правильный ответ с объяснением всегда будет спрятан под спойлером.


Удачи!

Читать дальше →
Всего голосов 65: ↑54 и ↓11+43
Комментарии94

Downclocking оперативной памяти на MacBook

Время на прочтение7 мин
Количество просмотров40K
Хочу поделиться своим опытом апгрейда своего MacBook6,1 A1342 (увеличение памяти до 8Гб, установка SSD) и решении ряда проблем связанных с установкой системы на новый диск и борьба с глюками несовместимости RAM.

Сначала может показаться, что апгрейд старого железа тривиальная задача: в интернете должно быть полно статей на эту тему, а на рынке куча дешевых запчастей для него. Но не все так просто на практике. Проблемы начались еще в магазине на этапе подбора комплектующих
Читать дальше →
Всего голосов 70: ↑69 и ↓1+68
Комментарии46

Четыре достаточно простых, но интеллектуальных инструмента для написания музыки для вашего киношедевра

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

Творчество с применением искусственного интеллекта теперь включает и использование программ для написания музыки, которыми может управлять любой


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

Что же делать начинающему, в лучшем случае, музыканту? Я маршировал в колледже, поэтому понимаю, что такое ритм, фразировка и темп, но мои возможности по созданию музыки остановились где-то на уровне средней школы.

К счастью, у нас, авторов фильмов и подкастов с проблемами с музыкой, теперь есть специальные роботы. За последнее время появилось несколько ИИ-проектов хорошего качества – одним из самых заметных, пожалуй, будет Flow Machines от Sony, дебютный альбом которого вышел в январе – и медленно, но верно эти инструменты перемещаются из исследовательских лабораторий и профессиональных студий в общий доступ.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии4

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

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

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

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

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

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

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

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

Превращаем шлюз умного дома Xiaomi в колонку

Время на прочтение3 мин
Количество просмотров35K
Привет, хабра гиктаймс-читатель! Сегодня я научу тебя как из бесполезного функционала получить полезный. Получать будем на примере умного дома от небезызвестной компании Xiaomi и её продукта в виде ZigBee-шлюза.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии9

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Зарегистрирован
Активность