Pull to refresh
0
0
Send message

Механические клавиатуры

Reading time 17 min
Views 761K
Все мы давно ждем массового появления всевозможных кибер-перчаток и виртуальной реальности на каждом шагу, но все равно каждый день в офисе и дома нам приходится работать за такой банальной вещью, как обычная клавиатура.

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

Итак, некоторое время назад я озаботился сбором информации о клавиатурах, и даже начал готовить информацию для статьи, но к сожалению (к счастью?) нашлась исчерпывающая статья о всех нюансах сразу, которую я решил перевести.

Механические клавиатуры. Путеводитель.

Читать дальше →
Total votes 323: ↑313 and ↓10 +303
Comments 331

Осторожно, позвоночник

Reading time 4 min
Views 16K
Никто из нас не сомневается, что позвоночник является одной из важнейших частей нашего организма. Несущий элемент скелета, вместилище спинного мозга. Однако мы мало обращаем на него внимание, я практически не слышал чтобы кто-то беспокоился о состоянии своего. А тем временем, если верить интернетам, от хронических болей спины / шеи страдает чуть ли не каждый 3-й. Такова расплата за прямохождение…
Читать дальше →
Total votes 129: ↑105 and ↓24 +81
Comments 92

В Starcraft 2 можно играть с AI на нескольких спецкартах и на разных уровнях сложности

Reading time 1 min
Views 3.6K
Здравствуйте, игрозависимые хабралюди и им сочувствующие! Согласно последним новостям из интернетов, народные умельцы сделали карты, на которых можно играть с AI на разных уровнях сложности. Для того чтобы поиграть, надо заиметь старик, как сказано в этом посте, и после этого сделать следующее:
Читать дальше →
Total votes 120: ↑104 and ↓16 +88
Comments 126

Ускорение загрузки Windows for fun and profit

Reading time 4 min
Views 802K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 532: ↑516 and ↓16 +500
Comments 365

Как не быть обманутым злыми буратинами

Reading time 8 min
Views 12K

Уж сколько раз твердили миру,
Что лесть гнусна, вредна; но только все не впрок,
И в сердце льстец всегда отыщет уголок.
«Ворона и Лисица» (1807) И. А. Крылов
1807 год, вдумайтесь! 1807, 200 лет назад!F

Небольшие инструкции по материальным взаимоотношениям.


Для всех обиженных опсосами, банками, сервис центрами и прочими злыми буратинами.
Читать дальше →
Total votes 210: ↑201 and ↓9 +192
Comments 210

Раскрытие IP-адреса пользователя Skype

Reading time 1 min
Views 88K


Деанонимизация скайп-пользователя по его skypename через нахождение его реального IP-адреса

1. Качаем отсюда пропатченный скайп версии 5.5:
http://skype-open-source.blogspot.com/2012/03/skype55-deobfuscated-released.html

2. Включаем создание файла с дешифрованным debug логом. Для этого добавляем нескольких ключей в реестр.
https://github.com/skypeopensource/skypeopensource/wiki/skype-3.x-4.x-5.x-enable-logging

3. Выбираем функцию добавить скайп контакт, но не добавляем, а только кликаем на него, чтобы посмотреть vcard. Этого будет достаточно.
Читать дальше →
Total votes 172: ↑140 and ↓32 +108
Comments 77

Грязное программирование с чистой душой: разработка эвристических систем (часть 1)

Reading time 6 min
Views 26K
Химики любят говорить, что химия занимается исследованием грязных веществ чистыми методами, физика — чистых веществ грязными методами, а физическая химия, дескать, исследует грязные вещества грязными методами. В областях, традиционно относящихся к искусственному интеллекту или смежных с ними (распознавание образов, решение NP-трудных задач, обработка текста и т.д.), большинство задач являются грязными. Т.е. плохо поддающимися формальному описанию и не имеющими четких критериев правильности решения. Не знаю, как выкручиваются химики, а программистам редко удается порешать такие задачи, не запачкавшись. Программирование грязных задач тоже грязно, и здесь грязное — не значит плохое. Эта статья не о том, как сохранить чистоту и стерильность. Эта статья о том, как, вооружившись ломом мужеством и терпением, погрузиться в глубинные литосферные слои и выжить.

Итак, предположим, что вам необходимо разработать систему, демонстрирующую сложное поведение (например, переводящую бабушек через дороги, или, в порядке экзотики, распознающую текст на изображении). Если вам кажется, что задача недостаточно грязная, попытайтесь написать работающую систему, улучшить качество ее работы, насколько это возможно, а затем улучшить еще сильнее. Желательно, если при этом не ухудшится быстродействие, идеально — если улучшится.
Читать дальше →
Total votes 88: ↑80 and ↓8 +72
Comments 34

Атака на отказ в обслуживании методом slow HTTP POST

Reading time 5 min
Views 41K
Доброго времени суток, уважаемые хабровчане!
Я хочу рассказать вам об относительно новом и интересном, на мой взгляд, механизме атаки на отказ в обслуживании — Slow HTTP POST.
Поиск показал отсутствие на хабре информации по теме, что несколько удивило меня, и я решил восполнить это досадное упущение. Тема не нова, но, как показали мои небольшие исследования, более чем актуальна. Забегая вперед, скажу, что полученные мной результаты позволяют говорить о существовании широко доступной технологии, позволяющей с одного компьютера с небольшим каналом «укладывать» небольшие и средние сайты, а при использовании нескольких машин с повсеместно распространенным сейчас скоростным доступом в Интернет причинить немало проблем и более серьезным проектам. Всех заинтересовавшихся покорнейше прошу пожаловать под хабракат.
Читать дальше →
Total votes 205: ↑194 and ↓11 +183
Comments 98

Это должен знать каждый

Reading time 3 min
Views 83K
Спрос на Android-разработчиков весьма велик сейчас. Я решил подготовить список того, что нужно знать каждому разработчику под эту платформу. Это не только то, что вас могут спросить на собседовании, а весь спектр знаний, который скорее всего пригодится в работе. Бонусом идет пара интерсных вопросов про платформу.
Читать дальше →
Total votes 139: ↑124 and ↓15 +109
Comments 21

Книга с алгоритмами на C++ (архив сайта e-maxx.ru)

Reading time 1 min
Views 45K
Есть один замечательный сайт, посвящённый алгоритмам — наверняка многие из Вас о нём слышали и выкачивали его содержимое Teleport’ом или чем-нибудь подобным. Но совсем недавно Максим (автор сайта) создал очень удобную pdf-книжку из всех статей, что присутствовали на сайте. Я знаю, что ему будет приятно узнать, что его труды пригодились IT-сообществу, поэтому я и решил написать тут о электронной книге с алгоритмами.
Читать дальше
Total votes 107: ↑105 and ↓2 +103
Comments 40

Декартово дерево: Часть 1. Описание, операции, применения

Reading time 15 min
Views 149K

Оглавление (на данный момент)


Часть 1. Описание, операции, применения.
Часть 2. Ценная информация в дереве и множественные операции с ней.
Часть 3. Декартово дерево по неявному ключу.
To be continued...

Декартово дерево (cartesian tree, treap) — красивая и легко реализующаяся структура данных, которая с минимальными усилиями позволит вам производить многие скоростные операции над массивами ваших данных. Что характерно, на Хабрахабре единственное его упоминание я нашел в обзорном посте многоуважаемого winger, но тогда продолжение тому циклу так и не последовало. Обидно, кстати.

Я постараюсь покрыть все, что мне известно по теме — несмотря на то, что известно мне сравнительно не так уж много, материала вполне хватит поста на два, а то и на три. Все алгоритмы иллюстрируются исходниками на C# (а так как я любитель функционального программирования, то где-нибудь в послесловии речь зайдет и о F# — но это читать не обязательно :). Итак, приступим.

Введение


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

Следующий пункт нашей обязательной программы — куча (heap). Думаю, также многим известная структура данных, однако краткий обзор я все же приведу.
Представьте себе двоичное дерево с какими-то данными (ключами) в вершинах. И для каждой вершины мы в обязательном порядке требуем следующее: ее ключ строго больше, чем ключи ее непосредственных сыновей. Вот небольшой пример корректной кучи:


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

Сейчас за кадром остается вопрос, каким образом в кучу можно добавлять и удалять из нее элементы. Во-первых, эти алгоритмы требуют отдельного места на осмотр, а во-вторых, нам они все равно не понадобятся.
А теперь собственно про декартово дерево
Total votes 166: ↑161 and ↓5 +156
Comments 30

Преступный переинженеринг

Reading time 5 min
Views 18K
Программистов часто обвиняют в том, что они делают свою работу неряшливо. В природе существует бесчисленное количество программ, которые падают, зависают или неожиданно пишут на экране «Превед медвед» миллион раз.
Почему так получается?
Total votes 133: ↑120 and ↓13 +107
Comments 67

Опубликовано доказательство P ≠ NP?

Reading time 1 min
Views 22K
Vinay Deolalikar разослал некоторым ученым свое доказательство, что класс сложности P ≠ NP.

Само доказательство на ~100 страницах.

Можно почитать более или менее адекватный комментарий на ycombinator.

Добавить нечего, читаем и/или ждем мнений специалистов в этой области.

P.S. На всякий случай, ссылка о том, что такое NP и P. (спасибо, SMiX)
Total votes 311: ↑294 and ↓17 +277
Comments 127

Создаем эмулятор приставки

Reading time 15 min
Views 27K
Вероятно, многие программисты если и не мечтали, то хотя бы задумывались о написании собственного эмулятора какого-либо процессора. Возможно, некоторые даже экспериментировали с чем-то вроде Z80. Но не многие дошли до финальной реализации эмулятора.



В этой заметке я хотел бы поговорить о создании простого эмулятора игровой платформы CHIP-8 из далеких 70-х. Во-первых, мы прикоснемся к истории, а во-вторых, эта платформа из за своей простоты позволит создать полностью функциональный эмулятор даже начинающим программистам.
Читать дальше →
Total votes 114: ↑111 and ↓3 +108
Comments 35

Сравнение алгоритмов поиска маршрутов в StarCraft и StarCraft 2

Reading time 4 min
Views 16K
Те кто играли в бета-версию Starcraft 2 наверняка заметили, как изменился алгоритм поиска путей движения юнитов. Многое из сказанного в статье основано на личных оценках. Я не программировал ни BroodWar, ни StarCraft 2 и некоторые выводы будут основаны на моих догадках. Также не верьте на 100% моим словам, постарайтесь сделать собственные заключения. В статье будут как факты, так и домыслы.

Перевод статьи The Mechanics of Starcraft 2 Pathfinding

Читать дальше →
Total votes 195: ↑176 and ↓19 +157
Comments 110

Удлинение урлов — занятие бессмысленное и беспощадное

Reading time 2 min
Views 4.2K
Не знаю кто как проводит эти выходные, а у меня возникло сильное желание сделать что-то поистине бесполезное для человечества. Недолго перебирая варианты, остановился на одном.

Уверен, что если есть сервисы которые укорачивают ссылки, то должны были быть и те, которые удлиняют. Т.е. очень важно чтобы был соблюден баланс урлоизменяющих сервисов в природе. Последние были легко найдены: это и HugeUrl, и TitanUrl, и FreakingHugeUrl, и другие… Но что может более бесполезным, чем попытка сделать ненужную вещь лучше. Совершенного удлинителя я не нашел, один использует флэш, другой делает урлы не работающие в IE, третий делает слишком короткие урлы.
Поэтому прошу любить и жаловать мое видение сервиса делающего урлы бессмысленно длинными.
Читать дальше →
Total votes 368: ↑339 and ↓29 +310
Comments 114

История сумасшествия или свой морской бой на BrainFuck`e

Reading time 7 min
Views 14K

Доброго времени суток, хабралюди. Перед Вами самадиогностика безнадёжного BrainFuck больного.
Те, кто всё понял из названия и не хотят читать весь пост целиком могут скачать игру и BFDev и сразу перейти под кат в конец поста к разделу «Как играть». В посте рассказано как я заболел BrainFuck`ом, а также описан процесс создания игры «Морской бой» на этом замечательном языке.

Читать дальше →
Total votes 196: ↑179 and ↓17 +162
Comments 66

Information

Rating
Does not participate
Registered
Activity