Show only titles Show articles

Distributed and self-filtered message passing system

Hide [-] Show [+]

February 15th, 2012

I've had recently an idea (inspired by society outcry after the ACTA was signed by our goverment, but not only) I want to share. It might not be particularly original at a glance, but I find its details pretty exciting.

Abstract: Distributed and totally decentralized message passing system which automatically (protocol level) promotes popular messages ('I like it/Dislike it/Tell a friend' - type), and drops less popular with time. It includes all features found in other known solutions (like following someone, responding, thread talk, #hashtags, extensive searching) + ensures authorship with ECC signatures and grants certain level of anonimity to users who require it. By default, passed messages are public, but @ they can also be encrypted, also it should not be possible to post files (but see the spec). Message length is limited by the UDP packet size/ethernet MTU, but it can reach over 500 bytes (this paragraph up to the @ character).

Ah, and I've called it Weespur (pronounced: whisper) from the name of the passed messages - whispers.

Preliminary "specification" (or rather personal brainstorm file) can be seen in three formats exported from org-mode (I prefer the first file myself, suit your taste. :P):
Weespur specification / emacs html
Weespur specification / exported html
Weespur specification / ascii

Personally I would implement it (if at all) using Python and Xapian as a search engine/DB. If anyone is willing to participate - give me a heads up.

Three simple cases of neural networks

Hide [-] Show [+]

January 20th, 2011

Project for university. Neural network for character detection, for stock prediction and for image compression (Kohonen network). Stock_0.1.tar.gz. Has Qt4 interface, matplotlib plots, and Kohonen part uses Cython to speed up operations. Screenshots included.

Simple fix for HID Manta MM821 gamepad / driver

Hide [-] Show [+]

January 12th, 2011

Each gamepad for PS3 seems to need a bit different fix/activation routine to run under PC/Linux. No idea why. I've seen already 2-3 fixes on the internet, but none worked with my gamepad. So, if you have one of the Manta gamepads (MM821 is mine) you can try this program.


Hide [-] Show [+]

December 7th, 2009

In the meantime I wrote kind of useless software but haven't got time before to publish it. A program to send modbus (ASCII or RTU) commands or terminated text strings over UDP or serial connection.

Tags: General

One-Time Passwords

Hide [-] Show [+]

December 2nd, 2009

I've installed pam-ppp, tested, corrected, liked it and recently - rewritten totally from scratch to implement more features and to correct some pitfalls. I called this program "OTPasswd" and I regard it's cool. UPDATE: This article is pretty outdated. See savannah page or OTPasswd page.

Tags: General

ppp-pam (ssh & one-time passwords)

Hide [-] Show [+]

November 10th, 2009

Being forced from sometime to login into my system with SSH from a machine I wouldn't ever trust (winxp/vista without firewall, publicly accessible) motivated me to configure an One-time Password system.

UPDATE: I've written similar system completely from scratch using ideas from ppp-pam. It is called "OTPasswd", since the name doesn't seem to be taken and its pretty neat shortcut for One-Time Passwords. It's actually pretty advanced, version in repository supports OOB messaging, policies, has nice manuals, etc. See it's homepage and project page at Savannah.

Tags: General

Raytracing revisited

Hide [-] Show [+]

August 27th, 2009

Name? bla.
Sex? Male.
Hobby? Raytracing!
Duh. ;-/

Another program realized for my university; this time the main idea was to write something multitasking in assembler of x86. The program raytraces only quaternion julia fractals and is much more fun from benchmarking point of view. Program was written in C first, then using OProfile I've checked which functions take the most of the CPU time and those got rewritten in asm.

Algorithm has C version (x86/x64), optimized SSE2 assembler (x86), plain CUDA version (tested on x64 only, no crosscompilation) and mixed version - CUDA + C. They are selectable using compile-time macros. What makes it more fun is that the C version can be compiled by GCC using either x87 arithmetics or (naive) SSE2. Pictures, links and benchmark summary follow.

Code for radio communication using RFM12 on AVR

Hide [-] Show [+]

March 31st, 2009

I've just spent a weekend forcing RFM12 modules to do what I need. RFM12 are small digital radio transceivers built using RF12 chips. Their obvious advantages are price, quite nice range (100m with a 433Mhz version working with low bitrate) and no external components at all (Ok: except for one, tiny, negligible resistor). In the mode I used them they are just a cheap SPI->Antenna solution. However this text would end here if not for their most important disadvantages: inaccurate documentation with insane code examples, lack of any higher level layer and half-duplex operation.

Further explanation and code follow.

Tags: General

Inverted pendulum, balancing robot

Hide [-] Show [+]

October 12th, 2008

It was a very long-timed project, albeit not a very intensive one. The robot was developed pretty slowly: if I'd place photos of each version in a line it would resemble homo sapiens evolution chart... the first and the current version differ even more then monkey and human. One film, some source code and brief description follow.

Improving your desktop experience

Hide [-] Show [+]

September 19th, 2008

I finally decided to give tilling, keyboard-controlled window managers a try. First I've tried few (most notably WMII, Ion and xmonad), then chosen one and been configuring it few hours (a one day)... That's how I stepped on the path with no return, because, seriously --- when you've created good keybindings, learned them and can use them fluently is there any reason to stick with classical window managers? Especially on laptops, when there's not always enough time to plug a mouse...

Tags: General

Pidgin status history

Hide [-] Show [+]

June 29th, 2008

I've switched from PSI to Pidgin. Mostly because there were no Gentoo extras for 0.11, still no scripting support and no plugin support at all. Nevertheless vanilla Pidgin had the same issue as vanilla PSI - no status logging. Also I couldn't find any plugin which would do the work. Maybe I've missed something... but why don't people want to be able to see someone statuses from the past week? Why is it so hard to make such a simple functionality?

Tags: General

C++ Raytracer

Hide [-] Show [+]

May 22nd, 2008

I've finished a work on my Computer Programming assignment for studies few months ago but haven't had time to publish it... so without further introduction all related files are here.

AVR ATmega64/32/16 Extension Board

Hide [-] Show [+]

May 18th, 2008

During my current robotic project I was using ATTiny26 with L298 motor controller on one universal board, accelerometer on another board (home etched), serial level converter (max232) on yet another universal board and for programming I was using another (fourth) board...

It was modular - ok, but I got tired with all the wires, problems, keeping code below 2KB level and that's why I designed, ordered, soldered and tested new board implementing all required features. I just wanted to share the PCB schemas and ideas. Keep in mind that it's mine third board design ever. Previous designs shall not be commented (I know they are awful)...

HP iPAQ hx2790

Hide [-] Show [+]

August 12th, 2007

There's nothing that makes me more happy than some new embedded device which can run Linux...

I've started working with Linux port on HP iPAQ hx2790 device. All already existing images for hx2000 family had issues with screen (image was right shifted). I've emerged cross toolchain and installed OpenEmbedded tree. After some mangling the screen issue was solved and kernel prepared for future modifications. It would be cool to run IrDA, BT and Wi-fi... for now I'm fighting with building images with OE.

Preliminary images can be found here

Tags: General

HTTP Proxy Port Bridge

Hide [-] Show [+]

August 7th, 2007

There are many networks where connection is limited to HTTP, FTP over Proxies (Academical networks; publicly available wi-fi's etc.) or where http proxy has much faster connection than other protocols.

I also wanted to review Linux networking and write some general-usage tool. And so I did...


Hide [-] Show [+]

July 5th, 2007

Two (almost three) months of time for anything. Two AVR projects waiting to be finished, server migration still in progress, C++ project for studies (raytracer) just started, OCaml documentation still not finished...

I'm good at making long-term plans but rather poor in their finalization. Just after finishing some of the mentioned things I'm going to publish some info.

Tags: General


Hide [-] Show [+]

May 17th, 2007

What can you do with a free weekend, yacc+lex compilers and a stupid idea? Just another highly requested esoteric language I suppose.

This one is based on a slang of one of the Polish street subcultures (the one with a special love to the track suits. Track suit = "Dres"). It employs a rather dirty language. Language specification and the idea itself was developed about a year ago by me and my two colleagues (tmd and shm) on IRC, but we were lacking the necessary wisdom and a will to implement it.

Language is called "Dress". Its compiler is able to compile conditional expressions (branching and loops), few register operations (inc/dec/set) and simple I/O into x86 assembler. It's by no means complete but I doubt if I'll do something more with this compiler. I just wanted to prove it's not so difficult to implement.

Theoretically it should be easy to port language specification so it would be based on a facultative dialect.


Hide [-] Show [+]

April 7th, 2007

Indeed: why? Why have I decided to start site like this?

Tags: General

This is a mail of my good friend who loves rubbish email. Send him some if you want to land on my not-so-welcome lists: John Sparrow john(at)