Search
Write a publication
Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Как выжить, если вы падаете со скоростью 190 км/ч с высоты 10 000 метров, и у вас в запасе есть три минуты

Reading time8 min
Views204K


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

6:59:00, высота 10 000 м




Вчера вы рано легли, а сегодня у вас был ранний рейс. Вскоре после взлёта вы засыпаете. И вдруг вы резко просыпаетесь – вокруг вас свистит холодный воздух и раздаётся шум. Ужасный и громкий. Где я? – думаете вы. Где самолёт?

Вы на высоте 10 км. Один. И вы падаете.
Читать дальше →

Взлом по любви. Как математик взломал алгоритм сайта знакомств и нашел идеальную девушку

Reading time12 min
Views69K


Как редактору журнала «Хакер», мне часто приходится писать о взломах. Все подобные случаи обычно связаны с хищением приватной информации, денег, либо и того и другого сразу. Очень редко хакер преследует какие-то иные цели: заявить о себе, отомстить бывшему работодателю или устроить акт вандализма по политическим мотивам. Издание Wired поведало читателям об одной удивительной истории: 35-летний математик из Калифорнии взломал алгоритм сайта знакомств, чтобы найти себе идеальную девушку, причем это ему, как ни странно, удалось. И хотя речь здесь идет не о взломе в классическом понимании, а, скорее, о Data Mining, эта история заслуживает подробного рассказа.
Читать дальше →

От локального ПО до всероссийских инсталляций: как изменился ИКС за 17 лет

Reading time5 min
Views4.8K

От идеи к проекту


Шел 2003 год: доллар — по 30, Интернет – по карточкам, за окном – июль, а по MTV крутят Numb и In the shadows. Несколько студентов и выпускников с кафедры информатики ЯрГУ им. Демидова решили совместными усилиями накодить что-то действительно классное, а главное нужное. Я работал тогда у местного интернет провайдера, и долго думать над тем, что именно накодить, не пришлось.



Клиенты этого и всех других провайдеров платили тогда за объем потребленного трафика, и в конце месяца, когда провайдер выкатывал счет клиентам, было много конфликтных ситуаций, типа: «мы этого не качали», «это, наверное, соседний офис, висящий на том же коммутаторе!». Как нам тогда казалось, перспектива у софта, который позволил бы клиентам проверять данные провайдера была велика. Этим мы и занялись.
Читать дальше →

Как превратиться в суперзвезду Zoom-звонков за 15 минут

Reading time10 min
Views42K

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

Я решил использовать свой опыт фотографирования и работы со светом и потратить время, чтобы улучшить свои Zoom-звонки «по-быстрому». И теперь хочу научить этому вас! В этой статье попробуем разобраться, какие технические средства можно использовать, чтобы онлайн-встреча напоминала встречу вживую и радовала и вас, и собеседника.

Читать далее

Парсер командной строки на .NET5

Reading time4 min
Views11K

Сегодня мы собираемся показать вам, как начать парсинг аргументов командной строки. Кстати, это один пост из серии статей о .NET 5. У нас есть еще много интересного.

Приложения командной строки, также известные как консольные приложения, - это программы, созданные для использования из оболочки, например cmd или bash. Они существуют с 1960-х годов, задолго до появления Windows, MacOS или любого другого графического пользовательского интерфейса (GUI).

Обычно, когда вы начинаете изучать язык программирования, самый простой и распространенный стартовый пример -- это приложение Hello world. Подобные примеры в основном выводят на консоль только текст «Hello world», используя свои встроенные API. Компьютерное ПО может делать много разных вещей. Иногда у вас будет ввод, который каким-то образом преобразуется в вывод. В нашем примере «Hello world» нет никакого ввода.

Читать далее

Опыт Pixar: Как узнать, насколько ты хороший лидер

Reading time10 min
Views6.1K
image


Али Рогани — работал в Pixar 9 лет (из них 6 лет — CFO, коммерческим директором). 2 года работал CFO в Twitter и еще 2 года COO. Руководит YC Continuity — программа для успешных выпускников YC.

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

Так есть ли способ лучше?

Это эссе описывает способ измерения лидерства, который, я надеюсь, будет полезен тем, кто стремится совершенствовать это качество. Он основан на наблюдениях, которые я сделал, работая в тесном сотрудничестве с четырьмя лидерами, которых я считаю выдающимися: Эд Катмулл (основатель Pixar), Стив Джобс (CEO Pixar), Джон Лассетер (главный креативный директор Pixar) и Боб Айгер (CEO Disney). К моему удивлению, эти люди не могли быть более разными по стилю, темпераменту и подходу. Они не соответствовали единой модели лидерства. Один был ученым-интровертом, а другой — художником-экстравертом. Один из них бросил колледж, основал компанию и прославился дерзким поведением, а другой был профессиональным руководителем, который был исключительно вежливым и дипломатичным.
Читать дальше →

Запуск топ-приложения в одиночку, бесплатно и без кодинга (ну почти)

Reading time12 min
Views16K

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

Очевидно, сделать продукт для их изучения.

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

Как это было, с чем столкнулся и какие выводы сделал – читайте под катом.

Читать далее

Индивидуальный противохимический пакет (ИПП)

Reading time23 min
Views33K
Несмотря на то, что я уже предвкушаю народное недовольство и N минусов с мотивацией «не соответствует тематике Хабра», все же в очередной раз рискну здесь опубликовать статью, которая НЕ про софт, НЕ про железо, НЕ про компании, и даже химию задевает только по касательной…

Суть проблемы в том, что мне внезапно понадобилось составить ретроспективу используемых отечественных (ну ок, и зарубежных тоже) индивидуальных противохимических пакетов (ИПП) используемых для удаления с кожи/одежды отравляющих веществ. ИПП — вещь довольно утилитарная, не удивительно что кто-то аббревиатуру ИПП может спутать с индивидуальным перевязочным пакетом, а кто-то даже с инфекциями передающимися половым путем. Добавляет масла в огонь и две особенности, которые я заметил во время поиска предметной информации. Первая особенность — это закрытость и запутанность (преднамеренная?) информации, даже про ИПП времен Второй мировой войны. Многие статьи в журналах — с отсутствующими страницами. Более чем уверен, что никакой защите секретности это не поможет, зато серьезно усложнит задачу людям, которые изучают упомянутую тему. Вторая особенность — недостаточный профессионализм военных химиков, или преподавателей-военных химиков, которые пишут свои учебные пособия зачастую с вопиющими ошибками.

Поэтому основная цель статьи — информационная, на правах «хабр-энциклопедиста» :) В следующий раз, когда какой-то условный курсант военных химик (который «покой мой бережет»), будет искать для своего реферата информацию, пусть он лучше наткнется на мою статью (и попадет в LAB-66), а не на опус анонимного копирайтера. К курсанту можно смело добавить реконструктора и военного историка…

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


Продегазировать ИПП!

Поддельные батарейки в магазинах Светофор

Reading time2 min
Views54K
Много я всякого повидал, но впервые сталкиваюсь с тем, что солевые батарейки выдают за щелочные (Alkaline).

Вчера я купил в магазине Светофор на Кольской улице в Москве вот эти батарейки, на которых написано «Alkaline» и «Батареи с щелочным электролитом». Вот только это обман.

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

Опыт разработки первой мобильной игры на Unity или как полностью перевернуть свою жизнь

Reading time12 min
Views33K

Заурядная история заурядного новичка в геймдеве.

Читать далее

Экспоненциальный алгоритм сильно замедляет Windows XP

Reading time2 min
Views83K
Разработчик отдела Windows Update Даг Нил (Doug Neal) объяснил, почему в последнее время многие пользователи Windows XP испытывают проблемы с производительностью после установки свежих обновлений.

Как показало изучение логов с «заторможенных» машин, проблема заключается в неэффективном методе, которым модуль Windows Update Agent обрабатывает длинные списки предшествующих апдейтов. Время обработки списков возрастает экспоненциально с каждым новым апдейтом. Другими словами, обработка нового обновления занимает вдвое больше времени, чем предыдущего.

За историю Windows XP было выпущено огромное количество патчей, так что при обработке списка из 40+ старых апдейтов процесс svchost.exe начинает потреблять много ресурсов CPU, и это заметно отражается на общей производительности системы.
Читать дальше →

Уверенный пользователь ПК? Серьёзно?

Reading time4 min
Views85K

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

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

Маленькая ремарка – от сотрудников обычной компании не требуется настраивать многоуровневую сеть или проводить замену оборудования при поломках и модернизации оного.

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

Общаясь с соискателями, будущий руководитель или рекрутёр почти никогда не акцентируют на этих строчках резюме внимания. А зря. Ведь офисный сотрудник большую часть времени проводит за компьютером. И от его реального навыка зависит как быстро он будет взаимодействовать с “инструментом”.

Серьёзно

Лайфхак: как спарсить гигабайт double-ов в секунду

Reading time6 min
Views24K


Как в коде на C++ прочитать значение double из строки?

std::stringstream in(mystring);
while(in >> x) {
   sum += x;
}

На Intel Skylake с компилятором GCC 8.3, такой код парсит 50 МБ/с. Жёсткие диски запросто обеспечивают последовательное чтение со скоростью в несколько ГБ/с, так что вне всякого сомнения, нас ограничивает не скорость чтения с диска, а именно скорость парсинга. Как его ускорить?

Первое, что напрашивается – отказаться от удобств, предоставляемых потоками в C++, и вызывать strtod(3) напрямую:

do {
    number = strtod(s, &end);
    if(end == s) break;
    sum += number;
    s = end; 
} while (s < theend);

Скорость вырастает до 90 МБ/с; профайлинг показывает, что при чтении из потока выполняется ~1600 инструкций на каждое читаемое число, при использовании strtod – ~1100 инструкций на число. Стандартные библиотеки Си и C++ можно оправдать требованиями универсальности и переносимости; но если ограничиться парсингом только double и только на x64, то можно написать намного более эффективный код: хватит 280 инструкций на число.
Читать дальше →

Обновление с Windows 7/8.1 до Windows 10 TP через Windows Update

Reading time3 min
Views1.5M
Согласно анонсу Windows 10 будет предложена бесплатно в качестве обновления на все Windows 7 и Windows 8.1 системы в течение первого года после публичного выхода. Как именно? Через Windows Update. Нужно понимать, что это предложение обновления, а не лицензия. То есть лицензия на Windows 7 позволит автоматически обновить систему в течение года. Серийного номера, образа, коробки или наклейки предложено не будет. При этом также обещано, что те кто обновятся сейчас на Windows 10 Technical Preview получат затем через Windows Update версию Consumer Preview, Release Preview, а далее и финальной версии. С выходом январского Windows 10 Technical Preview (10.0.9926) появилась также и небольшая утилита для Windows 7 и Windows 8.1, после установки которой, Windows 10 приходит на ваш ПК в виде обновления. Именно об этом я и буду рассказывать ниже.

Для тех, кто хочет попробовать Windows 10 Technical Preview уже сейчас, буду неоригинальным, — это предварительная версия, часть функционала не работает, могут возникнуть проблемы с драйверами и сторонним ПО. Продолжаем. Если вы хотите обновить ваш Windows 7 до Windows 10, загрузите специальную утилиту Prepare с сайта Microsoft, для Windows 8.1 существует аналогичная утилита подготовки.

Я буду показывать процесс обновления для русской Windows 7 Professional, английской Windows 8.1 Single Language и английской 8.1 Professional with MediaCenter. Сразу скажу, медиацентр не переживёт обновления, — текущая версия Windows 10 Technical Preview его не поддерживает и обновит на обычный Windows 10 Professional TP. Тем, кому важен Windows MediaCenter рекомендую дождаться Consumer Preview или более новых сборок.
Читать дальше →

Установка Linux на калькулятор. Часть I

Reading time9 min
Views32K


Достаточно давно я мечтаю об устройстве, которое на своём борту будет иметь экран с тачскрином, аппаратные кнопки, и на котором без особых проблем будет работать linux. Ну и конечно же у неё будет достаточное количество интерфейсов. В своё время, надежды подавал проект Vogue, но сегодня я нашел его — идеальное устройство для карманного ношения, с мощным процессором и linux на борту. Итак, это калькулятор HP Prime G2. Там стоит шикарный процессор i.mx6ull, с которым у меня достаточно богатый опыт работы, поэтому портирование linux не казалось слишком сложной задачей. Однако, как обычно, дьявол кроется в мелочах.

Хочу поведать вам о своём тернистом пути установки Linux на калькулятор, что из этого получилось, а что нет, судить вам!
Читать дальше →

Первый советский вокзал, созданный в конструктивизме

Reading time10 min
Views17K

Вид 1932 года, видно ресторан на крыше

Сегодня мы бы назвали конструктивизм «UX-driven development». Потому что здания проектировались исходя из научной обоснованности функциональности. Оптимальные маршруты передвижения людей, лаконичность форм, предельная функциональность — при развитии стиля мы бы получили идеально оптимизированные города будущего.



Есть такое Иваново, когда-то известное как город невест (потому что там были стратегические швейные производства и в годы после ВОВ был большой дисбаланс по демографии). Потом — как город текстиля: сейчас оттуда берётся бельё «Икеи» и туда организуют шопинг-туры за простынями и пододеяльниками. Но до войны, как утверждают краеведы, рассматривался вариант сделать из крупного производственного центра столицу РСФСР (условно, Москва была бы столицей СССР, а самая большая республика в составе управлялась бы из Иваново). Правда это или нет, идут споры, потому что с источниками как-то бедновато. Но в Иваново зачем-то построили вокзал под пассажиропоток, в десятки раз превышающий уже имевшийся. И это был не просто вокзал, а первый советский вокзал, всем вокзалам вокзал. Храм прогресса, науки и победы пролетариата.

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

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

1 год с Flutter в продакшне

Reading time13 min
Views20K

Это текстовая версия моей презентации на DartUp 2020 (на английском). В ней я делюсь проблемами, с которыми мы столкнулись, обсуждаю наш архитектурный подход, рассказываю о полезных библиотеках, ну и отвечаю на вопрос, удачной ли была эта идея – взять и всё переписать.

Читать далее

Как плафоны снижают яркость ламп

Reading time1 min
Views49K
Я выяснил, насколько плафон снижает яркость светодиодной лампы.

Для этого я провёл эксперимент по измерению светового потока (общего количества света) и освещённости пяти светодиодных ламп в исходном виде и со снятым плафоном.

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

DISTR 3: софт с пятидюймовых дискет

Reading time5 min
Views13K
Пятидюймовый дисковод — желанный артефакт для ретрокомпьютера с 386-486 процессором или более ранним. Совершенно бесполезный для современного использования: если уж так хочется перекидывать данные на настоящих гибких дисках, 3,5-дюймовые удобнее. Многие вовсе заменяют в ретрокомпьютерах настоящий дисковод на бездушную эмуляцию с портом USB. Тем не менее, для своего 386-го компьютера я «большой» дисковод добыл, хотя бы просто для красоты. Разбирая свои собственные архивы софта (1, 2), более поздние, уже на CD-ROM, я подумал — а неплохо было бы изучить более древний, дискетный набор программ.


Такого у меня, увы, не сохранилось, хотя первым носителем данных в моей персональной IT-истории были именно пятидюймовые дискеты. Сначала для компьютера Robotron 1715М и клона ZX Spectrum, а потом и для IBM PC. В последнем случае они использовались просто потому, что были — даже в середине девяностых этот формат безнадежно устарел. Желая найти свежекупленному дисководу полезное применение и приобщиться к истории, я начал отслеживать объявления о продаже дискет. И нашел недорогой лот с пачкой гибких дисков, которые последний раз использовались больше 25 лет назад. О случайных находках в этом архиве рассказываю сегодня.
Читать дальше →

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity