niedziela, 24 kwietnia 2011

Augumented Reality Model Editor



Augemented Reality Model Editor.

Ogre3d + ARToolkitPlus + little bit of OpenCV

code available on github

sobota, 8 maja 2010

research methodology

Yesterday I was at a little party and I meet there a grad student from Philosophy. After introducing schemata and occasional small-talk we landed with conversation on something like this:

- (me) ... and what is your research methodology?
- Research... what?
- I mean what are you doing all day long at university?
- Oh... I read and write.

piątek, 3 lipca 2009

LPC python binding

Linear Predictive Coding binding to python (using Numpy).

I have used it as a filter:



Underlying code is taken from Princeton (http://soundlab.cs.princeton.edu/software/rt_lpc/)

You can dowload it from: http://www.mat.umk.pl/~mich/lpc_0.1.tar.gz
And be warned - this is only 0.1 version.

niedziela, 23 listopada 2008

SBQL AST Visualizer

Napisałem na szybko wizualizator do drzew składniowych zapytań SBQL: tutaj! (do odpalenia wymagany pydot) W środku jest kilka obrazków z drzewkami.
Ostatecznie gramatyka wyszła mi taka:


Rule 1 query -> LPAREN query RPAREN
Rule 2 query -> LITERAL
Rule 3 query -> NUMBERLITERAL
Rule 4 query -> STRINGLITERAL
Rule 5 query -> UNARYOP query
Rule 6 query -> query SIMPLEBINARYOP query
Rule 7 query -> query DOT query
Rule 8 query -> query COMMA query
Rule 9 query -> query AS query
Rule 10 query -> query JOIN query
Rule 11 query -> query WHERE query
Rule 12 query -> query AND query
Rule 13 query -> query OR query

z kolejnością wiąząń:
precedence = (
('left', 'WHERE', 'JOIN') ,
('left', 'AND', 'OR'),
('left', 'SIMPLEBINARYOP'),
('left', 'AS', 'DOT')
)

na końcu pliku są takie przykłady:
data = {
"01simple": "(2+2 < 4) and 1",
"02projection" : '(Employee where salary < 200).(name, surname)',
"03more" :'(Employee where surname = "Kowalski" and salary < 200).name',
"04MappedJoin" : 'Employee.worksIn.Dept',
"05forjoin" : '(Employee where surname = "Kowalski" and worksIn.Departmet.isLocatedIn.Location.name = "Lodz").(surname, birthdate)',
"06join" : '(Employee as e join e.worksIn.Department as d join d.isLocatedIn.Location as l).(e.surname, l.name)',
"07join2" : '(Employee where surname = "Kowalski" and worksIn.Department.name = "Production").(surname, birthdate)'
}

wtorek, 11 listopada 2008

Citations for today

“Multicore architectures will (finally) bring parallel
computing into the mainstream. To effectively
exploit them, legions of programmers must
emphasize concurrency.”

"Nontrivial software written with threads,
semaphores, and mutexes are
incomprehensible to humans and cannot
and should not be trusted!"

Edward A. Lee

prezentacja - świetny przykład z wzorcem observera



thinking, learning, thinking... argh

wtorek, 4 listopada 2008

Query Language in Java

Dzisiaj nie będzie nic własnoręcznie stworzonego - zamiast tego mała definicja:

Domain Specific Language
The basic idea of a domain specific language (DSL) is a computer language that's targeted to a particular kind of problem, rather than a general purpose language that's aimed at any kind of software problem. blog:DSL

Pewnym uszczegółowieniem tej koncepcji jest pomysł aby w języku konkretnego przeznaczenia (np. języku programowania) stworzyć wrażenie innego języka (wspominałem juz o LINQ?). Bardzo ciekawe jak te mainstreamowe języki ewoluują. Ostatnio natknąłem się na querydsl (warto jest to póki co najlepszy projekt z tym pomysłem). Niewątpliwie i tak tutaj najbardziej narozrabiał Microsoft ze swoim rozszerzeniem LINQ, ale projekty próbujące tego samego w JAVA rosną ostatnio jak grzyby po deszczu; a ja mam wrażenie jakby powstał taki lepszy, mocno typowany JDBC - nice.