Pull to refresh
0
0
Glum Psyche @GlumPsyche

Software Developer

Send message

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

Reading time14 min
Views300K
Сегодня мы приняли решение отключить расширения SaveFrom.net, Frigate Light, Frigate CDN и некоторые другие, установленные у пользователей Яндекс.Браузера. Совокупная аудитория этих инструментов превышает 8 млн человек.

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



Читать дальше →
Total votes 281: ↑272 and ↓9+351
Comments508

Самый неадекватный кандидат за мою карьеру

Reading time7 min
Views94K
Были кандидаты, которые после первого рабочего дня на радостях в запой уходили… Но вчера ребята провели первичный скрининг и наткнулись на одного из самых сложных кандидатов за последние годы. Сегодня же он выдал опус с целью очернить компанию и интервьюеров и перевел в публичную плоскость дискуссию, а это уже требует реакции компании. К тому же все сказанное им вранье, а сам человек неадекватен. Что произошло и как поступать в таких ситуациях? Ответы на этот вопрос и советы для интервьюеров и кандидатов в данном посте!
Читать дальше →
Total votes 179: ↑109 and ↓70+78
Comments321

Собеседование на миддла за деньги, после которого я готов идти джуном за еду

Reading time3 min
Views73K

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

Читать дальше →
Total votes 80: ↑50 and ↓30+45
Comments136

Мы не умеем ориентироваться в космосе

Reading time6 min
Views23K

Космические приключения напоминают нам, насколько неточно мы способны измерять реальность



Межпланетная станция «Новые горизонты» в представлении художника, готовящаяся собрать данные во время пролёта мимо Плутона

Перевод статьи Калеба Скарфа – астрофизика, директора кафедры астробиологии в Колумбийском университете Нью-Йорка, основателя института yhousenyc.org, изучающего сознание человека и машины.

В начале 1960-х, во время космической гонки, ни американские, ни советские учёные, не знали точно, где находятся Марс или Венера – особенно с точностью и определённостью, жизненно необходимыми для ориентирования космических аппаратов. Это прозвучит смешно. Они знали, конечно, где примерно окажется такая цель, как Венера, когда к ней подлетит космический корабль. Однако «примерно» в данном контексте могло означать погрешность в 10 000 или 100 000 км. Местоположения планет, их эфемериды, зависят от чрезвычайно точной калибровки их орбит. Однако лучше всего делать это непосредственными измерениями – так, как делали бы моряки прошлого, приставая непосредственно к острову или побережью, чтобы точно определить его широту и долготу.
Читать дальше →
Total votes 22: ↑18 and ↓4+21
Comments19

Почему так сложно извлекать текст из PDF?

Reading time7 min
Views29K
Перевод статьи с сайта компании FilingDB, составляющей базу данных из документации европейских компаний

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

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

Основная проблема в том, что PDF не предполагался как формат для ввода данных – его разрабатывали, как канал вывода, дающий возможность тонкой подстройки вида итогового документа.
Читать дальше →
Total votes 39: ↑37 and ↓2+48
Comments25

Это просто бомба-2. Li-Ion — как не взлететь

Reading time14 min
Views100K

За последний десяток лет литий-ионные аккумуляторы из дорогостоящей экзотики перешли в разряд самых распространенных источников автономного питания. Неудивительно, что они стали популярными и в руках самодельщиков, в том числе и начинающих. Иногда от технических решений в их творениях волосы становятся дыбом – ведь особенностью аккумуляторов данного типа является их повышенная опасность, в первую очередь – пожарная. Мой рассказ о том, как правильно «готовить» эту «рыбу фугу», чтобы никто не сгорел и не взорвался.

Читать далее
Total votes 66: ↑66 and ↓0+66
Comments77

Обобщаем паттерн посетитель (С++)

Reading time8 min
Views9.1K

В статье приводится описание того:

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

- Как получать настоящий тип объекта и передавать его в шаблон функции имея на руках лишь указатель на абстрактный базовый класс.

- Как без лишних усилий добавлять и удалять типы, которые посетитель может обработать.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments25

Анатомия GNU/Linux

Reading time13 min
Views117K

Какое-то время назад на Хабре была небольшая волна постов на тему «Почему я [не] выбрал Linux». Как порядочный фанатик я стриггерился, однако решил, что продуктивнее что-нибудь рассказать о своей любимой системе, чем ломать копии в комментариях.

У меня сложилось впечатление, что многие пользователи GNU/Linux слабо представляют, из чего сделана эта операционная система, поэтому утверждают, что она сляпана из попавшихся под руку кусков. В то же время, архитектура большинства дистрибутивов является устоявшейся и регламентируется рядом стандартов, включая стандарт графического окружения freedesktop.org и Linux Standard Base, расширяющий стандарты Unix. Мне при знакомстве с GNU/Linux несколько лет назад для погружения не хватало простой анатомической карты типичного дистрибутива, поэтому я попробую рассказать об этом сам.

Читать далее
Total votes 161: ↑161 and ↓0+161
Comments137

Кодинг без рук: что делать, если лишился своего основного рабочего инструмента

Reading time9 min
Views44K


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

Как можно понять, это достаточно серьёзная проблема: я разработчик ПО, и вся моя карьера зависит от возможности пользования клавиатурой!

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

В этой статье я расскажу о том, как выглядит мой рабочий процесс и как я оптимизировал его под свои нужды.
Total votes 139: ↑139 and ↓0+139
Comments61

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

Reading time6 min
Views48K


В ХIV веке в английском языке начался процесс, который называют Великим сдвигом гласных. Латинское произношение и нижненемецкая фонетика стали вытесняться новыми вариантами. В ходе этого процесса два долгих гласных стали дифтонгами, а еще пять сильно изменились.

Но в средние века не было интернета. В каждом графстве постепенно устоялся свой собственный способ написания и произношения. К примеру, слово «church» на территории Англии могли произносить 22 разными способами, а «she» — 60 вариантами. Знакомое всем «though» и вовсе имело целых 500 вариантов написаний и произношений.

Изменил все один человек — Уильям Кэкстон. Но большинство студентов, которые учат английский как иностранный, ругают этого джентльмена последними словами, когда узнают, как именно читаются слова в английском. Спойлер: как попало. И ругают его, даже если вообще никогда не слышали это имя. Мы расскажем, почему.
Читать дальше →
Total votes 91: ↑88 and ↓3+120
Comments334

Что за X++? Что за ABAP? Древние языки, про которые интересно слушать, но не дай бог на них писать

Reading time6 min
Views28K

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

Но почти в каждой компании в этот момент найдется человек со взглядом на сотню ярдов в пустоту, который будет вспоминать, как 10 лет назад в своем НИИ ШМИИ ИПИАН «Меловой период» его заставляли переписывать гигантскую систему с Лиспа на Си. И у всех в этот момент пробежит холодок по спине — потому что никто не застрахован от рефакторинга чего-нибудь древнего и страшного.

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

Здесь мы собрали вместе людей, которые писали на Prolog, Forth, ABAP и X++, и дали им выговориться.

Читать далее
Total votes 34: ↑25 and ↓9+33
Comments92

Пять самых сложных языков программирования на свете

Reading time3 min
Views78K


У всех нас только и разговоров, что о C, C+, Java, Python и так далее, а между тем, в природе существуют языки, который можно назвать не просто сложными, а недоступными для понимания большинства программистов. Они называются эзотерическими языками программирования (или эзолэнгами, от скоращенного esolang).

Эзотерические языки служат не для того, чтобы выполнять обычные задачи программирования. Они создаются, чтобы провести проверку концепции или просто в развлекательных целях.
Ниже я привожу список из пяти самых головоломных языков программирования (примечание переводчиков: если у вас есть более достойные претенденты, которые не упоминаются у автора, будем рады услышать о них в комментариях). Я попытался написать программу ‘Hello World!’ на каждом из них – было весело.
Читать дальше →
Total votes 26: ↑17 and ↓9+18
Comments20

Пишите зарплаты, траты и чего вы хотите. Или не пишите ничего

Reading time4 min
Views29K

В очередной раз читая комментарии о том что толковых джуниоров не хватает, что на миддлов в ИТ огромный спрос, что сеньора днем с огнем не сыщешь, у меня начинает подгорать пониже спины. Когда кто-то пишет про свою зарплату в другой стране, добавляя, что на жизнь ему хватает, я берусь за огнетушитель. Ведь мой стул мне дорог, и вообще противопожарная безопасность прежде всего. И думаю я не одинок в этом. А ведь у других людей могут быть очень дорогие кресла! Поэтому давайте побережем мебель и попробуем разобраться как же правильно поделиться своим знанием жизни, чтобы это действительно несло какую-то полезную информацию.

Читать дальше →
Total votes 75: ↑55 and ↓20+43
Comments53

Красота, которая не спасла программиста

Reading time8 min
Views129K
«За что тебя приняли, за то тебя и уволят», гласит старинная мудрость. Меня позвали на этот завод для аудита учета, информационной системы, кода, процессов и т.д. Но начали с того, что у них – плохой программист. Стандартный, заводской, ужасный.

Завод создавал красивые продукты. И сам был красивый. Реально красивый – видимо, в проектировании здания участвовали те же дизайнеры, что рисуют продукцию. В цехах – тоже красота и гармония. Чистота, порядок, всё на своих местах. А главное – весь производственный процесс красиво автоматизирован.
Читать дальше →
Total votes 112: ↑99 and ↓13+119
Comments250

Пока смерть не разлучит нас или всё о static в C++

Reading time8 min
Views198K


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

Читать дальше →
Total votes 9: ↑7 and ↓2+7
Comments23

Сколько стоит разработать мобильное приложение

Reading time4 min
Views50K
Всем привет, меня зовут Сева, я директор проектного управления в Citronium. Все мои друзья, кто так или иначе связан с бизнесом постоянно задают мне два вопроса: “Сколько стоит сделать мобильное приложение? Ну такое, чтоб прям нормальное было. Стандартное, но не очень дорогое.” и “А почем нынче вебсайты? Ну такие, стандартные, как у всех”.

Я поначалу отвечал невнятно, говорил, что все всегда по-разному, а тут все же сам задумался над обоими вопросами и решил на них ответить. По порядку. Начнем с мобильного приложения. Я посчитал среднюю стоимость каждого этапа разработки всех составляющих мобильного приложения и получил примерные цифры. Если коротко, это порядка 1.5 млн рублей за гибридное мобильное приложение и порядка 2.2 млн рублей за два нативных приложения, то есть одно под Android и еще одно под iOS.
Читать дальше →
Total votes 21: ↑16 and ↓5+15
Comments37

За что получает деньги наемный работник? Не понимаете? Сейчас поймете

Reading time4 min
Views152K
«За что я плачу тебе деньги?» — обычный вопрос работодателя работнику, причем саркастический, как правило.

«За что я тут корячусь на тебя?» — столь же обычный вопрос работника к работодателю.
Разобраться, за что же действительно работодатель платит деньги наемному работнику, поможет моя собственная теория, закодированная в десять букв – «ПЗП – ПЗС – ПЗПИ»

Читать дальше →
Total votes 178: ↑174 and ↓4+226
Comments888

Академия плохого кода: переводы строк, пробелы и отступы

Reading time5 min
Views13K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Dark code-style academy: line breaks, spacing, and indentation» автора zhikin2207

image

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

Переводы строк, пробелы и отступы могут убивать.


Как люди читают книги? Сверху вниз, слева направо (по крайней мере — большинство). Это же происходит, когда разработчики читают код. Одна строка кода должна содержать одну мысль, следовательно, каждая строка должна содержать только одну команду. Если вы хотите смутить других разработчиков, вам лучше нарушить эти принципы. И давайте я покажу вам как это сделать.
Читать дальше →
Total votes 21: ↑16 and ↓5+19
Comments55

Разрабы работают медленно и дорого — и люди считают нас лентяями. Просто в разработке всё сложно

Reading time7 min
Views75K

— Люди не из индустрии вечно не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?


Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где будем объяснять, почему в разработке всё так сложно. А для тех, кто любит читать, а не слушать, парни написали эту статью.


Читать дальше →
Total votes 188: ↑152 and ↓36+147
Comments533

Information

Rating
Does not participate
Location
Таганрог, Ростовская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer, Mobile Application Developer
Git
C++
Qt
Cmake
Linux
PostgreSQL
SQLite