пятница, 3 февраля 2012 г.

«Протокол Цикла»

или взгляд на проблему обработки информации


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

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

пятница, 19 августа 2011 г.

Корпорация добра

Как известно, Google борется за организацию информации: http://goo.gl/ekOk6. Прямо первой строкой, миссия компании.
Чуть ниже, в "10 принципах", правда, упоминается и второй (неофициальный, и "неофициально первый") девиз Google: "Don't be evil". Кстати, рекомендую сравнить:
Шестой пункт из "10 принципов"
Разница вполне заметна.

А теперь - ближе к делу. Конкретно о поиске информации, социльных сетях и доброте душевной.

пятница, 8 апреля 2011 г.

Мечтают ли андроиды об электрических овцах?...

Собственно говоря, возник вопрос: а для кого мы создаем программное обеспечение?
Естественно, речь идет не о casual ПО, класса текстовых процессоров и компьютерных игр. Я хотел бы рассмотреть целевую аудиторию специализированных программ. Например, из близкой мне области, можно взять широко известные Nmap и Nessus.

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

среда, 30 марта 2011 г.

Остановите конвейер! Я сойду!


Хотя, скорее всего, более точной цитатой для выражения мыслей данной заметки будет "Дайте мне другую лошадь, эта заканчивается".

Суть в том, что меня не устраивает современная парадигма программирования. В корне. Практически, без учета конкретных языков и технологий. С++, MFC, ATL, C#, WxWidgets, QT - все это и многое другое за скобками. Программирование решения бизнес-задач не удовлетворяет критериям стоимости. Оно слишком дорого. Время, ресурсы, в конечном счете – деньги… Решение задачи  слишком дорого. От формулирования идеи и формирования архитектуры решения до конкретного воплощения проходит слишком много времени.
Сколько стоит написать "Hello, World" на стандартном "промышленном" языке? Минуты 3, если поторопиться. И это без учета загрузки тяжелых и объемных сред разработки. Неоправданные потери времени.

пятница, 3 сентября 2010 г.

General Purpose AI

Как-то в моем кругу общения сложилось шутливое правило:
"Упоминания General Purpose AI в приличном обществе считаются неприличными."
Попробую объяснить, откуда взялась это шутка, и почему упоминания о AI и, в частности, о Нейронных Сетях меня вгоняют в тоску или хихиканье (в зависимости от изначального настроения).

По большому счету, все уже описано до нас (как обычно). Готов подписаться под каждой буквой замечательной статьи Александра Вежневеца "Нейронные Сети. Мифы и реальность". Как минимум, под теми буквами, которые описывают эволюцию отношения к магическому термину "Нейронная Сеть" (произносится с благоговейным придыханием). Про альтернативы судить не берусь – не настолько хорошо подкован в теории. Да-да, я довольно прилично прогуливал математические курсы, которые читались нам в университете.

И все же, вставлю свои пять копеек в эту не новую тему.

четверг, 26 августа 2010 г.

Почти как настоящий...

Думал я тут о разработке кросс-платформенных приложений.
Хотя, "думал" - громкое слово. Нужно сделать так, чтоб приложение работало на *NIX и Windows. Нужно - значит будет!
static_cast<Linix>(Windows)
и даже
static_cast<FreeBSD>(Windows)

Да и, собственно говоря, проблем особых нет. Те утилитки, которые я "программирую" - вещи специфические, и на 99% - консольные приложения. Но в пресловутом "мире современных информационных технологий" консольное приложение - и не приложение вовсе. Так, робот, тулза для гиков. В общем - сугубо для частного использования в узком кругу задач. А чуть в паблик выходишь - так уже без GUI  и никуда.

И что же нам предлагает "современный мир" в качестве решения задачи кросплатформенного GUI? Да не так и много...

вторник, 24 августа 2010 г.

Hello, World!

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

Hello, World!

Ну а вообще-то сразу вспоминается старая добрая шутка про написание "Hello world" специалистами различной квалификации. Посмотреть можно, например, тут: Hello World! - GNU Project

Эх... Давно пройденный этап:
#!/usr/local/bin/perl $msg="Hello, world.\n"; if ($#ARGV >= 0) { while(defined($arg=shift(@ARGV))) { $outfilename = $arg; open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n"; print (FILE $msg); close(FILE) || die "Can't close $arg: $!\n"; } } else { print ($msg); } 1;
Сейчас уже, скорее, так:
#include <stdio.h>
#include <string.h>
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}

И, даже, все чаще так:
% cc -o a.out ~/src/misc/hw/hw.c
% a.out
 Hello, world.

Так что, вступаем и компилируем вместе! ;)