Pull to refresh
0
0
Сергей @kez

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

Send message

Ламповые часы Nixie clock своими руками

Reading time6 min
Views69K

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



Картинка кликабельна


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

Под катом будет много фото...
Total votes 45: ↑44 and ↓1+43
Comments37

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно

Reading time2 min
Views71K
Всем привет. Давно хотел собрать большой E-Ink дисплей, который можно поставить на стол и отображать на нем полезную информацию (погоду, календарь и т.д.) В этой статье расскажу, как можно собрать такое устройство на базе ESP32 и дисплея от Kindle DX значительно дешевле, чем Waveshare.


Читать дальше →
Total votes 135: ↑132 and ↓3+129
Comments202

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

Reading time10 min
Views78K
image
А ведь в прошлом году это делали senior-разработчики.

Возможно, вы помните, что мы говорили про то, как можно сильно улучшить работу обычного сельскохозяйственного комбайна, если использовать нейросетки для распознавания культур и препятствий и робота для автопилотирования. Всё это (кроме процессоров Nvidia и ещё части железа) — наша разработка. А радость в том, что в некоторых южных регионах страны закончилась уборочная страда, и наши комбайны показали себя лучше, чем ожидалось. Слава роботам!

image

В этом году мы поставили несколько сотен блоков из мощного графического ядра (для нейросетей), камер, гидравлических насосов или CAN-модулей для подруливания. Если в прошлом году агропилоты были в опытной эксплуатации, то сейчас речь идёт уже про серийные модели. И они справились.

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

Конечно, обошлось не без сюрпризов. Но давайте расскажу более конкретно, с числами и примерами.
Total votes 450: ↑447 and ↓3+444
Comments525

Реальная стоимость жизни в Кремниевой Долине для разработчика

Reading time5 min
Views153K

Зачем это читать?


Всем привет! Меня зовут Винсент, и я с 2018 года живу в Кремниевой Долине со своей супругой и сыном.


Своим фильмом, Дудь хотел поднять стартапный ажиотаж в России, но в итоге возбудил всех моих товарищей гораздо больше здесь, в Silicon Valley.


Этот пост — расчет стоимости жизни "обычного разработчика" (не "стартапера"), который работает "на дядю". Все максимально честно и подробно.

Читать дальше →
Total votes 278: ↑269 and ↓9+260
Comments899

В каких странах и городах разработчики зарабатывают больше, если учесть налоги и стоимость жизни?

Reading time6 min
Views112K


Если сравнить зарплату разработчика программного обеспечения квалификации middle в Москве, Лос-Анджелесе и Сан-Франциско, взяв данные по зарплатам, которые оставляют сами разработчики на специализированных сервисах по мониторингу зарплат, то увидим: 

  • В Москве зарплата такого разработчика на конец 2019 года составляет 130 000 руб. в месяц (по данным сервиса зарплат на moikrug.ru)
  • В Сан-Франциско — 9 404 долларов США в месяц, что примерно равно 564 000 руб. в месяц (по данным сервиса зарплат на glassdoor.com).

На первый взгляд, разработчик в Сан-Франциско получает более чем в 4 раза большую зарплату. Чаще всего на этом сравнение заканчивают, делают печальный вывод о колоссальном разрыве в уровне зарплат и вспоминают поросёнка Петра.
Читать дальше →
Total votes 191: ↑118 and ↓73+45
Comments848

Netramesh – легковесное service mesh решение

Reading time8 min
Views8.6K

В процессе перехода от монолитного приложения к микросервисной архитектуре мы сталкиваемся с новыми проблемами.


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



Я долго искал инструмент, который помог бы справиться с такими проблемами (писал об этом на Хабре: 1, 2), но в итоге сделал собственное опенсорсное решение. В статье я рассказываю о преимуществах подхода service mesh и делюсь новым инструментом для его реализации.

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

Фибоначчи на собеседовании

Reading time8 min
Views124K
Вычисление ряда Фибоначчи — это классическая алгоритмическая задача, потому её нередко дают на собеседованиях, когда хотят проверить, что кандидат в принципе хоть как-то умеет в алгоритмы. Предположим, вы тот самый кандидат. Вам дали задание: на языке JavaScript написать функцию fib(n), возвращающую энное число Фибоначчи. Считаем, что нулевое число Фибоначчи — это нуль. Проверка корректности аргумента не требуется. Какие у вас есть варианты?

image
Выбирай мудро
Total votes 183: ↑177 and ↓6+171
Comments135

Fluent 1.0: гибкая система локализации

Reading time7 min
Views6.3K


Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата файлов Fluent версии 1.0. Приглашаем разработчиков переводческих инструментов попробовать его и рассказать о ваших впечатлениях.

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

Бесплатный VPN сервис Wireguard на AWS

Reading time11 min
Views131K

Для чего?


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


Статья 19
Каждый человек имеет право на свободу убеждений и на свободное выражение их; это право включает свободу беспрепятственно придерживаться своих убеждений и свободу искать, получать и распространять информацию и идеи любыми средствами и независимо от государственных границ

В данном руководстве мы за 6 этапов развернем свой собственный бесплатный* VPN сервис на базе технологии Wireguard, в облачной инфраструктуре Amazon Web Services (AWS), с помощью бесплатного аккаунта (на 12 месяцев), на инстансе (виртуальной машине) под управлением Ubuntu Server 18.04 LTS.


Я старался сделать это пошаговое руководство как можно более дружественным к людям, далеким от ИТ. Единственное что требуется — это усидчивость в повторении описанных ниже шагов.

Читать дальше →
Total votes 59: ↑55 and ↓4+51
Comments135

Пытаемся сломать игру «7 на 9»

Reading time3 min
Views21K
Сегодня будет маленький этюд просто понять, интересно ли вам такое. В общем, есть такой дядька Алексей Савватеев, который читает потрясающий курс по теории игр. Он же написал книгу «Математика для гуманитариев», где очень тонко постебался над всеми гуманитариями. Просто это как раз та математика, где числа из формул стремительно пропадают. И вот в один прекрасный момент я притащил ему игру «7 на 9» и попросил её сломать.

Принцип игры простой: в середину стола бросаются карты. На каждой карте число и разница. Например, 6 плюс-минус 2 — сверху можно бросить 8 или 4. Задача — как можно быстрее скинуть все свои карты в центр. Очерёдности ходов нет, ничего нет, просто кто успел — тот и бросил карту. Карты по одной из своей колоды вынимаются на руку, можно брать любое количество. Хоть все. Главное, чтобы пальцев хватило.

Вот что получилось, видео (ниже). Теперь расскажу словами, что это было (можно не читать, если вы смотрели видео).
Total votes 47: ↑46 and ↓1+45
Comments25

Зачем Додо Пицце 250 разработчиков?

Reading time6 min
Views56K
Прошлой осенью мы объявили о том, что планируем расширить IT-команду с 48 до 250 человек. Сразу посыпались вопросы, которые по сути сводились к одному: зачем сети пиццерий 250 разработчиков? Откуда эта цифра? Поэтому в первом посте в нашем блоге хочу ответить именно на этот вопрос (и, конечно, на любые другие в комментах).


Читать дальше →
Total votes 100: ↑79 and ↓21+58
Comments220

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

Reading time7 min
Views123K


Я один раз надел по-настоящему беспроводные наушники, и кабели после этого, пусть даже это и гибкое оголовье на беспроводной гарнитуре, стали раздражать. Поэтому все новые уши вроде эппловских AirPods я воспринимаю с энтузиазмом и стараюсь погонять какое-то время. В 2018-м помимо AirPods я успел поносить Jabra Elite 65+, Samsung IconX 2018 и Sony WF-1000X. В итоге получилась сравнительная табличка под катом — в ней объективные данные. А все остальное — мои субъективные наблюдения и тема для обсуждения.
Total votes 54: ↑50 and ↓4+46
Comments73

Стоит ли сохранять длину массива в локальную переменную в C#

Reading time6 min
Views45K
Очень часто замечаю, что люди пишут вот так:

var length = array.Length;
for (int i = 0; i < length; i++) {
    //do smth
}

Пишут они это в надежде ускорить цикл, думая что создавая локальную переменную избавляют CLR от необходимости вызывать каждый раз геттер для Array.Length. Я решил раз и навсегда для себя понять стоит так делать или можно сэкономить своё время и написать без временной переменной.
Читать дальше →
Total votes 84: ↑83 and ↓1+82
Comments163

10 смертных грехов спикера

Reading time4 min
Views27K


Прелюдия


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

Читать дальше →
Total votes 61: ↑51 and ↓10+41
Comments70

Новости Rust #2 (октябрь 2018)

Reading time9 min
Views5.6K

КДПВ с тыквой, потому что хэллоуин


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


В этой подборке: Rust 1.30, Rust 2018, конференция RustRush, Amethyst 0.9, сквотинг crates.io, сборщик мусора, споры про 2D графику, Non-lexical lifetimes, функциональный GUI.


Rust 1.30 и тестирование Rust2018


Вышел Rust 1.30 (обсуждение). Основные нововведения — частичная стабилизация процедурных макросов, импорт макросов через обычный use, улучшение системы модулей, "сырые" идентификаторы и поддержка no_std приложений (подробнее в хабропереводе).


Rust 1.31 будет первым выпуском редакции (edition) "Rust2018" (что за "редакции"?), в связи с чем всех желающих приглашают подключаться к тестированию бета версии 1.31 и cargo fix.


RustRush 2018: конференция 15-16 декабря в Москве


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


Обновился сайт (rustrush.ru) — опубликован почти полный список докладчиков и программа, начата продажа основной партии билетов.


Будут четыре участника проекта Rust Language: Стив Клабник, Эшли Уильямс, Паскаль Хертлиф, Катарина Фей. Из других звёзд локальных и не очень — Максим Лапшин с прошивкой IP-камеры, Костя Степанов и Пьер Кригер aka tomaka. Программа.

Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments9

Фростпанк: разбираем механику

Reading time6 min
Views51K


Создатели This War of Mine сделали очередную славянскую игру с интригующим названием «Фростпанк». То есть стимпанк в Арктике. Сюжет такой: 1886 год, глобальное изменение климата, зима пошла с экватора и поглотила все города мира. Британия предвидела это и отправила несколько экспедиций на север на огромных машинах-дредноутах. Жизнь возможна только вокруг генераторов, работающих от угля.

Ваша задача — построить последний город на земле.

Главный вопрос — насколько далеко вы готовы зайти, чтобы ваши люди выжили. Например, можно ли использовать трупы на удобрения в теплицах? При поломке генератора нужно пожертвовать ценными ресурсами или, может, отправить внутрь через маленькое отверстие ребёнка? Применить ли насилие, если кто-то мешает городу? Рисковать ли жизнями разведчиков ради ресурсов?

В игре есть отличные игромеханические решения и явные факапы, которые не сделают механику популярной. Давайте разбираться.
Total votes 74: ↑70 and ↓4+66
Comments134

«Самоуничтожающаяся» бета Fallout 76

Reading time5 min
Views52K
image
«Игроки PC #Fallout76 B.E.T.A.: Мы в курсе проблемы с клиентом и разбираемся с ней. Пожалуйста, не нажимайте пока никаких кнопок в клиенте-лаунчере.»
— Поддержка Bethesda (@BethesdaSupport) Октябрь 30, 2018
Поучительная история, наделавшая немало шуму, приключилась на этой неделе с компанией Bethesda. Игры Bethesda всегда славились большим количеством багов; сегодня компания по-прежнему продолжает следовать заветам Buggerfall (TES II Daggerfall) и, кажется, на этот раз смогла выйти на новый уровень.

Речь идет о старте бета-теста PC-версии Fallout 76 — многопользовательском спин-оффе известной ролевой серии, больше напоминающему по своему духу Rust – который состоялся на этой неделе, 30 октября. По факту, бета представляла собой стресс-тест из четырех коротких сессий длительностью 4-5 часов — и стресс-тестом (для CDN и пользователей) ее можно назвать не только в прямом, но и в переносном смысле.

Разработчики умудрились просмотреть в лаунчере игры баг, из-за которого ее клиент самовольно удалял все файлы игры с компьютера пользователя при запуске лаунчера и/или клику по любой кнопке в нем. В результате, когда долгожданная бета (ради которой игроки и оформляли предзаказ) наконец стартовала, десятки тысяч пользователей, загрузивших игру заранее, были вынуждены снова целиком скачивать установочные файлы игры (почти 50 гБ), причем скорость скачивания упала до минимальных значений (около 1Mb/s). Когда 4 часа спустя бета закончилась, большинство из них в итоге так и не смогло попасть в Fallout 76.

Если учесть, что всего неделю назад компания разослала игрокам-подписчикам письмо, в котором предупреждала, что в бете им предстоит столкнуться с невиданными доселе багами, то можно сказать, что Bethesda не подвела.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments105

В распределении простых чисел обнаружена дифракционная картина, примерно как у квазикристаллов

Reading time4 min
Views55K

В марте 2016 года Роберт Дж. Лемке-Оливер и Каннан Соундарараджан из Стэнфордского университета открыли новый шаблон в распределении простых чисел. Оказалось, что простые числа специфически распределяются по числовому пространству. Подробнее см. перевод статьи «Структура и случайность простых чисел» на Хабре.

К изучению темы подключились специалисты из других областей, в том числе химии. И успешно. Профессор теоретической химии Сальваторе Торкуато вместе с теоретиком чисел Мэтью де Курси-Айрлэнд нашли новые шаблоны в распределении простых чисел, о которых раньше не было известно. Оказалось, что распределение простых чисел образует фракталоподобную дифракционную картину, чем-то похожую на картину дифракции у экзотических квазикристаллов.
Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments56

Школа магии TypeScript: дженерики и расширение типов

Reading time7 min
Views45K
Автор статьи, перевод которой мы сегодня публикуем, говорит, что TypeScript — это просто потрясающе. Когда он только начал пользоваться TS, ему страшно нравилась та свобода, которая присуща этому языку. Чем больше сил программист вкладывает в свою работу со специфичными для TS механизмами — тем значительнее получаемые им выгоды. Тогда он использовал аннотации типов лишь периодически. Иногда он пользовался возможностями по автодополнению кода и подсказками компилятора, но, в основном, полагался лишь на собственное видение решаемых им задач.

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



В итоге он пришёл к выводу о том, что лучше так не делать. Он подружился с компилятором, начал обращать внимание на его подсказки. Компилятор находит проблемы в коде и сообщает о них задолго до того, как они могут нанести реальный вред. Автор статьи, глядя на себя как на разработчика, понял, что компилятор — это его лучший друг, так как защищает его от него самого. Как тут не вспомнить слова Альбуса Дамблдора: «Требуется большая храбрость, чтобы выступить против своих врагов, но не меньше ее требуется и чтобы выступить против своих друзей».

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

Этот материал посвящён двум ситуациям. Избежав использования в них типа any можно обеспечить типобезопасность кода, открыть возможности по его повторному использованию и сделать его интуитивно понятным.
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments29

Как я диплом в LaTeX писал с GitHub, Docker и TravisCI

Reading time5 min
Views45K

Еще со времен обучения в университете я использовал LaTeX для оформления лабораторных и курсовых работ. Познакомился впервые с LaTeX на Coursera, на курсе "Документы и презентации в LaTeX".


В этой заметке я расскажу, как я писал диплом с помощью LaTeX и почему я использовал GitHub, Docker и TravisCI.


Но зачем?

Читать дальше →
Total votes 77: ↑76 and ↓1+75
Comments69
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity