Wednesday, April 18, 2007
Sat Underground
Indeed, there is a sad situation. If you want to watch Pay-TV you are going either to buy smart-card or to find a way to hack it. But you can't just hack it yourself. It is so much sophisticated, you need expensive equipment (card reader at least and card itself) and a HUGE amount of time. On one hand, it is obvious, if information concerning protocols/encryptions has been made public, soon it will be used by geeks to watch TV for free (if they have time for it at all). The number of geeks is vanishingly small and this amount of freebie-junkies doesn't affect a compony's income. Yet on other hand, it reveals ability for people to make illigal-cards and sell them. But it is still hard-core business. So what have we actually? Sadness and grief, that is what we have actually. Groups of commercial hackers fight each other for place under the sun. When one group has made enough money, it publishes algorithm and an EMU. EMUs are made as easy as everybody could use it! It hurts a cash of TV providers and they changes algorithm of encryptions as soon as possible... What can one do alone? The one can start from scratch inventing all wheels along a way of hacking. Or the one can join one of hacker-groups, having his worthy proved. I want to digg inside a new TPS algo, but I don't want to invent old wheels, spending my time :(. Money is evil!
Wednesday, April 4, 2007
Dreambox
After two days of using I broke my dreambox 500 (receiver for sat tv). It loops on booting. I have no ideas how to repair it, so I've chosen it to reflash. It is flashing now. Linux rocks.
The following crap appears on boot:
The following crap appears on boot:
[...]
Multiplex thread got Data
Command='ZAP'
Zap data ,
Multiplex thread got Data
Dropping connection
active count=0
rc=0 '0,'
------------> changed! 0
no transponder 1 444
[TUNE] tune failed
Segmentation fault
Sunday, March 25, 2007
mmc
I've made a patch for MMC (mud client). With this patch, mmc supports 256 color space of xterm/rxvt/putty/..., broken terminals (no more "terminal cannot insert/delete characters") and keypad characters. Screenshort.
Tuesday, March 13, 2007
wtf
The code snippet from former coworker of mine. There are about dozen things like that:
if (System.getProperty("time.to.sleep").equals("null")) {
timeToThreadSleep = prefs.getLong(TAG_SLEEP, timeToThreadSleep);
System.out.println("....p: " + timeToThreadSleep + " millis" + " \t");
} else {
timeToThreadSleep = new Integer(System.getProperty("time.to.sleep")).intValue();
System.out.println("...p: " + timeToThreadSleep + " millis" + " \t");
}OSD Desktop
Yet Another Long Deferred (for years) Post. At last I've recorded how a working upon my desktop looks like (640x480 10fps 2mb or 1024x768 10fps 6mb). The idea concerning osd'ish desktop had floated around for long, before I sat and wrote first lines of code. Due to a logical evolution of my desktop I had gotten used to work with any application in fullscreen mode. Things like clocks, bars and meters had quickly been rid from my desktop. Although I found myself in a world without notifications. I was happy. Then, OSD came to me as a solution to keep fullscreenness and be aware of events. Using python and osd library for it, I've implemented an events daemon. The daemon reads lines from the ~/log/events file and parses them using one of the following patterns:
string - add this string into a list of displaying strings.
[][][]\d\d\d\d: string - the same as previous case, but the string is visible for the \d\d\d\d (four digits) ms.
\d\d\:\d\d:\d\d: string - the same as first case, but with a date preceeding string. The date is not visible on OSD.
\d\d\:\d\d:\d\d: [][][]\d\d\d\d: string - The same as second case with the mark as in third case.
Now it was a time to implement programs that would write to the ~/log/events file. First such program became aktimelog that writes time into the events log every 25 minutes. Others I've made: plugin for irssi to see either public, private or both messages, monitoring of keyboard layout changes, workspace switching, mail notifications, shell notifications. Also it is not needless to say that workspace switching is driven by shortcuts. For instance, if you press the MOD-e shortcut, in addition to switching workspace, ion3 checks whether emacs is runned and run it if it is not yet and you confirmed it for. I usually know where I have to switch to, and don't waste my time running through the list of open programs. So MOD-e is for emacs, MOD-p -- revelation, MOD-c -- eclipse, MOD-b -- browser, MOD-1 -- first terminal, MOD-2 -- second terminal... and so on. That is how my desktop works. But how does yours work? :)
Sources.
Now it was a time to implement programs that would write to the ~/log/events file. First such program became aktimelog that writes time into the events log every 25 minutes. Others I've made: plugin for irssi to see either public, private or both messages, monitoring of keyboard layout changes, workspace switching, mail notifications, shell notifications. Also it is not needless to say that workspace switching is driven by shortcuts. For instance, if you press the MOD-e shortcut, in addition to switching workspace, ion3 checks whether emacs is runned and run it if it is not yet and you confirmed it for. I usually know where I have to switch to, and don't waste my time running through the list of open programs. So MOD-e is for emacs, MOD-p -- revelation, MOD-c -- eclipse, MOD-b -- browser, MOD-1 -- first terminal, MOD-2 -- second terminal... and so on. That is how my desktop works. But how does yours work? :)
Sources.
Friday, March 9, 2007
LPTRA
And for EE fanatics I've implemented the resource adapter (JCA 1.5 with CCI), a right-way to access parallel port from inside EE applications. To use it, you need UParPort library installed. Then, simply deploy this RAR (resource adapter archive) into your application server. When you have done it, create a datasource for the LPTRA. You will have to specify pin names, while you are creating the datasource, like this: 1PinName=eye1, 2PinName=eye2 and so on. That's all. You may download the sources of the LPTRA as well.
Example:
Example:
@Resource (name = "eis/ParPort")
private ConnectionFactory connFactory;
Connection conn = null;
try {
conn = connFactory.getConnection();
Interaction interaction = conn.createInteraction ();
MappedRecord r =
connFactory.getRecordFactory ().createMappedRecord ("");
r.put ("eye1", true); // turn eye1 pin into the on state
r.put ("eye2", false); // turn eye2 off
interaction.execute (null, r);
} catch (ResourceException e) {
e.printStackTrace (); // Not sexy
} finally {
if (conn != null) {
try {
conn.close();
} catch (ResourceException e) {
e.printStackTrace (); // Not sexy
}
}
}
UParPort
It had been a long time since I planned to publish this piece of software. Now here it is. UParPort - is the java library for accessing the parallel port (printer port) from inside a Java program. But unlike parport, it doesn't require root privileges. There is the main class UParPort in package ru.toril.uparport. It takes a device name as the constructor's agruments. And the device name should look similar to "/dev/par0" or "lpt1". When an instance of the UParPort class has been created, the following methods can be called on it: getData, getStatus setData, close. isClosed, toString. There are the binaries and the sources of the UParPort.
Subscribe to:
Posts (Atom)