Planet maemo

admin
Maemo Community e.V. - Einladung zur Mitgliederversammlung 2016
Click to read 2160 more words
Categories: council
Philip Van Hoof

As we all know does mmap, or even worse on Windows CreateFileMapping, need contiguous virtual address space for a given mapping size. That can become a problem when you want to load a file of a gigabyte with mmap.

The solution is of course to mmap the big file using multiple mappings. For example like adapting yesterday’s demo this way:

void FileModel::setFileName(const QString &fileName)
{
    ...
    if (m_file->open(QIODevice::ReadOnly)) {
        if (m_file->size() > MAX_MAP_SIZE) {
            m_mapSize = MAX_MAP_SIZE;
            m_file_maps.resize(1 + m_file->size() / MAX_MAP_SIZE, nullptr);
        } else {
            m_mapSize = static_cast(m_file->size());
            m_file_maps.resize(1, nullptr);
        }
        ...
    } else {
        m_index->open(QFile::ReadOnly);
        m_rowCount = m_index->size() / 4;
    }
    m_file_maps[0] = m_file->map(0, m_mapSize, QFileDevice::NoOptions);
    qDebug() map(mapIndex * m_mapSize, m_mapSize, QFileDevice::NoOptions);
    position = m_file_maps[mapIndex] + map_pos_i;
    if (position) {
            const int length = static_cast(end_i - pos_i);
            char *buffer = (char*) alloca(length+1);
            if (map_end_i >= map_pos_i)
                strncpy (buffer, (char*) position, length);
            else {
                const uchar *position2 = m_file_maps[mapIndex+1];
                if (position2 == nullptr) {
                    position2 = m_file_maps[mapIndex+1] = m_file->map((mapIndex+1) *
                         m_mapSize, m_mapSize, QFileDevice::NoOptions);
                }
                strncpy (buffer, (char*) position, MAX_MAP_SIZE - map_pos_i);
                strncpy (buffer + (MAX_MAP_SIZE - map_pos_i), (char*) position2, map_end_i);
            }
            buffer[length] = 0;
            ret = QVariant(QString(buffer));
        }
    }
    return ret;
}

You could also not use mmap for the very big source text file and use m_file.seek(map_pos_i) and m_file.read(buffer, length). The most important mapping is of course the index one, as the reading of the individual lines can also be done fast enough with normal read() calls (as long as you don’t have to do it for each and every line of the very big file and as long as you know in a O(1) way where the QAbstractListModel’s index.row()’s data is).

But you already knew that. Right?

Categories: controversial
Philip Van Hoof

Sometimes people want to do crazy stuff like loading a gigabyte sized plain text file into a Qt view that can handle QAbstractListModel. Like for example a QML ListView. You know, the kind of files you generate with this commando:

Click to read 2154 more words
Categories: condescending
madman2k

Creating PyGTK app snaps with snapcraft

2016-07-09 13:45 UTC  by  madman2k
0
0

Snap is a new packaging format introduced by Ubuntu as an successor to dpkg aka debian package. It offers sandboxing and transactional updates and thus is a competitor to the flatpak format and resembles docker images.

Click to read 1138 more words
Categories: Articles
Philip Van Hoof

Composition and aggregation with QObject

2016-07-01 11:38 UTC  by  Philip Van Hoof
0
0

Consider these rather simple relationships between classes

Click to read 1452 more words
Categories: controversial
eekkelund

2016-06-14 Meeting Minutes

2016-06-22 19:27 UTC  by  eekkelund
0
0

Meeting held 2016-06-14 on FreeNode, channel #maemo-meeting (logs)

Attending:reinob, Win7Mac, M4rtinK, eekkelund, pichlo

Partial: chem|st

Absent: juiceme

Summary of topics (ordered by discussion):

  • Topic Coding Competetion
  • Topic Bitcoins, HTTPS

(Topic Coding Competetion):

  • Council is thinking to reduce categories due to low amount of participants
  • Four categories: Something new, Fixing/updating, Beginner and Whislist

(Topic Bitcoins, HTTPS):

  • chem|st will find legal disclaimer for donations made in BTC
  • Cert is needed for https, Council was discussing about which cert to chooce

Action Items:
  • old items:
    • The next GA meeting should be announced soon.
    • Tax-exempt status
    • Could we make coding competetion happen
  • new items:
    • Find legal disclaimer for Bitcoin donations

Solved Action Items:
  • Ask about tor and https from techstaff
Categories: council
eekkelund

2016-06-07 Meeting Minutes

2016-06-22 19:26 UTC  by  eekkelund
0
0

Meeting held 2016-06-07 on FreeNode, channel #maemo-meeting (logs)

Attending:reinob, eekkelund, Win7Mac, juiceme, pichlo

Partial:

Absent:

Summary of topics (ordered by discussion):

  • Topic Tax-exempt
  • Topic More Coding Competetion discussion

(Topic Tax-exempt):

  • juiceme has application form for Maemo community tax-exempt status
  • Finanical reports for the past 2 years to complete needs to be applied
  • "Being tax-exempt means we're a registered charity."
  • Is there any professional account managers among our community? Council could need little help.

(Topic More Coding Competetion discussion):

  • Discussion about basic tasks regarding Conding Competetion
  • eekkelund promised to think about leading the Coding Competetion

Action Items:
  • old items:
    • The next GA meeting should be announced soon.
    • Ask about tor and https from techstaff
    • Could we make coding competetion happen
  • new items:
    • Tax-exempt status

Solved Action Items:
  • Find out if https is doable (pichlo)
  • Check missing priviledges to the Council blog (juiceme)
Categories: council
eekkelund

2016-05-31 Meeting Minutes

2016-06-07 17:50 UTC  by  eekkelund
0
0

Meeting held 2016-05-31 on FreeNode, channel #maemo-meeting (logs)

Attending: eekkelund, reinob, Win7Mac, juiceme

Partial: pichlo

Absent:

Summary of topics (ordered by discussion):

  • Topic Coding competition

(Topic Coding competition):

  • There is thread in TMO
  • Community feedback was quite low when poll was created in last december
  • At least councilors and MC e.V. are willing to fund prizes
  • Prizes could be cash and/or devices(e.g. Raspberry Pi's and donation devices)
  • Making competition to happen means *a lot* of organising and getting people involved in it

Action Items:
  • old items:
    • The next GA meeting should be announced soon.
    • Ask about tor and https from techstaff (reinob)
  • new items:
    • Could we make coding competetion happen

Solved Action Items:
  • Check missing priviledges to the Council blog (juiceme)
  • Find out if https is doable (pichlo)
  • Arrange Council permissions on TMO to new Councillors. (juiceme)
Categories: council
eekkelund

2016-05-24 Meeting Minutes

2016-06-07 17:48 UTC  by  eekkelund
0
0

Meeting held 2016-05-24 on FreeNode, channel #maemo-meeting (logs)

Attending: eekkelund, pichlo, Win7Mac, juiceme, reinob

Partial:

Absent:

Summary of topics (ordered by discussion):

  • Topic https and tor support for maemo.org
  • Topic Missing priviligies for some councillors

(Topic https and tor support for maemo.org):

  • Feasibility check with techstaff couldn't happen because previous week was busy for councilors
  • chem|st had said that https should be doable
  • https: Possible solutions for https are global redirect(http to https) or a reverse proxy.
  • reinob will ask about https and tor

(Topic Missing priviligies for some councillors):

  • eekkelund can't write Council blog due to the missing priviledges
  • juiceme pinged chem|st on it

Action Items:
  • old items:
    • The next GA meeting should be announced soon.
  • new items:
    • Ask about tor and https from techstaff (reinob)
    • Check missing priviledges to the Council blog (juiceme)

Solved Action Items:
  • Find out if https is doable (pichlo)
  • Arrange Council permissions on TMO to new Councillors. (juiceme)
  • Add new Councillors to the mailing list and remove the old. (juiceme)
  • Get cloaks for new Councillors. (juiceme)
Categories: council
eekkelund

2016-05-17 Meeting Minutes

2016-05-31 19:04 UTC  by  eekkelund
0
0

Meeting held 2016-05-17 on FreeNode, channel #maemo-meeting (logs)

Attending: eekkelund, pichlo, Win7Mac, juiceme, M4rtinK

Partial: chem|st

Absent: reinob

Summary of topics (ordered by discussion):

  • Topic Tor users being blacklisted, read-only option for blacklisted IPs
  • Full httpS support for maemo.org
  • Spam to garage email
  • Bitcoin

(Topic Tor users being blacklisted, read-only option for blacklisted IPs):

  • There is thread in TMO
  • Council members agreed that maemo.org should have tor access read only
  • If it is doable, should be done with "hidden service"

(Full httpS support for maemo.org):

  • Council members agreed that maemo.org should have full https support
  • pichlo volunteered to find out more

(Spam to garage email):

  • One should harden own filters oneself

(Bitcoin):

  • We should accept bitcoin if it is cheap to accept

Action Items:
  • old items:
    • The next GA meeting should be announced soon.
    • Arrange Council permissions on TMO to new Councillors. (juiceme)
  • new items:
    • Find out if https is doable (pichlo)

Solved Action Items:
  • Add new Councillors to the mailing list and remove the old. (juiceme)
  • Get cloaks for new Councillors. (juiceme)
Categories: council
Alberto Garcia

I/O bursts with QEMU 2.6

2016-05-24 11:47 UTC  by  Alberto Garcia
0
0

QEMU 2.6 was released a few days ago. One new feature that I have been working on is the new way to configure I/O limits in disk drives to allow bursts and increase the responsiveness of the virtual machine. In this post I’ll try to explain how it works.

Click to read 2370 more words
Categories: English
Jussi Ohenoja

2016-05-03 Meeting Minutes

2016-05-08 13:44 UTC  by  Jussi Ohenoja
0
0

Meeting held 2016-05-03 on FreeNode, channel #maemo-meeting (logs)

Attending: eekkelund, reinob, pichlo, Win7Mac, juiceme, Oksana

Partial:

Absent: peterleinchen, HtheB

Summary of topics (ordered by discussion):

  • Handover meeting for the new Council

(Topic Handover meeting for the new Council):

  • reinob, win7mac and juiceme welcomed the new Council members eekkelund and pichlo.
  • The council considered the weekly meeting day and time, it was decided to keep tuesday as the day and adjust the meeting time to 20:30 CET/CEST.
  • There was some general discussion of IRC as meeting medium and the needed requirements for councillors.
  • The Council voted for new chairman, and eekkelund was chosen by majority vote of 2:3
  • juiceme promised to arrange the Council mailing list change and get cloaks for new councillors.

Action Items:
  • old items:
    • The next GA meeting should be announced soon.
  • new items:
    • Add new Councillors to the mailing list and remove the old. (juiceme)
    • Arrange Council permissions on TMO to new Councillors. (juiceme)
    • Get cloaks for new Councillors. (juiceme)
Categories: council