back to virtual filesystems

Idea(l): make a uniform output of /etc config files and compare between upgrades of the system with diff.

http://augeas.net seems to be a very good candidate.

Unfortunately the “lens system” is very nice, but parsing the etc dir is very very slow.

A simple

for f in $(find /etc | sort ); do augtool ls $f; done

takes ages to complete. Augtool will not find “lenses” for all the files, but parsing a simple file takes around one second on a very good workstation.

Verdict: solution discarded.

Posted in Uncategorized | Tagged | Leave a comment

Dual Ethernet Arm development board

One of the greatest added value for a rapsbery pi like low power computer would be to use it in a home router/gateway/firewall. Unfortunately none of these boards have dual LAN. You can obviously add a usb/ethernet adapter, but most of these adapters need an extra power supply which would be against the original goal: low power.

A router that has only 1/3 of the CPU power and memory costs double.

and finally found what I was looking for: http://www.conrad.de/ce/ProductDetail.html?productcode=1290219

the banan pi simple sells for less than 30 Euros. It is much more value for money than the rapsbery pi.

Posted in arm | Tagged , , | Leave a comment

a much easier way to program microcontrollers

Surprised to discover the python programmable microcontroler https://micropython.org/.  It is a bit of contradiction. You trade some more muscles and dollars into the microcontroler and you can in exchange send code to execute in form of python. As experiment is interesting, mainly the rewrite of the python virtual machine and compiler, but I am not convinced that all this would make development process much easier, for sure not for people that are enough familiar with C.

According to the website it runs on STM32F405. You can find such a board on ebay for arround 25$. It is still lot of money if you would want to make a microcontroller everywhere project.

Posted in ebay, microcontroller, python | Tagged , , | Leave a comment

books versus stackoverflow

I just do not like stackoverflow. Cannot complain, I think I hear well noises, feel smells, see shapes colors with my eyes. On stackoverflow I feel smells that I do not like. It is just an incredible and senseless market for what? for those badges? Those people must have problems with self esteem. Stack overflow is a selfesteem-machine. What annoys me the most is that often I find though interesting questions but, locked with a comment like “This is an idiot (well diplomatically more correct expression) question probably written by an idiot, thus we close it, we will not allow anybody to have his brain damaged by answering it. FULL STOP. Well, you have to have the courage to be mediator. But the badge behind you makes you feel powerful and secure. But enough from that…

Instead go and check some of the free books out there, a very lovely collection

https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md (and all md docs for other languages)

Posted in reading | Tagged | Leave a comment

Tools makes life easier

Different approaches with different advantages. For hacking network protocols was mainly using wireshark and its family. Not always easy to filter what you want.

Recently had time to look into sysdig.

To see some http messages sent by some application just did

sysdig -s2000 -A -c echo_fds fd.cip=192.168.3.78

and the http conversation is nicely displayed.

The tool can do much much more than that, but like wireshark you need root or special access to read the devices providing the data.

Posted in Uncategorized | Leave a comment

cmatch source code

A new tool in the clang family is taking shape, code is available at github. It started first as a set of new functions in the libclang library, but moved soon to a separate project to ease development. The tool is based on a set of libclang like functions (also part of the project) that mainly create a “C” interface to the text based dynamic AST matchers implemented in C++.

There is not too much documentation out there about dynamic ast matchers, as the functionality is relatively new. The functions are mainly doing the following

  • ast matcher pattern completion
  • matching ast nodes based on string describing the matchers
  • calls a chain of methods on the found matcher objects
  • lists available methods to be called based on a matcher string

I will write a series of articles about the details of the tool, as well as about the dynamic matchers.

Posted in ast, c++, clang | Leave a comment