воскресенье, 30 ноября 2008 г.

3G

Сегодня МТС запускает в эксплуатацию 3Г сеть в славном г.Иркутске. видеозвонки, шустрый тырнет и прочее. Тестовая эксплуатация сегодня завершается по плану. Владельцы 3Г аппаратов смело начинайте юзать!
Эх, а у меня сименс А55, какой нафик 3Гэ мне?)
ПС точные тарифы пока хз, но вот при покупке симки дали такую информацию:
Бесплатный пакет 300МВ/месяц,
Находясь в зоне 3G бесплатные видео-звонки
Бесплатные звонки МТС-абонентам Иркутской обл. при нахождении в зоне 3G

Вне зоны 3G звонки тарифицируются как GSM-звонок - 6 руб./мин.
Вне зоны 3G траффик тарифицируется как GPRS около 8 руб./MB.

Точка доступа (APN) 3G такая же как и для GPRS-интернет:
internet.mts.ru
Забавные выходные, бессонные сутки, в три ночи подъем, в три ночи в постель. Отключился раньше, чем успел закрыть глаза. Смотрел «жестокие игры» второй раз. Но только в этот второй раз я узнал, как называется фильм. День рождения мамы, милая открытка и подарок. Пара по моделированию, на которой я узнал из слово преподавателя, что assembler – это тарабарщина. Маршрутка в пригород, толпа народу, все лезут как во все щели, все, что ниже колен оттоптали мне, обматерили. Мелочи жизни :) Выгуливание зомби, где зомби – я. Треск голосов со всех сторон, бессмысленный звук, жутко раздражающий мой сонный моск. Прочел личное сообщение на форуме, задумался, возможно, стоит взяться за это дело. Надеюсь на поддержку от работников сотовых операторов (и просто мыслящих, понимающих людей it и hi-tech направленности).
Вот таким был день. Вид сверху. Хронология не соблюдена. Расположение событий не по значимости.

понедельник, 24 ноября 2008 г.

Пираты силиконовой долины

Скачал фильмец. Забавненько :) Кто не смотрел - сцылки тут:
http://www.smojem.ru/films/818-piraty_silikonovojj_doliny__pirates_of_silicon_valley.html

ANT разборки

ANT разборки
Ant – это инструмент для работы с проектами, в самом широком смысле. С его помощью можно выполнить компиляцию, отладку и тестирование проекта, создавать новые и удалять существующие файлы и папки, создавать архивы с исходными кодами, и многое другое. Полные возможности смотрите в документации, несколько страниц текста.
Сам по себе, Ant выполняет чтение и анализ специального файла (обычно он называется build.xml), который содержит команды для работы с проектом.

Итак, нужно создать файл build.xml (указать имя нужно полностью только если файл называется не build.xml). Как вы уже догадались, театр начинается с вешалки, а проект… верно, с названия:
<project name="Projaeme" default="build" basedir=".">
name – имя проекта;
basedir – имя папки, относительно которой рассчитываются все пути в проекте (точка означает текущую папку);
default – имя задачи, которая будет выполнена по умолчанию.

Свойства в Ant – это аналог переменных в программировании. Каждое свойство имеет два параметра:
name – имя свойства;
location – значение (в данном случае мы указываем название папки).
Пример свойства:
<property name="app_dir" value="web_lab"/>
<property name="build_dir" value="${app_dir}/WEB-INF/classes"/>
Первой строкой мы объявили «переменную» app_dir, во второй строке мы извлекли ее значение. Конструкция извлечения значения выглядит следующим образом: ${PropertyName}. Соответственно в нашем примере возвращается строка web_lab/WEB-INF/classes.

Свойства у нас есть. Теперь перейдем к задачам. Допустим, нам нужно удалить каталог:
<target name="clean">
<delete dir="${build_dir}/example"/>
</target>
Описание каждой задачи должно находиться внутри тега target. Этот тег имеет несколько параметров, но в данном случае мы используем только один – name, который задаёт имя задачи. Тег delete – создает новую директорию example, которая находится в каталоге, имя которого хранится в свойстве build_dir.

Примером другой задачи – может быть задача компиляции:
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${buildSrc}">
<javac srcdir="${test}" destdir="${buildTest}">
<classpath>
<pathelement path="${ JUnit _path}"></pathelement>
<pathelement path="${buildSrc}"></pathelement>
</classpath>
</javac>
</javac>
</target>
Тег target использует еще один параметр depends, в котором мы указываем имена задач, от которых зависит данная задача. В нашем случае перед компиляцией нужно выполнить инициализацию. Можно писать несколько команд последовательно:
depends="task_1, task_2, task_unknown_task_name"
Тег javac вызывает компилятор офмфс. Его параметры srcdir – директория исходных кодов, и destdir – папка, в которой будут размешены скомпилированные файлы.
Следующий тег javac содержит вложенный тег classpath. В этом теге мы компилируем файлы тестов, которые написаны с помощью JUnit. В первом теге pathelement мы указываем путь до библиотеки JUnit, во втором – указываем какие файлы нам нужно протестировать. Вообще, тег classpath используется, когда нужно указать размещение различных библиотек.
Скомпилированные файлы упаковываем в jar архив:
<target name="dist" depends="compile" description="Create jar-file">
<jar jarfile="${dist}/ProjectName.jar" basedir="${buildSrc}"
manifest="${src}/manifest.mf"/>
</target>
jarfile – имя и размещение jar- файла;
basedir – папка, в которой находится скомпилированная программа;
manifest – размещение и имя манифеста
В манифесте храним параметры, которые будем использовать при запуске программы.
Вот мы создали jar’ик. Теперь нужно его запустить:
<target name="run" depends="dist" description="Run program">
<java jar="${dist}/ProjectName.jar" fork="true"/>
</target>
Запуск программы осуществляет тег java.
jar – указывает на то, что программа запускается из jar архива;
fork="true" – мы запускаем программу на виртуальной машине. Значение true – обязательное требование к загрузке программы из файла.
Далее мы запускаем тесты:
<target name="test" depends="compile">
<junit fork="yes" haltonfailure="yes">
<classpath>
<pathelement location="${buildTest}"/>
<pathelement location="${buildSrc}"/>
</classpath>
<formatter type="plain" usefile="false" />
<test name="tools.utils.Class1_Test"/>
<test name="tools.utils.Class2_Test"/>
</junit>
</target>

haltonfailure – останавливает выполнение, в случае если тест не проходит;
Теги classpath задают размещение скомпилированных тестов и классов, которые они трестируют;
Тег formatter задает параметры отображения результатов тестирования. Параметр type="plain" указывает, что результаты тестирования должны отображаться в виде обычного текста, а параметр usefile="false" обеспечивает вывод результатов на экран, а не в файл.
Тег test запускает на выполнение, что бы вы думали?
А теперь запустим проект:
Пуск-выполнить-сmd и пишем имя задачи ant taskName. Например ant clean.
Если имя задачи не задано, будет выполнена задача по-умолчанию (та, что задана в параметре default тега project).

В принципе, это все, о чем я хотел рассказать.

PS если хотите в чем то разобраться – пишите в блог. Что вам непонятно, что понятно, как вы это делали. Я, например, до написания этого дела считал ANT чем то из разряда редкого китайского диалекта в кодировке KOI-8. Удачи!
PPS за код сильно не бить, так как в данном тексте есть как честно выдернутый из примеров код, так и самопиный.

среда, 5 ноября 2008 г.

Ура

Таки ура, товарищи! свершилось чудо! окрылсо http://ithappens.ru. теперь можно опять неделями ждать две цитатки и прыгать от счастья, когда их увидишь и биться головой об стол, складываясь пополам от смеха...

Практика

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

понедельник, 3 ноября 2008 г.

manuals

зашел тут давеча в книжный, мануал по VS купить
взглд падает на книгу с названием "о чем не пишут в книгах по С++"
открываю
и точно - Делфи

indian code

function ...
var
CE: array of array of array of array of single;
begin
...
SetLength(CE,comEq.i,comEq.j,comEq.k,comEq.m);
...
end;

Сколько в майкрософте платят индусам? Надо попроситься на работу.