Search
Write a publication
Pull to refresh
0
@int_iread⁠-⁠only

User

Send message

Кровь и бетон. Как не надо писать

Reading time8 min
Views42K

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

К чёрту. Варианты закончились. Чтобы не терять времени, перейдем к оскорблениям.

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

Читать далее

Python + OpenCV + Keras: делаем распознавалку текста за полчаса

Reading time12 min
Views229K
Привет Хабр.

После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST).

Если кому интересно, как с помощью этой базы можно сделать несложную распознавалку текста, добро пожаловать под кат.


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

Работа с устройствами на LibUsb из-под Android

Reading time3 min
Views7.4K
Как то-однажды мне понадобилось, чтобы один прибор, который управлялся через USB c десктопной программы, также мог управляться через Android приложение. Особенность была в том, что не использовались HID, CDC и прочие стандартные классы устройств. Передача данных осуществлялась через Bulk transfer и конечные точки. В основе работы с usb лежала библиотека libusb.
Читать дальше →

Животное устало

Reading time2 min
Views88K
Животное стареет. Ничего удивительного. Я знала, что в конце концов это произойдёт. Но не предусмотрела никаких мер, чтобы справиться с ситуацией. Реальность подкралась незаметно. И теперь с ней приходится жить…

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

Вы не просите дать вам работу, вы продаёте услугу

Reading time4 min
Views41K

Изображение: businessinsider.com

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

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

Публикуешь вакансию, появляется 5000 соискателей, выбираешь 100, тратишь 2 недели на телефонный скрининг, 5 человек имеют знания, необходимые для работы.

Собеседования — это кошмар для обеих сторон.

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

Её начальник нанял обоих кандидатов, которые выделились на общем фоне. Из пяти тысяч людей обратили на себя внимание двое.

Простым языком об HTTP

Reading time9 min
Views1.5M
Вашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.

HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

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

Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
Читать дальше →

Шпион, выйди вон: что делают браузеры после установки?

Reading time9 min
Views52K

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

В этой статье мы оценивали поведение пяти браузеров: Brave, Chrome, Firefox, Edge и Opera. Все исследования проводились на десктопе под управлением Windows 10 (версия 20H2, билд 19042.804) с подтвержденной учёткой Microsoft.

Читать далее

Как сбросить вес, не занимаясь спортом? Личный опыт

Reading time9 min
Views178K
Привет, Хабр!

По моим наблюдениям, всех людей можно разделить на три категории: счастливчиков с нормальным телосложением, худых, кто не знает как бы поправиться, и полных, кто не знает как бы похудеть. Мне угораздило попасть в третью категорию, и всю взрослую жизнь мой вес колебался в районе 95кг при росте 1.74м, что соответствует BMI=31.4 или ожирению. И хотя в принципе, это ничуть не мешало, но все же лишний вес накладывает определенные ограничения, как в перспективе состояния здоровья, так и в плане личной жизни. Наконец, в один прекрасный день я решил что «пора», и занялся этим вопросом более серьезно.



Думаю, среди IT-шников, работающих в офисе, немало людей с похожими проблемами, и надеюсь, мой опыт будет им полезен.

Три мои самые большие ошибки в карьере разработчика

Reading time10 min
Views25K

Все мы знаем истории о программистах — рок-звёздах. Свои первые деньги от первого сайта она заработала в 11 лет. Закончила колледж в 16 лет; открыла LLC в 17; заработала миллиард в 23... Мы любим эти истории, их героев; они вдохновляют нас плодотворным программированием и своим умением устанавливать новые тенденции. От решения NP-полных задач и до того, чтобы зарабатывать миллионы, кажется, они никогда не ошибались на своём пути.

Но реальность такова, что все разработчики, даже рок-звёзды, ошибаются! И преодолевают неудачи. Разница только в масштабе: когда мы что-то сломали, повреждаются записи БД, когда что-то ломают они, то это ошибка на миллиард долларов.

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

Если у родителей нет планов на будущее собственного ребенка, они есть у государства

Reading time4 min
Views46K

Если у подростка, а потом и у взрослого тоже нет планов на собственное будущее — вы уже знаете ответ. До этого важного тезиса мне пришлось идти овердофига лет. 

Иными словами.

Читать далее

Генератор неслучайных чисел

Reading time4 min
Views21K
Этот код напечатает случайную последовательность латинских букв, так ведь?

import java.util.Random;

class WTF {
    public static void main(String[] args) {
        Random r = new Random(76880392499L<<11);
        String alphabet = " abcdefghijklmnopqrstuvwxyz";
        int n;
        while ((n = r.nextInt(alphabet.length())) > 0)
        	System.out.print(alphabet.charAt(n));
    }
}

Можете проверить; вывод кажется совсем не случайным. Как же так вышло?

Прежде всего: какой шанс, что из всех последовательностей латинских букв напечатается именно эта? Сгенерировано 10 случайных чисел, каждое выбиралось из 27 вариантов, значит всего вариантов было $27^{10} \approx 2.06\cdot10^{14}$. Если считать, что все варианты равновероятны, то нам выпал один шанс из двухсот миллионов миллионов! Ух!
Читать дальше →

Почему 97% программистов 1С мало платят и так будет всегда

Reading time7 min
Views125K
Внимание: статья — про программистов 1С, соответственно — не про вас. Считайте, что про вомбатов, и для вомбатов (погуглите, это интересные животные). У них есть проблемы, схожие с вашими.

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

Еще 2 % — люди, регулярно ухаживающие за финансовой стороной своей работы. Им эта статья вряд ли будет интересна.

Ну а 97 % чуваков ведут себя так. Работают. Молчат про зарплату. Хотят, чтобы денег платили больше. Молчат. Работают. Надеются. Молчат. Работают. Не могут больше молчать. Увольняются.

Те, с кем я лично знаком, часто приходят поговорить – между пунктами «не могут больше молчать» и «увольняются». Спрашивают – ну что я не так делаю? Почему мне мало платят? А главное – почему не повышают? Ведь я хорошо работаю! Что мне делать?

Поначалу я думал, что людям и правда нужны советы, и искренне пытался помочь. Когда-то даже оформил эти советы в статьи с общим названием «Карьерные стероиды». И некоторые этими советами пользовались, потом писали о своих успехах. Угадайте, сколько таких людей было? Правильно, 2 %.
Читать дальше →

Мультимедиа прошлого: как слушали музыку в MS-DOS

Reading time4 min
Views16K

Всего каких-то 26 лет назад прослушивать музыку на компьютере было не таким уж и простым делом. Еще до появления Windows 95, смело заявляющей о своей мультимедийности, люди слушали музыку прямо в среде MS-DOS. Причем не только трекерную, но и MP3. Стряхнем пыль со старого софта и погрузимся в чудесный мир музыки начала 90-х.

Для начала вспомним о популярных музыкальных форматах и оборудовании тех годов. В основном это были поздние 486DX и пришедшие им на смену Пентиумы с тактовой частотой от 60 до 133 МГц. Технология MMX (MultiMedia eXtensions), ускоряющая декодирование аудио- и видеопотоков, появилась лишь в 1997 году. Меломанам 1994 года приходилось довольствоваться тем что есть.

Вы безумны, остановитесь пока не поздно

Reading time8 min
Views158K
image

Привет Хабр! Всего каких-то пару лет назад на страницах нашего любимого ресурса красовались вдохновляющие статьи успешного успеха, как вчерашний сантехник / таксист / сварщик / сутенёр успешно интегрировался в IT сообщество и начал зарабатывать 100500$ в секунду левой пяткой. Здорово, не правда ли? Но всё ли так радужно с этими историями с точки зрения действующих разработчиков? Прошу под кат.
Читать дальше →

Представлена «вечная» батарейка на радиоактивных элементах

Reading time2 min
Views81K


Американский стартап Nano Diamond Battery представил прототип бета-гальванической батареи, которая способна проработать тысячи лет. Это не теория, сейчас разработку переводят на коммерческую основу. Несколько недель назад разработчик завершил тестирование, убедившись в работоспособности системы. Первые батареи такого типа появятся в продаже в конце этого года. Инвестором разработчиков выступил стартап-инкубатор Volkswagen Future Mobility.

Разработка представляет собой специальный корпус из синтетических алмазов, внутрь которого помещен радиоактивный сердечник. В процессе неупругого рассеивания бета-излучение изотопов преобразуется в электрический ток. В качестве топлива используются переработанные ядерные отходы углерода-14. Этот изотоп применяется для радиоизотопного датирования и диагностики некоторых заболеваний желудочно-кишечного тракта. Он также накапливается в графитовых деталях ядерных реакторов, которые поглощают излучение ядерных топливных стержней. Хранить такие отходы опасно, дорого и трудно. Батареи на углероде-14 решают сразу две проблемы — недолговечность обычных элементов питания и переработки радиоактивных отходов.
Читать дальше →

Совершенный цикл for

Reading time6 min
Views56K

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


Я довольно давно пишу код, и так вышло, что практически всегда на C++. Даже и не могу прикинуть, сколько раз я написал подобную конструкцию:


for (int i=0; i<size; i++) {
    [...]
}

Хотя почему не могу, очень даже могу:


find . \( -name \*.h -o -name \*.cpp \) -exec grep -H "for (" {} \; | wc -l
43641

Наш текущий проект содержит 43 тысячи циклов. Проект пилю не я один, но команда маленькая и проект у меня не первый (и, надеюсь, не последний), так что в качестве грубой оценки пойдёт. А насколько такая запись цикла for хороша? Ведь на самом деле, важно даже не то количество раз, когда я цикл написал, а то количество раз, когда я цикл прочитал (см. отладка и code review). А тут речь очевидно идёт уже о миллионах.


На КПДВ узел под названием «совершенная петля» (perfection loop).


image


Так каков он, совершенный цикл?

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

C++ против C#

Reading time23 min
Views81K


Всем известно, что нет ничего глупее споров «какой язык лучше». Например, лучше для чего? Разные языки успешны в разных нишах — и бессмысленно делать категоричные выводы, не учитывая это.

Но что получится, если обратиться к опытным специалистам, которые сами всё это понимают, и попросить их всё-таки устроить холивар «C++ vs C#»? Оказывается, можно узнать много любопытных деталей. Слово «кроссплатформенный» можно по-своему применить к обоим языкам, но что это значит на практике? Активно ли сейчас развивается С++? Ломал ли C# когда-либо обратную совместимость? Ответы могут быть очевидны для тех, кто уже глубоко погружён в оба языка сразу, но таких людей немного — а все остальные узнают что-то новое.

Со стороны C++ поучаствовал Сергей sermp Платонов — председатель программного комитета конференции C++ Russia. Сторону C# представлял Анатолий Кулаков — он входит и в ПК конференции DotNext, и в число лидеров DotNetRu. А ведущим дискуссии, в жизни которого сосуществуют оба этих мира, стал Дмитрий mezastel Нестерук.

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

Как Греф с программистами боролся

Reading time6 min
Views235K

Наверное многие помнят скандальное заявление Грефа о том, что Сбербанку программисты не нужны: "У нас огромное количество программистов, с которыми мы боремся". Давайте проанализируем откуда такие заявления взялись и чем все это закончилось.


Читать дальше →
«Библиотеки для C++ нередко похожи на русскую классику: страдает либо их автор, либо пользователь, либо архитектура». Автор этой цитаты, Сергей Садовников из «Лаборатории Касперского», прошел свой путь от страданий к просветлению и узнал о метапрограммировании в С++ нечто важное и нужное. Сочувствующих приглашаем в волшебный мир макросов, шаблонов, boost и прочих loki.
Подробности – под катом

Как я спас мир

Reading time4 min
Views37K
image

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

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

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

Information

Rating
Does not participate
Registered
Activity