30 дек. 2010 г.

Файл hosts в Windows x64

Опять наткнулся на "отсутствие" файла hosts в Windows XP x64. Полез искать этот файл через файл-менеджер. А в c:\WINDOWS\system32\Drivers\ даже директории etc нету. Начал паниковать, рыскать по директориям, под столом... Нету! Потом нажал в строке команд Unreal Commander-а
cd etc
находясь в c:\WINDOWS\system32\Drivers\ и попал в нужную директорию.
Кейс связан с 32-битностью файл-мнеджера.

Как вариант, открыть директорию etc можно через Windows Explorer.

29 дек. 2010 г.

Google Bookmarks. Метка Later

Последнее время взял себе за правило интересные веб-статьи/сайты, на прочтение которых в данный момент нет времени, заносить в Google Bookmarks с меткой later. Иногда добаляю дополнительные характерные метки. Тем самым пытаюсь бороться с кучей открытых вкладок в броузере. Да и от компьютера и обозревателя не завишу. По прочтению статьи либо удаляю закладку из Bookmarks, либо убираю метку later.

17 дек. 2010 г.

WikiLeaks

Не могу быть на 100% уверенным, но от истории с WikiLeaks что-то сильно попахивает Кувейтом. Опять создаем себе врага, чтобы объявить военное положение и делать то, что нам нужно.

Капча

На ЖЖ только что капча попросила ввести прикольный текст:
dratinct Ever.

Гугель транслятор перевел как:
С тех dratinct.

Гы. Или как сейчас принято говорить, LOL.

XChat

Хорошая чатилка XChat. Они, в принципе, все хорошие. Но эта тоже хороша. Только работает в Windows не больше 30 дней.
Hint: дату своей установки и прочие настройки она хранит в реестре по адресу HKEY_CURRENT_USER\Software\XChat или в файле C:\Program Files\xchat\inst.conf

13 дек. 2010 г.

Журналисты должны уяснить, что на самом деле означает слово "Хакер"

На сайтике Geek Juice некий Kole опубликовал заметку "Journalists need to learn what a 'hacker' really is" "Журналисты должны уяснить, что на самом деле означает слово "Хакер"". Ниже - вольный перевод этой заметки. Сумлеваюсь, чтобы она возымела какое-то действие в новостной среде, ибо слово Хакер очень уж красочное и удобное для запугивания обывателя. Избавляться от него журналистам будет влом. Сказать, что одмины сайт плохо настроили - скучно. Никому не интересно. А сказать, что малолетний ХАКЕР взломал коррпоративный сайт СПД Пупырышкин, так это сразу страшно и интересно. И пофиг, что совсем непонятно. Однако заметку перевел.


“The Globe and Mail”, одна из самых уважаемых газет в Торонто, опубликовала сегодня (11/12/2010) статью под заголовком «2010 может войти в историю, как Год Хакера». Статья рассказывает о скандале с WikiLeaks, а так же о том, как группа “хакеров” положила Visa.com, Mastercard.com und Paypal.com

Ошибочное утверждение, что эта школота что-то хакнула, должно быть опровергнуто. Журналюги должны сначала мало-мальски изучить ту тему, о которой они собираются рассуждать. Особенно если они делают это на страницах одного из крупнейших изданий страны [Канады].

Сегодня я бросаю им вызов (вах! все кинулись за бронежилетами :) - прим. переводчика). Раз и навсегда я разъясню значение звания Хакер. А заодно помогу понять, как группа сосунков может положить корпоративный вебсайт несмотря на полное отсутствие основ хакинга.

Итак. Начнем с хакинга 101.

Возможно, вы помните киношку 90-х годов “Хакеры”. Это был веселый экшн про жизни разных хакерил, как они отрывались в свои 20 лет. То, что показано в фильме, считается взломом большинством экспертов (не уверен в переводе - прим. переводчика). Для придания привлекательности процессу хаккинга он сдобрен веселой графикой и анимацией. Однако результат этих действий - получение контроля над компьютерами для всяких грязных делишек.

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

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

Участие в DDOSе не требует ничего из этого.
DOS-атака заключается, грубо говоря, в пинговании сайта клиентским компьютером снова и снова. Большинство современных сайтов легко справляются с этим. Становится гораздо интереснее, когда этим начинают заниматься тысячи клиентских компов. Тогда это называется DDOS (распределенная атака типа Отказ в Обслуживании). Она может быть реализована по разному. Как вариант, хакеры могут использовать тысячи компьютеров, контроль над которыми они получили в ходе заражения оных вирусАми. Однако чаще всего эта атака выполняется тысячами друзей, одновременно выполняющими DOS (одиночное пингование).

И наконец, что же случилось с Visa.com?

Тысячи объединенных нетожителей начали пинговать Visa.com (Mastercard.com, Paypal.com) одновременно. Они координировали свои действия через Twitter или другой протокол социальных сетей. Все, что нужно было сделать, это скачать программулину, которая была доступна через Twitter, и нажать одну-две кнопки. Скачал, поставил, запустил - и ты уже хакер.

Пожалуйста! Ради высокого звания Технического Журналиста не называйте то, что сделала эта школота, “Хаккингом” (“Взломом” - прим. переводчика). Это больше похоже на манифестацию перед штаб-квартирой большой конторы. Только в формате HD. Забаррикадировали входные двери и боле никто не может войти. Даже разносчик пиццы.

Новое слово

Наткнулся на новое слово, которое, несомненно, появилось совсем недавно.
Netizens. Гугл-транслятор переводит его как Интернетяне. Понятно, что составлено слово из двух: (inter)Net + Citizen. Обозначает примерно то же, что и Citizen, токмо в области сетевого сообщества.

9 дек. 2010 г.

Инициализация цикла из середины

Увидел у Маконелла интересную конструкцию. Иногда нужно перед входом в цикл произвести какие-то действия, а потом повторять их в этом цикле, который завершгится при определенном результате выполнения этих действий. Например:
  
fread(hFile, buffer, buffSize, &readedSize);
while ( readedSize > 0 )
{
foo();
fread(hFile, buffer, buffSize, &readedSize);
}


Получается не очень красиво, т.к. в случае изменения первого fread можно забыть про необходимость тех же изменений во втором.

Но можно сделать так:
  
goto readBuffLabel;
while ( readedSize > 0 )
{
foo();
readBuffLabel:
fread(hFile, buffer, buffSize, &readedSize);
}


В этом случае мы имеем безусловный переход на строку, которая в единственном экземпляре произведет чтение из файла и в случае 0 размера прочитанных данных цикл завершится без выполнения foo().

Новая специальность в IT-технологиях!

Срочно нужно менять профессию! Это новое перспективное веяние в области IT! Срочно все переквалифицируемся на Ведуерщих инженер-программистов! Посещаем тренинги для Ведуерщих инженер-программистов! Срочно ищем на jooble.com вакансии Ведуерщих инженер-программистов!
Тем более с таким окладом! За 550 долларов в месяц любой Неведуерщий согласится стать Ведуерщим!

8 дек. 2010 г.

Обои на Bing.Com

Какие позитивные птички на обоях bing.com...

Как работают Яндекс.Новости

Сегодня в Гугло-читалке первый раз за несколько месяцев возник пост в rss-канале у Яндекс.Новости. Прицепляю скриншот. Порадовала последняя строка поста. Особенно, учитывая дату, указанную там.

7 дек. 2010 г.

Фраза

Зацепило...
"Мы не можем использовать такое имя переменной. Оно похоже на венгерскую нотацию".
Йопт...

Смерь казака

Смотреть галерею
Жил был казак. Долго он жил. Был он верен, вынослив и неприхотлив. Но в одном бою получил он смертельную рану. И выбросили его в мусор. А что ж с ним еще делать?!

Enough with tweeting...

Прямо таки в точку. Отписался от оповещений от пары френдов на Facebook из-за постов из их твитов. "Киев. Холодает". "Купил чемодан". "Сижу ем". Бееее

6 дек. 2010 г.

Очередной троянец-вымогатель

"Уж сколько раз твердили миру..."

Знакомые поставили некую софтинку, которая обещала отображать кто заходил на их страницу во ВКонтакте. Софтина, естественно, ничего не отобразила. Но при заходе на популярные социалки (ВКонтакте, Мой Мир, Мой круг, etc), на странице логина стало отображаться сообщении о блокировке учетки в связи с рассылкой с нее спама. За активацию учетки спрашивали переслать 20 грн на какой-то WebMoney-кошелек.
Подозрение сразу вызвал счетчик зарегистрированных аккаунтов во ВКонтакте. На этой странице он был около 98 000 000, в то время как он уже где-то недели две перевалил за 100 000 000.

В телефонном режиме проверили с ними nslookup на vkontakte.ru, проверили файл
c:\windows\system32\drivers\etc\hosts
Вроде нормально. Потом выяснили, что рядом с этим hosts-файлом лежал еще один скрытый. Explorer его, естественно, не отображал. В нем-то и был прописан список фишинговых страниц. Как был переименован штатный файл не знаю - по телефону не видно было.

Выводов напрашивается несколько. Основные:

  • Работай с правами пользователя. Никакая хрень не сможет подменить системные файлы. Ну, почти никакая. Я, по крайней мере, таких еще не встречал.

  • Работаешь под админом, пользуй админские примочки. В частности, файловый менеджер, который показывает и скрытые, и системные файлы.

  • Не ставь всякую хрень, которая должна делать то, чего не может быть.

5 дек. 2010 г.

Интересная лужа

Лужа. 03/12/2010
После дождя в одной луже увидел прикольный узор.

Одесса, Привоз, туман

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

UPD: 2010-12-30 10-37-51.
Вчера был на тыльной стороне этого строения. Ни 21-м, ни 20 веками там и не пахнет. Пахнет много чем, но не этим. Тут же впоминаются картины постапокалиптически-настроенных проризведений. Разруха, бедность, темень... На днях зайду с фотоаппаратом - пощелкаю.

23

На днях в один и тот же день в трамвае и троллейбусе дали два талончика. Примечательны номера этих талончиков.

0+36-6-3-4 = 23
0+5+0+5+6+7 = 23
0+50-5-6-7 = 32 (антипод 23)

2 дек. 2010 г.

Оригинальный тортик

Хех. Прикольный тортик. Для детского Дня Рождения, имхо, очень даже задорная идея.

1 дек. 2010 г.

Рекомендации NASA по написанию безопасных программ.

На сайте NASA разыскался документ "NASA Software Safety Guidebook". Сам документ датирован мартом 2004 года, но, имхо, ценности его это не умаляет. Документ является подборкой ркомендаций по написанию безопасных программ. Такая махина как NASA наверняка имеет мощную теоритическую базу по формированию требований к используемому ими софту. Так что прочтение этого руководства, думаю, будет не бесполезным. Сам я доку еще не прочитал - только нашел. Но вот в блоге у Алексея Пахунова подсмотрел несколько высказываний (мотиваторов к прочтению :) ). Пока их и приведу тут.


Например, идет речь о мультипрограммировании (N-Version Programming). Одна и та же функциональность реализуется разными способами. Если разные версии возвращают одинаковый результат, то всё в порядке. Если результаты не совпадают, то используется голосование, чтобы определить какой результат наиболее достоверный. Для защиты от одного сбоя нужно написать три разных реализации; от двух – пять.


Теперь интересное:


One major problem with N-Version programming is that it increases complexity, which has a direct relationship with the number of errors. In one NASA study of an experimental aircraft, all of the software problems found during testing were the result of the errors in the redundancy management system. The control software operated flawlessly!


Одна из главных проблем мультипрограммирования состоит в повышении сложности, что напрямую влияет на количество ошибок. Одно из исследований экспериментального самолета проведённое NASA показало, что все программные ошибки, найденные во время тестирования, были результатом ошибок в системе резервирования. Управляющее программное обеспечение работало безупречно!



Секция про языки тоже забавна. Сначала речь идет о «безопасном подмножестве» языков. Из него исключаются все мало-мальски неоднозначные, сложные, спорные и просто неудачные языковые конструкции. Далее разбираются разные языки. Про Ada – не интересно. Язык специально создавался для подобных применений. Ассемблер принимается за необходимое зло. Про Си написано уже интереснее:


In many ways, C is a higher level assembly language. This gives it great flexibility, and opens a Pandora’s box of possible errors.


Во многом, Си – это ассемблер высокого уровня. Это даёт значительную гибкость и открывает ящик Пандоры с возможными ошибками.


Ну да. Что есть, то есть.


Restricting the C language to certain constructs would not be feasible because the resulting language would not have the necessary functionality.


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


Практически все конструкции языка придуманы, чтобы программист, в конце концов, прострелил себе ногу.


С++:


A standard “safe subset” of C++ does not presently exist.


Стандартное «безопасное подмножество» C++ на данный момент не существует.


… и вряд ли появится.


Don’t use the RTTI (Run-Time Type Information). It was added to support object oriented data bases. If you think it’s necessary in your program, look again at your design.


Не используйте RTTI. Эта функциональность была добавлена для поддержки объектно-ориентированных баз данных. Если вы думаете RTTI необходима вашей программе, пересмотрите свой дизайн.


+1. Но пассаж про ОО базы данных непонятен.


Про C# написали, что это интерпретируемый язык. Про NGEN они не в курсе. С другой стороны, ну зачем им сборщик мусора во встроенной железке?


Forth:


Forth has no “safety” features.


В Форте нет «безопасных» конструкций.


Просто и понятно. Ну и так далее. Там даже Visual Basic есть.


В приложении есть рекомендации для каждого языка. Попадаются волшебные:


Use comments to describe WHAT the procedure or section is meant to do. It is not always clear from the assembly code.


Используйте комментарии для описания того ЧТО процедура или секция должны делать. Это не всегда понятно из ассемблерного кода.