Search
Write a publication
Pull to refresh
1
0
bashor @bashor

User

Send message

Quake Live BETA

Reading time1 min
Views731
Помню давно тут на хабре выкладывали линк на регистрацию в бета-тестировании Quake Live.
Я уже совсем про него и забыл, но вот сегодня прислали приглашение с ключом.

Впереди была довольно нудная регистрация. Вначале как тестера, а потом уже зарегистрировал себе игровой аккаунт.
После двух регистраций с подтверждением e-mail'а на каждой, нужно скачать программу. Устанавливаем, перегружаем браузер и мы можем играть.

Погонял сейчас практис с Crash из третьего Quake. Довольно резво и с красивой графикой.

Коротко о том, что увидел, в детали не вдавался.

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

Доступна для загрузки бесплатная книга о PowerShell на русском

Reading time2 min
Views56K
Не могу не поделиться радостной новостью, о которой в своем блоге рассказал мой коллега Андрей Бешков. К сожалению, он не ведет блога на хабре, поэтому позволю себе рассказать за него о данном событии:) Думаю аудитории хабра будет очень интересно и полезно услышать об этом.

Некоторые главы книги:

— Первое впечатление о Windows PowerShell
— Расширенные возможности вывода: конвейеры
— Вводные упражнения с объектами Windows PowerShell
— Работа с процессами
— Вывод в файлы формата TXT, CSV или XML

Загрузить книгу можно здесь

Полное оглавление под катом:
Читать дальше →

Установка и начала использования библиотеки MPI

Reading time4 min
Views28K
Иногда необходимо запустить приложение на нескольких машинах (или процессорах), чтобы улучшить производительность (т.е. уменьшить время выполнения). Можно создать компьютерную сеть для последующего запуска приложения распределённо по всем узлам. При разработке такого приложения необходимо организовать обмен сообщениями. Я знаю две реализации:
  • использование сокетов и работа с OS API напрямую,
  • использование MPI.
Первый вариант обладает большими возможностями, но библиотека MPI существенно проще и, в действительности, шире применяется в параллельных вычислениях. MPI представляет собой стандарт некоторого набора функций для обмена сообщениями между процессами одного приложения. Существует бесплатная реализация данной библиотеки MPICH2, которая будет использоваться в данной статье. Вы модете найти большое количество мануалов и руководств по функциям библиотеки. Сейчас я остановлюсь только на установке и проверке работоспособности.
Читать дальше →

Хаце Масе за 5 мин

Reading time2 min
Views628
Есть программисты?
Вы ведь не раз читали описания к новому для себя языку программирования. Никогда не раздражало каждый раз углубляться в бесчисленные вступления и в угрюмую философию? Возмите любую книжку по C++, perl, java — там целые романы пишутся «прежде чем приступать к программированию на java вы должны уяснить для себя…», «перед изучением C++ необходимо изучить историю семейства C…», «Perl — это вам не хухры мухры! Perl это офигеть! Огого какой perl!…». Когда на самом деле, все языки программирования похожи как братья, и для изучения нового требуется не более чем:

а) перечисление особенностей
б) характерный пример кода
в) список всех функций и операторов (этот пункт в интернете в избытке)

Попробую на примере…

Бейсик Вильнюс-86

(модификация языка basic для советских компьютеров БК-10/11
наверное, единственный язык программирования, который я знаю)
  • Каждой строке программного кода дается номер. При работе программы, строки запускаются поочередно в порядке возрастания номеров. По умолчанию принято делать шаг десять.
  • Нарушают последовательность номеров операторы GOTO 30 и GOSUB 30.
    Первый просто перескакивает на указанный номер 30, второй возвращается обратно, после первого же встреченного оператора RETURN
  • Имена переменных состоят из двух символов. значок после имени определяет тип переменной:
    X% — целое число
    X1! — дробное число с несколькими цифрами после запятой
    XY — (без значка) дробное число с кучей цифр после запятой, ест память
    XY¤ — (значок-солнышко) строка не более 255 символов
    Строчные и прописные буквы не различаются. Переменной можно присваивать любое значение, и при этом происходит автоматический перевод
  • Операторы сравнения: =, <>, >, <, >=, <=
  • Характерный листинг:

    10 ? "HELLO WORD"
    20 A% = 5
    30 B¤ = "hey"
    60 IF A%=5 THEN C%=3 ELSE PRINT "что-то не так"
    70 FOR T%=1 TO C%
    80 ? "T="; T%; "(в радианах)"
    81 ? "sin"; T%; "="; SIN(T%)
    90 NEXT T%


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

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

Можете ли вы вкратце рассказать о своем языке?

Unit тесты и наследование

Reading time2 min
Views2.8K
При разработке unit тестов в Visual Studio часто хочется создать какой-то базовый клас для тестирования базовой лоники. Например у нас есть такой класс: [TestClass]
public virtual class PersonTestBase
{

[TestMethod]
public void GetNameTest()
{
//...
}
}
и его класс наследник: [TestClass]
public class CustomerTest: PersonTestBase
{
[TestMethod]
public override void GetNameTest()
{
base.GetNameTest();
}
}

Плюсы такого подхода:
  • полная поддержка визуальных средств Visual Studio (Test List Editor);
  • простота реализации.
Минусы:
  • избыточность кода;
  • создание наследника является по сути copy&paste.
Сразу необходимо заметить, что PersonTestBase и CustomerTest должны находится в одной сборке, иначе тесты в PersonTestBase работать не будут — это ограничение unit тестов. Подробнее смотрите в msdn. Кроме описанных в msdn способов можно поступить так: создаётся два проекта: BaseTests и CustomTests;в проект CustomTests добавляются необходимые файлы из BaseTests таким образом: Project -> Add Existing Item -> Выбираем необходимые файлы -> Add As Link.Таким образом физически файлы находятся в разных проектах, но при компиляции необходимые классы оказываются в одной сборке. Теперь пришло время изменить наш CustomerTest. [TestClass]
public class CustomerTest: PersonTestBase
{
[TestMethod]
public override void CustomerTestMethod()
{
//...
}
}

Мы добавили новый, специфический для Customer, метод и удалили переопределения метода из базового класса, т.к. его функциональность нас полность устраивает. Что мы из этого получили:
  • фактически, в классе у реализоано 2 тестовы метода: один перешел из базового класса и один мы реализовали сами.
  • Visual Studio Test List Editor говорит что у нас только один тетовый медов — метода из бащового класс не отображается и, соответственно, не запускается.
Обидно, но не смертельно. На помощь нам приходит штатная утилита MSTest, которая решает все, или почти все, наши проблемы.Плюсы такого метода:
  • мы избавились от минусов предыдущего метода;
Минусы:
  • нету интеграции с Visual Studio.

Палитры цветов у 33 сайтов

Reading time1 min
Views5.5K
Совсем недавно в этом опросе, я спросил у хабралюдей: «сколько по вашему мнению цветов в палитре Хабра?». Как оказалось, подавляющее большинство ошиблось, что не мудрено, так как, на самом деле, сложно оценить или прикинуть в уме более 35 цветов. К тому же некоторые из них, в основном оттенки серого, похожи, и на самой странице, часто, неотличимы друг от друга.

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

Сенсоры для мониторинга контента на Веб-сервере

Reading time2 min
Views607
Размышляя над «удешевлением» мониторинга за обновлениями нужных веб-страниц сформулировал концепцию «сенсоров». Ранее упоминаний не встречал, поэтому публикую здесь и сейчас.

Суть концепции кроется в специальной доработке программного обеспечения Web-сервера, т.е. в создании и подключении некоего программного модуля, который будет «следить» за поступающими HTTP-запросами и «слушать» ответы сервера. Каждому запросу (на основе информации http-заголовков может быть составлен уникальный идентификатор запрашиваемого ресурса) должен сопоставляться ответ (может быть обработан по алгоритму md5 или аналогичному) сервера. На следующем шаге эта пара ищется в уже накопленной Web-сервером базе мета-описаний ресурсов. При обнаружении изменений предлагается сразу (или по мере разгрузки Web-сервера) послать основному публичному серверу некое мета-описание найденных изменений (например, используя GET запрос, в котором в качестве параметров будет закодирована мета-информация). Собственно поэтому (очевидна аналогия с применяемыми в технической практике различными сенсорами) я и решил назвать модуль «сенсором». А далее, уже с публичного сервера, информация об обновлении страницы или любого другого контент-ресурса может быть получена любым «потребителем» по запросу или иным способом. Думаю идея ясна.

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

ЗЫ: Мой имитационный эксперимент показал большую эффективность (читай оптимальность по параметрам «свежесть» и «экономия трафика») системы мониторинга на основе сенсоров нежели классической системы мониторинга (например, роботы поисковых систем).

Оформление ссылок цветом и иконками из favicon

Reading time2 min
Views1.3K
Недавно наткнулся на интересную JS библиотечку для оформления ссылок в тексте. Идея, возможно, не нова… но в целом такая схема мне кажется интересной и удобной для пользователя.

Пример

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

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

Сертификат PMI(PMBOK) или IPMA для управленцев ИТ проектов. Нужен ли?

Reading time2 min
Views22K
Что такое PMI&IPMI&PMBOK?

PMI (Project Management Institute) – институт по управлению проектами, разработавший систему комплексного подхода к проектированию и организации процессов для успешной реализации проектов. Он предлагает универсальную схему построения работ при начальном планировании, предлагая, возможно даже, исчерпывающую схему этапности, учит правильно строить организационную структуру проекта и контролировать ход его выполнения.

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

Увлекательная гифтология

Reading time2 min
Views833
Да, немного мне поведал поисковик о слове «гифтология». Можно сказать, что и вовсе ничего. Однако, она существует. В сети.

giftologia.com – ресурс, который поможет Вам…как бы, поточнее сформулировать – придумать, какой дарить подарок на праздник. Вот! Скептически всегда смотрел на ту часть населения, которая испытывала затруднения в данном вопросе, но стал со временем замечать подобную симптоматику и у себя ( заедать что-то стало или старею – неважно ).

image

Как видите – всё просто. Нажимаем и…
Читать дальше →

Бекапим сервер

Reading time2 min
Views1.7K
Нередкая это задача, но делается довольно просто!

Приступим:

1) бэкап мускула

Для этого есть очень хорошая утилитка “mysqldump”, она входит в состав мускула. (если вы юзаете lampp то она лежит в “/opt/lampp/bin/mysqldump”)

Вобщем набиваем в консоли примерно следующее:
mysqldump –all-databases > /mysql.12.12.2008.dump


эта команда забекапит все базы данных в файл “mysql.12.12.2008.dump” в корне! на самом деле пишем любой удобный путь! Если вы не рут то нужно указать логин/пароль с помощю –user логин –password пароль

Приготовьтесь, это может занять серьёзное количество времени если бд приличного размера.

Фишка может не работать, если в какой-нибудь из бд есть ошибки…

Кстати говоря можно подойти к проблеме немного подругому и не бекапить все базы, а каждую отдельно, плюс если в какойто из них есть ошибки то мы узнаем в какой, делается так:
Читать дальше →

Современные медиа-носители — что выбрать для большого файлового архива

Reading time1 min
Views2.8K
Все началось с того, что я задался вопросом — на чем выгоднее хранить коллекцию из тысячи фильмов. Поиск ответа привел к масштабному сравнению, и в результате получилась очень наглядная картина — относительная стоимость хранения для всех существующих сегодня типов носителей.

Я сделал так: взял недорогой и проверенный магазин (так мною любимый Ф-Центр) и выписал позиции для всех доступных видов носителей. То, что в их ассортименте отсутствовало, я добавил из других известных интернет-магазинов с тем же уровнем цен. Затем построил график удельной стоимости, в пересчете на 1 мегабайт. Чтобы не быть голословным, после графика приведена таблица с реальными позициями из прайса, а также некоторые выводы. Вот, что получилось:
Читать дальше →

Как то, с полгода назад, возникла идея программы.

Reading time2 min
Views468
Смесь бульдога с носорогом — PuntoSwitcher+T9. Суть в том, что как то пришлось набирать много текста, именно текста, документов, и стало нехватать автодописывания (или как его правильно назвать?) слов или даже фраз. Примером могут быть редакторы для программирования, они код дополняют.

Выглядеть это может так:
Читать дальше →

Концепт WebOS

Reading time3 min
Views749
Просьба не рассматривать данный пост как рекламу, ибо BeOrganized! — мое некоммерческое хобби.

Навеяно:


Серией постов в данном блоге о браузерных ос
Комментариями: вот этим, вот этим
BeOrganized! — туда можете и не заходить, вот тут есть немного инфы: вот тут

Читая комменты, ловил себя на мысли: «Я тоже хочу весь контент на одном месте», «Мне тоже не нужен оконный интерфейс в браузере», «Я тоже хочу подключаться к своему рабочему месту с любого устройства»

На самом деле я пытаюсь реализовать что-то подобное, и то, что получается — мне нравится. Но можно и круче. За час размышлений родилась вот такая идея:
Читать дальше →

Мысли вслух: распознание текста.

Reading time6 min
Views6.9K
1. Первый момент по поводу распознания рукописного текста с помощью нейронных сетей.

«Летом 1987 я получил опыт, который еще больше охладил мой и так невысокий энтузиазм относительно нейронных сетей. Я пришел на конференцию по нейронным сетям, где я увидел презентацию, устроенную компанией, называемой Nestor. Nestor пыталась продать приложение на нейронной сети для распознавания рукописных символов на подложке. Она предлагала лицензию на программу за один миллион долларов. Это привлекло мое внимание. Хотя Nestor провела улучшение алгоритма ее нейронной сети и рекламировала ее как еще один большой прорыв, я чувствовал, что проблема распознавания рукописных символов могла бы быть решена более простым, более традиционным путем. Я пришел домой той ночью, размышляя о проблеме, и за два дня разработал распознаватель рукописных символов который был быстрым, маленьким и гибким. Мое решение не использовало нейронную сеть и оно работало совершенно не так, как мозг. Хотя эта конференция разожгла мой интерес в разработке компьютеров со стилусом (в конечном счете приведший к проекту PalmPilot десять лет спустя), это также убедило меня, что нейронные сети были не таким уж большим улучшением по сравнению с традиционными методами. Распознаватель рукописных символов, который я создал, пригодился в конечном счете для системы текстового ввода, названной Graffiti, использованной в первых сериях продукции Palm. Я думаю, компания Nestor ушла из бизнеса». Джеф Хокинс, «Об интеллекте»

В своей книге Джеф предлагает теорию искусственного интеллекта, предполагающую его в виде нейронной сети, повторяющую структурой неокортекс, кору головного мозга. В своей теории он объясняет интеллектуальность моделью «память-предсказание» и инвариантным представлением данных:
Читать дальше →

Лекция Марии Черницкой «Контекстная реклама – все не так просто»

Reading time1 min
Views532
Во вторник, 16 декабря в Москве состоится лекция Марии Черницкой «Контекстная реклама – все не так просто. Особенности ведения контекстных рекламных кампаний», организованная факультетом бизнес-информатики ГУ-ВШЭ. Мария Черницкая — Генеральный директор агенства контекстной рекламы «ICONTEXT».

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

Внешним слушателям необходимо зарегистрироваться до 14:00 16 декабря, прислав заявку с указанием ФИО, организации, контактов на e-mail: jtaratuhina@hse.ru (контактное лицо: Таратухина Юлия Валериевна) или позвонив по телефону (495) 771 -32-38 (контактное лицо: Хрусталева Ирина Ивановна).

Вторник, 16 декабря, начало в 18:10.
Адрес: Москва, ул. Кирпичная, 33/5, ауд. 902.

ИИ — Сделай сам

Reading time8 min
Views28K
Очень приятно, что тема искусственного интеллекта не заглохла, а продолжает развиваться. Здесь уже набралось множество статей с прекрасными идеями и интересными комментариями. Глядя на все это многообразие, захотелось вернуться к начатой полгода назад серии публикаций и поделиться некоторыми возникшими с тех пор мыслями и рассуждениями. Все это я попытался скомпоновать в одну большую статью, которая описывает все аспекты того, как будет работать конечный продукт, и содержит соображения по его реализации.
Читать дальше →

Календарь праздников «hardware»

Reading time1 min
Views883
Изучая историю компьютеров и оборудования, тесно связанного с вычислительной техникой, я обнаружил, что в 2008 году мы должны были отпраздновать еще один замечательный юбилей:
20 лет TouchPad в далёком 1988 году George E. Gerpheide создал первый полностью функциональный тачпад, тогда он его назвал «Cat» (источник)

Как вы уже знаете: 9 декабря мы отпраздновали 40 лет Мыши.
В связи с этими событиями я предлагаю Хабравчанам, поискать другие замечательные даты, например: «День Видеокарты», «День TFT монитора», «День харда» и т.д.., как мне кажется получится весьма занятный календарик.

UPD Первый жесткий диск был представлен 13 сентября 1956 года (источник)
Первый 3D-accelerator (Voodoo 3Dfx) был представлен 6 ноября 1995.

О простоте

Reading time2 min
Views516
Хочу поговорить с вами о простоте в дизайне. Конкретнее: о простоте в дизайне сайтов. У меня достаточно радикальная позиция по этому вопросу, поэтому надеюсь на интересное обсуждение и дебаты в комментариях.

В целом сайты можно разелить на два типа: презентационные и функциональные. Моя заметка о функциональных сайтах.

Начнем с конкретного примера

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity