2005-11-23

Macro in Ant

When you write an ant macro, the main problem is inabillity to define temporary property.
    <macrodef name="sample">
<sequential>
<java resultproperty="java.result">
</sequential>
</macrodef>
Property can be set only once, and later nobody can change its value. It is good behaviour,
elsewere we can run into troubles depends on order of target calls.

So, if we call the above macro second time, the value of ${java.result} stays unchanged.

But we can overcome this:
   <macrodef name="sample">
<attribute name="workDir">
<sequential>
<antcall target="internal.java">
<param name="dir" value="@{workDir}">
</antcall>
</sequential>
</macrodef>

<target name="internal.java">
<java dir="${dir}" resultproperty="java.result"/>
</target>
That macro can be called more than one time, and will be works correctly.

2005-11-14

Linux on the Notebook

I helped to a friend to configure fresh-installed Ubuntu Linux. It was long. I haven't seen such problem before. X server starts, no errors in log, but the screen stays blank.

It turned out that is the standard problem for ATI Radeon drivers. Before starting it is necessary to load chipset specific AGP module.

In our case it was intel-mch-agp.

2005-11-12

Linux: MIDI Setup

There is my translated forum message. Of corse it can be extended and improved, but in order just to not forget, i will leave it as is.

For happy owners of sound cards without midi support, there is only one way to get listen midi sound is to install timidity, the software midi emulator.

I want to write about my timidity setup expirience.
$> apt-get install timidity
$> sudo /etc/init.d/timidity start

I saw error, OK, I went to /etc/timidity, and saw that it contains only one line that includes missing file.

I don't remember its name, but just looking on it, helps me to understand that something called freepars is missing. I open synaptic and found that package with exactly same name are exists.
Cool!

Later i saw that even timidity package recomends freeparst to install.

$>apt-get install freepats

One more time:
$> sudo /etc/init.d/timidity start

And one more error.

Once, i don't remember details, but it was realy easy to understood that we need to load some kernel module responsible for midi. But i have to brutforce the what exactly midi module i need to load.

And than, in order to make this module load automatically on start, i wrote it in /etc/modules,

Thats all.

2005-08-29

Installing SLIME

With the magic hook, SLIME could be run on lisp file open.

 ;Lisp enviroment installation
(setq inferior-lisp-program "clisp")
(add-to-list 'load-path "path_to_slime")
(require 'slime)
(slime-setup)

;Making slime connect to your lisp automatically when you open a lisp file.
(defun cliki:start-slime ()
(unless (slime-connected-p)
(save-excursion (slime))))
(add-hook 'slime-mode-hook 'cliki:start-slime)

Few more usefull tips can be found there.

2005-08-04

Linux on the server

Installer, with kernel 2.4 cannot found the CD-ROM. Kernel 2.6 when ACPI is turned on, hangs up in the begining of load. Manufacturer provides drivers for hardware RAID only for Red Hat and Suse with kernels 2.4.11-*. It's horrible.

I was faced with an interesting thing. Although, server have 1Gigs of RAM, kernel writes - "Warning only 896MB will be used".

Problem can be easily solved by recompiling kernel with support for more than 4 Gigs RAM. But it's still interresting - why it not works by default?

Host bridge: Intel Corp. Server Memory Controller Hub (rev 05)
VGA compatible controller: Intel Corp. Graphics Controller (rev 05)
PCI bridge: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
USB Controller: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
PCI bridge: Intel Corp. 82801 PCI Bridge (rev d3)
ISA bridge: Intel Corp. 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge (rev 03)
IDE interface: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)
IDE interface: Intel Corp. 82801FR/FRW (ICH6R/ICH6RW) SATA Controller (rev 03)
SMBus: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)
Ethernet controller: Intel Corp. 82541GI/PI Gigabit Ethernet Controller (rev 05)
PCI bridge: Intel Corp. PCI Bridge Hub A (rev 09)
PCI bridge: Intel Corp. PCI Bridge Hub B (rev 09)

2005-07-16

Bash: Input redirection

Nice, in order to simulate keyboad input for some console command, including Enter key button press, we can write something like that:

   /usr/bin/mysql <<!!
use db_name;
drop table table_name;
!!

All between !! and !! will be passed to standard input.