Sunday, November 24, 2013

CGI Python: serving binary file from web server to client

CGI Python: serving binary file from web server to client

1. Problem.

I want to send binary data (image or packed zip file) to the client from our CGI Python script. If you will work under *nix system it will not be complicated.

Wednesday, November 13, 2013

Qt 5.1 zlib compression compatible with Python zlib.decompress. Uploading files to the server.

Qt 5.1 zlib compression compatible with Python zlib.decompress. Uploading files to the server.


Task

I want transfer file from Qt 5.1 application to the server. File must be packed before transmission (in Qt application), then must be unpacked in server's (in Python script). We will use zlib compression in both sides.

Sunday, November 3, 2013

Перцы

Мои перцы

1. История


Кто-то знает, а для кого-то это будет новостью, но я люблю острые блюда и мне нравится выращивать перец. Многие из вас замечали, что некоторые перцы кажутся острее чем другие, но как это измерить? Оказывается есть такая замечательная штука как Scoville scale (аналогичную статью можно найти в Википедии под названием острый вкус). Проанализировав предлагаемую информацию мы можем увидеть, что острота перцев может отличаться в десятки раз. Когда я был маленьким, меня пугали что есть де такой перец как кайенский и что он такой острый, что уж дальше некуда. Как оказалось, всё же бывает и поострее... :)

Если кому интересно - добро пожаловать под кат.

Monday, October 28, 2013

Bug in QIBASE (Qt 5.1.1) always returns 00:00:00.000 as time part of TIMESTAMP


Bug in QIBASE (Qt 5.1.1) always returns 00:00:00.000 as time part of TIMESTAMP

Description


Unfortunately QIBASE driver have bug in Qt versions 5.1.0 and 5.1.1. When you trying to retrieve any TIMESTAMP value you'll have 00:00:00.000 as time part of TIMESTAMP.

To test this you can execute something like this:

select current_timestamp as dts from rdb$database

This query will return current time stamp on server which have Firebird/Interbase installed.

You will get 00:00:00.000 as time part of result :(

Thursday, October 17, 2013

Fun with QSerialPort

Fun with QSerialPort


As we know, we can use QSeialPort to communicate with devices via RS232/RS485 or via virtual COM ports (I recommend to use devices based on MCP2200 not on FT232, because they are cheaper :) )

Many years ago I used a PComm.dll (as I know, it developed by MOXA) to work with COM ports from my applications written in C++/Delphi (in Windows). Later I found QSerialDevice library for Qt. But now, as I told before, we can use QSerialPort directly from Qt version 5.1 and higher.

Wednesday, October 16, 2013

Parsing big log file

Parsing big log file

1. Task

Task: I have big text file (which have size approx 2 GiB) and want to parse it. I want to find each entry of word "exception" and then print this line and next 9 lines. Also, this 10 lines can contain string:
 "stuff at begin of line At procedure '%PROCEDURE_NAME%' many many symbols in end of line" where words "At procedure" exists in the text constantly and %PROCEDURE_NAME% is text which I also want to find (without quotes if possible :) ).

So, let's try to solve this task :)

Thursday, September 26, 2013

CRC-CCITT Kermit 16 C++ Qt Implementation

CRC-CCITT Kermit 16 C++

Once I was needed to find CRC-CCITT Kermit 16 algo realization in C++. So here I found source code in Delphi and converted it to the C/C++ code (also for Qt).

Hope, that it will help you, guys.

C++11x and Qt


#include <QtCore>

quint16 makeCrc16Kermit(const QByteArray &data)
{
    quint16     valuehex = 0;
    quint16     CRC = 0;
    int         size = data.size();
    CRC = 0;

Sunday, July 28, 2013

Лодка Vista Perception (описание походов 2013-07-21 и 2013-07-28)

Походы 2013-07-21 и 2013-07-28.

В этом посте описаны походы 2013-07-21 (без фото, только описание) и 2013-07-28. В обоих походах была использована лодка Vista Perception, любезно предоставленная Михаилом с сайта Каяк Маркет

Поход 2013-07-21

Общая информация

Второй член команды - Борис Щербина. Карта похода. 
Пройденное расстояние 21 км. Погода - дождь, ветер, ощутимое волнение на реке.

Лодка

Впервые испытываем лодку Vista Perception.



Sunday, June 2, 2013

Поход на каяках 2013-06-02

Поход на каяках 2013-06-02.


Решили сделать большой (для нас на этом этапе) круг и пройти по маршруту предполагающему прохождение таких рек как Десёнка, Бобровня и Днепр. В этом посте не будет фотографий, поскольку не брали фотоаппарат.

Saturday, May 18, 2013

Поход на каяках 2013-05-16

Поход на каяках 2013-05-16.


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

Подготовка.

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

Флот нашей мини-экспедиция состоял из двух лодок RTM Ysak. По результатам предыдущей экспедиции мы поняли, что нам требуется меньше еды и больше воды. Газовая плитка, в прошлый поход лежавшая в моей лодке, в этот поход должна была оказать своё действие на моего коллегу и второго капитана - Бориса (если честно, это не могло не радовать меня, поскольку я помнил все прелести перевозки сего устройства).

Было принято решение напечатать карты. С целью герметизации карты были сложены в файлы, а затем проглажены утюгом.