суббота, 19 мая 2012 г.

iParty. Как это было?

Я активно выздоравливал, но мне всё ещё было дико лень ехать на это мероприятие. Я рад, что поехал! Так уж вышло, что по человеческим клубам я не шарюсь, и с клубами не знаком (Алькатрас с его сальсатеками не в счет, ибо специфическое мероприятие не похожее на клубные). Был в НЛО только однажды, когда с ребятами решили сходить на пробное занятие по Хастлу.

И вот мы на вечеринке! Первым делом нас встретили охранники, но потом всё пошло гораздо приятнее ;)

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


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

Фотки можно посмотреть тут и тут. Да, если кто не в теме, то на верхней фотке не я, а то ещё кто-нибудь подумает, что я и есть директор ;)

среда, 2 мая 2012 г.

Сальса из Одессы

На этих выходных в Минске была жара. И не только из-за погоды - в город приезжала Марта Ханна. И конечно же не с пустыми руками - с семинарами и Костей Морозковым.

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


Ребята, конечно, потрясающе двигаются. Марта так и вообще - бедрами поведет и парни прилипают взглядом))

Завершились выходные ночной вечеринкой в Даньков-клубе, куда я не поехал. А там уже собрались и представители школы Юлии Шостак и их специально приглашенный гость из Польши (тоже с семинарами). Так что там было звездно.

вторник, 1 мая 2012 г.

iTransition opener

Поучаствовали с чуваком в opener.itransition.com. Такое а-ля соревнование. Требуется решить 20 дурацких задач, в большинстве своем ориентированных на догадки - в этом их фишка, в этом и загвоздка. Конечно после решения некоторых получаешь огромное удовольствие. Первая троица решивших получают iPad'ы, а остальные идут лесом на iParty. За приглашениями уже съездили.


Это обратная сторона приглашения. Лицевая сторона вот http://iparty2012.com/
В принципе, если совесть позволяет и есть желание и смелость, то приглашения можно и нахаляву получить. В компании говорят, о том, что надо брать с собой паспорт, но никто его не требовал, и идентификация проходила по e-mail'у в их списке - мы буквально ткнули пальцем в свои адреса. 

Из описания вконтакте вытекает, что iParty это такая нерд-тусовка с приглашенными девушками, чтобы не так скучно было пить халявное пиво под адекватную музыку (обещается удобоваримая нердами музыка - т.к. технарей попсофилов, как среди нердов, так и среди сотрудников быть не должно). О девушках. Обещают разврат в виде strip и go-go шоу и девушек моделей-студенток. Вообщем-то когда компания так активно использует слово "разврат", начинает казаться, что приглашают на оргию какую-то. В любом случае хочу сходить и надеюсь вынести оттуда что-то более ценное, чем блокнотик и ручка ;) ну и положительные эмоции конечно - остается надеяться, что будет не слишком пафосно и напряжно.

суббота, 21 апреля 2012 г.

Gersis-softwer contest

Решили поучаствовать с ребятами в конкурсе от Gersis-Softwer. Пару недель назад их директор приезжал на наш факультет, чтобы нас посмотреть и себя показать. Компания время от времени проводит конкурс для студентов.


Задумка такая. Собираются команды (по 1-3 человека) в их офисе - до 30 человек. Команды получают на выбор проекты и работают в течение над ними 8-ми часов. Так уж получилось, что команд сегодня собралось мало и компания решила не тратить слишком своё время и деньги (на обеденную пиццу для всех ;) ), а решило провести конкурс удаленно.

Вообщем, мы уже все проснулись и уже прошло почти пол часа, но пока никаких заданий - надо звонить или писать!

вторник, 3 апреля 2012 г.

Почта

Получать реальную почту через реальный почтовый ящик в разы приятнее электронной почты - это ни для кого не секрет.

Сегодня обнаружил совершенно неожиданно для себя картонный конверт размером чуть побольше A4. И конечно, обрадовался, когда увидел в качестве адресата себя, а отправителя Texas Instruments.


Переводить думаю не требуется :-D Совершенно забыл, что как-то увидел на сайте TI возможность заказать бесплатную книгу - как же пройти мимо халявы ;)

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

вторник, 20 марта 2012 г.

Динамическое и статическое подключение DLL

Постараюсь кратко рассказать про подключение библиотек DLL. Но сначала ещё немного поработаем с элементами интерфейса. О том как создать простое диалоговое приложение с помощью MFC я уже писал.

Первым делом приложение должно позволять вводить какое-то число, и нам также необходимо по нажатию кнопки как-то выцепить это число из edit box'а. Делается это так.

Нажимаем на заготовке (каркасе) приложения правой кнопкой мыши на нужный элемент и добавляем новую переменную.


Нам необходимо две переменные. Одна будет предоставлять методы для Edit Box - такие как получение значения из этого поля. 


Вторая переменная просто будет хранить значения типа INT, полученные из Edit Box. Эту переменную можно было и вручную написать в .h файле, отвечающим за интерфейс, но мы её добавим по-ленивому.

   

Максимальное и минимальное значения нам, в принципе, тут не нужны, но если бы мы использовали метод UpdateData, то можно было таким образом ограничить вводимые данные.

Теперь опять выбираем вкладку с каркасом приложения, клацаем два раза на первую кнопку и среда сразу открывает нам метод по обработке нажатия клавиш. Теперь запилим туда вот такой код:

void CMFC22Dlg::OnBnClickedButton1()

{
// TODO: Add your control notification handler code here
CString s;
m_CEdit1.GetWindowTextA(s);
m_INTedit1 = atoi(s);
AfxMessageBox(s);
}

Результат посмотрите сами.

Наконец о подключении библиотек!

Статическое подключение. Используется понятие "раннее связывание". Это значит, что DLL "прикрепляется" на этапе компиляции - compile-time. Это самый простой способ подключения, но для него необходимы следующие файлы: сама .DLL, хидер с описанием функций .h, и библиотечный файл .lib - все они создаются при компиляции библиотеки и закидываются в проект, требующий подключения библиотек.

Для подключения требуется вписать вот такой код:
// статическое подключение DLL

#include "myStatLib.h"
#pragma comment(lib, "myStatLib.lib")

Теперь можно напрямую вызвать необходимые функции из dll.

Динамическое подключение. Использует "позднее связывание" или run-time. Подгрузка библиотеки происходит только при вызове функции. Разумеется придется самим контролировать процесс выгрузки библиотеки. Следующий код прописан в .h файле - тут определяется сначала тип указатель на функцию, а потом переменная callFDLL, являющаяся указателем на функцию. hlib - какая-то winapi структура, которая будет содержать описание подсоединенной DLL'ки. Готовую dll необходимо скопировать в проект.
protected:// типы для динамической загрузки DLL

typedef void (WINAPI *MYPROC)();
MYPROC callFDLL;
HMODULE hlib;

В обработчик второй кнопки должны добавить следующее:
void CMFC1Dlg::OnBnClickedButton2()

{
CString s;
EditControl2.GetWindowTextA(s);
m_edit2Value = atoi(s);

hlib = LoadLibrary("dllG.dll");
callFDLL = (MYPROC) GetProcAddress(hlib,"CLDyn");

FreeLibrary(hlib);
}

CLDyn - имя функции, которую мы вызываем из dll.

Создать DLL. Не буду описывать опять процесс создания проекта в MSVS - там методом научного тыка всё можно создать. Но код простейшей dll стоит выложить.

Файл dllG.h
extern __declspec(dllexport) void CLDyn(const int NN);

Файл dllG.cpp
#include <windows.h>


extern __declspec(dllexport) void CLDyn()
{
MessageBoxA(GetActiveWindow(),(LPCSTR)("Hello from Dynamic Loaded Library!"),(LPCSTR)("Hi"),MB_OK | MB_APPLMODAL);
}

Файл dllG.def - для динамического подключения этот файл необходим, т.к. позволяет определить нормальные названия функций.
LIBRARY "dllG"

EXPORTS
CLDyn @1



среда, 14 марта 2012 г.

На перспективу

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


Так вот, наша Беларусь, как и большинство других стран, проводит обязательную сертификацию средств защиты информации. И если у продукта такого сертификата нет, то и использоваться в серьезных местах он не может. Так например, Windows XP и Windows 7 сертификации не имеют и потому на предприятиях с ценной информацией использоваться не могут, хотя защита у этих систем имеет класс C2 (ц2 очень серьёзный класс). Однако никто не гарантируют, что товарищ Билл не сделал там никаких закладок (а такие слухи действительно есть). Такая же тема с некоторыми криптографическими преобразованиями.

Есть у нас такое заумное НИИ ТЗИ, которое занимается разработкой средств для использования в нашей стране. Я сначала удивился - неужели свою систему будут писать вместо использования "Окон"? Ну не то чтобы писать... Ребята берут исходники ядра линукса, настраивают на нем своё ядро безопасности - и готова система абсолютно защищенная.

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

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