Pull to refresh
170
4

java / open source

Send message

Как я делал бюджетное устройство мониторинга качества среды и что из этого вышло

Level of difficultyEasy
Reading time8 min
Views16K
image

В начале немного предыстории.

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

Wi-Fi без Интернета на рейсе Southwest

Level of difficultyEasy
Reading time4 min
Views14K

Недавний полет я провел, пытаясь выяснить, что можно сделать, подключившись к Wi-Fi на борту самолета, но без доступа к Интернету.

Читать далее

Как я статистику git парсил

Level of difficultyEasy
Reading time9 min
Views30K

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

Спустя четыре месяца (испытательный закончился) у многих закрались подозрения, что на самом деле парень ничего не делает. Но как доказать это со стороны объективно? Решили посмотреть историю коммитов. Оказалось, он почти не коммитил (последний месяц вообще перестал), а на совещаниях ссал в уши ездил по ушам. Парень продолжил работать на прошлой работе и был преподом на курсах. Такой вот overemployed, с двумя зарплатами по ставке синьора.

Ему предложили перевестись в другой отдел. Менеджеру все сошло с рук. Часть разрабов сидела с лицами «‎а что так можно было?»‎. А я понял, что нельзя так просто взять и посмотреть статистику коммитов.

Велосипед через 3, 2, 1...

Вышел Chipmunk.v3

Level of difficultyEasy
Reading time4 min
Views3K

Вышла новая версия программы для просмотра и анализа логов — Chipmunk v.3. Инструмент был полностью переработан с упором на производительность и переосмыслен с акцентом на простоту и удобство использования. Под капотом очень краткое описание нововведений и возможностей.

Читать далее

Неограниченный доступ к знаниям: библиотека Стандартных Шаблонных Конструкций

Level of difficultyMedium
Reading time9 min
Views24K

Есть много причин почему доступ научным статьям и книгам должен быть свободным:

Во-первых, это прекрасно

Во-вторых...

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

Reading time3 min
Views66K

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

Читать далее

Рассказ об этапах работы над картой возраста домов Владимира

Reading time3 min
Views3.3K

Ниже я — картограф Александр Пронин — расскажу, как совместно с моим коллегой Никитой Славиным была создана карта возраста домов города Владимира.


Данные


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


Первый — мой сайт владимирдом.рф — карта застройки. Ее я создал для того, чтобы показать жителям, как застраивался наш город. Для нее данные о годе постройки брал с сайта Мин.ЖКХ, для детских садов и школ — с их официальных сайтов. Много данных по году прислали пользователи карты. На карте есть данные только о годе постройки.


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

Классическое гитарное тремоло на транзисторах

Level of difficultyEasy
Reading time8 min
Views8K

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

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

После Мосигры

Reading time12 min
Views32K


Я тут 10 лет писал про Мосигру и обещал рассказать, чем кончилась история. Итак, после продажи Мосигры в мае 2019 действующая на тот момент команда слегка подразбежалась. Спецы по рознице остались в сети, я полгода выходил из операционки, плюс была куча ограничений на то, что не всем можно работать друг с другом — и чтобы мы не занимались настолками, консалтингом по настолкам и пропагандой настолок — это набор стандартных условий для того, чтобы мы не объединились за углом и не создали Мосигр~2, чтобы эффективно конкурировать с Мосигр~1. А, зная слабые места своей же конструкции, искушение могло бы быть велико.

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

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

Мы примерно так и сделали.
Читать дальше →

Как Google победила фрагментацию и возвращает контроль над Android

Level of difficultyEasy
Reading time14 min
Views43K

Разбор эволюции Android и как Google внедряла функции в ОС, чтобы организовать прямую доставку обновлений независимо от вендоров устройств, а также продолжает забирать полный контроль над устройствами

Подробности

BI-инструмент от Яндекса DataLens — теперь в опенсорсе

Reading time7 min
Views66K

Сегодня мы опубликовали на GitHub под открытой лицензией Apache 2.0 исходный код Yandex DataLens — сервиса для анализа и визуализации данных. Теперь использовать опенсорс-версию DataLens может любой желающий и в любой инфраструктуре. 

Меня зовут Павел Дубинин, вместе с Гаджи Гаджиевым мы в Yandex Cloud занимаемся развитием DataLens. Сегодня расскажем, какие задачи он помогает решать разным пользователям, какие возможности открываются с выходом в опенсорс и что можно развернуть у себя прямо сейчас.   

Читать далее

История «некоммерческой» лаборатории OpenAI, которая полюбила деньги

Level of difficultyEasy
Reading time10 min
Views37K
Логотип OpenAI в главном офисе, 2020 год, источник

Лаборатория OpenAI образована 11 декабря 2015 года как некоммерческая организация, которая должна работать на благо всего человечества. Абсолютно бескорыстно, принося пользу всей цивилизации, публикуя свои наработки в открытых репозиториях для всех людей. Главной идеей была забота, что будущий сильный ИИ может оказаться в частной собственности какой-то корпорации — а этого нельзя допустить. Поэтому и создали «общественную лабораторию».

Но со временем ситуация изменилась. Сначала в 2019 году пришлось зарегистрировать дочернюю структуру OpenAI LP (limited partnership), имеющую право на коммерческую деятельность и получение прибыли. Структура была нужна «чисто формально» для оформления инвестиций, которые фирма обязана вернуть из будущей прибыли. Поскольку у некоммерческой лаборатории по определению нет прибыли, то «пришлось» зарегистрировать LP. Просто чтобы получить инвестиции.
Читать дальше →

Как Unix-way убивает десктопный Linux

Reading time28 min
Views95K

Нет, конечно же, не убивает.
То, что мертво, умереть не может: доля линукса на десктопах колеблется около 2% уже много лет, и не имеет тенденций ни к росту, ни к падению, изменяясь на уровне статистической погрешности.

Как выглядит захват рынка конкурентоспособным продуктом, можно видеть на примере, например, Chrome: за 10 лет рост на 70%. Или Android: за 5 лет рост на 75%. А вот у Linux рост пол-процента в год, несмотря на то, что он, например, лучший из существующих вариантов для использования в качестве национальных/государственных ОС.

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

Причины этой ситуации, как ни странно, те же, что сыграли роль в популярности Linux на серверах: unix-way, "Философия Unix": "Пишите программы, которые делают что-то одно, и делают это хорошо, и имеют возможность получать и принимать данные через текстовый интерфейс (потому что он универсален)".

Там огромный лонгрид, я предупредил

The Digital Banya: цифровая трансформация™ на примере… общественной бани

Reading time13 min
Views15K
Однажды, дегустируя новое пиво, мы с моим знакомым поспорили о том, что такое цифровая трансформация. Мой знакомый утверждал, что эта цифровая трансформация — просто пустое слово, под которое удобно выделять деньги. Мол, приходят CDTO (Chief Digital Transformation Officer, не смейтесь, это действительно так называется), берут огромные деньги, внедряют пару систем цифровой документации и какое-нибудь новшество на производстве, и все, мы вам трансформировали, давайте, растите.



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

— И что, спрашивает мой знакомый, прям любого бизнеса?
— Да, любого-любого, отвечаю я.
— А, ммм… даже общественной бани?
Читать дальше →

RE: Страх и ненависть в IT

Reading time12 min
Views11K
Писать ответы на статьи легко и приятно. Не надо часами корпеть над структурой статьи, достаточно следовать чужому плану и лишь внятно изложить мысли на бумаге. Тем не менее, рискну предположить, что критический взгляд «с другой стороны» на проблемы, поднятые в статье "Страх и ненависть в IT" уважаемым eugene_crabs, все же будет интересен. В роли адвоката дьявола, защищающего бесчеловечную системы выступаю сегодня я.

image

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

Переходим на Greenplum быстро

Level of difficultyMedium
Reading time7 min
Views7.8K

В условиях отсутствия возможности лицензирования и поддержки иностранных вендорских решений по хранилищам данных, встал вопрос о замене этих решений на отечественное программное обеспечение, с вендорской поддержкой, находящееся в реестре российского ПО и которое не уступает по производительности и объемам хранения зарубежным аналогам, таким как Teradata, Oracle, SAP HANA. Как показал анализ, таким требованиям отвечает лишь решения, основанные на MPP СУБД на базе Greenplum, в частности Arenadata DB (ADB). Но как быстро и безболезненно начать миграцию с привычных хранилищ на open-source? Постараюсь в статье рассказать и показать, что удалось придумать в этом направлении

Читать далее

5 последствий, которые ждут бизнес, если в разработке не будет участвовать ЛПР

Level of difficultyEasy
Reading time4 min
Views2.2K

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

Проблема в том, что это не выгодно никому — ни ЛПРу, ни менеджеру, ни подрядчику.

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

Читать далее

Искусство ETL. Пишем собственный движок SQL на Spark [часть 5 из 5]

Level of difficultyHard
Reading time14 min
Views2K

REPL


В данной серии статей я подробно рассказываю о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

Краткое содержание предыдущей серии, посвящённой API расширения и разного рода технической обвязке:


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


Теперь можно поговорить о последних штрихах, делающих инструмент — инструментом, а именно, об интерактивно-отладочном режиме, то есть, REPL, клиенте и сервере, а также о генераторе документации.


Предупреждение о рейтинге «M for Mature»

Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.

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

Многопоточность (Multithreading) для практического программирования. То, о чем «забыть-нельзя-вспоминать» придется

Level of difficultyHard
Reading time14 min
Views21K

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

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

Мне кажется нельзя считать что вы до конца понимаете концепцию многопоточности (Multithreading/ Concurrency) если вы не понимаете когда (для каких задач) ее можно и/или нужно использовать на однопроцессорной машине, 2-х процессорной, N‑процессорной машине и от чего это зависит.

Читать далее

Information

Rating
461-st
Location
Россия
Registered
Activity