Search
Write a publication
Pull to refresh
2
0

Пользователь

Send message

Кое-что об inode

Reading time5 min
Views93K
Периодически, с целью переезда в ЦРС собеседуюсь в разных крупных компаниях, в основном Питера и Москвы на должность DevOps. Обратил внимание, что во многих компаниях (во многих хороших компаниях, например в яндексе) задают два сходных вопроса:

  • что такое inode;
  • по каким причинам можно получить ошибку записи на диск (или например: почему может закончиться место на диске, суть одна).

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

Начну «снизу», т.е. с жесткого диска (флешки, SSD и прочие современные штуки отбросим, для примера рассмотрим любой 20 или 80 гиговый старый диск, т.к. там размер блока 512 байт).

Жесткий диск не умеет адресовать свое пространство побайтно, условно оно разбито на блоки. Нумерация блоков начинается с 0. (называется это LBA, подробности тут: ru.wikipedia.org/wiki/LBA)


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

Книга «Предиктивное моделирование на практике»

Reading time8 min
Views6.5K
imageПривет, Хаброжители! «Предиктивное моделирование на практике» охватывает все аспекты прогнозирования, начиная с ключевых этапов предварительной обработки данных, разбиения данных и основных принципов настройки модели. Все этапы моделирования рассматриваются на практических примерах из реальной жизни, в каждой главе дается подробный код на языке R.

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

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

Отказоустойчивая IPoE сеть из подручных средств

Reading time7 min
Views4.6K

Здравствуйте. Значит есть сеть из 5к клиентов. Недавно вылез не очень приятный момент — в центре сети и у нас стоит Brocade RX8 и он начал слать много unknown-unicast пакетов, так как сеть поделена на вланы — то частично это не проблема НО есть спец вланы для белых адресов и т.д. и они растянуты во все стороны сети. Так вот теперь представьте входящий поток на адрес клиента, который бордером не учится и этот поток летит в сторону радио линка на какоето (а так на все) село — канал забит — клиенты злые — печаль…

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

Первые десять дней на пути от совы к жаворонку: сон, рацион, режим питания и нагрузка

Reading time10 min
Views25K
Режим дня, режим питания, рацион и физическая нагрузка — это четыре ключевых параметра здоровой жизни. С каждым из них я экспериментировал на протяжении последних трёх лет, учась на своём опыте и изучая чужой — наблюдения, исследования, научные данные и личный опыт других людей. Десять дней назад я решил активировать все четыре, в одночасье поменяв в своей жизни как я сплю, как я питаюсь и какую себе даю нагрузку.

  • 28 июля: вес — 80,5 кг, из них жировой ткани 14,9% и мышц 44,8%. Режим сна как таковой отсутствует.
  • 7 августа, 10 дней спустя: вес — 75,3 кг, из них жировой ткани 13% и мышц 45,8%. Каждый день ложусь спать в течение часа после заката.


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

Решение задания с pwnable.kr 17 — memcpy. Выравнивание данных

Reading time5 min
Views3.1K
image

В данной статье разберемся с выравнием данных, а также решим 17-е задание с сайта pwnable.kr.

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

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

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

Плоды ASIC-эволюции: о производителях, майнерах для SHA-256 и странностях астрономического хэшрейта

Reading time7 min
Views14K
На этой неделе наступил очередной день “Х” (халвинг) для Ltc, когда вознаграждение майнеров лайткоина уменьшилось вдвое. Катастрофы не произошло, но небольшим майнерам стало тяжелее окупать затраты. Биткоин, в свою очередь, тоже постепенно приближается к халвингу 2020-го года. В России регулярно озвучиваются инициативы по запрету криптовалют и их эмиссии. Несмотря на этот обильный информационно-событийный негатив, лютая криптозима сменилась, если не криптолетом, то очень тёплой криптовесной. В долгосрочной перспективе аналитики ожидают уверенный рост курса основных криптовалют. И в связи с этим многие стремятся “запрыгнуть в последние вагоны уходящего поезда”, выжав максимум возможной прибыли из майнинга.



Сама целесообразность вложения в майнинг часто ставится под вопрос. Особенно много копий ломается при обсуждении рентабельности майнинга биткоина, сложность сети которого растёт быстрее прочих. Между тем, ряд технологических компаний продолжают верить в биткоин и выпускают всё более эффективные устройства для его добычи. Под катом — обзор наиболее успешных производителей ASIC и наиболее эффективных устройств, работающих с алгоритмом SHA-256, а также комментарии экспертов в отношении их будущего.
Читать дальше →

Как оценить компьютеры, которые пока ещё не совсем существуют

Reading time5 min
Views4.7K


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

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

LTE как символ независимости

Reading time10 min
Views7.6K


Лето — горячая пора для аутсорсинга?


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


Поэтому лето для аутсорсеров или ИТ-специалистов на фрилансе, например, «приходящих сисадминов» считается неактивной порой...

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

Cython: более чем 30-кратное ускорение Python-кода

Reading time4 min
Views104K
Python — это язык, который любят многие программисты. Этим языком невероятно легко пользоваться. Всё дело в том, что код, написанный на Python, отличается интуитивной понятностью и хорошей читабельностью. Однако в разговорах о Python часто можно слышать одну и ту же жалобу на этот язык. Особенно тогда, когда о Python говорят знатоки языка C. Вот как она звучит: «Python — это медленно». И те, кто так говорят, не грешат против истины.

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



Есть несколько способов ускорения Python-программ. Например, можно применять библиотеки, рассчитанные на использование нескольких ядер процессора. Тем, кто работает с Numpy, Pandas или Scikit-Learn, можно посоветовать взглянуть на программный комплекс Rapids, позволяющий задействовать GPU при проведении научных расчётов.
Читать дальше →

Десятка лучших докладов C++ Russia и плейлист конференции в открытом доступе

Reading time9 min
Views12K

Этот хабрапост объединяет десять лучших докладов от таких спикеров, как Nicolai Josuttis, Timur Doumler, Андрей Давыдов и многих других.


C++17/20/23, concepts, immutable data structures, concurrency, parallelism, metaprogramming — всё это темы конференции C++ Russia 2019, прошедшей этой весной в Москве. Более шести сотен участников, известные международные спикеры, глубокие доклады. Обратите внимание — доклады такие, что устареют очень нескоро, а применить полученные знания можно хоть сейчас.



Формат таков:


  • Обязательное видео на YouTube
  • Подробное описание доклада на русском языке (со слайдами, если они есть)
  • Краткая биография докладчика

Не стесняйтесь писать комментарии! Кстати, в плейлисте, опубликованном под катом, есть не только топ-10. И мы выключили рекламу на YouTube, так что никто не будет мешать.

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

За и против: ценовой порог для .org все-таки отменили

Reading time3 min
Views3.3K
ICANN разрешила регистратору Public Interest Registry, отвечающему за доменную зону .org, самостоятельно регулировать цены на домены. Обсуждаем мнения регистраторов, IT-компаний и некоммерческих организаций, которые были высказаны за последнее время.

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

Шпаргалка для стажера: пошаговое решение задач на собеседовании Google

Reading time3 min
Views17K
image

В прошлом году последние пару месяцев я потратил на подготовку к собеседованию для стажировки в Google (Google Internship). Все прошло хорошо: я получил и работу, и отличный опыт.

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

Хаки при работе с большим числом мелких файлов

Reading time7 min
Views45K
Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode».



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

Поэтому делюсь нашим опытом, может кому и пригодится.
Читать дальше →

Голос за геймдев: как мы разработали голосовой квест «Мир Лавкрафта»

Reading time8 min
Views38K
Пока Google готовил глобальное обновление для русскоязычного Ассистента – с новыми голосами, блэкджеком и встроенными оплатами, мы решили создать для него собственную игру. Мы экспериментировали с жанрами, сюжетом, пасхалками, озвучкой и внутриигровыми платежами. В итоге получился дико интересный опыт, который может повторить каждый, кто хочет сделать первый шаг в геймдев через голос. На примере квеста «Мир Лавкрафта» делимся соображениями об играх для голосовых ассистентов: как разработать и какие есть возможности для монетизации.


Learn OpenGL. Урок 7.1 – Отладка

Reading time14 min
Views17K

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


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

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

Разговорный BERT — учим нейросеть языку соцсетей

Reading time2 min
Views9.4K
Одним из главных событий в области компьютерной лингвистики и машинного обучения в 2018 году был выпуск BERT от Google AI, который признан лучшим докладом года по мнению североамериканского отделения Ассоциации компьютерной лингвистики (NACL). В этой статье мы расскажем об этой языковой модели и ее возможностях.

Для тех, кто не слышал ранее, BERT — это нейронная сеть, основанная на методе предварительной подготовки контекстных представлений слов, то есть использует двунаправленную модель языка, а также позволяет анализировать целые предложения. В этом случае, учитываются слова, которые идут после данного и через тоже. Этот метод позволяет получать с большим отрывом state-of-the-art результаты в широком спектре задач обработки естественного языка (NLP), но требует больших вычислительных мощностей.


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

Не выбрасывайте старую акустику Новая жизнь старой акустики

Reading time1 min
Views15K
Последнее время видео и посты с подобного рода названиями набирают много просмотров и имеют очень большой отклик. Я подумал, неплохо было бы и мне сделать что то подобное тем более есть над чем работать и что показать.



Имеется вот такая компьютерная акустическая система U4-E198. Все работает и ей можно и так пользоваться но вот сам внешний вид уж больно потрепан и никуда не годится.


Встречайте AppCode 3.0: встроенный дизайнер UI, плагин для Reveal и многое другое

Reading time4 min
Views30K
Привет, Хабр! Мы спешим вас порадовать новой, только что выпущенной версией нашей IDE для разработчиков под iOS/OS X — AppCode 3.0. Внутри много интересного: от долгожданного встроенного дизайнера UI до большого сюрприза в виде интеграции с Reveal. Но — обо всем по порядку.

Дизайнер UI


Мы шли к нему довольно долго. Кто-то из вас мог даже попробовать самую первую версию нашего UI-плагина еще в декабре прошлого года. И вот теперь мы рады сообщить, что в AppCode 3.0 появился свой встроенный дизайнер UI. Он поддерживает как формат .xib, так и .storyboard, и дает вам возможность полностью разрабатывать UI вашего приложения в AppCode. Вам доступна вся палитра элементов из iOS SDK, удобная навигация по дереву компонент, всевозможные настройки внешнего вида и поведения элементов UI и, конечно, возможность создавать методы для обработки поведения визуального элемента в один клик.


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

Через тернии к игре мечты

Reading time5 min
Views7.1K
image

Честно говоря, я долго думал как именно написать этот пост. Я очень хочу рассказать о нашем проекте, но если рассказывать только о текущей ситуации или даже осветить период в последние 6 месяцев, то это будет не совсем честно, так как история “Another Way” начинается со слов хорошей сказки “Давным давно”...

Древности: функциональный магнитофон

Reading time10 min
Views33K
Все винтажные аудиоформаты в своей загробной версии скатываются в функциональный аскетизм. Если вы подбираете виниловый проигрыватель, вам посоветуют самый простой, без автостопа или, того хуже, автоматического поиска треков — это рассматривается как лишняя нагрузка, которая «портит звук». С кассетами та же ситуация, и определенный смысл в таком пуризме присутствует: чем больше фич встроили разработчики магнитофона, тем меньше денег и времени было потрачено на качественный звуковоспроизводящий тракт. А некоторые возможности с качественным воспроизведением просто не сочетаются никак.


Если перевести эту риторику на компьютерный язык, то это как если бы вы до сих пор использовали, и для себя, и для работы, компьютер Apple II, потому что это прекрасный образец инженерного искусства, и ничто в нём не отвлекает вас от ваших скромных компьютерных дел. Звучит странно: уж слишком мы привыкли в нашей цифровой реальности к логике «быстрее, выше, сильнее». Больше возможностей, даже если они подчас и вовсе не нужны.

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

Information

Rating
Does not participate
Registered
Activity