Quantcast
Channel: LYNXLINE LABS
Browsing all 61 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Jongling Qt models 2, Composition Gem

We are back to models again . In Qt you may find a lot of flexibilities for Model-View programming. Especially due to proxies to do filtering, sorting or even rearranging data (see Jongling Qt models)...

View Article



Image may be NSFW.
Clik here to view.

Stack vs Heap, Pimpl, performance

This post is mostly about C++ but because it involves practices often used with Qt programming too, I tagged it with Qt. Also should be interesting for C++ gurus So, you know that Qt uses Pimpl...

View Article

Image may be NSFW.
Clik here to view.

Designing Undo for large-scale projects. Going deep.

That is huge architect-level article about designing undo in large-scale project, welcome under more label… Pre-requirements First it makes sense to talk about some pre requirements. It worths that...

View Article

Trac+Perforce

People who are using Trac and have a need of possibility binding it with Perforce repository can find that appropriate plugin is dead and no support is possible. So I would like to do some refresh – I...

View Article

Inferno OS

We are planning some posts about Inferno operating system. Stay tuned!

View Article


Image may be NSFW.
Clik here to view.

Porting Inferno OS to Raspberry Pi

We started a small and exciting project just for fun as “Porting Inferno OS to Raspberry Pi”. Of course we would like to run it there as native, not hosted. It was always declared that this OS is very...

View Article

Lab 1, Compiler

Let’s start with tools that we need to just build the OS for ARM. First clone official inferno os repository from google code repository: # hg clone https://code.google.com/p/inferno-os/ What we need...

View Article

Image may be NSFW.
Clik here to view.

Lab 2, Hardware

We need to have possibility of booting kernel on Raspbery Pi. Because we will not have display driver soon, we need another approach – have serial port connected to get all output from booter and then...

View Article


Lab 3, R-Pi Booting process

Now time to study the boot process on Raspberry Pi. Good source to study: R-Pi Boot process 1. Stage 1 boot is in the on-chip ROM. Loads stage2 in the L2 cache! 2. Stage 2 is bootcode.bin. Enables...

View Article


Image may be NSFW.
Clik here to view.

Lab 4, Loading kernel

Time to study the way how we place our kernel into the memory on R-Pi. U-Boot have usually convention to place loaded binaries at 0×8000 (32KB) and just pass control there. So, let’s compile trivial...

View Article

Lab 5, Hello World

This lab will be short but it is going to summarize all material provided in previous labs. Our target to develop simple “barebone” program which can be loaded and executed by U-Boot. It should only...

View Article

Lab 6, Compile something

Now it is lab 6 and it is time to compile “something” – kernel of inferno, but we are going to compile without worrying that it would not work (even would not link). We just need inferno kernel which...

View Article

Lab 7, linking, planning next

As we have the kernel almost compiled now it is time to check what is missing to have it linked. By checking header files and adding stubs into main.c we will get linked with very small changes as:...

View Article


About Boost Multi-index Containers

I really like Qt Template Library (QTL), but still have lack of some important functionality which is usually called multi-index. Anyway there is very powerful implementation existing in Boost. I...

View Article

Image may be NSFW.
Clik here to view.

Lab 8, memory model

Now time to have a look at memory model. The BCM2835 gives next picture: Actually when U-Boot pass the control, we have memory model equal to just physical addresses (middle column), so we just do not...

View Article


Lab 9, coding assembler part

Time to have assembler part of Inferno kernel to be implemented. Let’s start with routines that allows to make labels and later jump to them, they are used in kernel sources to have scheduler to switch...

View Article

Lab 10, Bss, memory pools, malloc

Time to have a look at initial memory initializations. First we need to initialize BSS (more details: http://en.wikipedia.org/wiki/.bss), statically-allocated variables. We do it in next way:...

View Article


Overhead cost of using Qt models

I decided to run very simple test to have glance on performance of Qt models and overhead cost of using them. Something very simple as make 1M random strings with random size (note: rnd_str(int) return...

View Article

Designing tree-like models

We found that developers are often confused about implementing tree-like models using Qt classes. Now we can show some tricks and considerations about the way of designing them. First for some...

View Article

Image may be NSFW.
Clik here to view.

Lab 11, _div, testing print

Interesting point we missed in lab10. Those are stubs that we have in main(): _div, _divu, _mod, _modu Amazingly, I do not know what it is , Plan9/Inferno people, can you give a help regarding purpose...

View Article
Browsing all 61 articles
Browse latest View live




Latest Images