23 Aug 2010 Автор: daemoon  |  Отзывов нет »

Человеческй потенциал, или как жить играя?!

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

Однако с течением жизненных обстоятельств и иных причин часто людям приходиться учиться и работать там, где позволяет ему его жизненное положение. Многие смиряються с данным фактом и принимают полученные таким образом знания как факт. Другие люди работают, но их это гложит, не нравится работа (человек может знать об этом, либо это происходит на подсознательно уровне), это сказывается на семье и характере вообщем. Такие люди начинают выпивать, чтобы отойти от мыслей или чтобы просто было легче жить.

Нелюбимая работ

Так уж устроено наше нынешнее общество.  В каждой стране, так или иначе, это можно увидеть.

Почему же так происходит?!. Важным обстоятельством этого феномена является неспособность выявить склонности человека, определить его потенциал. Этим, конечно же, пытается заниматься система образования на начальном этапе, но не многие способны с ранних лет понять чего они хотят действительно, а некоторые и после окончания средних или высших учебных заведений  этого не знают.

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

Во-вторых, по мере развития человек познает новое. С каждыми полученными знаниями меняет свое мировозрение. И на начальном этапе выявить  будущее ребенка не реально, а зачастую и вредно.

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

Потенциал – совокупность возможностей, которые при определенных условиях становятся реально действующими факторами.  Именно эта характеристика человека направляет его в русло для успешной работы, которая нравиться и просто не хочеться прекращать этим заниматься. Иначе это называют творческим подходом к делу. Но для этого надо найти потенциал у человека. А он есть у всех! Даже для бомжа, которому ничего не хочеться делать и лишь бы выпить найти, даже для него найдется работа по душе. Главное найти…

Итак, поставим цель, найти потенциал человека. И попробуем найти с помощью технологий XXI века. Многие играют в онлайн игры, сидят в социальных сетях, общаются по телефону, интернету, в живую, работают, если даже и не на интересной для них работе, ходят, знакомятся. Одним словом сотни, тысячи людей соприкасаются друг с другом, так или иначе. Так почему же не воспользоваться этим. Что если разработать систему, в который каждый человек мог давать характеристики (влиять на них) другим людям. Знаете, как в играх есть характеристики героев их способностей. Почему бы это не применить в жизнь. Но не в социальных сетях! Интернет, немного иное окружение, оно тоже может влиять, но с другими параметрами. Для этого необходимо найти алгоритмы составить схему всего этого процесса.

Характеристики персонажа 

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

При приеме на работу смотрим характеристики человека и видим, нужен он нам или нет.  Фирма сразу находит тех, кто ей нужен, и человек сразу видит, что работа не для него.

Конечно, в данной статье все размыто. Целью было показать  направление, откуда и куда нужно двигаться. С одной стороны жизнь-игра. С другой – боремься с пьянством, улучшаем жизнь общества. Точнее само общество! улучшает себя играя.

17 Aug 2010 Автор: admin  |  Отзывов нет »

C++ Клиент и сервер с использованием WinApi socket

Давно хотел научиться работать с сокетами в windows, но все как то не мог начать. Недавно наткнулся на неплохую статью в интернете, где были примеры клиентского и серверного приложений. Поискал еще немного информации, обобщил и у я наконец смог запустить мой первый клиент и сервер. Вот о них я и буду говорить. Я не использовал ничего лишнего, только то что предлагает WinAPI.
И так для того, что бы написать любое приложение которое работает с соектами в Windows необходимо включить в ваш проект файл winsock2.h и библиотеку WS2_32.lib В Microsoft Visual C++ Express edition это можно сделать так Проект -> Свойства проекта -> Свойства конфигурации -> Компоновщик -> Ввод и в поле Дополнительные зависимости нужно вписать имя библиотеки.

И так, код сервера:

#include <winsock2.h>
#include <stdio.h>
 
int main(void)
{
    WORD sockVer;
    WSADATA wsaData;
    int retVal;
 
    sockVer = MAKEWORD(2,2);
 
    WSAStartup(sockVer, &wsaData);
 
    //Создаем сокет
    SOCKET servSock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
 
    if(servSock == INVALID_SOCKET)
    {
        printf("Unable to create socket\n");
        WSACleanup();
        return SOCKET_ERROR;
    }
	SOCKADDR_IN sin;
    sin.sin_family = PF_INET;
    sin.sin_port = htons(1111);
    sin.sin_addr.s_addr = INADDR_ANY;
 
    retVal = bind(servSock, (LPSOCKADDR)&sin, sizeof(sin));
    if(retVal == SOCKET_ERROR)
    {
        printf("Unable to bind\n");
        WSACleanup();
        return SOCKET_ERROR;
    }
 
    //Пытаемся начать слушать сокет
    retVal = listen(servSock, 10);
    if(retVal == SOCKET_ERROR)
    {
        printf("Unable to listen\n");
        WSACleanup();
        return SOCKET_ERROR;
    }
    Ждем клиента
    SOCKET clientSock;
 
    clientSock = accept(servSock, NULL, NULL);
 
    if(clientSock == INVALID_SOCKET)
    {
        printf("Unable to accept\n");
        WSACleanup();
        return SOCKET_ERROR;
    }
 
    char szReq[8]; 
    retVal = recv(clientSock, szReq, 8, 0);
 
    if(retVal == SOCKET_ERROR)
    {
        printf("Unable to recv\n");
        return SOCKET_ERROR;
    }
 
    printf("Got the request from client\n%s\n",szReq);
 
    char *szResp = "Response";
 
    printf("Sending response from server\n");
    retVal = send(clientSock, szResp, strlen(szResp), 0);
 
    if(retVal == SOCKET_ERROR)
    {
        printf("Unable to send\n");
        return SOCKET_ERROR;
    }
 
    //Закрываем сокет
    closesocket(clientSock);
    closesocket(servSock);
 
    WSACleanup();
    return 0;
}

Код клиента:

#include <stdio.h>
#include <winsock2.h>
 
int main()
{
    WORD ver = MAKEWORD(2,2);
    WSADATA wsaData;
    int retVal=0;
 
    WSAStartup(ver,(LPWSADATA)&wsaData);
 
    LPHOSTENT hostEnt;
 
    hostEnt = gethostbyname("localhost");
 
    if(!hostEnt)
    {
        printf("Unable to collect gethostbyname\n");
        WSACleanup();
        return 1;
    }
 
    //Создаем сокет
    SOCKET clientSock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
 
    if(clientSock == SOCKET_ERROR)
    {
        printf("Unable to create socket\n");
        WSACleanup();
        return 1;
    }
 
    SOCKADDR_IN serverInfo;
 
    serverInfo.sin_family = PF_INET;
    serverInfo.sin_addr = *((LPIN_ADDR)*hostEnt->h_addr_list);
    serverInfo.sin_port = htons(1111);
 
    retVal=connect(clientSock,(LPSOCKADDR)&serverInfo, sizeof(serverInfo));
    if(retVal==SOCKET_ERROR)
    {
        printf("Unable to connect\n");
        WSACleanup();
        return 1;
    }
 
    printf("Connection made sucessfully\n");
 
    char *pBuf = "Request";
 
    printf("Sending request from client\n");
    retVal = send(clientSock, pBuf, strlen(pBuf), 0);
 
    if(retVal == SOCKET_ERROR)
    {
        printf("Unable to send\n");
        WSACleanup();
        return 1;
    }
 
 
    char szResponse[9];
    retVal = recv(clientSock, szResponse, 9, 0);
 
    if(retVal == SOCKET_ERROR)
    {
        printf("Unable to recv\n");
        WSACleanup();
        return 1;
    }
 
    printf("Got the response from server\n%s\n",szResponse);
 
    closesocket(clientSock);
    WSACleanup();
 
    return 0;
}

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

17 Aug 2010 Автор: admin  |  Отзывов нет »

C++ Пример работы с массивом char

char* names[] = { "pic1.png", "pic2.png", "pic3.png",
                  "pic4.png", "pic5.png", "pic6.png", 0 };
 
for( i = 0; names[i] != 0; i++ )
{
	printf("%s", names[i] );
}

13 Aug 2010 Автор: admin  |  Отзывов нет »

C++ – Пример программы с использованием winapi

Эта маленькая программа просто выводит сообщение на экран. Для того, что бы запустить ее вам необходим о создать win32 проект(не консольный) и просто встать текст программы приведенный ниже. Информацию о функции MessageBox можно получить здесь.

#include <windows.h>
 
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance,
                    LPSTR lpCmdLine, int nShow)
{
	MessageBox(NULL, (LPCWSTR)L"Hello world!!!", (LPCWSTR)L"Welcome message", MB_OK);
	return 0;
}

31 Jul 2010 Автор: daemoon  |  Отзывов нет »

Конструктор. Протяжка

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

С целью оптимизации и автоматизации многих вычислений основанных на логике и пишется данная программа. Так как сама по себе работа весьма трудоемка искать оптимальных вариантов среды разработки не стал. Пишу на том что знаю – C# + WPF.

Пока что окно разделено на 3 блока.

  • Свойства – слева, здесь происходит вся основная работа, изменения.
  • Визуализация – справа, здесь будет отображаться параметры инструмента которые меняются в данный момент (рабочая отверстие, параметры протяжки, зависимости).
  • Иерархия – внизу., здесь будет отображено дерево блоков из которых состоит инструмент (протяжка) в виде графов. В котором можно будет визуально оценить преимущества некоторых параметров различных вариантов протяжек.

Работа весьма большая по объему, однако пока что делается.

На данный момент идет работа с блоком Свойства и разработан класс работы с проектом. Входя в меню Файл можно создать, открыть, сохранить или закрыть ваш проект. Основная информация проекта хранится в виде xml-файла.

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

04 Jul 2010 Автор: admin  |  Отзывов нет »

Arduino – Мнение

Не так давно я приобрел Arduino Duemilanove стоимостью в $28, если подумать эта довольно низкая цена по сравнению с другими подобными решениями, и по сравнению с тем что Arduino может дать начинающим.

И так Arduino Duemilanove, что же это такое? Ответ прост микроконтроллерный модуль, по сути обложка для ATMega328 микроконтроллера. Arduino позволяет легко программировать микроконтроллер и легко взаимодействовать с ним, что немало важно для людей кто ни когда не работал с микроконтроллерами. Модуль может выступать не только как основа для робота но и так же в роли программатора для ATMega328 так как на нем установлен сокет для него, и в роли интерфейса для подключения периферийных устройств таких как сенсоры или сервомоторы. Arduino может легко получать команды от компьютера как как при подключение к компьютеру он появляется в виде обыкновенного COM-порта.

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

01 Jul 2010 Автор: admin  |  Отзывов нет »

Arduino – Подключение HMC6352

#include <Wire.h> 
 
int compassAddress = 0x42 >> 1;  // Из спецификации компаса, его адрес 0x42
                                 // Сдвигаем адрес на 1 bit в право, так как Wire библиотека
                                 // требует только 7 bits адреса
int reading = 0; 
 
void setup()
{
  Wire.begin();                // Подключаемся к i2c шине (обязательно для мастера)
  Serial.begin(9600);          // Начинаем передачу данных по COM порту со скоростью 9600bps
} 
 
void loop()
{
  // Шаг 1: Отправка команды компасу на измерение угла
  Wire.beginTransmission(compassAddress);  // Посылаем устройству
                           // Адрес для компаса из спецификации 66 (0x42)
                           // но i2c адресация использует только 7 высших бит,
                           // это значит что адрес компаса 33
  Wire.send('A');          // Отправка команды компасу на измерение угла
  Wire.endTransmission();  // Остановка передачи данных
 
  // Шаг 2: Ждем пока чтение завершится
  delay(10);               // По спецификации нужно ждать как минимум 6000 микросекунд 
 
  // Шаг 3: Запрос на чтение сенсора
  Wire.requestFrom(compassAddress, 2);  // Запрос на получение 2 битов
                                                        //  от ведомого устройства #33
 
  // Шаг 4: Запрос на чтение сенсора
  if(2 <= Wire.available())     // Если два байта информации были получены от сенсора
  {
    reading = Wire.receive();   // Получаем первый байт
                                //(переписывает предшествующий результат)
    reading = reading << 8;     // Сдвигаем первый байт на 8 бит влево
    reading += Wire.receive();  // Получаем второй байт и добавляем к результату
    reading /= 10;
    Serial.println(reading);    // выводим результат
  } 
 
  delay(500);                   // Ждем пол секунды
}

Ссылки:
Compass Module – HMC6352
http://wiring.org.co

05 Jun 2010 Автор: admin  |  Отзывов нет »

English – Adjectives that describe character(Прилагательные описывающие характер)

easygoing = easy to talk to / easy to live with
tidy = clean / organize
greedy = person who doesn’t like to give money or share somethink
cranky = unhappy / complaining
rude = inpolite / disrespectful
mature = thinking like adult
childish = behaving like kid
ignorant = with little or no knowlege
narrow-minded = conservative / who doesn’t like new things
gifted = talented
fussy = nervous and hectic
punctual = being on time
short-tempered = easy to get angry
reckless = careless / irresponsible
light-hearted = not serious / without any care
humble = simple / modest
loyal = true to a spouse / a friend
hypocritical(double-faced) = saying one thing? thinking another thing
bossy = like to order
anxious = worried

09 Apr 2010 Автор: admin  |  Отзывов нет »

Apache – Запрет на выполнение php файлов в отдельной директории

Для того что бы запретить выполнение php файлов в отдельной нужно добавит в .htaccess файл находящийся в этой директории следующее:

RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off

Или файл конфигурации Apache:

<Directory /www>
	RemoveHandler .php .phtml .php3
	RemoveType .php .phtml .php3
	php_flag engine off
</Directory>

В принципе php_flag engine off достаточно для отключения php все же лучше прописать все три строки.

23 Jan 2010 Автор: admin  |  Отзывов нет »

VsReality – Создана группы на сайте vkontakte.ru

VsReality теперь в контакте!
Сегодня была создана и начала функционировать группа Versus Reality на сайте vkontakte.ru
Найти группу можно по адресу http://vkontakte.ru/club14775208

Заходите, мы будем рады всем!