О сущности ложек

Кадр из фильма
Кадр из фильма «Матрица»

Физики придумали способ проверки реальности Матрицы

Физики из США и Германии Силас Бин, Зохрех Давоуди и Мартин Сэвидж предложили экспериментальный способ проверки одной философской идеи, известной как гипотеза симуляции. Согласно этой гипотезе, существует вероятность того, что мы живем внутри огромной компьютерной модели, которую запустили некие постлюди для изучения собственного прошлого. Несмотря на, будем честны, свою сомнительную естественнонаучную ценность, работа Бина, Давоуди и Сэвиджа заслуживает подробного освещения: тут и квантовая хромодинамика, и философия, да и вообще — не каждый день физики предлагают проверить идеи, вдохновленные фильмом «Матрица».
Читать

Чему я научился за 30 лет программирования

Оригинальная статья Джона Грэхем-Камминга.
Переведено и опубликовано с разрешения автора.

Я занимаюсь программированием уже более 30 лет, начиная с машин, уже устаревших (на процессорах Z80 и 6502) до современных, используя языки BASIC, ассемблера, C, C++, Tcl, Perl, Lisp, ML, occam, arc, Ruby, Go и многие другие.

Далее следует список того, чему я научился.

0. Програмиирование — это ремесло, а не наука или инженерия

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

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

Принимая во внимание, что это ремесло, нетрудно заметить, что важны опыт, инструменты и интуиция.

Читать

Unix как IDE: Введение

Профессиональные программисты, как новички, так и профессионалы, нередко являются сторонниками концепции IDE, или «интегрированной среди разработки». И вправду, удобно иметь самые необходимые средства организации, написания, поддержки и тестирования кода в одном приложении с единым интерфейсом для всего многообразия инструментов. Вдобавок, среда, специально спроектированная для программирования на разных языках, как правило, имеет ряд преимуществ, таких как автодополнение, проверка и подсветка синтаксиса.

Подобные средства есть для всех распространенных настольных ОС, включая Linux и BSD, при этом многие из них совершенно бесплатны, засим вряд ли имеет смысл кодить в Блокноте Windows, в nano, или при помощи cat.

Однако, в среде поклонников Unix гуляет в разнообразных вариациях мем о том, что «Unix — это IDE», в том смысле, что средства, которыми разработчики располагают в терминале, легко реализуют основные возможности современных IDE. Вы можете соглашаться или отказываться назвать Unix «IDE» в том самом смысле, что и Eclipse или Microsoft Visual Studio. Так или иначе, вас скорее всего удивит, насколько законченную среду разработки может являть собой скромный Bash.

Читать

Тест Тьюринга: люди против чат-ботов

В 1950 году Алан Тьюринг предложил свой оригинальный тест как способ определить, может ли компьютерная программа думать как человек. В ходе испытания несколько судей должны общаться одновременно с компьютером и человеком, и по результатам общения определить, кто из собеседников робот, а кто — человек. Если судьи поверят компьютерной программе, значит, она действительно обладает искусственным интеллектом.

Первый тест Тьюринга был проведен 8 ноября 1991 года в Музее компьютерной техники Бостона. Среди участников было восемь компьютерных программ, которые общались с судьями через модемы, и два человека, также доступные в режиме удаленной связи. Судьи видели только номер терминала (от 1 до 10) и названия тем для общения. Вот некоторые из тем: «Сухой мартини», «Шекспир», «Романтические отношения». Темы для разговора были предложены доктором Робертом Эпштейном, одним из организаторов мероприятия. Пять из десяти судей решили, что под ником Whimsical Conversation (Эксцентричная беседа) скрывается человек.
Читать

Файловые системы ближайшего будущего.

В мае 2011 года, в расширенном докладе Майкла Рубина (Michael Rubin), занимающегося системами хранения данных в Google (и ответственный в первую очередь за их развитие и масштабирование), прозвучал подробный сравнительный обзор современных файловых систем, в котором, кроме перечисления их преимуществ и недостатков, были даны и некоторые прогнозы о будущем развитии и потребностях информационной индустрии
в этой сфере.

 FileSys-1-2
Читать

Легенда о бизнесе на вредоносных программах.

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

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

Читать

Ликбез по уязвимостям в веб-приложениях, а также самые частые ошибки разработчиков

Эта статья — продолжение цикла статей по информационной безопасности в веб-приложениях (и не только).

Вообще думал написать о «белом ящике», но я решил что нужно сначала ликвидировать возможные пробелы у целевой аудитории (в основном веб-разработчики) в этой области.

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

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

Как обычно — ответственность за все полученные знания только на читателе 🙂

Наиболее часто допускаемые ошибки при разработке веб-приложений (в плане безопасности), а также краткий ликбез по эксплуатированию «популярных» уязвимостей.

Для начала немного о SQL инъекциях, XSS/CSRF, RFI/LFI

SQL inj — SQL инъекция, выполнение несанкционированных запросов
XSS/CSRF — внедрение произвольного JS кода/скрипта в страницу. XSS — Cross Site Scripting (первая буква в аббревиатуре «X» чтобы не было путаницы с CSS (стилями). CSRF — выполнение произвольных действий в браузере пользователя
RFI/LFI — Remote/Local file including. Использование удаленных («извне»)/локальных файлов в своих целях
DoS — Denial Of Service. «Умный» вывод ресурса из строя (в отличии от DDoS). Данная атака производится при возможности выполнения «долгих» запросов или длительном выполнении кода.

Для того, чтобы знать, как защищать — надо знать, как взламывают ;]

Читать

Как взламывают мобильные платформы: взгляд экспертов

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

Автор: Андрей Письменный | Раздел: Статьи | Дата: 29 июля 2011 года

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

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

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

Читать

Биткойн изнутри

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

Электронная цифровая подпись (ЭЦП)

К сожалению, я не нашел подходящих простых образов, чтобы показать как изнутри работает криптография на эллиптических кривых. Возьмем этот инструмент «на веру». Те же алгоритмы используются в банковском секторе (и не только), поэтому крах ЭЦП приведет к кризису многих отраслей. Итак, закрытым ключом мы подписываем «письма передачи прав собственности» (транзакции), и тем самым отдаем свои монеты кому-то другому. Открытым ключом мы проверяем подлинность чужих транзакций.

Читать