Pull to refresh
36
0
Kamil Hismatullin @kamil_hism

User

Send message

Спасите пароль: сказочная реализация схемы разделения секрета Шамира на Python

Reading time6 min
Views15K
Этот алгоритм, использующий язык Python и Схему разделения секрета Шамира, защищает ваш мастер-пароль от хакеров и вашей собственной забывчивости.


Для безопасного хранения множества уникальных паролей многие из нас используют менеджеры паролей. Вся их работа по сути завязана на мастер-пароле. Этот пароль защищает все остальные пароли, и, таким образом, несёт весь риск на себе. Любой, кто подберёт его или получит к нему доступ, может притвориться вами в самый неподходящий момент. Естественно, вы стараетесь сделать свой мастер-пароль максимально сложным, а затем запоминаете или где-то ещё фиксируете его.
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments4

Как украсть Macbook

Reading time14 min
Views112K


У меня несколько раз воровали макбуки, и ни разу антикражные средства Apple вроде Find My Mac не помогли мне вернуть компьютер. Действительно ли они бесполезны? Можно ли доверять встроенному шифрованию FileVault? Как повысить шансы вернуть компьютер? Эта статья результат моих страданий в безрезультатных попытках вернуть украденные компьютеры.

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

Внимание!
Материалы в статье представлены исключительно в ознакомительных целях. Все описания мошеннических действий инсценированы и выполнены с согласия владельцев ноутбуков. Автор не призывает к мошенническим действиям, и единственная цель статьи — показать, как лучше настраивать систему, чтобы защитить свои данные.
Total votes 188: ↑186 and ↓2+184
Comments184

Подделка screenlife. «Да я Мадонну лично знаю»

Reading time14 min
Views16K


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


Статичные картинки себя уже дискредитировали — их слишком просто отредактировать. К аудиозаписям доверие тоже невысокое. Как же дело обстоит с видео или живой демонстрацией на экране устройства?

Читать дальше →
Total votes 67: ↑65 and ↓2+63
Comments15

Подводные камни Bash

Reading time32 min
Views95K


В этой статье мы поговорим об ошибках, совершаемых программистами на Bash. Во всех приведённых примерах есть какие-то изъяны. Вам удастся избежать многих из нижеописанных ошибок, если вы всегда будете использовать кавычки и никогда не будете использовать разбиение на слова (wordsplitting)! Разбиение на слова — это ущербная легаси-практика, унаследованная из оболочки Bourne. Она применяется по умолчанию, если вы не заключаете подстановки (expansions) в кавычки. В общем, подавляющее большинство подводных камней так или иначе связаны с подстановкой без кавычек, что приводит к разбиению на слова и глоббингу (globbing) получившегося результата.


Читать дальше →
Total votes 143: ↑141 and ↓2+139
Comments63

Как я пользуюсь компьютерной техникой. Нестоллман

Reading time3 min
Views40K
Прим. перев.: все это грустная ирония. И в некоторой степени пародия на Столлмана.
Я пользуюсь ноутбуком HP с установленной на нем Windows. Я точно не знаю, что за модель ноута. Он синий. Также у меня есть какой-то Galaxy, с которого я постоянно выхожу в сеть.

Я выбрал Windows, потому что ноутбук шёл с предустановленной системой, и с кучей полезного софта от HP, благодаря которому я могу подключаться к беспроводной сети и проигрывать DVD-шки. Я не понимаю, почему в Windows изначально нет этих программ.

Всю свою работу я делаю в Word или PowerPoint. Это чудесные програмки. В Word я пишу письма, заметки, отчёты и делаю плакаты для моего клуба садоводства. Мне нравится Word, потому что он даёт возможность каждому почувствовать себя графическим дизайнером. Я люблю повсюду использовать WordArt — это делает мои работы особенным, выделяющимися. Благодаря презентациям PowerPoint я приковываю внимание аудитории. Мне нравится делать презентации интересными для других. Для этого я использую много разных цветов и шрифтов на каждом слайде, не забывая при этом убедиться, что слова стилизовано разбросаны среди интересных значков.
Читать дальше →
Total votes 118: ↑89 and ↓29+60
Comments77

Почему Россия – страна четвертого мира в социальных сетях

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

Вообще, у нас почему-то не принято называть вещи своими именами. Возможно, одна из причин тому, это стыд. Нам стыдно за свои компании, за свои дороги, за свои законы, за свою лень, за свое свинство и много за что еще. Мы боимся говорить, как есть, потому что знаем, что все знают, что мы знаем. Так что тогда обсуждать?

UPD2: (Перенес UPD в начало, так как в тексте много лишнего) Извиняюсь за поверхностные и субъективные суждения. Топик планировался как вопрос о причинах «второсортности» контента в Рунете. В комментариях выяснилось, что 1) тому есть объективные причины 2) второсртность эта весьма условна и субъективна 3) Автор не владел необходимой информацией.

Почему социальная сеть Вконтакте – самая популярная в России? Потому что там бесплатная музыка и видео на любой вкус (да-да, на тот самый любой), и толпы, и толпы детей, которым «сидеть» Вконтакте намного интереснее, чем читать Википедию.

Почему в Одноклассниках ищут совсем не Одноклассников? Потому что эта социальная сеть сделана для флирта и измен, а не для того, чтобы искать одноклассников. И большинство пользователей приходят туда именно за этим.

Почему сайты знакомств, во всем мире забытые, у нас до сих пор привлекают тысячи новых пользователей каждый день? Потому что известные люди делают на этом очень хорошие деньги и они в этом не виноваты. Они предприниматели и они правы.
Читать дальше →
Total votes 82: ↑43 and ↓39+4
Comments86

Неочевидный способ борьбы с прокрастинацией

Reading time3 min
Views32K
Наверняка, многие слышали о таком понятии, как “состояние потока”. Сейчас выходит много умных книжек и статей на эту тему. Но если не вдаваться в подробности и говорить простыми словами, то это такое состояние, в котором лучше всего работать. Концентрация и вовлеченность в таком состоянии максимальны, правильные решения приходят в голову быстро и естественно, ничто окружающее не отвлекает: ни захламленный рабочий стол, ни неудобное кресло, ни поздний час или голодный желудок.

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



Читать дальше →
Total votes 164: ↑156 and ↓8+148
Comments104

Qt и Android Market или вторая жизнь Анаграмм

Reading time4 min
Views7.6K
В конце ноября мне стукнула моча в голову и я написал достаточно глупый и несуразный пост об одном из своих приложений, находящийся здесь. Тогда пост был заминусован, что в принципе логично, учитывая то, какого качества он был.

Тем не менее, от того, что пост был хреновым, само приложение хуже не стало. Хоть и на некоторое время было отложено в долгий ящик. Вчера вечером, я как-то мельком проглядывал блог ребят из Сutehacks, компании, занимающейся разработкой Qt приложений и старающихся сделать на этом денежку. Так вот, просматривая блог, я наткнулся на пост, в конце которого была презентация под названием «Targeting Android with Qt».

В этой презентации, помимо каких-то абстрактных мыслей, разработчики подробно объяснили, какие шаги необходимо сделать для того, чтобы портировать своё приложение на новую платформу, а затем и загрузить его в Android Market. Здесь я хочу вкратце перечислить эти этапы, а всю дополнительную информацию желающие смогут получить из оригинальной презентации на Slide Share.

image

Читать дальше →
Total votes 43: ↑34 and ↓9+25
Comments19

Жизнь разработчика (в картинках)

Reading time1 min
Views66K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Total votes 884: ↑700 and ↓184+516
Comments132

Немного о независимых игровых разработчиках

Reading time8 min
Views50K
Так случилось, что я уже длительное время занимаюсь фултайм инди разработкой. Это значит, что единственный источник дохода — это игры, которые я делаю не на заказ. Никакого фриланса или удаленной работы. Параллельно явлюясь соведущим подкаста для инди разработчиков, где гости рассказывают каково это быть независимыми разработчиками в той или иной части рынка, используя определенную технологию и целясь на какие-то платформы. Эта статья — небольшой FAQ по частым вопросам, которые приходят.

Читать дальше →
Total votes 104: ↑99 and ↓5+94
Comments22

Маленькие советы старшим о младших

Reading time6 min
Views113K
Почему новички время от времени делают «не то»? Почему они не понимают старших инженеров? Всегда ли это происходит из-за отсутствия опыта? И почему время от времени, за разговорами на кухне те же новички называют своих лидов «м*даками»?

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

Начнем издалека. Когда я еще учился в школе, у меня было увлечение – игры. А именно Warcrtaft III. И я постоянно играл, играл, играл в нее. Сначала дело ограничивалось играми с ботами, затем, в прекрасном 2003’ем у меня появился интернет и понеслись игры с живыми людьми.
Свою первую игру я проиграл – от нервов и мысли, что я могу проиграть, у меня тряслись руки и мерзли кончики пальцев, а где-то к середине игры на спине выступил холодный пот. Ясное дело, что с таким настроем первую игру я проиграл. Я проигрывал раз, затем другой, а за ним и третий. Это продолжалось довольно долгое время, пока один из моих друзей не посоветовал мне начать смотреть записи игр других, профессиональных игроков.
Читать дальше →
Total votes 133: ↑113 and ↓20+93
Comments51

Год в Windows Store. Краткое подведение итогов и неделя щедрости от разработчиков Metro Commander

Reading time2 min
Views12K
Это «гостевой» пост от разработчиков очень популярных в Windows Store утилит. Я знаком с ними очень давно, сначала заочно — они были участниками программы Application Excelence Labs и одними из первых попали в магазин приложений Windows, потом очно, на одном из первых Windows Camp, разработчик откликнулся из зала, когда я рассказывал о Metro Commander.

Дальше предоставляю слово самим разработчикам,

Здравствуйте Хабрапользователи!
Прошёл ровно год с тех пор как мы, небольшая команда разработчиков, начали работать на себя.
В честь этого события мы объявляем неделю щедрости и раздаём наши приложения абсолютно бесплатно. (на самом деле мы хотим проверить, как подобные акции влияют на положение приложений в Windows Store. О результатах отпишемся.)

Картинка для привлечения внимания: image
Дайте мне немного этих ваших бесплатных программ
Total votes 52: ↑27 and ↓25+2
Comments16

Всё, что вы хотели знать о динамическом программировании, но боялись спросить

Reading time12 min
Views242K
Я был крайне удивлён, найдя мало статей про динамическое программирование (далее просто динамика) на хабре. Мне всегда казалось, что эта парадигма довольно сильно распространена, в том числе и за пределами олимпиад по программированию. Поэтому я постараюсь закрыть этот пробел своей статьёй.

# Весь код в статье написан на языке Python

Основы


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

Динамическое программирование — это когда у нас есть задача, которую непонятно как решать, и мы разбиваем ее на меньшие задачи, которые тоже непонятно как решать. (с) А. Кумок.
Читать дальше →
Total votes 110: ↑100 and ↓10+90
Comments33

Особенности русской разработки

Reading time8 min
Views284K
image

По роду занятий я часто общаюсь с различными русскими и западными командами. Очень частый вопрос — есть ли какая-нибудь специфика в работе наших и как это влияет на разработку?

Есть очень неплохая книжка о специфике работы русских вообще. Она называется «Русская модель управления». Ее написал А.П.Прохоров (другой, не олигарх). Не буду ее пересказывать. Основная идея в том, что русские по своей природе могут работать только в двух модах. В нестабильном состоянии они могут свернуть горы. В это время мотивация очень высокая. В стабильном расслабленном состоянии — когда никто не пинает — русские вроде как работают плохо и не сильно утруждаются.

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

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

Я буду приводить влияние разных факторов в порядке их важности и силы влияния. Чем выше — тем сложнее это изменить и тем больший эффект это оказывает.
Читать дальше →
Total votes 531: ↑513 and ↓18+495
Comments420

Создаём игру, используя canvas и спрайты

Reading time15 min
Views161K
Веб сейчас везде, и предлагает очень мощную среду для создания и распространения приложений. Вместо цикла: написание кода → компиляция → запуск, просто обновите приложение или даже напиши код «на живую» в браузере. Кроме того, это относительно безболезненно позволяет распространять своё приложение на огромном количестве платформ. Интересно, что в последние несколько лет, разработка игр, используя HTML5, стала реальностью.
Элемент canvas был введен вместе с HTML5 и предоставляет API для работы с ним. API — прост, но если Вы никогда не работали с графикой, Вам потребуется время чтобы привыкнуть. Canvas поддерживается большим количество браузеров, что делает веб — хорошей площадкой для создания игр.
Читать дальше →
Total votes 95: ↑91 and ↓4+87
Comments23

Как я искал работу или Как не надо проводить собеседования

Reading time6 min
Views315K
imageВ общем, решение назревало давно, и вот, одним пасмурным Питерским утром, я сказал шефу, что, к сожалению, тут наши пути расходятся. Было составлено резюме, более или менее описан десятилетний опыт работы в области web-программирования, обдумана сумма оклада, немного выше средней по Питеру, но далеко не топовая (я пока ни разу не гуру), оплачены услуги по поднятию резюме в топ каждые четыре часа, установлена прога, записывающая все входящие звонки (чтоб ничего не забыть), и я сел ждать. Собственно, это был вечер пятницы, так что ждать пришлось аж до понедельника, но в понедельник начался ад.

Звонков было много, за следующую неделю я посетил 17 собеседований, по 3-4 в день, в четверг я уже перестал соглашаться на собеседования, а звонки все шли и шли.

Это не статья из серии, «смотрите как меня все хотят, я офигенен», я просто хочу сказать, что сейчас в России существует дефицит IT специалистов, и когда подходящий человек приходит к вам в компанию, важно не только то, насколько он понравится вам, но и то, насколько вы понравитесь ему, ибо мне кажется, что сейчас конкуренция существует скорее на вашей стороне, на стороне работодателей, чем на стороне программистов. Оговорюсь сразу, речь не пойдет о всяких Яндексах, ВКонтактах и Мэилру, там все ясно, речь идет о компаниях второго эшелона, предыдущей ступени.
Читать дальше →
Total votes 533: ↑492 and ↓41+451
Comments454

Несколько недоразумений парного программирования

Reading time3 min
Views3.8K
У меня достаточно много опыта в программировании, накопленного за последние несколько лет. Часть опыта я приобрёл работая в своей команде, что-то при работе с клиентам, а некоторый опыт появился благодаря coding dojo и работе на open source проектах.
Для программистов знающих как использовать парное программирование оно предоставляет возможность улучшить свою производительность. Но при этом не стоит ожидать, что программисты значительно улучшат свою производительность с самого начала работы. Парное программирование требует постоянного обучения, а также осознания самими программистами чёткой разницы между исполнителем (тот кто стучит по клавиатуре), и штурманом. Ниже приведено более детальное описание.
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments3

Повышение эффективности работы в Google Chrome

Reading time4 min
Views64K
Приветствую! Надеюсь, эта статья будет кому-нибудь полезна.

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

Итак, кончаю муть, перехожу к «технической» и практической стороне дела.
Читать дальше →
Total votes 108: ↑81 and ↓27+54
Comments38

Визуализация статистики использования компьютера с R

Reading time6 min
Views21K


Думаю, многим интересно (хотя бы из любопытства), как именно они используют свой компьютер: самые нажимаемые кнопки, пройденное мышью расстояние, среднее время работы и другую информацию. В этой статье я расскажу один из вариантов того, как можно собрать такую информацию и затем представить её в виде интерактивных графиков. Все описанные действия производились на ноутбуке с ОС Debian Wheezy, Python 2.7.3, R 2.15.
image
Подробнее, с картинками и ссылками
Total votes 45: ↑42 and ↓3+39
Comments13

Все самое главное для очередного «убийцы Angry Birds»

Reading time5 min
Views105K
У меня есть хобби — я разрабатываю мобильные казуальные игры. Поэтому мне часто приходится подвергать анализу хиты из топов Google Play и AppStore, клонировать удачные решения и не допускать чужих ошибок. В результате я выявил у всех самых хитовых игр некоторые сходные черты в геймплее и управлении. В этом посте я изложу свои наблюдения о том, что именно делает игру популярной, и как это лучше реализовать.



1. Геймплей


Главные сходства игрового процесса таких хитов рынка мобильных игр, как Angry Birds, Ninja Jump, FruitNinja, Rope'n'Fly, Doodle Jump — простота и однообразие. Минимум действий и постоянное их повторение.

а) Лёгкость прохождения

Все самые популярные игры крайне легки в прохождении или собственно в самом процессе игры. Эта одна из главных причин их бешеного успеха. Большинство владельцев телефонов и планшетов — обычные люди, они не считают интересным пяток раз на выходных перепройти Марио или Battletoads. Также помните причины, по которым люди играют в мобильные игры. Причины эти — скука и усталость. Люди сидят на работе, на скучных лекциях, едут в метро, и вполне логично у них возникает желание поиграть. Поэтому ни в коем случае нельзя делать огромные сложности в играх — скучающие не получат веселья (девиз Dwarf Fortress «Проигрывать — это весело» здесь не прокатит), а уставшие от сложностей на работе не станут вкладывать кучу сил ещё и в какую-то игрушку.
Подробнее
Total votes 241: ↑213 and ↓28+185
Comments92
1

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity