Search
Write a publication
Pull to refresh
12
0
Никитюк Владимир @jaffa

User

Send message

Сколько серверов в облаке Amazon EC2?

Reading time2 min
Views6.4K
Как и многие другие интернет-компании, Amazon не разглашает информацию о своей инфраструктуре, в том числе о количестве серверов. Но аналитик из Accenture Technology Labs произвёл собственный подсчёт: у него получилось, что в семи дата-центрах Amazon Web Services должно быть по крайней мере 454 400 серверов.

Интересно, что 70% из них находится в регионе US East (Виргиния).
Кол-во серверных стоек Кол-во блэйд-серверов
US East (Виргиния) 5030 321 920
US West (Орегон) 41 2624
US West (Сев. Калифорния) 630 40 320
EU West (Ирландия) 814 52 096
AP Northeast (Япония) 314 20 096
AP Southeast (Сингапур) 246 15 744
SA East (Сан-Паулу) 25 1600
Всего 7100 454 400
Читать дальше →

Курс для тех, кто не боится UNIX и С

Reading time1 min
Views38K
image
О том, что российские вузы выпускают специалистов, невостребованных рынком труда, говорят многие. Обычно, разговорами все и заканчивается. Очень мало компаний в России идут на контакт с высшими учебными заведениями. Но такие всё же есть.

В прошлом году специалисты SkyDNS и Айдеко подготовили и прочитали в Уральском федеральном университете (УрФУ) курс «Сетевое программирование в UNIX». Спецкурс предназначался для студентов математико-механического факультета УрФУ. «Мы анонсировали его как курс для тех, кто не боится UNIX и С», — рассказал Александр Патраков, ведущий разработчик компании SkyDNS.
Читать дальше →

Реализуем протокол или как работают астрологи

Reading time1 min
Views7K
Астрологический протокол

Сегодня – очередная лекция нашего курса «Сетевое программирование в UNIX».

В ней Марк Коренберг (Компания Айдеко) рассказывает студентам об «игрушечном» астрологическом протоколе.
Читать дальше →

Каждому клиенту по процессу

Reading time1 min
Views5.8K
image
Мы продолжаем публиковать на Хабре лекции курса «Сетевое программирование в UNIX». Хотя тема второй лекции – не сетевая, ее можно считать смежной с сетевым программированием. Видео посвящено способам обработки нескольких клиентов в одном сетевом сервере. «Использование более одного процесса можно организовать по-разному. Можно создавать процессы заранее (это модель prefork) или делать это по мере необходимости. Оба способа рассмотрены в лекции», — рассказал Александр Патраков, автор курса.
Читать дальше →

Quick brown fox jumps over the lazy dog

Reading time1 min
Views10K
В английской типографике заметной популярностью пользуется фраза «quick brown fox jumps over the lazy dog» как панграмма, включающая все символы алфавита (причём символы «e», «r» и «u» — по два раза, символ «o» — четыре раза).

В переводе она означает «быстрая бурая лиса перепрыгивает ленивую собаку».

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

Читать дальше →

Новый подход к стародавней панграмме

Reading time1 min
Views1.8K
Пожалуй, этот способ тестирования вида шрифтов окажется поинтереснее прежнего:

[Съешь же ещё этих мягких французских, Буллок! Да выпей чаю...]
Источник — вон тот мой комментарий, оставленный в обсуждении нового шрифта Ubuntu. Панграмма демонстрирует именно этот шрифт на фоне фотографии Сандры Буллок, сделанной папарацци.

Обновление по онлайн-курсам Stanford University

Reading time1 min
Views11K
Понимаю, что все заинтересованные уже получили оповещение по почте, но для тех кто не в танке — объявление: онлайн курсы от Stanford University наконец-то начинаются.

Probabilistic Graphical Models — начинается 19 марта, лекции пока не доступны.

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

Natural Language Processing — начало с 12 марта, первое задание Spamlord должно быть уже выполнено к 19 марта, так что регистрируемся.

Design and Analysis of Algorithms I — курс по проектированию и анализу алгоритмов.

Cryptography — доступны видео первой недели обучения.

Game theory — начало 19 марта, материалов на сайт пока нет, но первая порция будет доступна 10 марта.

SaaS уже начался, но для того, чтобы плодотворно учить этот курс, необходима книга (10$). Этот курс от University of California, Berkeley.

Model thinking уже идет практически целый месяц (на самом деле курс основан на материалах University of Michigan, а не Stanford).

Другие курсы в процессе доработки

Computer Science 101, Computer Vision (University of California, Berkeley), Machine Learning, Making Green Buildings, Anatomy, Computer Security

Да, все курсы переехали на платформу Coursera. Поэтому теперь эти лекции смело можно называть «Обучение от Coursera», тем более спектр университетов увеличился.

Update:

Information theory — 12 марта появится первая порция лекций, тоже самое для Human-Computer Interaction.

За апдейтом апдейт: новый виток Machine learning тоже начинается 12 марта.

Альтернативная проверка предусловий в Code Contracts

Reading time4 min
Views3.9K
При попытке использования библиотеки Code Contracts в реальном проекте может возникнуть небольшая сложность: хотя сам класс Contract с методами проверки предусловий и постусловий, располагается в mscorlib начиная с 4-й версии .NET Framework, но без установки самой библиотеки Code Contracts, они не попадают в результирующую сборку.

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

Однако Code Contracts поддерживает дополнительный «режим совместимости», который позволяет «жестко зашить» проверки предусловий в результирующий код, так что они будут видны всем, не зависимо от того, установлены контракты на машине разработчика или нет.
Читать дальше →

Haskell — Эстетика

Reading time32 min
Views5.1K
Я придумываю особенную игру в жанре космического симулятора. Согласно одной из ключевых концепций, в игре будет встроенный язык программирования, с помощью которого можно разрабатывать и улучшать алгоритмы взаимодействия игровых элементов. Дизайн такого языка — дело непростое, учитывая его «натуральность», а не «текстовость». То есть, конструкции языка выражены в виде разных графических объектов. Рисуя эскизы его конструкций, я неожиданно для себя отвлекся и вместо языка для игры стал придумывать язык для визуализации Haskell-кода. Получалось так интересно, что я не мог оставить эскизы просто бумажными рисунками. В январе 2012 года я начал писать сервер визуализации, и вот что получилось…



Читать дальше →

Введение в теорию взаимодействующих последовательных процессов (CSP), часть 2

Reading time5 min
Views5.1K
Продолжаем цикл статей посвящённый алгебре исчисления процессов. Данный текст является переводом и сокращённым пересказом начальных глав книги Чарльза Э. Хоара. Теория применяется для формального описания работы параллельных систем. Примерам её практических применений являются такие языки программирования как Erlang, Go и Limbo.
Читать дальше →

Как относятся к безопасности своих данных в НАСА?

Reading time2 min
Views1.9K
Палата представителей США опубликовала любопытный отчёт, который приоткрывает то, как в одной из наиболее солидных и находящихся на переднем краю науки организаций в мире, относятся к безопасности данных.

Итак, в течении двух лет (в 2010-2011 годах) в Национальном управлении по воздухоплаванию и исследованию космического пространства США было зафиксировано 5408 компьютерных инцидентов, связанных с безопасностью данных — сюда включены не только атаки хакеров, а также и обнаружение злонамеренного программного обеспечения (другими словами, около 7 проблем в день). Среди этих инцидентов генеральный инспектор НАСА Пол Мартин (Paul K. Martin) признал, что за последний год его организация столкнулась с 47 реальными угрозами хакеров (advanced persistent threats), которые осуществлялись как отдельными людьми, так и целыми группами злоумышленников, которые осуществляли атаку с целью кражи или порчи данных. Более конкретно, 13 таких атак оказались успешными — к данным, как минимум, был получен доступ и их достоверность поставлена под сомнение. Для количественной оценки величин угроз надо отметить, что число сотрудников НАСА составляет «сотни тысяч сотрудников по всему миру», а само агентство насчитывает около 550 различных информационных и управляющих компьютерных систем. При этом ежегодно на компьютерную инфраструктуру НАСА тратится 1.5 $ млрд, из них на вопросы безопасности уходит 58 $ млн.
Узнать подробности

Нам не страшен беспредел, или уведомляем родных о неприятностях (iOS)

Reading time1 min
Views760
После недавних выборов в ГосДуму и волны протестов, зимним вечером было создано простое, но полезное iOS приложение, которое мгновенно уведомляет родных и знакомых, что вы в опасности.

Через несколько дней в России выборы, наверняка будет множество акций протеста и RescuePing пригодится многим гражданам.

image

Основная фишка приложения — отправка сообщений без разблокировки устройства, достаточно просто вытащить шнур наушников и уведомление будет отправлено.
Читать дальше →

«Анатомия анонимных атак» — как работают Anonymous?

Reading time3 min
Views8.2K
Американская компания Imperva, которая занимается разработкой решений для защиты данных, опубликовала свой 17-страничный отчёт, посвященный исследованию работы известной группы хактивистов Anonymous. Нельзя сказать, что отчёт вскрывает страшные тайны подпольной организации злоумышленников, но, тем не менее, в качестве систематизированной картины он весьма удобен.

Итак, согласно отчёту, Anonymous — это не группа сверхгениальных хакеров, способных в считанные часы или дни взломать любой сервер и украсть любую информацию. Хотя и имели место прецеденты с успешными атаками на столь солидные организации как StratFor и ряд других, успешность атаки объясняется скорее безалаберностью администраторов ресурсов, а не какой-либо сверхизобретательной технике злоумышленников. Так исследователи считают, что хотя у Anonymous и имеются некоторые специфические приёмы, тем не менее, группа предпочитает широко известные методы — прежде всего, это SQL-инъекции и DDOS-атаки, причём, Anonymous, как правило, сначала пробуют украсть данные, а потом, если это не увенчивается успехом, организуют DDOS на ресурс жертвы.
Узнать подробности

Zipper — производная от типа

Reading time5 min
Views3.2K
Zipper — способ представления типа данных, позволяющий проходить по структуре и изменять отдельные элементы, несмотря на функциональную чистоту. Например, если по списку мы можем только пробежаться вперёд, делая что-либо с элементами, то с зиппером мы сможем «находиться» в определённом элементе, перемещаться вперёд-назад и менять текущий элемент.
Интересно то, что зиппер для некоторого типа можно получить буквально взяв его производную.
Читать дальше →

Принцип замещения Лисков и контракты

Reading time7 min
Views6.9K
Идея этой заметки навеяна статьей Александра Бындю “Дополнение к LSP” и может рассматриваться, как развернутый комментарий к статье Александра.

Итак, вопрос следующий, предположим, один из членов команды пытается реализовать интерфейс IListofT в классе DoubleListofT таким образом, чтобы при добавлении элемента с помощью метода Add, добавлялся бы не один, а два одинаковых элемента. Поскольку класс ListofT всегда добавляет только один элемент, то можно считать, что данное поведение нарушает принцип замещения Лисков (LSP – Liskov Substitution Principle).

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

Читать дальше →

Вам не страшно открывать редактор?

Reading time13 min
Views3.2K
В какой-то момент я стал замечать, что пишу более качественный: оптимальный, логичный и читаемый код, но пишу его медленно. По крайней мере, куда медленнее, чем лет 15 назад. Да, на старый код без слёз не взглянешь: всё можно сделать оптимальнее и, по крайней мере, читабельнее. Но код был написан быстро.

Проблема в контроле. Я стал жестче и глубже контролировать код и… стал тратить на этот контроль слишком много ресурсов.

Основной принцип прост. Если контролю подлежит 10-20% случаев, то на контроль надо тратить… 0% ресурсов. Баги и переписывания всё равно будут. Но лучше разделить кодирование и отладку и на время кодирования об ошибках вообще забыть.
Читать дальше →

Введение в теорию взаимодействующих последовательных процессов (Communicating Sequential Processes — CSP)

Reading time6 min
Views18K

Предисловие


Данный текст является переводом и сокращённым пересказом начальных глав книги Чарльза Э. Хоара. Целью является ознакомление русскоязычной аудитории с данной алгеброй исчисления процессов, коя нашла достаточно широкое применение в современной вычислительной науке в связи с большим распространением параллельных систем. Наиболее близкими и понятными практическими применениями CSP, думаю, будут являться следующие языки программирования:

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

Разработка WEB-проекта на Node.JS: Часть 2

Reading time12 min
Views56K
В прошлой статье я начал рассказывать о своём опыте разработки экспериментального WEB-проекта «Что делать?» на Node.JS. Первая часть была обзорной, в ней я постарался раскрыть плюсы и минусы технологии, а также предупредить о проблемах, с которыми, возможно, придётся столкнуться в ходе разработки. В этой статье я подробнее остановлюсь на технических деталях.

Несколько слов о «хабраэффекте»


Читать дальше →

Использование TPL Dataflow для многопоточной компрессии файлов

Reading time4 min
Views22K
На небольшом примере я расскажу как используя библиотеку TPL Dataflow можно решить довольно не тривиальную задачу многопоточной компрессии файлов в течении 15 минут.
Подробности

Wolfram Alpha Pro

Reading time2 min
Views56K


Сегодня официально представлена продвинутая версия научного поисковика Wolfram Alpha Pro. Это самый значительный апдейт за всё время существования поисковой системы. Хотя её и раньше трудно было назвать «поисковой системой», а сейчас это вообще нечто фундаментально иное.

Итак, на что способен Wolfram Alpha Pro за пять долларов в месяц?


Читать дальше →

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity