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

Компания VDSina.ru временно не ведёт блог на Хабре

Сначала показывать

Как оптимизировали экономику СССР и что из этого вышло

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

Я работаю специалистом по обработке и анализу данных (data scientist), поэтому большая часть моей работы включает в себя подбор оптимизируемых метрик и размышления о том, как выполнять процессы с максимальной эффективностью. Недавно я обнаружил совершенно удивительную книгу об экономических проблемах в СССР и о коллективе экономистов и компьютерных учёных, стремившихся решить их на основе данных. Книга называется Red Plenty. На самом деле она написана в жанре романа, что странно, однако представляет собой точную экономическую историю СССР. Автор активно заимствует информацию из книги 1973 года под названием Planning Problems in the USSR, которую я тоже приобрёл. При чтении этих книг я не мог не обратить внимания на параллели с планированием в любой современной организации. Факт, который покажется сегодня знакомым каждому data scientist: во второй книге есть цитата исследователя, жалующегося на то, что 90% своего времени он потратил на очистку данных, и только 10% — на само моделирование!

Кроме проведения интересных параллелей с современными data science и методами исследований технологических операций, эти книги помогли мне многое понять об интересных аспектах, о которых ранее я почти ничего не знал, например, о линейном программировании, ценовом равновесии и истории Советского Союза. В этом посте я расскажу о том, что узнал.
Читать дальше →

Война за цифровую свободу идёт внутри наших принтеров

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

С момента своего основания в 1930-х компания Hewlett-Packard стала синонимом инноваций: многие инженеры отдавали должное её надёжным генераторам, мини-компьютерам, серверам и PC. Однако на рубеже веков компания сменила своё название на HP и сосредоточилась на использовании сомнительных способов избавления несчастных владельцев принтеров от денег. Производители принтеров уже долгое время отличались этой порочной практикой, однако HP поистине стала новатором, настоящим Дартом Вейдером этой отрасли, всегда готовым силой заставить пользователя пойти на «сделку», а потом изменить её правила, ещё сильнее увеличив свою выгоду.

Недавно компания побила свой собственный рекорд, превратив свою программу «Бесплатные чернила на всю жизнь» в «Плати мне по 0,99 доллара ежемесячно до конца своей жизни, или принтер перестанет работать».

Визуализация sqlite в node.js

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


Довольно часто на этапе прототипирования (и всегда — в пет-проектах) я не запариваюсь с бэкэндом и поднимаю апи на express с sqlite3. Это легко и довольно удобно для несложной логики, а для сложной есть бэкэндеры с их отдельным миром. Единственный геморрой, который долгое время меня преследовал на этапе написания апи — невозможность быстро заглянуть в базу и отследить изменения. Можно дебажить по памяти, конечно, но это как-то странно, когда можно просто вытащить содержимое по запросу и отобразить его на какой-нибудь страничке. Вот только каждый раз заново парсить json и распихивать его в таблицы по лучшим практикам очередного фреймворка мне не хотелось, поэтому я после недолгих поисков нашёл sqljs и набросал на нём простейший визуализатор.
Читать дальше →

CrowdSec — современная альтернатива Fail2Ban и коллективный иммунитет для Интернета

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

CrowdSec

Инструмент Fail2Ban хорошо известен админам. Программа анализирует логи на сервере и подсчитывает количество попыток доступа с конкретных IP-адресов по указанным протоколам. В случае нарушения правила данный IP-адрес блокируется на заданный отрезок времени. Например, джейл для авторизации по SSH включён с дефолтными настройками 5 попыток авторизации за 10 минут, после чего происходит бан IP-адреса на 10 минут. Отличный способ отфильтровать мусорный трафик от разных сканеров и защита от DDoS.

Fail2Ban и SSHGuard — лучшие инструменты в своей области. Однако новый опенсорсный проект CrowdSec представляется интересной альтернативой. Это локальная замена Fail2Ban, а потенциально нечто большее — глобальная база репутации IP-адресов типа иммунной системы интернета.
Читать дальше →

Маркетинговые хитрости на рынке смартфонов. Где нет прогресса?

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

Ранее, в нашем блоге обсуждалось, какие современные смартфоны классные и как их гибко можно использовать в «гиковских» целях. Возможно, но сегодня мы поговорим о другой стороне медали. Речь пойдёт о практическом применении в ежедневных задачах. Мы поговорим о том, что нам продают каждый год под видом нового и где вешают лапшу на уши.
Есть о чём рассказать, ибо месяца 2 выбираю замену своему LG G7 и так ничего не подобрал.
Читать дальше →

Об ужасной документации Apple

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


В последние год-два я пришёл к осознанию того, что основной преградой к выполнению моей работы является документация. Или, если конкретнее, откровенный дефицит документации, предоставляемой Apple для своих платформ.

Apple предоставляет разработчикам набор инструментов — API, позволяющий нам создавать приложения для iOS, iPadOS, macOS и tvOS. Во многих случаях разобраться в том, как пользоваться этими API, достаточно просто. Как отвёртку можно использовать очень немногими способами, так и во многих случаях есть только один очевидный способ применения API.
Читать дальше →

Как работал компьютеризированный поиск за сорок лет до Google

Время на прочтение9 мин
Количество просмотров5.2K
Чарли Борн был специалистом по компьютеризированному поиску ещё за сорок лет до появления Google. Музей компьютерной истории недавно завершил каталогизацию его уникальной коллекции материалов, документирующих историю систем онлайн-поиска и информации, начиная с 1950-х годов.

Многие считают, что системы поиска и просмотра информации онлайн начали развиваться вместе с вебом в 1990-х, мгновенно перенеся нас от перебирания вручную пыльных карточных каталогов к выдаваемым за миллисекунду ответам современных поисковых движков. Те, кто давно знаком с компьютерами, могут припомнить пару более ранних компьютеризированных сервисов, например LexisNexis для журналистов и юристов или дорогостоящий Dialog.


LexisNexis

Зачем нужен VPS-сервер под Windows?

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

Для справки. Операционная система Windows Server 2019 поддерживает до 64 отдельных физических CPU и 24 терабайта RAM

Какую ОС установить на сервер? Конечно, это зависит от решаемой задачи и приложения. Обычно у хостера несколько систем на выбор: например, CentOS, Debian, Ubuntu, Windows Server. Кроме того, можно загрузить свой образ ISO и поставить произвольную систему с любым набором софта.

По статистике, большинство установок приходится на Linux. Но есть ситуации, в которых лучше подходит Windows Server. Это не холивар, а чисто рациональный выбор.

Казалось бы, зачем может понадобиться Windows Server, если весь стек веб-технологий заточен на Linux, а свободная ОС выигрывает по всем параметрам — по надёжности, безопасности и производительности? Как вообще получилось, что 28,4% веб-сайтов в интернете работает под Windows, если верить статистике W3Techs?
Читать дальше →

Пишем «Змейку» для клавиатуры с подсветкой

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


Введение


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

Разумеется, жизнь большинства клавиатур не вечна. (Хотя я сильно подозреваю, что моя домашняя IBM Model M практически бессмертна.) Однажды я заметил, что клавиша Shift моей рабочей клавиатуры начала отказывать. Из-за этого мои электронные письма начали выглядеть более ленивыми, а в коде воцарился хаос, поэтому мне понадобилась новая клавиатура. Старая клавиатура была вполне неплохой, но в целом довольно стандартным устройством с резиновыми прокладками переключателей, поэтому у меня появилась неплохая возможность взять что-нибудь получше, например, механическую клавиатуру.

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

Самой дешёвой клавиатурой, удовлетворяющей всем этим требованиям, оказалось устройство с довольно длинным названием: Coolermaster Quickfire Rapid-I.

Лёгкие приложения Linux для старого железа

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

Окружение Xfce

Любую систему можно разогнать, есть стандартные способы оптимизации десктопа: минимум софта в автозагрузке, preload, оптимальное зеркало для пакетов, apt-fast вместо apt-get, настройки для оптимизации отдельных приложений и так далее.

Но всё это мелкие оптимизации по сравнению с фундаментальными столпами:

  1. Лёгкий дистрибутив
  2. Легковесное окружение рабочего стола
  3. Быстрый софт

Это в первую очередь актуально для старого железа, хотя в принципе на каждом ПК мы хотим, чтобы система работала максимально эффективно, разве нет? Даже на современном многоядерном CPU больно видеть запуск программы в несколько секунд или задержку интерфейса 100-200 миллисекунд после нажатия по клавиатуре. Всё должно реагировать мгновенно, со скоростью человеческого восприятия. В нативных приложениях нет места лагам, как у веб-интерфейсов.

Поэтому — легковесное окружение и быстрый софт.
Читать дальше →

5 причин использовать Linux в 2020 году

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


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

2020 год, как на него не взгляни, был странным, но для Linux он оказался продолжением обычного цикла разработки. В этой статье мы вспомним этот год и вкратце расскажем о том, что нужно знать о Linux в 2020 году.
Читать дальше →

Графики в Vuejs

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


Я доволен экосистемой Vue. Как и положено, ты не городишь велосипеды, а пользуешься готовыми плагинами, которые за тебя написали умные дядьки. Когда твоя задача слишком мелкая и локальная, чтобы под неё написали плагин — ты идёшь и ищешь готовые компоненты, и только если не находишь ничего подходящего, чешешь репу и садишься писать своё решение. Таков порядок вещей, и я изрядно удивился, когда за вечер тестов не смог нормально отобразить ни одного подходящего мне графика. Пришлось немного подумать и переписать все примеры с Chart.js, чтобы разобраться с графиками раз и навсегда. Результаты ниже.
Читать дальше →

Коллективный разум — как толпа может предсказать почти все

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


Коллективное мнение широкой группы случайно собранных людей, возможно более точное чем мнение отдельно взятого человека, даже если этот человек является экспертом в данном вопросе. Эта концепция не является новой. Еще Аристотель в 350 г. до н.э писал в «Политике»:

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

Как «Сумерки» навсегда испортили поиск картинок Google

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


Поучаствуйте со мной в эксперименте. При помощи поиска изображений Google мы будем искать разные времена суток. Откроем новое окно Google Chrome в режиме инкогнито, чтобы результаты не были искажены нашей историей поиска. В конце концов, это ведь научный эксперимент, и нам нужны наиболее точные результаты.

Для начала попробуем найти «sunrise» («рассвет»).
Читать дальше →

Ближайшие события

Почему собственный образ ISO — самое оптимальное решение для своего сервера

Время на прочтение8 мин
Количество просмотров18K
Подняв сервер, можно сразу поставить одну из стандартных ОС, которые предлагает хостер. Но есть и другой вариант — загрузить собственный образ ISO и установить из него произвольную ОС и любой софт на свой выбор.



Это реально очень удобно. Мы можем поставить на сервер ParrotOS со всеми утилитами для пентестинга, готовый файл-сервер или любую ОС, даже Android или MacOS. Можно поставить специально подготовленную систему, настроенную именно для наших задач.

Зачем это нужно? Вот несколько примеров.
Читать дальше →

Я стал думать над мелочами в коде, и уничтожил все желание программмировать

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


На моей последней проектной работе мне предложили создать решение на .net/c# с нуля. Заложить архитектуру, стандартные либы, практики, и т.д. Приложение планировалось большое, я получил море бюджета на исследование и продумывание всего.

В процессе я принял много решений. Так много, что сильно удивился — сколько же практик и подходов у меня сложилось за довольно короткую карьеру. Откуда я их взял? Как я к ним пришёл, и с хрена ли я в них верю?

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

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

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

«Чистой» энергии не существует

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


Опубликованный в научном журнале Energies новый анализ, проведённый командой ирландских и американских исследователей, в том числе исследователей CERES, поднимает неожиданные и тревожные вопросы о реализуемости перехода на возобновляемые источники энергии, а также об их влиянии на окружающую среду. Опасения изменения климата привели к огромным инвестициям в программы новой «зелёной энергии», направленные на снижение выбросов парниковых газов и другого влияния на окружающую среду со стороны отрасли ископаемых видов топлива. На протяжении 2011-2018 годов мир потратил 3,66 триллиона долларов на проекты, связанные с изменением климата. 55% от этой суммы было потрачено на энергию солнца и ветра, и всего 5% — на адаптацию к воздействию экстремальных погодных явлений.
Читать дальше →

Quasar — швейцарский нож для Vue

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


Некоторое время назад (года два с половиной) чувак по имени Razvan Stoenescu собрал команду Vue-разрабов и начал пилить с ними свой фреймворк. Свечку не держал, но я твёрдо уверен что в первоначальном документе было что-то типа «Хотим свой фреймворк, чтобы в нём было вообще всё. Включая блэкджек и куртизанок». Довольно странно, что во многих материалах за прошедший год упоминается Quasar, но статья про него вышла всего одна и была приурочена к релизу 1.0, да ещё и оказалась переводом. Недавно я наконец распробовал этот чудесный фреймворк и с удовольствием поделюсь своими впечатлениями о нём.

Смартфон как системный блок, почему нет?

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

Linux Deploy от Антона Скшидлевского aka meefik

Современные смартфоны по CPU и объёму оперативной памяти практически сравнялись с настольными компьютерами и ноутбуками: не редкость 8 ГБ оперативной памяти и флэш-накопитель на 512 гигабайт. Например, в последнем айфоне 6-ядерный CPU и 4-ядерный графический процессор, причём CPU сделан по 5-нанометровому техпроцессу. Сейчас ни один CPU для настольных компьютеров не производится по такой технологии. То есть мы дошли до того, что технический прогресс сначала обслуживает смартфоны, потом ноутбуки, а до настольных компьютеров доходит в последнюю очередь.

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

Всё-таки удобнее вводить команды в Linux-консоли с клавиатуры, а не прицеливаться пальцами по экрану.

Страшилки на Хэллоуин от веб-разработчиков

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


В преддверии Хэллоуина фуллстек-разработчик Уэс Бос в своём Твиттере попросил других программистов поделиться своими ужасными историями о вебдеве. Вот некоторые из них...

@DimitroffPeter:

Моя первая работа и первый вклад в продакшен. Мне нужно починить клиент-серверную утилиту. Её функция проста: у нас есть самодельное устройство из роутера и PC. У роутера есть CLI и он должен показывать информацию о состоянии PC. Вещи наподобие systemctl, top, free. Команда передаётся в виде текста, выполняется, и результат принимается в виде текста. Однако сделано это было наиболее ужасающим способом из всех возможных…
Читать дальше →