Category Archives: Blog
Ru: Archive: Делаем свою Time Machine для Линукса (2012)
После интенсивного пользования time machine на маках и пару ситуаций когда она реально пригодилась (были варианты когда пришлось поставить систему из бэкапов и варант когда пришлось откатывать назад после проблем), возникла мысль а собственно почему такой удобной системы нет на линуксе. После исследования вопроса и опроса знакомых линуксоидов оказалось что: 1. сделать такую систему можно
Ru: Archive: Небольшой эксперимент сетевой независимости (2013)
Где-то год назад я решил для себя провести небольшой эксперимент. Я заметил что привязка к облачным сервисам становится всё более проникающей, и подумал проверить — что собственно нужно для того, чтобы немного отвязаться от серверов разных корпораций бобра. Задача была в том чтобы попробовать насколько мощное или простое железо нужно для небольшего домашнего сервера
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
SQLite tree structures and queries to get sub-trees