Show only titles Show articles

Random Productions Present

Hide [-] Show [+]

May 9th, 2010

Random small implementations I did recently. Featuring web clock synchronisation checker, and rocket simulator, (and if I recall anything more I'll put it here. ;p)

Tags: Project

Infra-Red Guitar Tuner

Hide [-] Show [+]

March 13th, 2010

Two days experimenting with a sensor, three for gathering parts, soldering and thinking about implementation details. Tuner determines string sound frequency by illuminating it with infra-red light emitting diode and gathering string "blinks" with an optotransistor.

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.

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.

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)...

Prepare for ray tracing

Hide [-] Show [+]

February 9th, 2008

In previous post I already mentioned that I'm going to write in incoming semester a simple ray tracer in C++ as a "programming project" (already finished, description is here). As C++ is not mine favorite language out there I've decided to give ray tracing a try with Objective Caml. Brief illustrated history follows...

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...

Weekend

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.

NVM 2.0 Released

Hide [-] Show [+]

April 7th, 2007

I'd like to proudly announce availability of the fresh release of NVM (I'm known of overcomplicated sentences, especially in English. Pity, that this overcomplexity doesn't come with grammatical correctness).

NVM stands for NVM Virtual Machine (yes, right. It's the still-and-forever popular recursive acronym). It's a small, quite portable and as I hope fast virtual machine. I've written it without precise purpose as a work for studies but I'm considering using it for scripting one of my µC projects (mobile robot).