Как стать автором
Обновить
34
0
Павел @TheRipper

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

Отправить сообщение

Мой опыт восстановления зрения

Время на прочтение9 мин
Количество просмотров278K
   Этим летом я был на некоторое время предоставлен сам себе – всех своих я отправил подальше от дыма, а сам, недолго думая, решил немного подтянуть здоровье. Не просто записаться в тренажерный зал и накачать «квадратиков» для пляжа, а именно обследоваться у некоторых врачей, чтобы выработать для себя вектор дальнейших действий, дабы совсем не превратиться в «овоща».

image

   Расскажу лишь про свой опыт восстановления зрения – именно оно больше всего подвержено риску у любого «компьютерного» человека.
Читать дальше →
Всего голосов 495: ↑398 и ↓97+301
Комментарии208

Обзор игры Prey для Linux

Время на прочтение3 мин
Количество просмотров448

Вступление


Полазил по блогу и по хабру и понял что здесь почти не описывают хороших игр под Linux.
Тогда это сделаю я. Сегодня начнём с Prey.

Чертежи


Впервые об игре Prey заговорили в 1996 году. Тогда преуспевающая 3D Realms, только что выпустившая свою легендарную бродилку Duke Nukem 3D, сообщила о своем новом шутере, который будет разрабатываться параллельно с выходящем этой осенью Duke Nukem Forever. Из обещаний тех лет скажем только о том, что дожило до релиза: жанр — 3D Action, главный герой – индеец, а геймплей основан на порталах и играх с гравитацией.
Путь Prey к релизу длился более 10 лет. Как сообщила 3D Realms, версия 1999 года не соответствовала их видению игры и была уничтожена. Далее компания четыре года искала подходящий движок, пока не остановилась на Doom 3 Engine. В конце концов, разработку отдали молодой компании Human Head Studios, которая и довела долгострой до релиза в 2006 году.
Читать дальше →
Всего голосов 88: ↑65 и ↓23+42
Комментарии63

Как я покрасил ноутбук. Что из этого всего вышло

Время на прочтение2 мин
Количество просмотров6.2K
Абсолютно — белое, как и абсолютно — черное, кажется каким-то дефектом зрения. Дж. Оруэлл

Медленно шло лето, было достаточно свободного времени. И решил я покрасить свой скучный ноутбук. (осторожно!, много фото)
Читать дальше →
Всего голосов 218: ↑204 и ↓14+190
Комментарии194

Меняем лампы подсветки монитора (сами)

Время на прочтение5 мин
Количество просмотров517K
Доброго времени суток!

В данном посте, я бы хотел рассмотреть такую болячку LCD мониторов, как вышедшие из строя лампы подсветки, попытаться разобраться почему это происходит, ну и соответственно поменять их. Заинтересовавшихся прошу проследовать за зелёным человечком.
P.S.
Под катом содержится 27 фото



Читать дальше →
Всего голосов 137: ↑135 и ↓2+133
Комментарии54

Caltech выложил в онлайн фейнмановские лекции по физике

Время на прочтение1 мин
Количество просмотров110K

Лучший учебник по физике всех времен и народов теперь доступен онлайн.
Читать дальше →
Всего голосов 94: ↑91 и ↓3+88
Комментарии30

Сварка оптических волокон. Часть 1: кабели и их разделка, оптический инструмент, муфты и кроссы, коннекторы и адаптеры

Время на прочтение25 мин
Количество просмотров583K

Волокна заряжены в сварочный аппарат

Здравствуйте, читатели Хабра! Все слышали про оптические волокна и кабели. Нет нужды рассказывать, где и для чего используется оптика. Многие из вас сталкиваются с ней по работе, кто-то разрабатывает магистральные сети, кто-то работает с оптическими мультиплексорами. Однако я не встретил рассказа про оптические кабели, муфты, кроссы, про саму технологию сращивания оптических волокон и кабелей. Я — спайщик оптических волокон, и в этом (первом своём) посте хотел бы рассказать и показать вам, как всё это происходит, а также часто буду в своём рассказе отвлекаться на прочие смежные с этим вещи. Опираться буду в основном на свой опыт, так что я вполне допускаю, что кто-то скажет «это не совсем правильно», «вот тут неканонично».
Материала получилось много, поэтому возникла необходимость разбить топик на части.
В этой первой части вы прочтёте про устройство и разделку кабеля, про оптический инструмент, про подготовку волокон к сварке. В других частях, если тема окажется вам интересной, я расскажу про методы и покажу на видео сам процесс сращивания самих оптических волокон, про основы и некоторые нюансы измерений на оптике, коснусь темы сварочных аппаратов и рефлектометров и других измерительных приборов, покажу рабочие места спайщика (крыши, подвалы, чердаки, люки и прочие поля с офисами), расскажу немного про крепёж кабелей, про схемы распайки, про размещение оборудования в телекоммуникационных стойках и ящиках. Это наверняка пригодится тем, кто собирается стать спайщиком. Всё это я сдобрил большим количеством картинок (заранее извиняюсь за paint-качество) и фотографий.
Осторожно, много картинок и текста.

Часть 2 здесь.
Читать дальше →
Всего голосов 340: ↑337 и ↓3+334
Комментарии128

Разбираемся в С, изучая ассемблер

Время на прочтение11 мин
Количество просмотров90K
Перевод статьи Дэвида Альберта — Understanding C by learning assembly.

В прошлый раз Аллан О’Доннелл рассказывал о том, как изучать С используя GDB. Сегодня же я хочу показать, как использование GDB может помочь в понимании ассемблера.

Уровни абстракции — отличные инструменты для создания вещей, но иногда они могут стать преградой на пути обучения. Цель этого поста — убедить вас, что для твердого понимания C нужно также хорошо понимать ассемблерный код, который генерирует компилятор. Я сделаю это на примере дизассемблирования и разбора простой программы на С с помощью GDB, а затем мы используем GDB и приобретенные знания ассемблера для изучения того, как устроены статические локальные переменные в С.
Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии31

Изучаем С используя GDB

Время на прочтение6 мин
Количество просмотров107K
Перевод статьи Аллана О’Доннелла Learning C with GDB.

Исходя из особенностей таких высокоуровневых языков, как Ruby, Scheme или Haskell, изучение C может быть сложной задачей. В придачу к преодолению таких низкоуровневых особенностей C, как ручное управление памятью и указатели, вы еще должны обходиться без REPL. Как только Вы привыкнете к исследовательскому программированию в REPL, иметь дело с циклом написал-скомпилировал-запустил будет для Вас небольшим разочарованием.

Недавно мне пришло в голову, что я мог бы использовать GDB как псевдо-REPL для C. Я поэкспериментировал, используя GDB как инструмент для изучения языка, а не просто для отладки, и оказалось, что это очень весело.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии30

Частые ошибки при разработке lockfree-алгоритмов и их решения

Время на прочтение13 мин
Количество просмотров59K
На хабре уже было несколько статей про lock-free алгоритмы. Этот пост — это перевод статьи моего коллеги, которую мы планируем публиковать в нашем корпоративном блоге. По роду деятельности мы пишем огромное количество lock-free алгоритмов и структур данных, и этой статьей хочется показать, насколько это интересно и сложно одновременно.



Эта статья во многом похожа на эту статью, но в той статье рассматриваются не все проблемы, с которыми можно столкнуться, разрабатывая lock-free структуры данных, и уделяется очень мало внимания решению этих проблем. В этой статье хочется детально остановиться на некоторых решениях, которые мы используем в реальной реализации lock-free структур данных в нашем продукте, и больше внимания уделить оценке производительности.
Читать дальше →
Всего голосов 148: ↑147 и ↓1+146
Комментарии52

Вышло 8-е издание OpenGL Programming Guide

Время на прочтение1 мин
Количество просмотров38K
Сегодня совершенно случайно обнаружил, что книга OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition), так же известная как The Red Book, наконец-то вышла в свет. Лично для меня это издание особенно ценно тем, что в нем более не содержится информация об устаревшей части API, что больше не будет отвлекать от современных подходов. Так же, в нем целиком рассмотрен язык шейдеров OpenGL — GLSL, для которого ранее была выделена отдельная книга — OpenGL Shading Language (The Orange Book).
Всего голосов 47: ↑43 и ↓4+39
Комментарии10

Классный оконный менеджер — Awesome WM

Время на прочтение4 мин
Количество просмотров163K
imageЗдравствуйте! Прочитав недавно статью про оконные менеджеры в Linux, мне захотелось рассказать всем о менеджере, который был там упомянут — «awesome».
Это тайлинговый windows manager для unix (linux, freebsd, openbsd, netbsd).
Читать дальше →
Всего голосов 122: ↑114 и ↓8+106
Комментарии79

Понимание ООП в JavaScript [Часть 1]

Время на прочтение16 мин
Количество просмотров337K
— Прототипное наследование — это прекрасно
JavaScript — это объектно-ориентированный (ОО) язык, уходящий корнями в язык Self, несмотря на то, что внешне он выглядит как Java. Это обстоятельство делает язык действительно мощным благодаря некоторым приятным особенностям.

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

К счастью, в ECMAScript 5 появилось множество вещей, которые позволили поставить язык на правильный путь (некоторые из них раскрыты в этой статье). Также будет рассказано о недостатках дизайна JavaScript и будет произведено небольшое сравнение с классической моделью прототипного ОО (включая его достоинства и недостатки).
Читать дальше →
Всего голосов 129: ↑119 и ↓10+109
Комментарии71

Что нового в работе с исключениями в C++11

Время на прочтение8 мин
Количество просмотров43K
В интернете довольно много говорят о новых возможностях C++11: auto, lambda, variadic templates. Но как-то обошли стороной новые возможности работы с исключениями, которые предоставляет язык и стандартная библиотека.

От предыдущей версии стандарта остался механизм генерации исключений (throw), проверка того, что мы находимся в процессе обработки исключения (std::uncaught_exception), механизм остановки, если исключение не было обработано. Также есть иерархия стандартных исключений на базе класса std::exception.

Новый стандарт добавляет к этим вещам еще несколько сущностей, которые, на мой взгляд, могут существенно упростить работу с исключениями в C++.

Читать дальше →
Всего голосов 65: ↑60 и ↓5+55
Комментарии42

Что такое Protected Mode и с чем его едят

Время на прочтение5 мин
Количество просмотров28K
Для того, чтобы писать операционку, нужно разбираться во многих деталях. Вот давайте я вас немного просвещу, (но давайте договоримся, что маны вы будете читать сами, чтобы было о чём побеседовать).
Честно говоря, на просторах сети есть туча тучная материалов по PM, да и ileyи pehat несколько рассказали об этом режиме, но меня попросили всё равно описать в общих рамках его. Сейчас кратко выдам теорию (вообще то специально для этого Intel маны писала), потом начнём писать код.
Читать дальше →
Всего голосов 67: ↑61 и ↓6+55
Комментарии16

CSS спрайты из командной строки

Время на прочтение3 мин
Количество просмотров4.3K
Да, инструменты для создания CSS спрайтов существуют. Я даже сделал один такой сервис. Но они время от времени ломаются (как сейчас, мой). Но и командная многого стоит, и imagemagick. Давайте посмотрим, как мы можем создавать CSS спрайты только из командной строки.

Создание картинки


Начнем с того, что у нас есть список отдельных файлов:
$ ls

1.png  2.gif  dot.png  phoney.gif  tw.gif

  • — 1.png
  • — 2.gif
  • — dot.png
  • — phoney.gif
  • — tw.gif

Сделаем из них спрайт:
$ convert *png *gif -append result/result-sprite.png

Да, это все. Смотрим результат.

Читать дальше →
Всего голосов 139: ↑129 и ↓10+119
Комментарии22

Используем быстрые селекторы для jQuery

Время на прочтение3 мин
Количество просмотров40K
Как Вы знаете — в разработке объёмного JS-приложения где используется популярнейшая библиотека jQuery наступает момент когда остро встаёт проблема производительности. Все силы кидаются на амбразуру профайлера, каждый вызов скрупулёзно исследован, каждый функционально нагруженный кусок реализации обнюхан со всех сторон и выправлен. Но беда поступает не с той стороны, откуда её ждут 90% разработчиков. Селекторы — Как много в этом слове.
Давайте разберёмся — как работает эта магия и почему поиск DOM-элементов может стать причиной падения производительности приложения.
Читать дальше →
Всего голосов 159: ↑155 и ↓4+151
Комментарии31

Основы Linux от основателя Gentoo. Часть 3 (4/4): Настройка пользовательского окружения

Время на прочтение8 мин
Количество просмотров37K
Заключительная глава третьей части серии руководств Linux для новичков. Основы конфигурирования рабочей оболочки, настройка переменных окружения, а также подведение итогов всей третьей части.

Навигация по основам Linux от основателя Gentoo:

Часть I:
  1. BASH, основы навигации
  2. Управление файлами и директориями
  3. Ссылки, а также удаление файлов и директорий
  4. Glob-подстановки
Читать дальше →
Всего голосов 72: ↑64 и ↓8+56
Комментарии22

Пишем свой драйвер под Linux

Время на прочтение8 мин
Количество просмотров67K
image

Хочу признаться сразу, что я вас отчасти обманул, ибо драйвер, если верить википедии это компьютерная программа, с помощью которой другая программа (обычно операционная система) получает доступ к аппаратному обеспечению некоторого устройства. А сегодня мы создадим некую заготовку для драйвера, т.к. на самом деле ни с каким железом мы работать не будем. Эту полезную функциональность вы сможете добавить сами, если пожелаете.

То, что мы сегодня создадим, корректнее будет назвать LKM (Linux Kernel Module или загрузочный модуль ядра). Стоит сказать, что драйвер – это одна из разновидностей LKM.

Писать модуль мы будем под ядра линейки 2.6. LKM для 2.6 отличается от 2.4. Я не буду останавливаться на различиях, ибо это не входит в рамки поста.

Мы создадим символьное устройство /dev/test, которое будет обрабатываться нашим модулем. Хочу сразу оговориться, что размещать символьное устройство не обязательно в каталоге /dev, просто это является частью «древнего магического ритуала».

Читать дальше →
Всего голосов 251: ↑240 и ↓11+229
Комментарии78

Практическая атака на беспроводную сеть с WEP шифрованием

Время на прочтение7 мин
Количество просмотров26K
Теорию и процесс атаки хорошо описал юзер n3m0 в статьях «Атаки на беспроводные сети». Но практика там описана достаточно слабо.

В данной статье будет описан практический процесс атаки на беспроводную сеть с шифрованием WEP, используя пакет aircrack-ng и операционную систему OpenSuse.
image image
Читать дальше →
Всего голосов 138: ↑113 и ↓25+88
Комментарии57

Галерея эффектов кэшей процессоров

Время на прочтение10 мин
Количество просмотров25K
Ядро PenrynПочти все разработчики знают, что кэш процессора — это такая маленькая, но быстрая память, в которой хранятся данные из недавно посещённых областей памяти — определение краткое и довольно точное. Тем не менее, знание «скучных» подробностей относительно механизмов работы кэша необходимо для понимания факторов влияющих на производительность кода.

В этой статье мы рассмотрим ряд примеров иллюстрирующих различные особенности работы кэшей и их влияние на производительность. Примеры будут на C#, выбор языка и платформы не так сильно влияет на оценку производительности и конечные выводы. Естественно, в разумных пределах, если вы выберите язык, в котором чтение значения из массива равносильно обращению к хеш-таблице, никаких результатов пригодных к интерпретации вы не получите. Курсивом идут примечания переводчика.
Читать дальше
Всего голосов 181: ↑177 и ↓4+173
Комментарии47
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность