Home

Mon, Oct. 1st, 2018, 05:09 am
Для связи

Если кому-то вдруг захочется со мной связаться, это можно сделать, оставив комментарий к этому постингу...

Fri, Oct. 16th, 2009, 01:52 am
Линукс, файловые локи и потоки

Файловые локи в линуксе устроены таким образом, что в многопоточных программах использовать их несколько, э..., проблематично

В линуксных файловых локах есть механизм детектирования дедлоков. Если процесс A удерживает некоторый лок, и хочет получить лок, который удерживается процессом B, а процесс B в то же время заблокирован в ожидании лока, который принадлежит процессу A, то lockf() вернет ошибку EDEADLK вместо того, чтобы уснуть навсегда. Что, в общем-то, разумно.

Проблема возникает, когда процессы используют потоки внутри себя. Беда в том, что лок принадлежит процессу, а не потоку. Представьте себе, внутри процесса A есть два потока A1 и A2, а внутри процесса B - B1 и B2. Потоки эти занимаются тем, что лочат некоторый файл, чего-нибудь с ним делают, потом отпускают лок и так далее, для большого количества файлов. Поток A1 залочил файл f1 и чего-нибудь с ним делает. Поток B1 залочил файл f2. Теперь если поток B2 попытается залочить файл f1, который все еще принадлежит процессу A, то у него это не удастся, т.к. линукс решит, что случился дедлок. В то время как на самом деле никакого дедлока не случилось.

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

Все это касается вызовов lockf() и fcntl(). BSD-ный flock() не содержит в себе проверки на дедлок, и поэтому таких проблем не имеет (но зато в случае реального дедлока он просто заснет навсегда).

Такие дела.

Tue, Oct. 13th, 2009, 02:54 am
Филологическое

Слово "мудак" обычно употребляется как абстрактно-оскорбительное ругательство, типа "дурак", но только грубее

На самом деле, это слово имеет совсем другой смысл. "Мудак", происходит от древнерусского "муде", т.е. яйца, те, которые между ног, а не куриные. Мудак - это тот, думает яйцами, человек, поступки и мысли которого определяются тем, чтобы продемонстрировать, что его яйца круче, чем у других. Такое поведение встречается время от времени у мужчин, и по очевидным причинам не встречается у женщин. Поэтому, кстати, слово "мудак" не имеет женского рода, в отличии, например, от "дурак" - "дура".

P.S. Если кто узнал в этом описании себя, обижаться не надо, я почти наверняка имел ввиду не вас :-)

Tue, Sep. 8th, 2009, 11:25 pm
SO_LINGER & Linux

Я всегда думал, что если на сокете в неблокирующемся режиме (O_NONBLOCK) поставить SO_LINGER, то close() будет возвращаться немедленно, а linger time будет определять, сколько времени соединение будет болтаться в полузакрытом состоянии.

Не тут-то было. В линухе close() блокируется даже если сокет неблокирующийся, а SO_LINGER определяет верхнюю границу времени. Если же его не ставить, close() возвращается сразу, а соединение болтается в полузакрытом состоянии уже само по себе, столько времени, сколько ядру будет угодно.

Прикольно было наблюдать strace'ом, как мой супер-дупер-высоконагруженный сервер только тем и занимается, что пачками закрывает сокеты, зависая секунд на 20 на каждом :-)

Tue, Jun. 30th, 2009, 01:49 am
Кризисное

Там, где есть конкуренция, работают нормальные рыночные законы. Раньше доехать с покупками от магазина до дома стоило 200 рублей с торгом и недовольной рожей водителя, сейчас везут за 150, да еще и спасибо говорят. Там где конкуренции нет, законы рынка не работают. Сумма внизу чека из того самого магазина всё растет и растет...

Sat, Jun. 13th, 2009, 03:25 am
Большой праздник

Получил пару дней назад от Стрима письмо следующего вида:

------------------------------
Уважаемый(ая) Имя Фамилиё!

Сегодня у Вас большой праздник - День рождения!
Компания "КОМСТАР-Директ" поздравляет Вас с этим замечательным праздником и желает Вам всего самого наилучшего:
счастья, здоровья и благополучия, удачи во всех начинаниях и неизменно прекрасного настроения!

http://www.stream.ru/happy_birthday/

С уважением, Ваша компания "КОМСТАР-Директ" (торговая марка СТРИМ)
------------------------------

Надо ли говорить, что у меня день рождения не только не пару дней назад, но даже не в этом месяце? И не в соседнем, кстати :-)

В прошлом году, кстати, тоже поздравляли - примерно так же вовремя. Интересно, прочее оборудование у них так же настроено, как эта автоматическая поздравлялка? :-)

Sun, May. 31st, 2009, 06:42 pm
habrahabr.ru

Граждане,

поделитесь кто-нибудь инвайтом на habrahabr.ru, плиз. Взамен могу дать инвайт на demonoid.com. Ну или просто спасибо скажу :-)

UPD. Расхотелось. Даже и не уговаривайте :-)

Wed, Apr. 8th, 2009, 08:20 pm
Skype и приватность

Разговаривал с коллегой по скайпу, при этом я звонил ему на скайп, а у него звонок уже перенаправлялся на обычный телефон (т.е., звонок платный за его счет).

Смотрю, у меня в уголке скайповского окошка, где остаток денег показывают, цифры какие-то незнакомые, и постепенно убывают в процессе разговора.

Я так понял, что скайп мне показывал остаток денег на его счету. Хорошая система, в плане приватности :-)

Fri, Apr. 3rd, 2009, 08:02 pm
Вот и верь после этого людям...

Наткнулся случайно на презабавнейший продукт

Эта штуковина позволяет (в корпоративной сети) инспектировать содержимое SSL (т.е., HTTPS) соединений между пользовательскими компьютерами и внешним миром! Естественно, типа в мирных целях: чтобы блюсти корпоративную секюрити и все такое.

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

Возникает естественный вопрос, как же это работает? Это ведь типичная man in the middle attack. Неужели протокол SSL взломан?

К счастью, нет. Конструкция эта работает при условии, что в сети работает "an enterprise certificate service". Ваш компьютер при этом верит выписанным им сертификатам, как если бы они были выписаны Verisign'ом. Соответственно, ClearTunnel расшифровывает ваш траффик на лету, а чтобы вы ничего не заметили, потом зашифровывает его назад и подписывает фальшивым сертификатом, выданным как раз enterprise certificate service вашей организации.

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

В общем, граждане, будьте бдительны! Не доверяйте никаких секретов компьютеру, который вы не можете полностью контроллировать.

Wed, Mar. 11th, 2009, 06:51 pm
demonoid.com

Господа,

а никто не поделится инвайтом на demonoid.com?

Комменты скринятся, так что можно прямо сюда :-)

UPD: Больше не актуально. Огромное спасибо всем откликнувшимся!

Sat, Feb. 14th, 2009, 11:41 pm
Табасаранец и голандец

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

Смешно

Thu, Feb. 12th, 2009, 08:14 pm
Строили, строили, наконец построили

Нашу софтину можно наконец попробовать. Брать тут: http://agily.com/

По существу она представляет собой разделяемую по сети общую папку. Которую, в отличии от сетевого файлового сервера, не надо настраивать. И работает она совершенно прозрачно как в локальной сети, так и за ее пределами.

Очевидные варианты применения: поделить доступ к файлам между друзьями и коллегами, либо между несколькими своими собственными компьютерами (например, один дома, другой на работе).

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

Для любопытных: данные ходят не через сервер, а напрямую. Т.е., это p2p. Роутер настраивать не нужно - в большинстве случаев наша софтина сама с ним разберется. Даже если у вас NAT на обеих сторонах. Защита, встроенная в ваш роутер при этом не ослабляется, просто мы умеем сквозь нее просачиваться :-) В очень редких случаях, когда прямую связь установить не получается, используется релеинг через наш сервер, но это исключение, а не правило.

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

Сейчас мы поддерживаем венду и мак, линукс на подходе.

Мы очень заинтересованны в добровольцах, готовых испытать эту конструкцию на себе :-)

Имейте ввиду, пока это все-таки бета, и хранить в ней единственную копию вашего бесценного файла лучше не стоит. При регистрации понадобится e-mail (который станет вашим именем в сети) и пароль. Мы не продаем ваши e-mail'ы спамерам, не показываем их посторонним и сами не присылаем спам, честное слово :-)

Wed, Dec. 10th, 2008, 05:58 am
История идет по кругу...

... со все уменьшающимся радиусом.

Google изобрел ActiveX

Sat, Nov. 8th, 2008, 05:10 am
Идеи для вашего бизнеса

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

Так же хотелось бы, чтобы интересную мне страницу можно было сохранить локально (на случай, если вдруг исчезнет), но добираться до нее не с помощью поиска в куче файлов, а по привычному URL'ю. Этакий перманентный кеш, который не ломается, если вдруг сломался закешированный сайт. Если вдруг страница на сайте, куда показывает URL, изменилась, меня уместно спросить, хочу я видеть новую или старую копии, и кочу ли я сохранить измененную копию as well

Wed, Oct. 15th, 2008, 08:28 pm
Маркетинг по-русски

Жене прислали мыло из ozon.ru, что ее 10%-я скидка, которую она накопила, спустив все деньги на книжки истекает в следующем месяце, и теперь если она хочет получить 5% скидку, она должна продать квартиру и заказать книжек чуть больше, чем на штуку баксов.

Жена обиделась и сказала, что больше в Озоне ничего не будет покупать.

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

Ребята из Озона, вам что, правда не нужны старые лояльные клиенты? Ку-ку!

UPD: Нам сообщают, что если плакать достаточно громко, то придет сам генеральный директор Бернар Люке и скидку вернет. Ребята из Озона, я плачу достаточно громко, или еще не достаточно? :-)

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

В общем, всё это рассчитано на людей, которые не готовы пальцем пошевелить, когда дядя из Большой Компании (tm) решает пообрезать их права. Так что рекомендую, пишите Озону письма, это работает

Wed, Oct. 15th, 2008, 06:10 pm
Сломали WPA

По слухам, враги сломали WPA. Вернее, не всякий WPA, а WPA-PSK.

Впрочем, начнем с начала.

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

Когда WiFi только появился в природе (и назывался он тогда не WiFi, а 802.11, но это уже другая история), шифрование в нем называлось WEP, "Wired Equivalent Privacy", т.е., "секретность, как на проводах". Довольно быстро, впрочем, выяснилось, что не фига оно не как на проводах, и разгадать WEP'овский ключ может любой желающий путем пассивного прослушивания вашего траффика. От сложности ключа это не зависит.

Помучавшись некоторое время, индустрия изобрела WPA, известный так же под именами RSN и 802.11i. Который в течении некоторого времени считался вполне секурным. Теперь вот выяснилось, что это не совсем так.

У самого WPA есть 2 режима, довольно сильно отличающихся между собой по внутреннему устройству: WPA-PSK и WPA-Radius. В первом случае (который все и используют) вы вбиваете пароль в свой Access Point, вбиваете его же в свою вендовую машину, и у вас наступает счастие. Этот пароль он и есть тот самый pre-shared key, от которого происходит сокращение PSK.

Во втором случае вас авторизует RADIUS-сервер, а Access Point выступает лишь посредником. Такую конфигурацию используют в больших организациях.

В любом случае, чтобы войти в сеть, пользователю надо знать пароль.

Теперь о паролях. Пользователи редко используют пароли, которые выглядят вот так: "VNbGOptc5i8PCdhH1folZg". Обычно пользовательские пароли выглядят вот так: "c001pa55word". Ну или в лучшем случае, вот так "bRUdra8H".

Т.е., маловато в среднем пароле энтропии (случайных бит). А компутеры, однако, становятся все быстрее и быстрее. Поэтому взлом пароля путем перебора работает все лучше и лучше. Началось все с подбора пароля с помощью словаря, в котором собрано изрядное количество "популярных" паролей, но скоро, я думаю, пользовательские пароли со среднем количеством в 30-40 случайных бит можно будет подбирать уже прямо в лоб.

Единственная разумная защита от подбора паролей - ограничить число попыток, которые может сделать злоумышленник. Если у кого есть счет в банке с online banking'ом, попробуйте ввести 3 раза подряд неправильный пароль - на четвертый раз придется звонить в банк и жаловаться (на самом деле, лучше не пробуйте). Ровно по этой причине банкомат не дает ввести больше 3-х раз неправильный PIN-код.

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

Кстати, та же самая проблема существует в веб-авторизации, той, которая CRAM-MD5, а так же в куче сетевых протоколов, которые делались с оглядкой на нее.

Если же вы вводите пароль через SSL-соединение, то такой проблемы не существует, т.к. SSL-сессия шифруется, и прежде чем начать подбирать ваш пароль, врагу сначала придется подобрать сессионный ключ, а в нем побольше энтропии. И по той же причине, WPA-Radius пока держится, он не гоняет в открытом виде данных, позволяющих легко проверить, угадали ли вы пароль.

Wed, Oct. 1st, 2008, 04:47 am
Вот и верь после этого людям...

Съездил в Китай с виндовсным лабтопом, и немедленно подцепил вируса. Ничего такого, от чего вирусы заводятся, я с этим компутером не делал - подозрительные аттачи не открывал, зараженных дисков в дисковод не вставлял (вообще никаких не вставлял), по варезным сайтам не бродил, на вопрос MSIE про ActiveX всегда отвечал "нет".

В общем, как вирус попал на машину, для меня остается полной загадкой. Вообще, я в некотором ужасе. Если бы эта тварь подсматривала, например, за номерами кредитных карт (а я покупал самолетные билеты по интернету), то у меня было бы масса неприятностей. Но вроде обошлось малой кровью - перестановкой венды с нуля. В чем мне помог Касперский - вируса он с моей активной помощью извел, но и венду тоже, так что она перестала грузиться в не-safe mode.

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

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

Оргвыводы из этого следующие: 1) черта с два я когда-нибудь еще положусь на венду в существенных для жизни вопросах, типа обеспечения коммуникации с внешним миром 2) гражданам, которые попытаются мне рассказать, что в венде есть какая-то там security, я буду смеяться в лицо.

P.S. Слухи о том, что в Китае любят линух оказались сильно преувеличенными. Ни один из сайтов, которые делают что-нибудь полезное, например, продают авиабилеты или показывают расписание электричек, в firefox'е толком не работают.

Fri, Aug. 15th, 2008, 09:30 pm
Система без опасности

Запускать программы с сетевого диска, очевидно, опаснее, чем с локального. Черт его знает, что вам подсунут. Во всяком случае, микрософт считает именно так.

Реализовано это следующим смешным образом:

1. Берем консольную программу. Запускаем - все ОК

2. Берем гуевую программу. Запускаем с винчестера - все ОК. Запускаем с сетевого диска - "The publisher could not be verified. Are you sure you want to run this software?". Запускаем ее же, но не far'ом а прямо из cmd.exe - все OK.

3. Берем программу на .Net'е. С сетевого диска она не хочет запускаться вообще, надо что-то крутить в реестре (не помню чего, но пару переинсталляций венды назад я это нашел).

Т.е., консольная программа вызывает больше доверия, чем гуевая, гуевая - больше, чем .Net'овская, программы, запущенные из cmd.exe, вызывают больше доверия, чем запущенные из какой-нибудь оболочки.

Мораль - если вы пишете вирус, пользуйтесь при отладке командной строкой и не пишите его на бейсике :-)

P.S. Хотел бы я знать, чего такое cmd.exe говорит CreateProcess, что венда больше доверяет запущенным таким образом программам.

Wed, Aug. 13th, 2008, 08:33 pm
The .NET Developer's Guide to Windows Security - рекомендую

Очень пристойная книжка, рекомендую:

http://alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/HomePage.html

Автор простым и понятным языком рассказывает про то, как в венде устроена безопасность, касаясь при этом таких деталей, которые читая MSDN хрен поймешь. Если программируя под венду, вам приходится иметь дело с такими словами, как SID, Token, logon session, window station и т.п., и вы чувствуете, что прошли уже 5 кругов по MSDN, а яснее в голове все не становится, вам туда.

Книжка доступна и в онлайне, и на бумаге.

Слово .Net в названии пусть вас не смущает. Примерчики там на C#, но изложенные знания от языка и .Net'а не зависят.

Fri, Jul. 18th, 2008, 06:57 pm
Хозяйке на заметку - как сделать, чтобы мазила не падала от флеша

Проблема, с которой многие сталкивались: на более-менее современном линухе мазила постоянно падает при попытке проиграть flash (вернее, падает flash player, но поскольку он DLL'ка, то заодно он роняет и мазилу).

Это относится и к firefox'у, которым пользуются все, и к seamonkey, которым по-старинке пользуюсь я :-)

Делюсь рецептом, который было не так-то просто найти в гугле: удалите пакет по фамилии libflashsupport. Мне лично помогло.

У вас, правда, после этого отвалится звук во флеше, потому что libflashsupport помогает флешу проигрывать звук через pulse audio. Расстраиваться не надо, а надо удалить и pulse audio заодно - у вас останется alsa, с которой все итак работает. Во всяком случае, я это pulse audio у себя удалил после того, как не смог, потратив несколько часов, заставить работать через него Skype (наушники работали, микрофон - нет, звуковая карта SB Live!).

Keywords: flash crashes firefox

20 most recent