Category Archives: Blog

SQLite tree structures and queries to get sub-trees

SQLite is wonderful! Just today I found that SQLite support queries with a recurse to get the inner sub-trees: CREATE TABLE els ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE ,pid INTEGER DEFAULT NULL REFERENCES els ,name TEXT ); INSERT INTO els (id, pid, name) VALUES (1, NULL, 'top'); INSERT INTO els (id, pid, […]
Also posted in Ideas, Misc, Research, SQLite | Leave a comment

Ru: Archive: Делаем свою Time Machine для Линукса (2012)

После интенсивного пользования time machine на маках и пару ситуаций когда она реально пригодилась (были варианты когда пришлось поставить систему из бэкапов и варант когда пришлось откатывать назад после проблем), возникла мысль а собственно почему такой удобной системы нет на линуксе. После исследования вопроса и опроса знакомых линуксоидов оказалось что: 1. сделать такую систему можно
Also posted in Gentoo, Ideas, Misc, Research, Ru, Tutorial | Leave a comment

Ru: Archive: Небольшой эксперимент сетевой независимости (2013)

Где-то год назад я решил для себя провести небольшой эксперимент. Я заметил что привязка к облачным сервисам становится всё более проникающей, и подумал проверить — что собственно нужно для того, чтобы немного отвязаться от серверов разных корпораций бобра. Задача была в том чтобы попробовать насколько мощное или простое железо нужно для небольшего домашнего сервера
Also posted in Gentoo, Ideas, Misc, Research, Ru, Web | Leave a comment

Ru: Archive: Шифруемся в Qt (2013)

Так как оказалось, что наши коммуникации довольно легко просматриваются товарищами из АНБ то похоже что нужно шифровать все коммуникации. Я решил проверить насколько сложно подключить шифрование в разработке Qt приложений. Как оказалось что все совсем несложно даже в случае использовании PGP. Так что тут больше дело привычки разработчика чтобы шифровать критические данные. Вот и попробуем
Also posted in C++, Cryptography, Qt, Ru, Tutorial | Leave a comment

Inferno-rpi-0.6 release

Releasing Inferno-rpi-0.6 Changes: * Added devi2c * Added devspi * Added devgpio (GPIO) * Minor changes/adjustements * Boot to kernel-nogui.bin by default. Change config.txt or enter ; wm/wm Download: * https://bitbucket.org/infpi/inferno-rpi/downloads/inferno-rpi-0.6.zip Installation: 1. Download latest zip package from https://bitbucket.org/infpi/inferno-rpi/downloads 2. Pepare SD card with first DOS partition with size less than 250 MB (vfat32 support […]
Also posted in Inferno OS, Projects, Raspberry Pi, Release | 4 Comments

Inferno-rpi-0.5 release

Releasing Inferno-rpi-0.5 Changes: * Fixed wrong calculatons of memory pool sizes. * Support of Pi-1 models with 512MB RAM. * Update of sources from 9pi project: usbdwc, emmc, etherusb. * Added uartmini module from 9pi. * Use Mntgen by default for /n, /n/local, /n/remote * Boot to kernel-nogui.bin by default. Change config.txt or enter ; […]
Also posted in Inferno OS, Projects, Raspberry Pi, Release | 2 Comments

Wrong size of memory pools – dumb

Occasionally I had a look at /dev/memory: What I saw there? ; cat /dev/memory 2282656 14018478 2314496 14149 6246 18 11735810 main 492768 7009239 499488 110133 106946 4 6516459 heap 4960 14018478 4960 8 1 1 14013506 image ; What? I run my Inferno just on 14+7+14 = 33MB memory? (yep and it still runs […]
Also posted in Inferno OS, Misc, Raspberry Pi, Research | Leave a comment

Thinking about user interfaces, part 3

Part 1 Part 2 Now interesting question, are there user interfaces which based on “verbs”. Well, I know at least one called drakon-editor: http://drakon-editor.sourceforge.net/ That is extremely powerful tool or a user interface which allow to design algorithms: So you can see, that looks as really totally verb-based user interface. It is very efficient but […]
Also posted in Ideas, Inferno OS, Research | Leave a comment

Thinking about user interfaces, part 2

Part 1 Now have a look at existing command line interface: What really human see on the screen? A specialist would say that from bottom (from input/cursor) to up the human sees a story of computer operations. My correction would be that human sees a story of his mental activities shown on the screen. These […]
Also posted in Ideas, Inferno OS, Research | 1 Comment

Thinking about user interfaces

Had some time to look into implementation of gui in inferno and take some thoughts. First maybe about history of graphics user iterfaces and how they brought us to the current situation. How a computer iteracts to an user? Very first implementations of are just clones of typewriting process – user types on keyboard and […]
Also posted in Ideas, Inferno OS, Misc, Research | 2 Comments

Inferno-rpi-0.4 release

Releasing Inferno-rpi-0.4 Changes: * Significant performance improvement due to fixed error in process scheduling/idle * Boot time is about ONE second :) Download: * https://bitbucket.org/infpi/inferno-rpi/downloads/inferno-rpi-0.4.zip Installation: 1. Download latest zip package from https://bitbucket.org/infpi/inferno-rpi/downloads 2. Pepare SD card with first DOS partition with size less than 250 MB (vfat32 support is not complete) 3. Unzip all […]
Also posted in Inferno OS, Raspberry Pi, Release | 1 Comment

Performance

I continue testing the performance. I made a SD card with 100MB partition and changed config.txt to boot directly kernel. And WOW! It looks like the whole OS is loaded up to wm/wm in just 1 sec! ps. for some reason mice does not work, probably need some adjustments for usb mice driver…
Also posted in Inferno OS, Raspberry Pi, Research, Usb | Leave a comment

Performance, loop 4, solution

I decided to make some simple and temporal solution (but maybe permanent? :) ) In os/port/dis.c in vmachine() have static var indicates when GC was completed last time and start new routine of GC only when at least 500 msecs passed: void vmachine(void*) { Prog *r; Osenv *o; int cycles; static ulong lastgcmsec =0; startup(); […]
Also posted in Inferno OS, Raspberry Pi, Research | Leave a comment

Performance, loop 3

When look deeper into tracing what happens when print() is casted I tried to minimize all codes – copied code of sieve into rpiinit.b, removed everything extra, so whole rpi start does only math/sieve. Then if press ^T^Tp (Ctrl+T,Ctrl+T,p) I see in console list of processes (not dis progs, but processes): idleticks:0 f3e148: 1: interp […]
Also posted in Inferno OS, Raspberry Pi, Research | Leave a comment

Performance, loop 2

There are still problem with performance, after some experiments i distilled it to next case: Execution of time math/sieve 1000000 >/dev/null takes about 170 secs Execution of modified math/sieve with commented print() takes only about 3 secs. So there is a real problem of using syscalls which operates with filesystems. (because even print()/fprint() leads to […]
Also posted in Inferno OS, Raspberry Pi, Research | Leave a comment

Problem with dossrv

Just made new attempt with new SD card and found that with defaults: 4GB dos formatted (full sd) is not mounted during boot. With booting kernel-nogui.img I got a console and had a look. Looks like dossrv has problems with supporting large partitions. So for now if you would like to boot 0.3 release please […]
Also posted in Inferno OS, Raspberry Pi | 1 Comment

Inferno-rpi-0.3 release

Releasing Inferno-rpi-0.3 Changes: * Enabled JIT * Included recent updated of Inferno-Os * Memory split 240/16 * devcons is added Download: * https://bitbucket.org/infpi/inferno-rpi/downloads/inferno-rpi-0.3.zip Installation: 1. Download latest zip package from https://bitbucket.org/infpi/inferno-rpi/downloads 2. Pepare SD card with just one DOS partition (just format into the dos) 3. Unzip all files to SD (boot.scr, kernel.bin, … – […]
Also posted in Inferno OS, Projects, Raspberry Pi, Release | 2 Comments

JIT is ON

My research about JIT in inferno-rpi is ended. The cause was obvious but until you does not know about and search through sources, doing debugging, tracing, experimenting – you would not know what it is. So it is simple – DIS op codes are compiled into ARM machine routines and when compilation is finished it […]
Also posted in Inferno OS, Raspberry Pi, Research | Leave a comment

JIT is off

I decided to have a look at the problem of speed – it is really visible that inferno os on raspberry is slow. My fisrt opinion was about probably disabled caches, but I was wrong – it works fine. After keeping searching I realized that Inferno-Rpi is actually has JIT off. Oops! That is controlled […]
Also posted in Inferno OS, Raspberry Pi, Research | Leave a comment

Inferno-Rpi: project moved

Due to the closure of google code, the project is now moved to: https://bitbucket.org/infpi/inferno-rpi Also added some minor changes and merged with latest inferno-os codebase changes. So returning a little to the project activity and think to keep the project based on dos partition which will be very simple for demo purposes. Also think to […]
Also posted in Embedding, Inferno OS, Raspberry Pi | Leave a comment