Friday, 8 May 2009

D'oh!

I just spent two hours blaming CruiseControl.Net release candidate for a bug, which turned out to be a trailing \ in my configuration.


So remember, kids: nant -D:publishroot="E:\PublicBuilds\" publishbuild will invoke nant with the default target. To make it work as expected, one has to use nant -D:publishroot="E:\PublicBuilds\\" publishbuild.

Monday, 25 August 2008

Using a cellphone GPRS/EDGE/UMTS Internet connection through Bluetooth under Gentoo Linux

Before you start, make sure that:



  • you can browse the Internet from your cellphone (take note of the connection profile you use)

  • you have a working Bluetooth connection between your phone and the PC

  • the devices are paired for connecting without asking for confirmation

  • you have bluez-utils emerged with USE="old-daemons"

Configure a RFCOMM connection with the phone:



  • in /etc/conf.d/bluetooth set RFCOMM_ENABLE=true

  • use sdptool search DUN to find the device's Bluetooth hardware address and the channel on which the cellphone listens for RFCOMM, the scan will take some time

  • in /etc/bluetooth/rfcomm.conf add a new connection with the address and channel you just found:

#
# RFCOMM configuration file.
#

rfcomm0 {
# Automatically bind the device at startup
bind yes;

# Bluetooth address of the device
device XX:XX:XX:XX:XX:XX;

# RFCOMM channel for the connection
channel 4;

# Description of the connection
comment "Cellphone GPRS/UMTS DUN";
}

  • execute /etc/init.d/bluetooth restart, you should now have a /dev/rfcomm0 device available, and cat /dev/rfcomm0 should cause the PC to connect to the cellphone (cat will output nothing, just kill it with Crtl+C when you verify the connection works).


Kernel requirements: besides what is needed for Bluetooth, enable all options under Device Drivers / Network device support / PPP (point-to-point protocol) support. This only adds 16KB to the kernel size. Recompile, install, reboot with your new kernel (or if you really don't want to reboot, compile PPP as a module and modprobe it).


Emerge ppp with USE="dhcp". Create a network service with ln -s /etc/init.d/net /etc/init.d/net.ppp0. Configure it by creating /etc/conf.d/net.ppp0 with the following contents:


### GPRS/EDGE/UMTS configuration ###
config_ppp0=( "ppp" )
link_ppp0="/dev/rfcomm0"

pppd_ppp0=(
"noauth"
"debug"
"local"

"defaultroute"
"usepeerdns"

"lcp-echo-interval 15"
"lcp-echo-failure 3"

"lock"

"115200"
"crtscts"
)

chat_ppp0="
ABORT BUSY
ABORT ERROR
ABORT 'NO ANSWER'
ABORT 'NO CARRIER'
ABORT 'NO DIALTONE'
ABORT 'Invalid Login'
ABORT 'Login incorrect'
'' AT
TIMEOUT 5
OK 'ATH'
OK 'ATE1'
OK 'AT+CGDCONT=1,\"IP\",\"internet\"'
OK 'ATD*99#'
TIMEOUT 60
CONNECT ''
TIMEOUT 5
~--''
"
### end GPRS/EDGE/UMTS configuration ###

You'll need to replace "internet" with the name of the connection profile you use for your data transfer (this should be provided by your cellular operator - "internet" is what Plus GSM uses in Poland). Start the connection with /etc/init.d/net.ppp0 start and everything should work.


Software used:



  • sys-kernel/gentoo-sources-2.6.25-r7

  • sys-apps/openrc-0.2.5

  • sys-apps/baselayout-2.0.0

  • net-wireless/bluez-libs -3.36

  • net-wireless/bluez-utils-3.36 with USE="old-daemons"

  • net-dialup/ppp-2.4.4-r15 with USE="dhcp"


Hardware used:



  • Nokia N95 8GB

  • HP Pavilion built-in Bluetooth adapter


How-To based on articles:


Sunday, 6 July 2008

Wymiana procesora w laptopie

Jakiś czas temu otwarcie obudowy laptopa było dla mnie przerażające - na pewno coś zepsuję, pogubię śrubki i nie będzie działać. Od pierwszego udokumentowanego podejścia minęło już nieco czasu, zdążyłem się oswoić i nabrać śmiałości. Fotorelacja z wczorajszej zabawy - wymiany procesora w laptopie HP Compaq - jest do obejrzenia dla ciekawskich, ja mam jeszcze parę dodatkowych wskazówek:

  • Rozkręcając laptopa/notebooka/inny mały komputer miej pod ręką pastę termoprzewodzącą i jakąś niekłaczącą szmatkę/chusteczki. Nawet jeśli planujesz tylko zajrzeć do środka - część elementów może wykorzystywać zewnętrzną obudowę w charakterze radiatora, pastę termoprzewodzącą trzeba zawsze wymienić (dokładnie usunąć starą, zaaplikować cienką warstwę świeżej) jeśli się rozdzieli posmarowane nią elementy.
  • Oznaczaj/zapisuj skąd wykręciłeś niestandardowe śrubki). Oszczędza to potem sporo kombinowania. ;-)
  • Większość śrub trzymających obudowę będzie wkręcana od spodu, ale część znajduje się zawsze z wierzchu, pod klawiaturą lub przyciskami multimedialnymi. Sprawdź czy płytka z tymi przyciskami nie jest przykręcona zanim zaczniesz ją podważać. :-)
  • Górna część laptopa (wyświetlacz i klawiatura) połączona jest z płytą główną kilkoma taśmami. Wyglądają one na strasznie delikatne i trudne do wpięcia, na szczęście tak nie jest. Wystarczy je odpiąć (zatrzask jest zazwyczaj od strony płyty głównej) i wyciągnąć.
  • Jeśli coś wymieniałeś - sprawdź, czy komputer nadal się uruchamia przed zmontowaniem go z powrotem. Zazwyczaj da się to zrobić nawet bez klawiatury, a można sobie oszczędzić sporo zbędnej pracy.

Przy okazji - mam na sprzedaż 2 kości RAM do laptopa (DDR 333Mhz 256MB CL2.5) oraz procesor Intel Celeron M 330 1.4GHz.

Monday, 12 May 2008

Witamy w Chinach

Właśnie zobaczyłem mało przyjazny komunikat:


This video is not available in your country.

Cholera. Od kiedy YouTube cenzuruje filmy? W tym przypadku ("Nowy Hymn Radia Maryja / Rammstein") na 100% nie chodzi o ochronę praw autorskich - przy takich zarzutach zdejmują film, a ten przez proxy z Wielkiej Brytanii można obejrzeć.

Tuesday, 6 May 2008

Cholerne tłumaczenia...

Chyba czas odwołać się do mądrości kolektywu ;-) Mam problem ze znalezieniem dobrze brzmiących i jednoznaczych tłumaczeń dla "commit", "changeset" oraz "revision". Ma ktoś pomysły na sensowne tłumaczenia poniższych sformułowań? (teksty z polskiej wersji Redmine)



  • "The entry or revision was not found in the repository." (roboczo - "Obiekt lub wersja nie zostały znalezione w repozytorium.")

  • "Autofetch commits" (roboczo - "Automatyczne pobieranie zmian")

  • "Referencing keywords" (roboczo - "Słowa tworzące powiązania")

  • "Fixing keywords" (roboczo - "Słowa zmieniające status")

  • "revision, revisions, view revisions, latest revision" (roboczo - "wersja, wersje, pokaż wersje, najnowsza wersja" - jak to odróżnić od "version"?)

  • "Commits per month" (roboczo - "Zatwierdzenia według miesięcy")

  • "Commits per author" (roboczo - "Zatwierdzenia według autorów")

  • "Referencing and fixing issues in commit messages" (roboczo - "Odwołania do zagadnień w komentarzach zatwierdzeń")

  • "Associated revisions" (roboczo - "Skojarzone wersje")

  • "changeset, changesets" (roboczo - "zmiana, zmiany")