воскресенье, 20 мая 2012 г.

О заказах из дальнего зарубежья

Всё на тему конкурса от Texas. Конкурс длится до июля, поэтому ещё почти ничего не делается, но совесть напоминает о себе. Несколько недель назад мне пришла очередная почта. Но на этот раз всё оказалось гораздо сложнее. Я не писал о том, как мне пришли на домашнюю почту датчики температуры из сингапура - с ними всё ок, пришли без проблем. Но потом я заказал ещё одни - другие температурные датчики, уже предоставляемые по программе FREE SAMPLES. Texas изъявил желание слать их службой FeDex - курьер, который из USA доставил посылку за два дня, при этом ведя трекер-лист о местонахождении посылки. Но куда он её доставил!

А доставил он её в Национальный Аэропорт на склад временного хранения РУП Белпочта. Почти три недели у меня находились причины, по которым я никак не мог выкроить достаточно времени, чтобы в рабочее время съездить за 40 км туда и обратно.

Одна из четырех микросхем, ради которых мне пришлось около пяти часов времени.


Путь к успеху таков:
Берем паспорт, едем на Центральный или Московский автовокзал, садимся на автобус 300С,  пребываем спустя час-полтора в аэропорт. Т.к. в аэропорту я первый раз, то пришлось потупить и поспрашивать где же этот СВХ. Мне помогла спаравочная - такая кнопка с динамиком на стене, где добрый женский голос сказал, что мне надо выйти из аэропорта, повернуть направо, пройти 700 метров повернуть направо и тут будет будет КПП-1. Тут мы получаем первый пропуск и можем попасть непосредственно на СВХ. Это режимный объект, поэтому вас проверят на металличность. Далее получаем описание того, что к нам приехало, заполняем декларацию и несём её таможенникам. Тут её подправляют и забивают в компьютер. Мне пришлось заплатить 58к б.р. за почти три недели хранения. Если бы стоимость груза была более 10 евро, то ещё 30% стоимости. Теперь получаем ещё один пропуск и получаем груз.

Моя чудо-коробочка
Впредь буду стараться обходить подобные курьерские службы, если это не будет необходимо.

суббота, 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