Как стать автором
Обновить
1010
214.7
Вячеслав Голованов @SLY_G

Научпоп. Проповедую в храме науки.

Отправить сообщение

Детали недавней операции ФБР по массовому закрытию onion-сайтов — как раскрывают скрытые сервисы

Время на прочтение2 мин
Количество просмотров19K
Стали известны подробности закрытия ФБР не только Silk Road 2.0, но и ещё более 400 страниц (27 сайтов), работавших как скрытые сервисы в сети Tor. В операции «Operation Onymous» проведённой на прошлой неделе, совместно участвовали представители 16 европейских стран, ФБР, и американская служба контроля иммиграции ICE.

В результате операции были не только закрыты сайты, но и арестованы 17 человек, связанных с ними. Среди закрытых сервисов были такие, которые организовывали торговлю наркотиками, обеспечивали найм киллеров и занимались другими интересными вещами.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии11

«Вывернутая наизнанку» технология спекания может снизить стоимость 3D-принтеров по металлу во много раз

Время на прочтение2 мин
Количество просмотров7.4K
В Университете Южной Калифорнии (USC) разработали новый метод 3D-печати металлических изделий. В сентябре 2014 исследователи Пэймен Тораби, Мэтью Петрос и Берох Хошневис представили статью, описывающую их разработку.



Идея заключается в использовании особого вида струйной технологии под названием «выборочное подавление спекания» (selective inhibition sintering, SIS).

Существующие системы бюджетных домашних 3D-принтеров (домашними сейчас считаются принтеры стоимостью не более $5000) работают по принципу моделирования методом наплавления, или, реже, лазерной стереолитографии, но скорость работы таких принтеров весьма мала. Кроме того, домашних принтеров, работающих с металлом, просто не существует, поскольку использование мощных лазеров для спекания металлического порошка кардинально повышает стоимость системы.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии7

Учёные-компьютерщики просят Верховный суд США запретить копирайт на API

Время на прочтение2 мин
Количество просмотров9K
Electronic Frontier Foundation (EFF), Фонд Электронных Рубежей, некоммерческая правозащитная организация, от имени 77 учёных-компьютерщиков требуют от судей верховного суда пересмотра решения, согласно которому API (программный интерфейс для приложений) может быть объектом защиты авторских прав, как сообщает официальный сайт EFF. Это решение, принятое в мае, перевернуло с ног на голову сложившуюся за десятилетия практику.

Под петицией подписались пятеро обладателей Премии Тьюринга, четыре медалиста Национальной Технологической Премии, и множество людей из Ассоциации вычислительной техники, Института инженеров электротехники и электроники, и Американской академии науки и искусств. В списке также есть разработчики таких компьютерных систем и языков программирования, как AppleScript, AWK, C++, Haskell, IBM S/360, Java, JavaScript, Lotus 1-2-3, MS-DOS, Python, Scala, SmallTalk, TCP/IP, Unix, и Wiki.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии13

Бывший член команды Pirate Bay снова на свободе

Время на прочтение2 мин
Количество просмотров6K
Бывшего члена команды Pirate Bay и компьютерного эксперта Петера Сунде выпустили из сумасшедшего дома тюрьмы. Он провёл там пять месяцев. До этого он скрывался от Интерпола два года, с тех пор, как суд признал его виновным по обвинениям в пиратстве.

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

После освобождения Петер должен немного прийти в себя, а потом он снова займётся делом своей жизни – улучшением Интернета.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии5

На автомобиле — в небо

Время на прочтение2 мин
Количество просмотров8.5K
На фестивале «Пионеры» в Вене был представлен вседорожный летающий автомобиль AeroMobil 3.0.


Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии37

Выразительный JavaScript: Регулярные выражения

Время на прочтение22 мин
Количество просмотров233K

Содержание




Некоторые люди, столкнувшись с проблемой, думают: «О, а использую-ка я регулярные выражения». Теперь у них есть две проблемы.
Джейми Завински

Юан-Ма сказал: «Требуется большая сила, чтобы резать дерево поперёк структуры древесины. Требуется много кода, чтобы программировать поперёк структуры проблемы».
Мастер Юан-Ма, «Книга программирования»


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

В этой главе мы обсудим такой инструмент – регулярные выражения. Это способ описывать шаблоны в строковых данных. Они создают небольшой отдельный язык, который входит в JavaScript и во множество других языков и инструментов.

Регулярки одновременно очень странные и крайне полезные. Их синтаксис загадочен, а программный интерфейс в JavaScript для них неуклюж. Но это мощный инструмент для исследования и обработки строк. Разобравшись с ними, вы станете более эффективным программистом.
Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии10

Выразительный JavaScript: Поиск и обработка ошибок

Время на прочтение15 мин
Количество просмотров56K

Содержание




Отладка изначально вдвое сложнее написания кода. Поэтому, если вы пишете код настолько заумный, насколько можете, то по определению вы не способны отлаживать его.
Брайан Керниган и П.Ж.Плауэр, «Основы программного стиля»


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

Мастер Юан-Ма, «Книга программирования».


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

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

Часто проблема возникает в тех ситуациях, возникновение которых программист изначально не предвидел. Иногда этих ситуаций нельзя избежать. Когда пользователя просят ввести его возраст, а он вводит «апельсин», это ставит программу в непростую ситуацию. Эти ситуации необходимо предвидеть и как-то обрабатывать.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии8

Ricochet — анонимный бессерверный протокол передачи мгновенных сообщений

Время на прочтение6 мин
Количество просмотров45K
Перевод вводной части и введения в техническое описание проекта с открытым исходным кодом Ricochet (github).

Анонимная бессерверная система передачи мгновенных сообщений, которая просто работает


Ricochet – это эксперимент с альтернативным методом передачи мгновенных сообщений, который не доверяет никому – не раскрывает вашу личность, список контактов или общение.

— можно общаться без раскрытия личности или ip-адреса.
— никто не может выяснить, с кем вы общаетесь или когда вы общаетесь (никаких мета-данных)
— никаких серверов, которые можно было бы взломать, или операторов, которых можно было бы заставить выдать информацию о вас
— кросс-платформенный и простой даже для обычных пользователей

Примечание: проект недавно был переименован из Torsion.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии13

Электронная книга для фанатов чтения

Время на прочтение3 мин
Количество просмотров30K


Сколько себя помню, я всегда любил читать.

В детстве лучшим времяпрепровождением было устроиться поудобнее с интересной книгой, и погрузиться в другой мир – живой, полный приключений, героизма, отваги. Фантастика, приключения – любимые жанры. До сих пор дома есть большая библиотека научной фантастики. В связи с финансовыми трудностями сейчас её приходится распродавать, но тем не менее. Кстати, радуют эти люди, которые по объявлению приезжают куда-то на другой конец Москвы за нужной книжкой, которую не найти в магазинах. Ни комиксы, ни тем более фильмы с сериалами или компьютерные игры не развивают так воображение, не способствуют усвоению языка и грамотности, как книги. «Книга — источник знаний, книга — лучший подарок» — для меня эти изречения не являются ироническими штампами.
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии176

Facebook, скрытые сервисы и https-сертификаты

Время на прочтение5 мин
Количество просмотров27K
Facebook недавно открыл миру наличие скрытого tor-сервиса, дающего более безопасный доступ к их сайту. Пользователи и журналисты спрашивали комментариев у разработчиков Tor по этому вопросу. Перед вами их ответы и размышления.

Часть первая: да, в посещении сайта Facebook через Tor нет никаких противоречий

Мне казалось, что в этом пояснении нет нужды, пока я не услышал от журналиста вопрос – почему пользователи Tor не будут использовать Facebook. Оставляя в стороне отношение Facebook к приватности и их правила связанные с использованием настоящих имён, и надо ли вам что-то сообщать в Facebook о своей персоне,- главное здесь то, что анонимность не заканчивается только попыткой скрыться от сайта, на который вы ходите.
Читать дальше →
Всего голосов 46: ↑37 и ↓9+28
Комментарии5

Выразительный JavaScript: проект: Электронная жизнь

Время на прочтение18 мин
Количество просмотров47K

Содержание




Вопрос о том, могут ли машины думать так же уместен, как вопрос о том, могут ли подводные лодки плавать.

Эдсгер Дейкстра, Угрозы вычислительной науке


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

Наш проект – постройка виртуальной экосистемы, небольшого мира, населённого существами, которые двигаются и борются за выживание.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии3

Выразительный JavaScript: Тайная жизнь объектов

Время на прочтение19 мин
Количество просмотров81K

Содержание




Проблема объектно-ориентированных языков в том, что они тащат с собой всё своё неявное окружение. Вам нужен был банан – а вы получаете гориллу с бананом, и целые джунгли впридачу.

Джо Армстронг, в интервью Coders at Work


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

Стороннему человеку всё это непонятно. Начнём же с краткой истории объектов как концепции в программировании.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии5

Выразительный JavaScript: Функции высшего порядка

Время на прочтение17 мин
Количество просмотров104K

Содержание




Цу-ли и Цу-су похвалялись размерами своих новых программ. «Двести тысяч строк»,- сказал Цу-ли,- «не считая комментариев!» Цу-су ответил: «Пф-ф, моя – почти миллион строк». Мастер Юнь-Ма сказал: «Моя лучшая программа занимает пятьсот строк». Услышав это, Цу-ли и Цу-су испытали просветление.

Мастер Юнь-Ма, Книга программирования

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

Энтони Хоар, 1980 лекция на вручении премии Тьюринга


Большая программа – затратная программа, и не только из-за времени её написания. Большой размер обычно означает сложность, а сложность сбивает с толку программистов. Сбитые с толку программисты делают ошибки в программах. Большая программа означает, что багам есть где спрятаться и их получается труднее отыскать.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии7

Выразительный JavaScript: Структуры данных: объекты и массивы

Время на прочтение22 мин
Количество просмотров149K

Содержание




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

Чарльз Бэббидж, «Отрывки из жизни философа» (1864)


Числа, булевские значения и строки – кирпичики, из которых строятся структуры данных. Но нельзя сделать дом из одного кирпича. Объекты позволяют нам группировать значения (в том числе и другие объекты) вместе – и строить более сложные структуры.

Написание программ, которым мы до сего момента занимались, сильно затруднял тот факт, что они работали только с простыми данными. Эта глава добавит вам в инструментарий понимание структур данных. К её концу вы будете знать достаточно для того, чтобы начать писать полезные программы.

Глава пройдётся по более-менее реалистичному примеру программирования, вводя понятия по мере необходимости. Код примеров будет строиться из функций и переменных, которые мы определяли ранее.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии12

Выразительный JavaScript: Функции

Время на прочтение17 мин
Количество просмотров231K

Содержание




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

Дональд Кнут


Вы уже видели вызовы функций, таких как alert. Функции – это хлеб с маслом программирования на JavaScript. Идея оборачивания куска программы и вызова её как переменной очень востребована. Это инструмент для структурирования больших программ, уменьшения повторений, назначения имён подпрограммам, и изолирование подпрограмм друг от друга.

Самое очевидное использование функций – создание нового словаря. Придумывать слова для обычной человеческой прозы – дурной тон. В языке программирования это необходимо.

Средний взрослый русскоговорящий человек знает примерно 10000 слов. Редкий язык программирования содержит 10000 встроенных команд. И словарь языка программирования определён чётче, поэтому он менее гибок, чем человеческий. Поэтому нам обычно приходится добавлять в него свои слова, чтобы избежать излишних повторений.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии7

Выразительный JavaScript: Структура программ

Время на прочтение15 мин
Количество просмотров141K

Содержание




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

_why, Why's (Poignant) Guide to Ruby


В этой главе мы начнём заниматься тем, что уже можно назвать программированием. Мы расширим использование языка JavaScript за пределы существительных и фрагментов предложений к более-менее осмысленной прозе.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии20

Выразительный JavaScript: Величины, типы и операторы

Время на прочтение10 мин
Количество просмотров156K

Содержание




Под поверхностью машины движется программа. Без усилий, она расширяется и сжимается. Находясь в великой гармонии, электроны рассеиваются и собираются. Формы на мониторе – лишь рябь на воде. Суть остаётся скрытой внутри…

Мастер Юан-Ма, Книга программирования

Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии6

Выразительный JavaScript: Введение

Время на прочтение9 мин
Количество просмотров468K


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



Читать дальше →
Всего голосов 54: ↑49 и ↓5+44
Комментарии14

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

Время на прочтение8 мин
Количество просмотров82K
У JS есть несколько концепций, связанных с областью видимости (scope), которые не всегда ясны начинающим разработчикам (и иногда даже опытным). Эта статья посвящена тем, кто стремится погрузиться в пучину областей видимости JS, услышав такие слова, как область видимости, замыкание, “this”, область имён, область видимости функции, глобальные переменные, лексическая область видимости, приватные и публичные области… Надеюсь, по прочтению материала вы сможете ответить на следующие вопросы:

— что такое область видимости?
— что есть глобальная/локальная ОВ?
— что есть пространство имён и чем оно отличается от ОВ?
— что обозначает ключевое слово this, и как оно относится с ОВ?
— что такое функциональная и лексическая ОВ?
— что такое замыкание?
— как мне всё это понять и сотворить?
Читать дальше →
Всего голосов 57: ↑47 и ↓10+37
Комментарии38

Повышаем личную эффективность: советы от Марка Андреессена

Время на прочтение8 мин
Количество просмотров121K
Одно из моих любимых удовольствий – productivity porn, порнография эффективности. Или, для тех, кто в теме – pr0n. Это набор техник, тактик и трюков по максимизации личной эффективности. Что называется, «getting things done».

Следующие техники я использую в комплексе, но возможно не все они пригодятся конкретно вам. Даже если вы почерпнёте одну-две идеи – значит, моя цель будет достигнута. Итак, начнём внезапно.

Не составляйте себе расписание

Читать дальше →
Всего голосов 71: ↑62 и ↓9+53
Комментарии24

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность