Pull to refresh
53
0

Разработчик под Android, перешедший на Rust

Send message

Смотрим любое кино мгновенно

Reading time2 min
Views161K

После ареста серверов Moonwalk жить стало в разы труднее. Лично я уже совсем отвык от торрентов. Нужно что-то качать, ждать, чем-то открывать, куда-то кликать, иногда еще и место на диске кончается. Как можно ждать час пока скачается фильм? За час можно жизнь прожить. Пришлось искать решение, которое позволит смотреть кино также просто, как и раньше. Норматив: от идеи посмотреть что-нибудь до начала просмотра - не более минуты.

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

Читать далее

Пользователь пьян

Reading time2 min
Views66K
Австралийский дизайнер Уилл Дэйбл предлагает интересную метафору, помогающую разрабатывать простые и удобные интерфейсы. Разработчику, который знает свою систему вдоль и поперек, и отдаёт работе над ней значительную часть своей жизни, очень трудно представить, как будет работать с ней обычный пользователь, чья голова забита другими вещами. Особенно, если он пробует его продукт первый раз в жизни и ещё не уверен в его полезности. Чтобы представить, что творится в голове у пользователя, Уилл Дэйбл предлагает вообразить, что пользователь пьян. Его внимание рассеянно, он легко выходит из себя, он не слишком отчётливо видит и не очень уверенно двигается — если постоянно помнить об этом, интерфейс получится чище и проще. Суть метода Дэйбл рассказывает в этом пятиминутном ролике:


Ключевые моменты метода:

Как IT вошёл в меня

Reading time7 min
Views11K

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

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

Читать далее

Connected! Самое главное о дизайне VPN-приложения

Reading time3 min
Views4.7K

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

Читать далее

Почему Джеф Безос – самый опасный политикан на планете

Reading time9 min
Views105K


Вы не сможете стать супербогатым, если будете соблюдать общепринятые правила…

Шесть способов стать богатым


Несколько лет назад я прочитал книгу – что-то типа — Как стать миллиардером.
Автор проанализировал 400 самых богатых людей из списка Форбс и обнаружил что есть только несколько способов для того чтобы попасть в этот список сверхбогачей.

Как из домашнего ПК средствами виртуализации сохранить игровую систему

Reading time8 min
Views67K
Благодаря конкуренции и развитию НТП современные ПК позволяют выполнять множество простых и сложных задач одновременно, например играть и воспроизводить видео на ТВ, рендерить графику и читать новости в интернете, раздавая торренты параллельно, и т.д. и т.п. Многие идут дальше и используют несколько ПК для работы и развлечений. Однако при помощи технологий виртуализации можно с одной стороны расширить возможности своего ПК, а с другой сэкономить, т.к. по сути можно запустить несколько операционных систем на одном железе в одно и то же время.


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

Невменяемый, необъятный масштаб браузеров

Reading time3 min
Views73K

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

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

С помощью wget я скачал все 1217 спецификаций W3C, опубликованных на текущий момент. Существенная часть из них должна быть реализована в браузере, чтобы современный веб работал. Я подсчитал объём этих спецификаций. Как думаете, насколько сложен современный веб?

Читать далее

Минимальный размер контента в CSS grid

Reading time3 min
Views6K
Иногда, когда вы пишете компонент, то вдруг замечаете странную полосу горизонтальной прокрутки. Снова и снова вы пытаетесь исправить положение, только чтобы позже понять, что причина в чём-то другом. Сколько раз так было? В этой статье я растолкую хитрую проблему, которая может стоить часов проб и ошибок; связана эта проблема с макетом сетки CSS, и я подумал, что о ней стоит написать. Прежде чем начать, я хочу дать некоторый контекст. Вот несколько вещей, которые следует принять во внимание. Представьте, что вы:

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

Учитывая всё это, давайте погрузимся в проблему.


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

Как компании отказаться от роли тимлидов

Reading time10 min
Views11K

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

В PropellerAds решили пойти по принципу «нет человека — нет проблемы» и отказались от роли тимлидов. Как компании удалось это провернуть, не только не потеряв ни одного руководителя, но и успешно привлекая тимлидов из других компаний, в своем докладе на конференции TeamLead Conf 2020 рассказал глава продуктового отдела PropellerAds Яков Беккер.

Читать далее

9 самых популярных PHP-фреймворков

Reading time6 min
Views73K
Десятки лет PHP был самым любимым языком программирования в мире. И это не случайно. PHP-разработка ведётся быстро, получающиеся в итоге проекты отличаются высоким уровнем безопасности, их легко поддерживать. Кроме того, в ходе разработки PHP-проектов приходится писать не слишком много собственного кода благодаря тому, что существует огромное количество PHP-библиотек. В наши дни PHP используется приблизительно на 79% веб-сайтов.



Разработчикам в деле создания их замечательных проектов помогают различные PHP-фреймворки. Но что это за фреймворки? Почему программисты выбирают именно их? Сейчас мы попытаемся в этом разобраться и заодно выясним то, какие именно фреймворки лучше всего подходят для веб-проектов различных видов.
Читать дальше →

А такой ли уж анти-паттерн этот Service Locator?

Reading time5 min
Views8.7K

В индустрии сложилось устойчивое мнение, что Service Locator является анти-паттерном.

Из wiki: "Стоит заметить, что в некотором случае локатор служб фактически является анти-шаблоном."

В этой публикации я рассматриваю тот случай, когда, на мой взгляд, Service Locator анти-шаблоном не является.

Читать далее

Как мы ржавели. История внедрения и обучения

Reading time12 min
Views38K

Все говорили – переходи на rust! Начинай пользоваться самым-самым языком, который самый любимый язык на stackoverflow и всё такое.

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

Профессионально я программирую уже 17 лет. В далёкие-предалёкие времена я начал изучать программирование с x86 Assembly. Такой жестокий подход к изучению компьютера дал мне глубокое понимание того как работает процессор и что делают другие языки программирования. Учить новые языки для меня никогда не было проблемой. Я их просто учил. C, C++, шарпы, ГО, тысячи разных скриптов и фреймворков. Чего уж там, ещё один язык, можно и выучить.

Ага.

Только вот не с этой ржавой развалюхой. Я просидел две недели над официальным руководством, пялился в VSCode и не мог выдавить из себя больше чем fn main() {}. Ну какого же чёрта? Я просто закрыл глаза, открыл руководство на рандомной странице и начал его читать. И прикол в том, что я понял о чём там говориться. И тут до меня дошло… Руководство написано наизнанку. Начало и конец ничуть не лучше чем в Мементо Кристофера Нолана. Они как-то умудрились запутать в общем-то нормальное руководство. После этого всё пошло получше.

Ржавые шестерёнки заскрипели и начали крутиться. Программа пошла-поехала. Если хотите знать как я внедрил rust в продакшин, как я ему научился и что из этого вышло – добро пожаловать под кат. Реальные люди, коммиты, примеры и никаких todo-list и хеллоу-ворлдов.

Ржаветь так ржаветь.

Альтернативы Raspberry Pi

Reading time8 min
Views89K

Свет клином не сошёлся на Raspberry Pi, и потому энтузиасты и гики могут экспериментировать с большим количеством самых разных одноплатных компьютеров (SBC). Предлагаю познакомиться с устройствами, которым под силу обрести популярность в 2021 году.

Читать далее

Самый беззащитный — уже не Сапсан. Всё оказалось куда хуже…

Reading time8 min
Views555K
{UPD 10.02.2021} Евгений Чаркин дал интервью на эту тему gudok.ru/newspaper/?ID=1552569
Под катом мои комментарии на некоторые тезисы.
{/UPD}

Больше года назад хабравчанин keklick1337 опубликовал свой единственный пост «Самый беззащитный — это Сапсан» в котором рассказывает как он без серьёзных ухищрений получил доступ ко внутренней сети РЖД через WiFi Сапсана.

В ОАО «РЖД» прокомментировали результаты этого расследования. «Есть результаты проверки. Почему удалось взломать? Наверное, потому, что злоумышленник. Наверное, из-за этого… Ну, он из „фана“. Юный натуралист. Там уязвимостей, которые бы влияли на утечку каких-то критических данных, нет. Мультимедийный портал „Сапсанов“ функционирует как положено и не нуждается в доработке», — заявил Евгений Чаркин.

То есть вместо того, чтобы выразить благодарность за обнаруженную уязвимость, автора обозвали «злоумышленником» и «Юным натуралистом».

К сожалению, но специалисты РЖД, начиная с директора по информационным технологиям, отнеслись к статье очень пренебрежительно, проигнорировав важное указание автора:
Также оттуда в сеть РЖД есть впн. Если захотите — найдёте её там сами.

И вот, год спустя я попал в сеть РЖД даже не садясь в Сапсан.



Видимо, только этот котэ добросовестно охраняет вокзал.

Как именно я попал в сеть РЖД с пруфами, чего не сделал директор по информационным технологиям ОАО «РЖД» Чаркин Евгений Игоревич и возможные последствия — под катом.
Читать дальше →

Разработка и мышление: как работает мозг во время кодинга

Reading time3 min
Views17K

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

Существует мнение, что программирование само по себе напоминает процесс изучения иностранного языка. Технически здесь есть общие моменты, но фактически для мозга все выглядит не совсем одинаково. Чтобы выяснить, какие же части мозга отвечают за кодинг, ученые из MIT просканировали мозг разработчиков-добровольцев в процессе работы. Молодые люди работали с применением текстового языка Python и графического языка ScratchJr.
Читать дальше →

Интернет-кочевники — кто это, сколько зарабатывают, и это вообще законно?

Reading time6 min
Views30K
сидит мужик в очках на пляже с ноутбуком

Я переезжаю 7 раз в год. Собираю все вещи, выезжаю из старой квартиры и въезжаю в новую. В среднем за 3 года — это один переезд через каждые 52 дня. Иногда новое жильё находится в другой части города, иногда в другой стране.

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

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

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

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

Я уже стар, и мой опыт мешает мне в работе, или Почему немолодым людям трудно работать программистами

Reading time12 min
Views36K
Я старый. При этом я в ладу с собой. Я не лежу ночью, беспокоясь о своей старости. Но прекрасно понимаю, что я определённо стар — по крайней мере в смысле программирования. Большинство непрограммистов посмеялись бы над мыслью о старости. Во многих сферах в середине пятого десятка лет означает, быть на вершине профессиональных навыков. Но в разработке программного обеспечения любой человек старше 40 часто рассматривается с некоторым подозрением. Люди старше 50 часто выпадают из пула резюме. Человеку за 60 хорошо иметь очень прочную стратегию выхода на пенсию. Но это статья не об определении «старости» или о предвзятости к старикам. Эта статья о том, что «более опытным» разработчикам часто труднее приспособиться к конкретной работе, задаче или среде.


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

Полное визуальное руководство-шпаргалка по Flexbox и Grid + туториал

Reading time31 min
Views161K


Доброго времени суток, друзья!

Представляю вашему вниманию полное визуальное руководство-шпаргалку по всем свойствам CSS-модулей Flexbox и Grid.

Основные источники: A Complete Guide to Flexbox, A Complete Guide to Grid.

В конце статьи вас ждет небольшой туториал по созданию тренажера по Flexbox.

Без дальнейших предисловий.


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

Reading time4 min
Views36K

CrowdSec

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

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

Ваш компьютер на самом деле не ваш

Reading time15 min
Views70K

Вот он. Наступил. Получите и распишитесь.

Речь, конечно, идет о мире, предсказанном Ричардом Столлманом в 1997 году. О мире, о котором нас предупреждал Кори Доктороу.

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

Оказывается, текущая версия macOS отправляет в Apple хэш (уникальный идентификатор) при запуске каждой программы. Многие люди не были в курсе этого, так как хэш передается незаметно и только при наличии выхода в интернет. А сегодня серверы работали очень медленно и не успевали проверять хэши. Как результат, все приложения не открывались, если имелся выход в интернет.

P. S. Перевел статью целиком только из-за того, что текущий перевод вообще не соответствует уровню статей Хабра.

Расшифровать хэши за Apple

Information

Rating
9,356-th
Location
Bratislava, Bratislava, Словакия
Date of birth
Registered
Activity