Search
Write a publication
Pull to refresh
17
0
Сергей @Zenker

User

Send message

Свой собственный 3D-сканер

Reading time3 min
Views63K
Моя цель была сделать полнофункциональный сканер, который сможет делать компьютерные 3d модели.
При этом я не хотел тратить на всё это больше $20. Правда, я не считал стоимость материалов, но всё-равно получилось не дороже $100.

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

3D-сканер за $30

Reading time9 min
Views210K
Профессиональный 3D-сканер, с помощью которого можно оцифровать реальный объект, получив его компьютерную модель, стоит десятки тысяч долларов. Мы же сможем провернуть то же самое с помощью специальной программы, лазерной указки и веб-камеры. Всего долларов за тридцать.


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

Восстановление удаленных данных с помощью Scalpel

Reading time5 min
Views43K
У каждого человека в жизни возникает такая ситуация как rm -rf на той папке, где этого не следовало делать. Бекапы это хорошо, но что делать если их нет? Для Linux систем существует утилита Scalpel, которая позволяет восстановить удалённые файлы по заданным паттернам, включая применение регулярных выражений.
Читать дальше →

Пять популярных мифов про C++, часть 1

Reading time11 min
Views113K

1. Введение


В этой статье я попытаюсь исследовать и развенчать пять популярных мифов про C++:

1. Чтобы понять С++, сначала нужно выучить С
2. С++ — это объектно-ориентированный язык программирования
3. В надёжных программах необходима сборка мусора
4. Для достижения эффективности необходимо писать низкоуровневый код
5. С++ подходит только для больших и сложных программ

Если вы или ваши коллеги верите в эти мифы – эта статья для вас. Некоторые мифы правдивы для кого-то, для какой-то задачи в какой-то момент времени. Тем не менее, сегодняшний C++, использующий компиляторы ISO C++ 2011, делает эти утверждения мифами.

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

Каждому мифу можно посвятить книгу, но я ограничусь простой констатацией и кратким изложением своих аргументов против них.
Читать дальше →

Грязные трюки с макросами C++

Reading time10 min
Views149K
В этой статье я хочу сделать две вещи: рассказать, почему макросы — зло и как с этим бороться, а так же продемонстрировать пару используемых мной макросов C++, которые упрощают работу с кодом и улучшают его читаемость. Трюки, на самом деле, не такие уж и грязные:
  • Безопасный вызов метода
  • Неиспользуемые переменные
  • Превращение в строку
  • Запятая в аргументе макроса
  • Бесконечный цикл

Заранее предупреждаю: если Вы думаете увидеть под катом что-то крутое, головоломное и сногсшибательное, то ничего такого в статье нет. Статья про светлую сторону макросов.
Читать дальше →

Играем с генетическими алгоритмами

Reading time6 min
Views103K
Одним субботним декабрьским вечером сидел я над книгой The Blind Watchmaker (Слепой Часовщик), как на глаза мне попался невероятно интересный эксперимент: возьмём любое предложение, например Шекспировскую строку: Methinks it is like a weasel и случайную строку такой же длины: wdltmnlt dtjbkwirzrezlmqco p и начнем вносить в неё случайные изменения. Через сколько поколений эта случайная строка превратится в Шекспировскую строку, если выживать будут лишь потомки более похожие на Шекспировскую?

Сегодня мы повторим этот эксперимент, но в уже совершенно другом масштабе.



Структура статьи:
  1. Что такое генетический алгоритм
  2. Почему это работает
  3. Формализуем задачу со случайной строкой
  4. Пример работы алгоритма
  5. Эксперименты с классикой
  6. Код и данные
  7. Выводы

Осторожно трафик!
Читать дальше →

Опыт создания домашнего Wi-Fi маршрутизатора. Общий обзор

Reading time6 min
Views113K
image

Приветствую многоуважаемое Хабрасообщество! Оговорюсь сразу: так исторически сложилось, что оба моих верхних образования связаны с IT чуть менее чем никак, поэтому возня с железками является одним из моих любимых хобби. Как-то так.

Понимаю, что я далеко не первый описываю данную тему, на хабре уже делились опытом построения подобных решений, но, полагаю, есть люди, которые, как и я, далеки в своей повседневной жизни от компов сетей, но интересуются а, возможно, хотят приобщиться и сделать что-то подобное. К тому же проживание в 2000 км от МКАД в «суровом» (sic!) городе накладывает некоторые ограничения на доступность компонентов и прочего. В общем, весь процесс создания далее…
Осторожно! Трафик!

Опыт создания домашнего Wi-Fi маршрутизатора. Часть 2. Установка и настройка ПО

Reading time12 min
Views64K


И снова здравствуйте!

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

Когда я затевал всё это движение, я предполагал, что будет непросто. Но не предполагал, что настолько. В одном из комментариев к предыдущей части статьи я клятвенно пообещал рассказать о нижеследующем «к выходным». Благоразумно умолчал к каким именно. :-) Тут ещё умудрился прихворнуть не вовремя, но всё-таки сдерживаю своё обещание.

Итак…
Поехали!

Иностранный язык: 15 препятствий

Reading time20 min
Views48K

На пути к хорошему владению иностранным языком есть ряд препятствий. Каждое из них должно быть преодолено.

Содержание
  • Препятствия
    1. Недооценка своего таланта
    2. Недостаточное внимание практике
    3. Злоупотребление волей
    4. Отсутствие удовольствия
    5. Неэффективное распределение времени между слушанием, чтением, письмом и речью
    6. Игнорирование практики на начальном уровне
    7. Неэффективная организация практики слушания
    8. Неэффективная организация практики речи
    9. Неэффективное повторение изученного
    10. Неблагоприятные условия для обучения
    11. Большая надежда на преподавателя
    12. Игнорирование главной меры прогресса
    13. Несвязывание знаний
    14. Надежда на быстрый результат
    15. Игнорирование теории на продвинутом уровне
  • Ваш личный метод
  • Что вы думаете?

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

Первое собеседование, или Почему устроиться на работу сложнее, чем сдать экзамен

Reading time12 min
Views89K
Самый удивительный вопрос, который нам задают при назначении собеседований кандидатам на позиции стажеров, звучит так: «А что будут спрашивать?».

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

В чем же причина такого вопроса?

Длительный опыт общения с кандидатами с университетской скамьи показал, что причина проста. Студенты часто воспринимают собеседование так же, как экзамен в своем ВУЗе: нужно подготовиться (лучше всего за одну ночь :)), прийти и сдать. И тот, кто лучше всех ответит на вопросы, получит пятерку, то есть будет нанят.

Загвоздка состоит в том, что собеседование — это совсем не экзамен. Под катом ответ почему.

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

Правила типографики — как составить красивое резюме

Reading time3 min
Views38K


Перевод статьи из книги Practical Typography, автор которой — дизайнер из Лос Анджелеса Matthew Butterick. Оригинал статьи на practicaltypography.com.

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

«Вы серьезно?» — спросил я.
Читать дальше →

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Reading time14 min
Views1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →

Краткая инструкция: GitHub через I2P

Reading time1 min
Views36K
Навеяно публикацией «Github опять заблокирован».

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

Почему-то сразу пришла в голову мысль об I2P.

И это действительно оказалось несложно.
Читать дальше →

Расширяя полотно картины Ван Гога “Звездная ночь” с помощью языка Wolfram Language (Mathematica)

Reading time3 min
Views76K

Перевод поста Piotr Wendykier "Extending Van Gogh's Starry Night with Inpainting"
Скачать перевод в виде документа Mathematica, который содержит весь код использованный в статье, можно здесь (архив, ~8 МБ).


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

ExtendingVanGoghStarryNightInpainting_1.gif
Вторая премия на фотоконкурсе ZEISS
Читать дальше →

C++14 для Qt программистов

Reading time5 min
Views49K
В этой статье описывается каким образом изменения, принесенные стандартом С++14, отразились или могут отразиться на разработке Qt приложений. Данная статья ориентирована не только на Qt программистов, но также на всех тех, кому интересно развитие С++. Автор оригинала — Olivier Goffart, являющийся одним из разработчиков Qt moc (meta-object compiler).
Читать далее

Обзор USB-осциллографа Hantek DSO-6022BL с логическим анализатором и гикпорном

Reading time7 min
Views197K
Добрый день, Хабр!

Предлагаю вниманию уважаемой аудитории обзор осциллографа/логического анализатора Hantek6022BL.


Заинтересованных прошу под кат.
Читать дальше →

Python реализация парадигмы event-driven с помощью сопрограмм

Reading time7 min
Views56K
Статья про то, как с помощью расширенных генераторов Python сделать собственную реализацию сопрограмм, переключающихся по получению событий. Простота кода получившегося модуля вас приятно удивит и прояснит новые и мало используемые возможности языка, которые можно получить, используя такие генераторы. Статья поможет разобраться и с тем, как это устроено в серьезных реализациях: asyncio, tornado, etc.
Читать дальше →

XMonad + XMobar = ❤

Reading time10 min
Views71K
Многие слышали про тайловые оконные менеджеры, некоторые даже слышали о XMonad. А ребята из Google даже променяли Unity/Gnome на XMonad. Что же это такое, как это настраивать и как с этим жить? Краткий workaround для любителей кастомизировать всё подряд.


Подробности

Лучшие плагины для Sublime Text

Reading time5 min
Views645K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity