Pull to refresh
1
@Zettabyteread⁠-⁠only

Восстановление данных

Send message

Позолоченный век интернета: как монополии уничтожают свободный рынок, который их создал

Reading time20 min
Views29K
За последние 10 лет, во втором десятилетии XXI века, рынок стартапов и венчурного инвестирования для многих незаметно, но кардинально изменился. Парадигмой пионеров интернета было создать проект, который изменит интернет к лучшему — «сделать новый Google» (новый Facebook, новый YouTube, новый айфон и так далее). Новой парадигмой стартапера, задумывающегося о своём вкладе в интернет, вступившей в силу в последнее десятилетие, стало создать проект, который будет куплен «Гуглом», «Фейсбуком», Apple (или «Яндексом» или Mail.ru в случае Рунета). Об изменении мира или хотя бы интернета речи уже не идёт — мир уже изменился, а в процессе был открыт, изучен и поделён. Все точки входа и торговые пути под контролем выросших за первые два десятилетия XXI века империй, и новоприбывающим колонистам ничего не остаётся, кроме как выбирать, флагу какой из них присягнуть. Для многих людей, включая автора этих строк, заставших нынешние интернет-империи «в коротких штанишках», когда мы дышали с ними одним воздухом интернет-вольницы, а «Гугл» ещё верил в свой девиз Don't be evil, произошедшее преображение оказалось неприятным, болезненным и неожиданным поворотом. И — отрезвляющим. Но, на самом деле, за последние 10 лет не произошло совершенно ничего нового.

image
Мораль золотого века интернета Don't be evil уступила место морали позолоченного: unless it's profitable

Это не просто этап развития интернет-бизнеса и временная стадия, а отражение фундаментальных экономических процессов развития свободного (нерегулируемого) рынка, которые в этот раз на примере интернета и IT-индустрии в целом продемонстрировали ту же динамику, что уже разыгрывалась в экономической истории мира.
Читать дальше →

Как спарсить любой сайт?

Reading time6 min
Views226K

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

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

Узнать как

Какой софт использует ЦРУ и АНБ для дата-майнинга

Reading time6 min
Views16K


После утечки данных от Сноудена стало понятно, что АНБ собирает данные на всех граждан до совершения преступлений, а не на конкретных подозреваемых после преступления.

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

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

Восстановление удаленных строк в SQLite

Reading time13 min
Views7.5K
Хотя в SQLite и нет возможности прочитать удаленные данные после завершения транзакции, сам формат файла позволяет отчасти сделать это. Подробности — под катом.
Читать дальше →

Фотогалерея на максималках

Reading time20 min
Views11K

~1 год назад я начал разрабатывать свою фотогалерею (песочницу для теста всяких технологий). Данная статья – это описание её архитектуры, а также различные твики/лайфхаки/микрогайды которые я узнал за время разработки + немного про производительность.

Читать далее

Пришло время избавиться от Angular и сэкономить миллиарды долларов

Reading time6 min
Views59K
Я знаю, что эта статья вызовет поток гневных комментариев, но… так тому и быть. Кто-то должен наконец озвучить то, о чём уже некоторое время размышляют программисты, обладающие некоторым опытом.

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



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

Каждый день мне на почту приходят вакансии. Компании всех размеров и мастей рыщут в поисках ОПЫТНЫХ Angular 4, 5, 6, 7, 8, 10, 12-разработчиков, которые как минимум 5 лет занимались разработкой и поддержкой того дурдома, который все называют «современнейшими пользовательскими интерфейсами».

Это — не нечто «современнейшее». Это — дурдом.

Несколько лет назад я был на собеседовании в EA (Electronic Arts). Там мне сказали, что компания избавляется от всех своих UI-фреймворков и возвращается к написанию кода на чистом JavaScript (речь идёт о модулях, или о том, что тот, кто работает с jQuery, назвал бы JS-плагинами). Я был удивлён и заинтригован.

Теперь о причинах подобного хода знают не только в EA, но и во всех остальных компаниях.
Читать дальше →

Если сотрудник убьёт сервис, он убьёт вашу компанию. Остановите его

Reading time9 min
Views18K

Представьте: вы долго работали сисадмином, обросли навыками DevOps и DevSecOps, стали профи и решили открыть свою аутсорсинговую компанию. В штате несколько сисадминов и эникеев, вы настоящая команда, заказчики радуются, что им не нужно нанимать админа в штат. Дело души, деньги, бонусы для сотрудников, корпоративы — вот она, внеофисная жизнь предпринимателя (на самом деле нет). И тут поступает один звонок, второй, третий… У первого заменили рабочую крутую видеокарту на самую бросовую, у второго опоздание на три часа, а к третьему сотрудник так и не дошёл. И вы не слышите, что Вася тиснул себе видюху, Маша безбожно опоздала, а Миша просто свалил на левый заказ — вы слышите «Не хочу иметь дела с вашей компанией». Просто потому что для заказчика нет конкретных людей, есть компания, которой он заплатил и на которую он рассчитывает. Сотрудники подвели компанию, она подвела его. Самое время уйти к конкурентам, оставить пару гневных отзывов и отсоветовать партнёрам иметь дело с этой «шарашкиной конторой». И вот вроде вы — профессионал и ответственный человек, но вам не верят. От вас уходят. Ваш бизнес губят простые ребята, которые ещё утром пили кофе и разбирали заказы. Ох уж этот f*cking человеческий фактор!   

Читать далее

Конспект брошюры «Как правильно читать книги?»

Reading time15 min
Views32K

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

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

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

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

Мною «актуализирована» некоторая часть советов, всё-таки XXI век на дворе.

Читать далее

Регулярные выражения. Всё проще, чем кажется

Reading time7 min
Views126K

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

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

Читать далее

Настройка ядра Linux для повышения производительности памяти

Reading time4 min
Views31K

Linux старается оптимизировать использование памяти, занимая свободное место кэшем. Если память никак не используется, то это память, потраченная впустую.

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

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

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

Читать далее

Книжный рынок мёртв, а я ещё нет

Reading time8 min
Views29K

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

Нет, я серьёзно. Кажется, я прочитал их все. Конечно, не все вообще, а все интересные. Современная книжная пустыня настолько пуста и безвидна, что начинает казаться, будто современные писатели дружно перестали писать.

— Ага, — скажет на этом месте внимательный читатель, заглянув в мой профиль, — так это у вас старость. Мужчины после сорока часто бросают читать.

— Но, я-то как раз не бросил! — воскликну я, — я до сих пор могу читать до утра, если найду интересную книжку! Вот, давеча, нашел на АТ «Семь дней до Мегиддо» Сергея Лукьяненко, так лишний круг на МЦК намотал, пока дочитывал. К сожалению, таких историй я встречаю всё меньше и меньше…

— Интересно почему? — спросит мой собеседник, — у тебя есть версия?

— Вот она, — вздохну я, виновато добавив, — только я, это… от Адама начну.

Мне так проще...

Список ноотропов, покупка которых не окажется пустой тратой денег

Reading time5 min
Views310K

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

Читать далее

Что можно положить в тег <head>

Reading time14 min
Views35K

Рекомендуемый минимум

Ниже приведены основные элементы для любого веб-документа (веб-сайта/приложения):

meta charset — определяет кодировку веб-сайта, стандартом является utf-8.

meta name="viewport" — настройки viewport, связанные с мобильной отзывчивостью

width=device-width — физическая ширина устройства (отлично подходит для мобильных устройств!)

initial-scale=1 — начальный масштаб, 1 означает отсутствие масштабирования

Элементы

Допустимые элементы <head> включают meta, link, title, style, script, noscript и base.

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

Читать далее

Как стать долларовым миллионером за 30 лет, лежа на диване

Reading time12 min
Views242K


На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
Поехали!

Простой Telegram-бот на Flask с информированием о погоде

Reading time5 min
Views48K

Всем привет, в этой статье я расскажу как сделать простейшего телеграмм бота на Python для отправки текущей погоды в Москве.


Статья расчитана на новичков в Python, которые бы хотели узнать больше о том, как взаимодействовать с внешними сервисами по API.


Технологии и API:


  • Python — язык программирования,
  • Flask — фреймворк для создания веб-приложений,
  • Telegram Bot API,
  • Weatherstack API,
  • Ngrok — сервис для создания туннеля к localhost.

Как все будет работать?


  1. Пользователь пишет сообщение телеграмм боту.
  2. Telegram пересылает сообщение пользователя на сервер.
  3. Сервер запрашивает информацию о погоде у Weatherstack.
  4. Сервер отсылает информацию о погоде в Telegram.
  5. Пользователь получает информацию о погоде.
Читать дальше →

Файловая система WAFL — «фундамент» NetApp

Reading time10 min
Views22K

В своем первом посте в этом блоге я обещал рассказать вам о NetApp «с технической стороны». Однако прежде чем рассказать о большинстве из имеющихся в системах NetApp возможностей, мне придется рассказать о «фундаменте», о том, что лежит в основе любой системы хранения NetApp — о специальной структуре организации данных, которую традиционно принято называть «файловой системой WAFL» — Write Anywhere File Layout — Файловой Структурой с Записью Повсюду, если перевести дословно.

Если вы сочтете, что «для Хабра» текст суховат, то потерпите, дальше будет интереснее, но не рассказать об устройстве того, что лежит в основе подавляющего большинства практических «фич» NetApp я не могу. В дальнейшем будет куда сослаться «для интересующихся» на подробное объяснение в следующих постах, о более практических «фишках».
Так, или иначе, но почти все, что NetApp умеет уникального растет именно из придуманной в начале 90-х Дэвидом Хитцем и Джеймсом Лау, сооснователями «стартапа» Network Appliance, файловой системы. Хороший аргумент за то, насколько важной и полезной может оказаться в будущем развитии изначально грамотная и продуманная «архитектура» продукта.
Читать дальше →

Маленький и быстрый BERT для русского языка

Reading time9 min
Views69K

BERT – нейросеть, способная неплохо понимать смысл текстов на человеческом языке. Впервые появившись в 2018 году, эта модель совершила переворот в компьютерной лингвистике. Базовая версия модели долго предобучается, читая миллионы текстов и постепенно осваивая язык, а потом её можно дообучить на собственной прикладной задаче, например, классификации комментариев или выделении в тексте имён, названий и адресов. Стандартная версия BERT довольно толстая: весит больше 600 мегабайт, обрабатывает предложение около 120 миллисекунд (на CPU). В этом посте я предлагаю уменьшенную версию BERT для русского языка – 45 мегабайт, 6 миллисекунд на предложение. Она была получена в результате дистилляции нескольких больших моделей. Уже есть tinybert для английского от Хуавея, есть моя уменьшалка FastText'а, а вот маленький (англо-)русский BERT, кажется, появился впервые. Но насколько он хорош?

Читать далее

Дамп прошивки беспроводной Logitech K360 с помощью GreatFET

Reading time6 min
Views9.1K


Недавно чисто ради спортивного интереса я решил хакнуть клавиатуру, и в качестве первой подопытной выбрал самую дешевую беспроводную модель Logitech K360. Она уже несколько устарела, а ее основная микросхема также, как и используемый протокол беспроводной связи, ранее подробно разбирались. Можете посмотреть презентацию Mousejack Марка Ньюлина, почитать работу Трэвиса Гудспида по сниффингу nRF24, а также ознакомиться с упоминаемой в этих материалах разработкой KeyKeriki.

Я же занялся всем этим больше в качестве тренировки нежели нового исследования и никак не знал, что в итоге обнаружу. Тем не менее мне показалось, что подобная затея станет интересным небольшим примером извлечения из встроенной флэш-памяти голой прошивки.
Читать дальше →

Воспитание Obsidian — вашего персонального информационного менеджера

Reading time5 min
Views137K


Методик повышения личной эффективности хоть пруд пруди. Как по мне, основная проблема с ними в том, что нужно работать самому. Совершенно нормальное стремление — избежать приложения усилий. Пускай хорошая методика и есть тот рычаг, коим обещают сдвинуть Землю, но физика знает, что всю-всю работу делать всё равно нам самим. Основной вопрос, терзавший меня в вопросе выбора персонального информационного менеджера заключался в том, что он будет делать вместо меня. Задача была не самая лёгкая. За короткий срок разобраться в новой области — организовать конспекты, классифицировать справочники и литературу по теме. Море открытых вкладок браузера (всё очень нужное, оно не должно скрыться из глаз), pdf-файлы, заботливо присланные новыми коллегами… С этим всем в голове я познакомился с программой Obsidian, которая пообещала стать A second brain, for you, forever.

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity