spz: (Default)
2015-01-16 08:48 pm

Lenovo Thinkpad T440p with NetBSD (current)

my old laptop developped severe heat issues (it's 6 years old), so I had to get a new one in a hurry.
I picked a Lenovo Thinkpad T440p. Its main use is as a desktop, used with an external monitor and keyboard.
My previous laptop is a Thinkpad T500.

Usability notes on the hardware:
* it comes with a new power connector format, so the power supply sharing (at a given collection of BSD developers, there will be lots of Thinkpads and Apples, so if you forget your power supply someone will be able to give you a charitable donation of power) is somewhat hampered. There are simple round to rectangle adapter cables, but as far as I have seen not the opposite.
* no more three buttons for the keyboard mouse-stick; instead the touchpad also is a button. I have not checked yet if the mouse button(s) even work if you switch off the touchpad. If you got Thinkpads for the third mouse button this machine is not for you.
* the keyboard is otherwise decent (I use a keyboard with Cherry switches at home, so I'm spoiled)
* external video is mini displayport or VGA
* since I was in a hurry, I didn't try to install the built-in disk but just swapped it for the SSD I had in my old laptop. That worked fine.
* the entire bottom of the laptop comes off in one piece, which is easy enough to remove and needs a bit fumbling to get on correctly again, pressure on cover so the latch in the middle right catches correctly helps.

I'm currently running NetBSD-current of Jan 12th, 2015.
Wifi works, ethernet works, audio works (video/audio tested with Simon's cat 'Catnip'; the booting kernel reports hdaudio module load failures but these do not hinder making noises), USB ports work at least with USB2 (I have no USB3 devices at present).
My machine has 3G equipment and the kernel finds it, I have not yet verified that it works.

Graphics: with DRMKMS and acceleration, there are a bunch of issues with the display of pictures and text, and occasionally the whole display freezes for half a minute until the kernel does a reset of the GPU. Switching acceleration off makes all issues go away. I could happily use the machine without graphics acceleration, but I do service as guinea pig (*squeak squeak*) and it hasn't driven me to distraction yet. (edit) Thanks to Leonardo Taccari for pointing me to AccelMethod "SNA", using this instead of the default (and implicit) "UXA" fixed all the graphics weirdnesses. (/edit)

One gotcha is that using a minidisplayport-to-dvi cable did not work (X did not display with this cable since it didn't find the monitor), I had to use the monitors displayport I would have preferred to use for a different machine (the monitor has speakers and these can be used via the displayport connection).

dmesg (DEBUG kernel):

NetBSD 7.99.4 (TUCANA) #107: Mon Jan 12 22:57:45 CET 2015
total memory = 3783 MB
avail memory = 3655 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
LENOVO 20AWS1200L (ThinkPad T440p)
mainbus0 (root)
ACPI: RSDP 0x00000000000F0120 000024 (v02 LENOVO)
ACPI: XSDT 0x00000000DCEFE170 0000DC (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: FACP 0x00000000DCEF8000 00010C (v05 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: DSDT 0x00000000DCEE1000 011802 (v01 LENOVO TP-GL 00002190 INTL 20120711)
ACPI: FACS 0x00000000DCE4A000 000040
ACPI: SLIC 0x00000000DCEFD000 000176 (v01 LENOVO TP-GL 00002190 PTEC 00000001)
ACPI: DBGP 0x00000000DCEFB000 000034 (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: ECDT 0x00000000DCEFA000 000052 (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: HPET 0x00000000DCEF7000 000038 (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: APIC 0x00000000DCEF6000 000098 (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: MCFG 0x00000000DCEF5000 00003C (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: SSDT 0x00000000DCEF4000 000033 (v01 LENOVO TP-SSDT1 00000100 INTL 20120711)
ACPI: SSDT 0x00000000DCEF3000 00044F (v01 LENOVO TP-SSDT2 00000200 INTL 20120711)
ACPI: SSDT 0x00000000DCEE0000 000B75 (v01 LENOVO SataAhci 00001000 INTL 20120711)
ACPI: SSDT 0x00000000DCEDF000 00076F (v01 LENOVO Cpu0Ist 00003000 INTL 20120711)
ACPI: SSDT 0x00000000DCEDE000 000AD8 (v01 LENOVO CpuPm 00003000 INTL 20120711)
ACPI: SSDT 0x00000000DCEDC000 001215 (v01 LENOVO SaSsdt 00003000 INTL 20120711)
ACPI: SSDT 0x00000000DCEDB000 000379 (v01 LENOVO CppcTabl 00001000 INTL 20120711)
ACPI: PCCT 0x00000000DCEDA000 00006E (v05 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: SSDT 0x00000000DCED9000 000AC4 (v01 LENOVO Cpc_Tabl 00001000 INTL 20120711)
ACPI: UEFI 0x00000000DCED8000 000042 (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: POAT 0x00000000DCE42000 000055 (v03 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: ASF! 0x00000000DCEFC000 0000A5 (v32 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: BATB 0x00000000DCED7000 000046 (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: FPDT 0x00000000DCED6000 000064 (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: UEFI 0x00000000DCED5000 0002E2 (v01 LENOVO TP-GL 00002190 PTEC 00000002)
ACPI: SSDT 0x00000000DCED4000 00047F (v01 LENOVO IsctTabl 00001000 INTL 20120711)
ACPI: All ACPI Tables successfully acquired
cpu0 at mainbus0 apid 0
cpu0: Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz, id 0x306c3
cpu1 at mainbus0 apid 1
cpu1: Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz, id 0x306c3
cpu2 at mainbus0 apid 2
cpu2: Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz, id 0x306c3
cpu3 at mainbus0 apid 3
cpu3: Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz, id 0x306c3
ioapic0 at mainbus0 apid 2: pa 0xfec00000, version 0x20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20140926
acpi0: X/RSDT: OemId <LENOVO,TP-GL ,00002190>, AslId <PTEC,00000002>
acpiecdt0 at acpi0: ACPI Embedded Controller via ECDT
ACPI: Dynamic OEM Table Load:
ACPI: SSDT 0xFFFFFE8106C42010 000436 (v01 PmRef Cpu0Cst 00003001 INTL 20120711)
ACPI: Dynamic OEM Table Load:
ACPI: SSDT 0xFFFFFE8106C4E810 0005AA (v01 PmRef ApIst 00003000 INTL 20120711)
ACPI: Dynamic OEM Table Load:
ACPI: SSDT 0xFFFFFE8106B901D0 000119 (v01 PmRef ApCst 00003000 INTL 20120711)
acpi0: SCI interrupting at int 9
timecounter: Timecounter "hpet0" frequency 14318180 Hz quality 2000
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
hpet0 at acpi0: high precision event timer (mem 0xfed00000-0xfed00400)
acpiec0 at acpi0 (EC, PNP0C09-0): using acpiecdt0
MEM (PNP0C01) [System Board] at acpi0 not configured
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
acpivga0 at acpi0 (VID): ACPI Display Adapter
acpiout0 at acpivga0 (LCD0, 0x0400): ACPI Display Output Device
acpiout0: brightness levels: [0-100]
acpiout1 at acpivga0 (CRT0, 0x0100): ACPI Display Output Device
acpiout2 at acpivga0 (DVI0, 0x0300): ACPI Display Output Device
acpiout3 at acpivga0 (DVI1, 0x0301): ACPI Display Output Device
acpiout4 at acpivga0 (DVI2, 0x0302): ACPI Display Output Device
acpiout5 at acpivga0 (DVI3, 0x0303): ACPI Display Output Device
acpiout6 at acpivga0 (DVI4, 0x0304): ACPI Display Output Device
acpiout7 at acpivga0 (DVI5, 0x0305): ACPI Display Output Device
acpivga0: unknown output device acpiout1
acpivga0: unknown output device acpiout2
acpivga0: unknown output device acpiout3
acpivga0: unknown output device acpiout4
acpivga0: unknown output device acpiout5
acpivga0: unknown output device acpiout6
acpivga0: unknown output device acpiout7
acpivga0: connected output devices:
acpivga0: 0x0400 (acpiout0): Unknown Output Device, head 0
SIO (PNP0C02) [Motherboard Register Resources] at acpi0 not configured
attimer1 at acpi0 (TIMR, PNP0100): io 0x40-0x43 irq 0
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
pckbc1 at acpi0 (KBD, LEN0071) (kbd port): io 0x60,0x64 irq 1
pckbc2 at acpi0 (MOU, LEN0036) (aux port): irq 12
acpibat0 at acpi0 (BAT0, PNP0C0A-0): ACPI Battery
acpibat0: SMP LION rechargeable battery
acpibat0: granularity: low->warn 0.001 Wh, warn->full 0.001 Wh
acpiacad0 at acpi0 (AC, ACPI0003-0): ACPI AC Adapter
thinkpad0 at acpi0 (HKEY, LEN0068)
acpiwmi0 at acpi0 (WMI1, PNP0C14-1): ACPI WMI Interface
acpiwmibus at acpiwmi0 not configured
acpiwmi1 at acpi0 (WMI2, PNP0C14-2): ACPI WMI Interface
acpiwmibus at acpiwmi1 not configured
acpiwmi2 at acpi0 (WMI3, PNP0C14-3): ACPI WMI Interface
acpiwmibus at acpiwmi2 not configured
PCCD (INT340F) at acpi0 not configured
IAOE (INT33A0) at acpi0 not configured
acpitz0 at acpi0 (THM0)
acpitz0: levels: passive cooling
ACPI: Enabled 4 GPEs in block 00 to 3F
ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20140926/hwxface-646)
ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20140926/hwxface-646)
acpi0: [MADT] LAPIC : CPU ID 1, LAPIC ID 0, FLAGS 0x01
acpi0: [MADT] LAPIC : CPU ID 2, LAPIC ID 1, FLAGS 0x01
acpi0: [MADT] LAPIC : CPU ID 3, LAPIC ID 2, FLAGS 0x01
acpi0: [MADT] LAPIC : CPU ID 4, LAPIC ID 3, FLAGS 0x01
acpi0: [MADT] LAPIC : CPU ID 5, LAPIC ID 0, FLAGS 0x00
acpi0: [MADT] LAPIC : CPU ID 6, LAPIC ID 0, FLAGS 0x00
acpi0: [MADT] LAPIC : CPU ID 7, LAPIC ID 0, FLAGS 0x00
acpi0: [MADT] LAPIC : CPU ID 8, LAPIC ID 0, FLAGS 0x00
acpi0: [MADT] I/O APIC : ID 2, GSI 0, ADDR 0xFEC00000
acpi0: [MADT] INTR OVERRIDE : BUS 0, IRQ 0, GSI 2, FLAGS 0x00
acpi0: [MADT] LAPIC NMI : CPU ID 0, LINT 1, FLAGS 0x05
acpi0: [MADT] LAPIC NMI : CPU ID 1, LINT 1, FLAGS 0x05
acpi0: [FADT] FACS : 0x00000000DCE4A000
acpi0: [FADT] DSDT : 0x00000000DCEE1000
acpi0: [FADT] INT_MODEL : 0x0000000000000000
acpi0: [FADT] PM_PROFILE : 0x0000000000000002
acpi0: [FADT] SCI_INT : 0x0000000000000009
acpi0: [FADT] SMI_CMD : 0x00000000000000B2
acpi0: [FADT] ACPI_ENABLE : 0x00000000000000F2
acpi0: [FADT] ACPI_DISABLE : 0x00000000000000F1
acpi0: [FADT] S4BIOS_REQ : 0x0000000000000000
acpi0: [FADT] PSTATE_CNT : 0x00000000000000F3
acpi0: [FADT] PM1a_EVT_BLK : 0x0000000000001800
acpi0: [FADT] PM1b_EVT_BLK : 0x0000000000000000
acpi0: [FADT] PM1a_CNT_BLK : 0x0000000000001804
acpi0: [FADT] PM1b_CNT_BLK : 0x0000000000000000
acpi0: [FADT] PM2_CNT_BLK : 0x0000000000001850
acpi0: [FADT] PM_TMR_BLK : 0x0000000000001808
acpi0: [FADT] GPE0_BLK : 0x0000000000001820
acpi0: [FADT] GPE1_BLK : 0x0000000000000000
acpi0: [FADT] PM1_EVT_LEN : 0x0000000000000004
acpi0: [FADT] PM1_CNT_LEN : 0x0000000000000002
acpi0: [FADT] PM2_CNT_LEN : 0x0000000000000001
acpi0: [FADT] PM_TMR_LEN : 0x0000000000000004
acpi0: [FADT] GPE0_BLK_LEN : 0x0000000000000010
acpi0: [FADT] GPE1_BLK_LEN : 0x0000000000000000
acpi0: [FADT] GPE1_BASE : 0x0000000000000010
acpi0: [FADT] CST_CNT : 0x00000000000000F4
acpi0: [FADT] P_LVL2_LAT : 0x0000000000000065
acpi0: [FADT] P_LVL3_LAT : 0x00000000000003E9
acpi0: [FADT] FLUSH_SIZE : 0x0000000000000000
acpi0: [FADT] FLUSH_STRIDE : 0x0000000000000000
acpi0: [FADT] DUTY_OFFSET : 0x0000000000000001
acpi0: [FADT] DUTY_WIDTH : 0x0000000000000003
acpi0: [FADT] DAY_ALRM : 0x000000000000000D
acpi0: [FADT] MON_ALRM : 0x0000000000000000
acpi0: [FADT] CENTURY : 0x0000000000000032
acpi0: [FADT] IAPC_BOOT_ARCH : 0x0000000000000013
acpi0: [FADT] RESET_VALUE : 0x0000000000000006
acpi0: [FADT] WBINVD : 0x0000000000000001
acpi0: [FADT] WBINVD_FLUSH : 0x0000000000000000
acpi0: [FADT] PROC_C1 : 0x0000000000000004
acpi0: [FADT] P_LVL2_UP : 0x0000000000000008
acpi0: [FADT] PWR_BUTTON : 0x0000000000000000
acpi0: [FADT] SLP_BUTTON : 0x0000000000000020
acpi0: [FADT] FIX_RTC : 0x0000000000000000
acpi0: [FADT] RTC_S4 : 0x0000000000000080
acpi0: [FADT] TMR_VAL_EXT : 0x0000000000000000
acpi0: [FADT] DCK_CAP : 0x0000000000000200
acpi0: [FADT] RESET_REG_SUP : 0x0000000000000400
acpi0: [FADT] SEALED_CASE : 0x0000000000000000
acpi0: [FADT] HEADLESS : 0x0000000000000000
acpi0: [FADT] CPU_SW_SLP : 0x0000000000000000
acpi0: [FADT] PCI_EXP_WAK : 0x0000000000004000
acpi0: [FADT] PLATFORM_CLK : 0x0000000000000000
acpi0: [FADT] S4_RTC_STS : 0x0000000000000000
acpi0: [FADT] REMOTE_POWER : 0x0000000000000000
acpi0: [FADT] APIC_CLUSTER : 0x0000000000000000
acpi0: [FADT] APIC_PHYSICAL : 0x0000000000000000
acpi0: [\ ] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU0] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU1] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU2] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU3] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU4] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU5] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU6] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU7] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [_SB ] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [LNKA] HID PNP0C0F UID 1 STA 0x0000000B ADR -
acpi0: [LNKB] HID PNP0C0F UID 2 STA 0x0000000B ADR -
acpi0: [LNKC] HID PNP0C0F UID 3 STA 0x0000000B ADR -
acpi0: [LNKD] HID PNP0C0F UID 4 STA 0x0000000B ADR -
acpi0: [LNKE] HID PNP0C0F UID 5 STA 0x0000000B ADR -
acpi0: [LNKF] HID PNP0C0F UID 6 STA 0x00000009 ADR -
acpi0: [LNKG] HID PNP0C0F UID 7 STA 0x0000000B ADR -
acpi0: [LNKH] HID PNP0C0F UID 8 STA 0x0000000B ADR -
acpi0: [PCI0] HID PNP0A08 UID - STA 0xFFFFFFFF ADR 0x0000000000000000
acpi0: [VID ] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000020000
acpi0: [LCD0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000400
acpi0: [CRT0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000100
acpi0: [DVI0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000300
acpi0: [DVI1] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000301
acpi0: [DVI2] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000302
acpi0: [DVI3] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000303
acpi0: [DVI4] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000304
acpi0: [DVI5] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000305
acpi0: [LPC ] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001F0000
acpi0: [PIC ] HID PNP0000 UID - STA 0xFFFFFFFF ADR -
acpi0: [HPET] HID PNP0103 UID - STA 0x0000000F ADR -
acpi0: [KBD ] HID LEN0071 UID - STA 0xFFFFFFFF ADR -
acpi0: [MOU ] HID LEN0036 UID - STA 0xFFFFFFFF ADR -
acpi0: [TPM ] HID SMO1200 UID 1 STA 0x00000000 ADR -
acpi0: [PUBS] HID - UID - STA - ADR -
acpi0: [BAT0] HID PNP0C0A UID 0 STA 0x0000001F ADR -
acpi0: [AC ] HID ACPI0003 UID 0 STA 0x0000000F ADR -
acpi0: [HKEY] HID LEN0068 UID - STA 0x0000000F ADR -
acpi0: [PEG0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000010000
acpi0: [PEG ] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000010001
acpi0: [NVP3] HID - UID - STA - ADR -
acpi0: [NVP2] HID - UID - STA - ADR -
acpi0: [VID ] HID - UID - STA 0x0000000F ADR 0x0000000000000000
acpi0: [LCD0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000110
acpi0: [CRT0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000100
acpi0: [DVI0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000111
acpi0: [DP0 ] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000114
acpi0: [DVI1] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000112
acpi0: [DP1 ] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000115
acpi0: [DVI2] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000113
acpi0: [DP2 ] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000116
acpi0: [B0D3] HID - UID - STA 0x0000000F ADR 0x0000000000030000
acpi0: [IGBE] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000190000
acpi0: [EXP1] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001C0000
acpi0: [EXP2] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001C0001
acpi0: [EXP3] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001C0002
acpi0: [EXP6] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001C0005
acpi0: [SLOT] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000000
acpi0: [SAT1] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001F0002
acpi0: [PRT0] HID - UID - STA 0xFFFFFFFF ADR 0x000000000000FFFF
acpi0: [PRT1] HID - UID - STA 0xFFFFFFFF ADR 0x000000000001FFFF
acpi0: [PRT2] HID - UID - STA 0xFFFFFFFF ADR 0x000000000002FFFF
acpi0: [PRT3] HID - UID - STA 0xFFFFFFFF ADR 0x000000000003FFFF
acpi0: [PRT4] HID - UID - STA 0xFFFFFFFF ADR 0x000000000004FFFF
acpi0: [PRT5] HID - UID - STA 0x0000000F ADR 0x000000000005FFFF
acpi0: [SAT2] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001F0005
acpi0: [SMBU] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001F0003
acpi0: [NFC ] HID BCM2F09 UID 0 STA 0x00000000 ADR -
acpi0: [XHCI] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000140000
acpi0: [URTH] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000000
acpi0: [HSP0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000001
acpi0: [HSP1] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000002
acpi0: [HSP2] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000003
acpi0: [HSP3] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000004
acpi0: [HSP4] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000005
acpi0: [HSP5] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000006
acpi0: [HSP6] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000007
acpi0: [HSP7] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000008
acpi0: [HSP8] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000009
acpi0: [HSP9] HID - UID - STA 0xFFFFFFFF ADR 0x000000000000000A
acpi0: [HSPA] HID - UID - STA 0xFFFFFFFF ADR 0x000000000000000B
acpi0: [HSPB] HID - UID - STA 0xFFFFFFFF ADR 0x000000000000000C
acpi0: [WCAM] HID - UID - STA 0x0000000F ADR 0x000000000000000C
acpi0: [HSPC] HID - UID - STA 0xFFFFFFFF ADR 0x000000000000000D
acpi0: [HSPD] HID - UID - STA 0xFFFFFFFF ADR 0x000000000000000E
acpi0: [HSPE] HID - UID - STA 0xFFFFFFFF ADR 0x000000000000000F
acpi0: [SSP0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000010
acpi0: [SSP1] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000011
acpi0: [SSP2] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000012
acpi0: [SSP3] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000013
acpi0: [SSP4] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000014
acpi0: [SSP5] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000015
acpi0: [EHC1] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001D0000
acpi0: [URTH] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000000
acpi0: [URMH] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000001
acpi0: [PRT0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000001
acpi0: [PRT1] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000002
acpi0: [PRT2] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000003
acpi0: [PRT3] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000004
acpi0: [PRT4] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000005
acpi0: [PRT5] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000006
acpi0: [PRT6] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000007
acpi0: [PRT7] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000008
acpi0: [EHC2] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001A0000
acpi0: [URTH] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000000
acpi0: [URMH] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000001
acpi0: [PRT8] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000001
acpi0: [PRT9] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000002
acpi0: [PRTA] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000003
acpi0: [PRTB] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000004
acpi0: [PRTC] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000005
acpi0: [PRTD] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000006
acpi0: [WCAM] HID - UID - STA 0x0000000F ADR 0x0000000000000006
acpi0: [HDEF] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001B0000
acpi0: [PCCD] HID INT340F UID - STA 0x0000000F ADR -
acpi0: [_TZ ] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [THM0] HID - UID - STA - ADR -

\ [06] []
CPU0 [12] []
CPU1 [12] []
CPU2 [12] []
CPU3 [12] []
CPU4 [12] []
CPU5 [12] []
CPU6 [12] []
CPU7 [12] []
_SB [06] []
LNKA [06] []
LNKB [06] []
LNKC [06] []
LNKD [06] []
LNKE [06] []
LNKF [06] []
LNKG [06] []
LNKH [06] []
MEM [06] []
LID [06] [] <acpilid0>
SLPB [06] [] <acpibut0>
PCI0 [06] [] (PCI) @ 0x00:0x00:0x00:0x00 [R] [B] -> 0x00:0x00
VID [06] [] <acpivga0> (PCI) @ 0x00:0x00:0x02:0x00
LCD0 [06] [] <acpiout0>
CRT0 [06] [] <acpiout1>
DVI0 [06] [] <acpiout2>
DVI1 [06] [] a<cpiout3>
DVI2 [06] [] <acpiout4>
DVI3 [06] [] <acpiout5>
DVI4 [06] [] <acpiout6>
DVI5 [06] [] <acpiout7>
LPC [06] [] (PCI) @ 0x00:0x00:0x1F:0x00
SIO [06] []
PIC [06] []
TIMR [06] [] <attimer1>
HPET [06] []
DMAC [06] []
SPKR [06] [] <pcppi1>
FPU [06] []
RTC [06] []
KBD [06] [] <pckbc1>
MOU [06] [] <pckbc2>
TPM [06] []
EC [06] [] <acpiec0>
PUBS [11] []
BAT0 [06] [] <acpibat0>
AC [06] [] <acpiacad0>
HKEY [06] [] <thinkpad0>
PEG0 [06] [] (PCI) @ 0x00:0x00:0x01:0x00
PEG [06] [] (PCI) @ 0x00:0x00:0x01:0x01
NVP3 [11] []
NVP2 [11] []
VID [06] []
LCD0 [06] []
CRT0 [06] []
DVI0 [06] []
DP0 [06] []
DVI1 [06] []
DP1 [06] []
DVI2 [06] []
DP2 [06] []
B0D3 [06] [] (PCI) @ 0x00:0x00:0x03:0x00
IGBE [06] [] (PCI) @ 0x00:0x00:0x19:0x00
EXP1 [06] [] (PCI) @ 0x00:0x00:0x1C:0x00 [B] -> 0x00:0x02
EXP2 [06] [] (PCI) @ 0x00:0x00:0x1C:0x01 [B] -> 0x00:0x03
EXP3 [06] [] (PCI) @ 0x00:0x00:0x1C:0x02
EXP6 [06] [] (PCI) @ 0x00:0x00:0x1C:0x05
SLOT [06] []
SAT1 [06] [] (PCI) @ 0x00:0x00:0x1F:0x02
PRT0 [06] []
PRT1 [06] []
PRT2 [06] []
PRT3 [06] []
PRT4 [06] []
PRT5 [06] []
SAT2 [06] [] (PCI) @ 0x00:0x00:0x1F:0x05
SMBU [06] [] (PCI) @ 0x00:0x00:0x1F:0x03
NFC [06] []
XHCI [06] [] (PCI) @ 0x00:0x00:0x14:0x00
URTH [06] []
HSP0 [06] []
HSP1 [06] []
HSP2 [06] []
HSP3 [06] []
HSP4 [06] []
HSP5 [06] []
HSP6 [06] []
HSP7 [06] []
HSP8 [06] []
HSP9 [06] []
HSPA [06] []
HSPB [06] []
WCAM [06] []
HSPC [06] []
HSPD [06] []
HSPE [06] []
SSP0 [06] []
SSP1 [06] []
SSP2 [06] []
SSP3 [06] []
SSP4 [06] []
SSP5 [06] []
EHC1 [06] [] (PCI) @ 0x00:0x00:0x1D:0x00
URTH [06] []
URMH [06] []
PRT0 [06] []
PRT1 [06] []
PRT2 [06] []
PRT3 [06] []
PRT4 [06] []
PRT5 [06] []
PRT6 [06] []
PRT7 [06] []
EHC2 [06] [] (PCI) @ 0x00:0x00:0x1A:0x00
URTH [06] []
URMH [06] []
PRT8 [06] []
PRT9 [06] []
PRTA [06] []
PRTB [06] []
PRTC [06] []
PRTD [06] []
WCAM [06] []
HDEF [06] [] (PCI) @ 0x00:0x00:0x1B:0x00
WMI1 [06] [] <acpiwmi0>
WMI2 [06] [] <acpiwmi1>
WMI3 [06] [] <acpiwmi2>
PCCD [06] []
IAOE [06] []
_TZ [06] []
THM0 [13] [] <acpitz0>
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pms0: Synaptics touchpad version 8.1
pms0: Extended W mode, Passthrough, Palm detect, One button click pad, Multi-finger Report, Multi-finger
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: Intel product 0c04 (rev. 0x06)
i915drmkms0 at pci0 dev 2 function 0: Intel product 0416 (rev. 0x06)
drm: Memory usable by graphics device = 2048M
drm: Supports vblank timestamp caching Rev 2 (21.10.2013).
drm: Driver supports precise vblank timestamp query.
i915drmkms0: interrupting at ioapic0 pin 16 (i915)
drm: GMBUS [i915 gmbus dpb] timed out, falling back to bit banging on pin 5
intelfb0 at i915drmkms0
i915drmkms0: info: registered panic notifier
intelfb0: framebuffer at 0xffff8000434c3000, size 1920x1200, depth 32, stride 7680
wsdisplay0 at intelfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
hdaudio0 at pci0 dev 3 function 0: HD Audio Controller
hdaudio0: interrupting at ioapic0 pin 16
unknown at hdaudio0 not configured
Intel 8 Series MEI Controller (miscellaneous communications, revision 0x04) at pci0 dev 22 function 0 not configured
wm0 at pci0 dev 25 function 0: I217 LM Ethernet Connection (rev. 0x04)
wm0: interrupting at ioapic0 pin 20
wm0: PCI-Express bus
wm0: 2048 words FLASH
wm0: Ethernet address 28:d2:44:5f:f2:f9
ihphy0 at wm0 phy 2: i217 10/100/1000 media interface, rev. 4
ihphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ehci0 at pci0 dev 26 function 0: Intel 8 Series USB EHCI (rev. 0x04)
ehci0: interrupting at ioapic0 pin 16
ehci0: EHCI version 1.0
usb0 at ehci0: USB revision 2.0
hdaudio1 at pci0 dev 27 function 0: HD Audio Controller
hdaudio1: interrupting at ioapic0 pin 22
hdafg0 at hdaudio1
WARNING: module error: vfs load failed for `hdaudioverbose', error 45
WARNING: module error: vfs load failed for `hdaudioverbose', error 45
: vendor 10ec product 0292
hdafg0: DAC00 2ch: Speaker [Built-In], HP Out [Jack]
hdafg0: ADC01 2ch: Mic In [Jack]
hdafg0: ADC02 2ch: Mic In [Built-In]
hdafg0: 2ch/2ch 32000Hz 44100Hz 48000Hz 88200Hz 96000Hz 192000Hz PCM16 PCM20 PCM24 AC3
audio0 at hdafg0: full duplex, playback, capture, mmap, independent
ppb0 at pci0 dev 28 function 0: Intel 8 Series PCIE (rev. 0xd4)
ppb0: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x1 @ 5.0GT/s
ppb0: link is x1 @ 2.5GT/s
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
rtsx0 at pci1 dev 0 function 0: Realtek Semiconductor RTS5227 PCI-E Card Reader (rev. 0x01)
rtsx0: interrupting at ioapic0 pin 16
sdmmc0 at rtsx0
ppb1 at pci0 dev 28 function 1: Intel 8 Series PCIE (rev. 0xd4)
ppb1: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x1 @ 5.0GT/s
ppb1: link is x1 @ 2.5GT/s
pci2 at ppb1 bus 3
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
iwn0 at pci2 dev 0 function 0: Intel Centrino Advanced-N 6235 (rev. 0x24)
iwn0: interrupting at ioapic0 pin 17
iwn0: MIMO 2T2R, AGN, address 08:d4:0c:00:ff:3c
iwn0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
iwn0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
iwn0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ehci1 at pci0 dev 29 function 0: Intel 8 Series USB EHCI (rev. 0x04)
ehci1: interrupting at ioapic0 pin 23
ehci1: EHCI version 1.0
usb1 at ehci1: USB revision 2.0
ichlpcib0 at pci0 dev 31 function 0: Intel QM87 LPC (rev. 0x04)
timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
ichlpcib0: 24-bit timer
ichlpcib0: TCO (watchdog) timer configured.
gpio0 at ichlpcib0: 64 pins
ahcisata0 at pci0 dev 31 function 2: Intel 8 Series (mobile) SATA Controller (AHCI) (rev. 0x04)
ahcisata0: interrupting at ioapic0 pin 19
ahcisata0: 64-bit DMA
ahcisata0: AHCI revision 1.30, 6 ports, 32 slots, CAP 0xd730ff45<EMS,PSC,SSC,PMD,ISS=0x3=Gen3,SCLO,SAL,SALP,SMPS,SNCQ,S64A>
atabus0 at ahcisata0 channel 0
atabus1 at ahcisata0 channel 5
ichsmb0 at pci0 dev 31 function 3: Intel 8 Series SMBus Controller (rev. 0x04)
ichsmb0: interrupting at ioapic0 pin 18
iic0 at ichsmb0: I2C bus
isa0 at ichlpcib0
tpm0 at isa0 iomem 0xfed40000-0xfed44fff irq 7: device 0x0000104a rev 0x4e
acpicpu0 at cpu0: ACPI CPU
acpicpu0: C1: FFH, lat 1 us, pow 1000 mW
acpicpu0: C2: FFH, lat 148 us, pow 200 mW
acpicpu0: P0: FFH, lat 10 us, pow 37000 mW, 2501 MHz, turbo boost
acpicpu0: P1: FFH, lat 10 us, pow 37000 mW, 2500 MHz
acpicpu0: P2: FFH, lat 10 us, pow 35116 mW, 2400 MHz
acpicpu0: P3: FFH, lat 10 us, pow 33268 mW, 2300 MHz
acpicpu0: P4: FFH, lat 10 us, pow 29678 mW, 2100 MHz
acpicpu0: P5: FFH, lat 10 us, pow 27936 mW, 2000 MHz
acpicpu0: P6: FFH, lat 10 us, pow 26234 mW, 1900 MHz
acpicpu0: P7: FFH, lat 10 us, pow 24561 mW, 1800 MHz
acpicpu0: P8: FFH, lat 10 us, pow 21317 mW, 1600 MHz
acpicpu0: P9: FFH, lat 10 us, pow 19745 mW, 1500 MHz
acpicpu0: P10: FFH, lat 10 us, pow 18210 mW, 1400 MHz
acpicpu0: P11: FFH, lat 10 us, pow 16705 mW, 1300 MHz
acpicpu0: P12: FFH, lat 10 us, pow 15232 mW, 1200 MHz
acpicpu0: P13: FFH, lat 10 us, pow 12382 mW, 1000 MHz
acpicpu0: P14: FFH, lat 10 us, pow 11006 mW, 900 MHz
acpicpu0: P15: FFH, lat 10 us, pow 9662 mW, 800 MHz
acpicpu0: T0: I/O, lat 1 us, pow 0 mW, 100 %
acpicpu0: T1: I/O, lat 1 us, pow 0 mW, 88 %
acpicpu0: T2: I/O, lat 1 us, pow 0 mW, 76 %
acpicpu0: T3: I/O, lat 1 us, pow 0 mW, 64 %
acpicpu0: T4: I/O, lat 1 us, pow 0 mW, 52 %
acpicpu0: T5: I/O, lat 1 us, pow 0 mW, 40 %
acpicpu0: T6: I/O, lat 1 us, pow 0 mW, 28 %
acpicpu0: T7: I/O, lat 1 us, pow 0 mW, 16 %
coretemp0 at cpu0: thermal sensor, 1 C resolution
acpicpu1 at cpu1: ACPI CPU
acpicpu2 at cpu2: ACPI CPU
coretemp1 at cpu2: thermal sensor, 1 C resolution
acpicpu3 at cpu3: ACPI CPU
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 2494343320 Hz quality 3000
acpiacad0: AC adapter online.
IPsec: Initialized Security Association Processing.
uhub0 at usb1: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ahcisata0 port 5: device present, speed: 1.5Gb/s
ahcisata0 port 0: device present, speed: 6.0Gb/s
uhub1 at usb0: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
drm: Enabling RC6 states: RC6 on, RC6p off, RC6pp off
wd0 at atabus0 drive 0
wd0: <Samsung SSD 840 PRO Series>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 238 GB, 496149 cyl, 16 head, 63 sec, 512 bytes/sect x 500118192 sectors
wd0: GPT GUID: 993fb705-b461-11e3-a51c-00247e15560b
dk0 at wd0: root
dk0: 6291456 blocks at 48, type: ffs
dk1 at wd0: swap
dk1: 20971520 blocks at 6291504, type: swap
dk2 at wd0: altroot
dk2: 6291456 blocks at 27263024, type: ffs
dk3 at wd0: var
dk3: 2097152 blocks at 33554480, type: ffs
dk4 at wd0: usr_pkg
dk4: 20971520 blocks at 35651632, type: ffs
dk5 at wd0: home
dk5: 209715200 blocks at 56623152, type: ffs
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(ahcisata0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) (using DMA)
atapibus0 at atabus1: 1 targets
cd0 at atapibus0 drive 0: <HL-DT-ST DVDRAM GU90N, M8HE1921237, LU20> cdrom removable
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
cd0(ahcisata0:5:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) (using DMA)
uhub2 at uhub0 port 1: Intel product 8000, class 9/0, rev 2.00/0.04, addr 2
uhub2: single transaction translator
uhub2: 8 ports with 8 removable, self powered
uhub3 at uhub1 port 1: Intel product 8008, class 9/0, rev 2.00/0.04, addr 2
uhub3: single transaction translator
uhub3: 6 ports with 6 removable, self powered
sdmmc0: couldn't enable card: 60
uhub4 at uhub2 port 1: RAPTOR-GAMING RAPTOR-USB-Hub, class 9/0, rev 1.10/2.16, addr 3
uhub4: 3 ports with 2 removable, bus powered
ugen0 at uhub3 port 1
ugen0: Generic EMV Smartcard Reader, rev 2.01/1.20, addr 3
umass0 at uhub3 port 2 configuration 1 interface 0
umass0: Lenovo Lenovo P780, rev 2.00/2.16, addr 4
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, 3 luns per target
cd1 at scsibus0 target 0 lun 0: <Linux, File-Stor Gadget, 0000> cdrom removable
sd0 at scsibus0 target 0 lun 1: <Linux, File-Stor Gadget, 0000>: disk removable
sd0: drive offline
sd1 at scsibus0 target 0 lun 2: <Linux, File-Stor Gadget, 0000> disk removable
sd1: drive offline
uhidev0 at uhub4 port 2 configuration 1 interface 0
uhidev0: Logitech USB Receiver, rev 2.00/22.00, addr 4, iclass 3/1
ums0 at uhidev0: 16 buttons, W and Z dirs
wsmouse1 at ums0 mux 0
uhidev1 at uhub4 port 2 configuration 1 interface 1
uhidev1: Logitech USB Receiver, rev 2.00/22.00, addr 4, iclass 3/0
uhidev1: 17 report ids
uhid0 at uhidev1 reportid 3: input=4, output=0, feature=0
uhid1 at uhidev1 reportid 16: input=6, output=6, feature=0
uhid2 at uhidev1 reportid 17: input=19, output=19, feature=0
ubt0 at uhub3 port 5
ubt0: Intel product 07da, rev 2.00/78.69, addr 5
uhidev2 at uhub4 port 3 configuration 1 interface 0
uhidev2: RAPTOR-GAMING RAPTOR-USB-Keyboard, rev 1.10/2.16, addr 5, iclass 3/1
ukbd0 at uhidev2: 8 modifier keys, 6 key codes
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
sdmmc0: couldn't enable card: 60
umodem0 at uhub2 port 6 configuration 1 interface 1
umodem0: Lenovo N5321 gw, rev 2.00/0.00, addr 6, iclass 2/2
umodem0: data interface 2, has CM over data, has break
umodem0: status change notification available
ucom0 at umodem0
umodem1 at uhub2 port 6 configuration 1 interface 3
umodem1: Lenovo N5321 gw, rev 2.00/0.00, addr 6, iclass 2/2
umodem1: data interface 4, has CM over data, has break
umodem1: status change notification available
ucom1 at umodem1
umodem2 at uhub2 port 6 configuration 1 interface 7
umodem2: Lenovo N5321 gw, rev 2.00/0.00, addr 6, iclass 10/0
umodem2: no pointer to data interface
umodem3 at uhub2 port 6 configuration 1 interface 9
umodem3: Lenovo N5321 gw, rev 2.00/0.00, addr 6, iclass 2/2
umodem3: data interface 10, has CM over data, has break
umodem3: status change notification available
ucom2 at umodem3
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex, playback, capture
boot device: wd0
root on dk0 dumps on dk1
spz: (Default)
2014-01-22 09:34 am
Entry tags:

Impostor syndrome

One way to deal with it.

Another that also works is realizing that all the rest are also just fumbling along. Everybody is not perfect. And you may be pretty good at faking it by now. :)

I find that never making mistakes isn't the skill to strive for; being able to notice a mistake and recover from it is a lot more useful. It takes a lot of practice (at making mistakes, and fixing them) to develop it, too.

Confidence, for me, doesn't come from never getting anything wrong. Because I will be distracted or working from a wrong hypothesis, and it will be a mess. It comes from believing (from sufficient experience) that I can fix it if it goes pear-shaped.
spz: (Default)
2013-12-29 11:30 pm

what I got for Christmas: BeagleBone Black

While looking online for a cable for my husband (I have the credit card, I get to order stuff online), I happened upon the bonebox from adafruit, and decided that it was too cute and I should get one.

With content, of course.

Things bought so far:

  • BeagleBone Black board (comes with a normal-to-mini USB cable that also serves as power supply)
  • bonebox
  • power supply (for when I connect a USB disk or other things that draw more power than USB will deliver)
  • 32G microSDXC-card (I bought a SanDisk, others are probably fine too)
  • micro-HDMI to DVI cable (has yet to arrive)

What I didn't have to buy because we already had one extra was a
uftdi0 at uhub7 port 1
uftdi0: FTDI C232HM-DDHSL-0, rev 2.00/9.00, addr 2
ucom0 at uftdi0 portno 1

USB to a bunch of single pole connectors (to connect single wires to a pin header). Mine is a 10 pole 3.3V MPSSE cable. A Raspberry PI console cable should be readily available and does the same (and you wouldn't have to bind back 7 cables you aren't using to keep the setup neat). To connect it to the board, ground goes to the pin tagged J1 (for this cable, black), TCK (orange, output) goes on pin 4 and TDI (yellow, input) on pin 5. Since the bonebox doesn't expect a serial console to get connected (Linux uses the USB device port for console, too), it lacks an opening for that cable. I drilled a 4mm hole into the upper cover with a hand drill with a wood drill bit (if you use electric, go slow). 4.5mm would have made fitting the third connector through easier.

Next comes preparing software for it. It comes with Angstrom Linux and I'm sure that's a deserving OS and all that, but I'm a NetBSD developer and want to use NetBSD wherever compatible with the purpose of the device (which this thing hasn't yet besides being cute, so definitely, NetBSD goes on it). This precipitates one of the most difficult decisions to be made: choosing its name. All my devices are named after lesser constellations. Studying the list of constellation names yields *drumroll* pyxis, the compass box.

With this decision made, I can create a custom kernel config for pyxis, named PYXIS, in sys/arch/evbarm/conf:
# PYXIS' config

include "arch/evbarm/conf/BEAGLEBONE"

options IPSEC

no options COMPAT_50
no options COMPAT_40
no options COMPAT_30

file-system KERNFS
file-system PROCFS

no config netbsd
config netbsd root on ld0a type ffs

As you can see, this is just adjusting for local preferences and in fact I'll be building the BEAGLEBONE kernel as well. I'll first get the general software built from a -current src tree as can be gotten e.g. by
cvs -q -d anoncvs@anoncvs..netbsd.org:/cvsroot get -PA src
by running build.sh from the src directory, like so:
./build.sh -x -U -m evbearmv7hf-el release
This means: I want to build X11 (-x), I want to build unprivileged and create an owner and permissions map instead (-U) since the image build will need it, and the architecture to build is evbarm with little-endian earm v7 and hard float ABI, yielding
===> NetBSD version:      6.99.28
===> MACHINE:             evbarm
===> MACHINE_ARCH:        earmv7hf
===> Build platform:      NetBSD 6.99.28 amd64
I'm building on a pretty -current NetBSD/amd64, but any other Unix from this century with a development suite (compiler and a few tools) installed should serve as well. Cygwin might do as well.
Time for coffee and my mother's Quarkstollen.

Note I could also just get a daily build for evbarm-earmhf at e.g. http://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201312270850Z/evbarm-earmhf/ if my Internet connection was faster than my laptop, and that would work as well.

Then I build the kernel I want to use:
./build.sh -x -U -m evbearmv7hf-el kernel=PYXIS

The release build has created an image file in .../release/evbarm/binary/gzimg called beagleboard.img.gz
This gets unpacked and dd'd to the sdcard:
gzcat beagleboard.img.gz | dd of=/dev/rld0d obs=64k

When this is done,
disklabel ld0
# /dev/rld0d:
type: SCSI
label: fictitious
flags: removable
bytes/sector: 512
sectors/track: 32
tracks/cylinder: 64
sectors/cylinder: 2048
cylinders: 622
total sectors: 1275808
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # microseconds
track-to-track seek: 0  # microseconds
drivedata: 0 

8 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 a:    890784    385024     4.2BSD      0     0     0  # (Cyl.    188 -    622*)
 b:    262144    122880       swap                     # (Cyl.     60 -    187)
 c:   1275808         0     unused      0     0        # (Cyl.      0 -    622*)
 d:   1275808         0     unused      0     0        # (Cyl.      0 -    622*)
 e:    114688      8192      MSDOS                     # (Cyl.      4 -     59)

I mount /dev/ld0e /mnt to copy the kernel I built, .../compile/PYXIS/netbsd.ub to /mnt as pyxis.ub, and to edit uEnv.txt to boot pyxis.ub instead of bboard.ub or the also present bbone.ub.
Alas, the msdos filesystem is broken (the joys of -current ... I'll check what goes wrong there later), so I re-format it and copy the kernel image onto it and create a new uEnv.txt.

The uEnv.txt I use is:
uenvcmd=mmc dev 0; mmc rescan; mmc dev 1; mmc rescan; fatload mmc 0:1 82000000 pyxis.ub; bootm 82000000

Kudos to John Klos and his mail to port-arm in July which provided invaluable pointers; it's 4 months later and booting directly off the sdcard works now, and getting it partitioned etc is much easier now too.

umount, sdcard from laptop to pyxis, boot ..
SD/MMC found on device 0
reading uEnv.txt
120 bytes read in 3 ms (39.1 KiB/s)
Loaded environment from uEnv.txt
Importing environment from mmc ...
Running uenvcmd ...
mmc0 is current device
mmc1(part 0) is current device
mmc_send_cmd : timeout: No status update
reading pyxis.ub
3356864 bytes read in 406 ms (7.9 MiB/s)
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   NetBSD/beagle 6.99.28
   Image Type:   ARM NetBSD Kernel Image (uncompressed)
   Data Size:    3356800 Bytes = 3.2 MiB
   Load Address: 80300000
   Entry Point:  80300000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
## Transferring control to NetBSD stage-2 loader (at address 80300000) ...
uboot arg = 0x9f238fe0, 0, 0x9f3a1235, 0x9f240648
[ Kernel symbol table missing! ]
Loaded initial symtab at 0x805a4f50, strtab at 0x805cfde0, # entries 10965
pmap_postinit: Allocated 35 static L1 descriptor tables
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 6.99.28 (PYXIS) #1: Sun Dec 29 13:21:59 CET 2013
total memory = 512 MB
avail memory = 498 MB
sysctl_createv: sysctl_create(machine_arch) returned 17
timecounter: Timecounters tick every 10.000 msec
mainbus0 (root)
cpu0 at mainbus0 core 0: 550 MHz Cortex-A8 r3p2 (Cortex V7A core)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: isar: [0]=0x101111 [1]=0x13112111 [2]=0x21232031 [3]=0x11112131, [4]=0x11142, [5]=0
cpu0: mmfr: [0]=0x1100003 [1]=0x20000000 [2]=0x1202000 [3]=0x211
cpu0: pfr: [0]=0x1131 [1]=0x11
cpu0: 32KB/64B 4-way L1 Instruction cache
cpu0: 32KB/64B 4-way write-back-locking-C L1 Data cache
cpu0: 256KB/64B 8-way write-through L2 Unified cache
vfp0 at cpu0: NEON MPE (VFP 3.0+)
vfp0: mvfr: [0]=0x11110222 [1]=0x11111
obio0 at mainbus0 base 0x44000000-0x4fffffff: On-Board IO
omapicu0 at obio0 addr 0x48200000-0x48200fff intrbase 0
prcm0 at obio0 addr 0x44e00000-0x44e01fff: Power, Reset and Clock Management
sitaracm0 at obio0 addr 0x44e10000-0x44e11fff: control module, rev 1.0
gpmc0 at mainbus0 base 0x50000000: General Purpose Memory Controller, rev 6.0
gpmc0: CS#0 valid, addr 0x08000000, size 256MB
com0 at obio0 addr 0x44e09000-0x44e09fff intr 72: ns16550a, working fifo
com0: console
sdhc0 at obio0 addr 0x48060100-0x48060fff intr 64: SDHC controller
sdhc0: SD Host Specification 2.0, rev.49
sdmmc0 at sdhc0 slot 0
sdhc1 at obio0 addr 0x481d8100-0x481d8fff intr 28: SDHC controller
sdhc1: SD Host Specification 2.0, rev.49
sdmmc1 at sdhc1 slot 0
tiiic0 at obio0 addr 0x44e0b000-0x44e0bfff intr 70: rev 0.11
iic0 at tiiic0: I2C bus
seeprom0 at iic0 addr 0x50: AT24Cxx or compatible EEPROM: size 32768
tps65217pmic0 at iic0 addr 0x24: TPS65217C Power Management Multi-Channel IC (rev 1.2)
tps65217pmic0: power sources USB max 1300 mA, [AC] max 2500 mA
tps65217pmic0: [LDO1: 1800 mV] [LDO2: 3300 mV] [LDO3: 1800 mV] [LDO4: 3300 mV] [DCDC1: 1500 mV] [DCDC2: 1100 mV] [DCDC3: 1100 mV] 
omapdmtimer0 at obio0 addr 0x48040000-0x48040fff intr 68: DMTIMER2
omapdmtimer1 at obio0 addr 0x44e31000-0x44e31fff intr 67: DMTIMER1ms
omapdmtimer2 at obio0 addr 0x48044000-0x48044fff intr 92: DMTIMER4
omapwdt32k0 at obio0 addr 0x44e35000-0x44e35fff: rev 0.1
cpsw0 at obio0 addr 0x4a100000-0x4a107fff intrbase 40: TI CPSW Ethernet
cpsw0: Ethernet address 90:59:af:cen:sor:ed
ukphy0 at cpsw0 phy 0WARNING: module error: vfs load failed for `miiverbose', error 45
: OUI 0x00800f, model 0x000f, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "dmtimer" frequency 24000000 Hz quality 100
IPsec: Initialized Security Association Processing.
ld1 at sdmmc1: <0xfe:0x014e:MMC02G:0x00:0x5581cc4e:0x000>
ld1: 1832 MB, 930 cyl, 64 head, 63 sec, 512 bytes/sect x 3751936 sectors
ld1: 4-bit width, bus clock 52.000 MHz
ld0 at sdmmc0: <0x03:0x5344:SU32G:0x80:0x22ae1589:0x0db>
ld0: 30436 MB, 7729 cyl, 128 head, 63 sec, 512 bytes/sect x 62333952 sectors
ld0: 4-bit width, bus clock 25.000 MHz
NetBSD/evbarm (beagleboard) (console)


At present only 622MB of the sdcard are in use and the root filesystem is pretty full, and the sdcard is significantly larger, so I'll grow the root filesystem using the recipy from the ports/evbarm/beaglebone wiki page.

This done, reboot, and getting pyxis set up like any other NetBSD: editing rc.conf, creating users, building and installing packages, ...

A lot of devices the BeagleBone Black contains aren't yet supported; progress reports on that is going to be subject to a later post.

spz: (Default)
2013-11-02 12:38 pm
Entry tags:

The Petrie Multiplier

So Ian Gent blogged about an explanation Karen Petrie had for why women in tech experienced more sexism than men, and David Chart refined it.

What I am missing here -- i.e. what really rubs me raw, is that usually, when blatant sexist talk gets issued, the woman is very often not the only listener, and that in 99.9% of cases, if any man comments at all, it is to make sympathetic noises .. at the one spouting sexism. And if a woman protests, she usually gets a pack of men mocking her. Because it is so funny to see a woman being upset about having her ability to do her job (or to ever receive any credit for what she does) summarily denied the fourth time that day.

You would think that a guy would protest if another guy called their mother, sister, wife or daughter incompetent, too stupid to live, generally useless, never doing anything of value in their entire lives, and a parasite on men. They don't. No "you're being a tad unfair there". No "they aren't all like that" which is the usual inoffensive female response to a ranting woman. Instead "yes, that's exactly how they are".

Either these men are too stupid to even notice that when they say "women" that's also their wife etc they are condemning, or loyalty is seriously not a common trait in men.

And men question their sexist brainwashing a lot less than the above calculations assume.

spz: (Default)
2013-10-03 12:16 pm
Entry tags:

xennify a server

I have a new server, a DL120 G7.
I originally installed a standard NetBSD/amd64 6.1 on it; it's main purpose is to have lots of disk.
It currently has two physical disks which are mirrored using raidframe, since the built-in "simple" SATA raid controller won't serve disks larger than 2TB. For that reason, also, its bootblock is on a USB memory stick - boot.cfg and kernel etc are already read from RAID.

Lately, an extra use for it offered itself, so I:

  • grabbed the NetBSD Xen Howto
  • installed 6.1.2 (just out, get it while it's fresh)
  • installed a XEN3_DOM0 kernel
  • installed xenkernel42 and xentools42 (with its stately procession of dependencies. perl, python AND ocaml ..)
  • added a Xen line to its boot.cfg (the man page has an example)
  • rebooted to Xen. Lo and behold, a Xen dom0 (that was easy)

Since there's little point in a dom0 all by itself, on to preparing a guest:

Since it's a xen*42, /usr/pkg/share/examples/rc.d/ had xencommons, xend, xendomains and xen-watchdog; I copied these to /etc/rc.d and put xencommons=YES, xend=YES and xendomains="$guestname" into rc.conf.

I had partitioned the disk to reserve some space for potential package bulk building, and made these partitions into their extra raidframe instances. I now used one of these to turn raid3e into raid3a and a bit of swap.

newfs raid3a, mount it to /mnt, unpack sets and the XEN3_DOMU kernel to it, MAKEDEV in /mnt/dev and give /mnt/etc a few licks (normally one'd use sysinst for all of that), umount /mnt.

On to creating the Xen guest description file: I copied /usr/pkg/share/examples/xen/xmexample1 to /usr/pkg/etc/xen/$guestname, and ended up kicking out most of the entries. I retained kernel, memory, name, cpus, vcpus, vif and disk.

For vif, some more work on the dom0 was necessary: I created bridge0 and "brconfig bridge0 add"'ed the physical ethernet interface, set the bridge "up" and made it all reboot-safe.

xm create -c $guestname, some head-scratching, a correction of the disk line syntax (/var/log/xen/* had hints what it didn't like; it wanted: "disk = [ 'phy:/dev/raid3a,0x1,w' ]") and I had a running guest.

Some more administrative niceties like installing a few packages on it, making sure it knows where to send root mail, etc pp, and it's ready for business.

Things to find out some other time, for another guest: mount a partition of the dom0 readonly?

And todo (there is always at least one todo left): update the NetBSD Xen Howto to reflect the availability of xenkernel42 and xentools42.

spz: (Default)
2013-06-21 09:22 am

filter bubbles, individual experience, and sexism in IT

Let me start with a confession: I tend to treat "stupid" people I interact with badly, if I run into their intellectual limitations. And that's even though I am fully aware that not being intelligent does not make you a bad person, and that that feature is not something people chose for themselves. My gut reaction is that if they don't get it (no matter what "it" is), they must be failing to pay attention, so I get testy (and that's not very smart of me, no matter the cognitive ability present).

This reaction is due partially to myself living in a real-life filter bubble; I've studied physics and worked in server IT since. The people I really interact with tend to be in the top 5% regarding intelligence, and my idea of what "normal" looks like therefore is seriously skewed.

Something that has annoyed me for a long time now was men in a computing context treating me as a moron until I had figuratively hit them over the head a few times, and some even needing occasional reminders. "Women are either stupid or crazy, or both" is a sentiment I have heard all too often. The angry if uncharitable reply to that is that what they really said was that no sane and smart woman would stand their company long enough so they could get to know her.

Lately I have been considering the possibility that those men who believe that men are so much smarter than women (even if they have learned to not say that aloud, many show it in their behavior) aren't actually speaking and acting from their experience, and if the angry retort was possibly literally true: They start out in a field with few enough women that they meet no woman peers, and the only women they interact with are in crappy "supportive" jobs that aren't paid enough, nor interesting enough, to attract women who can do better. The afflicted men then either really don't go out much or act towards women in a manner that is repulsive to people with an IQ above room temperature, which keeps intelligent women who have any self-respect away from them and thus reinforces their belief that women as a class were stupid, or basket cases.

What do you think? Is the high number of otherwise fairly smart men in IT who are decidedly sexist a result of a self-reinforcing real-life filter bubble? Or do you have a better theory?

spz: (Default)
2013-03-19 05:14 am
Entry tags:

attending AsiaBSDcon - a first time visit to Tokyo, and Japan

I live in the commuting zone of Munich, Germany.
I have just returned from a trip to Tokyo to speak at AsiaBSDcon.
This text is supposed to serve both as a reminder for me for next year (if I can find a topic I'll definitely submit a talk again) and for other first-time visitors.


The trip out was also my first long-distance flight, and in the case of Munich-Tokyo, non-stop means a 12 hour flight.

    Wisdoms learned:
  • Do not get onto such a flight straight from work after a full work day. At least find a shower at the airport and do a change of clothes before boarding the plane.
  • A flight with a stop-over may actually be more pleasant, if longer in total.
  • Check in early online and pick an aisle seat, preferably one where you can stretch your legs a bit too (advice void where you don't fly Economy on the cheapest ticket you could get, as you should on the conference's money. Also, the experience for thin-and-short people may differ - I'm 1.72m and rather wide).
  • Be able to shed clothes to fit the "max" temperature forecast for Tokyo - you'll be dragging luggage around, that's plenty of exercise to keep you warm. Expect Tokyo to be at least 10 degrees warmer than Munich.
    Do the same for the trip back: I left a sunny Tokyo with what for me is t-shirt temperature (the locals disagreed), and was welcomed back by Munich airport with 4° C and sleet, which had turned to below 0° C and snowing at my home train station.
  • For me only, likely: get a larger suitcase. Sticking to cabin luggage size doesn't make sense if you are checking it in anyway. Forget about returning with less stuff than you brought.
  • Jetlag: There's a 9 hour time difference Munich to Tokyo. The advice I got worked for me, I got over it in a day (where I'd expect a day of recovery for a trip like that even without time zone changes): keep awake until local early bedtime and then get up at normal local time, and go outside for a walk, thus using daylight to reset the clock. This was helped a lot by the weather being nice to me, and not presenting me with worse than a light drizzle over the whole stay (predominantly sunny, even).
  • Given that I didn't need two days downtime to cope with jetlag, I could have flown out on Wednesday as well. The Tuesday ticket was ~100 Euro cheaper, if the conference paid list price at the hotel picking the shorter stay would have been more economical in total.
  • Getting a Suica/N'ex ticket, and thus the Suica card at Tokyo airport was a very good recommendation by the conference organizers (thanks). Expect to stand in line at the ticket office for a while, and then to have to leave for the next train immediately so you catch the train you have a ticket for. If you fly out from Tokyo within 10 days of arrival, you can get a round trip card for the Narita Express, directly.
  • Public transport within Tokyo is dirt cheap, compared to Munich. Putting about 20 Euro on the card (2000 Yen in addition to the initial charge) was way overblown.
  • There seem to be at least 3 routes to just about any point you want to get to on the public transport system. A warning: having a station near won't mean you won't walk a lot, some stations' exits are so far apart that they would be distinct stops in inner Munich. Lines are coded by color and a latin letter, and the metro uses the next stop as a direction indicator. There are a lot of English labelled directions around. I picked going to Akihabara and to Ikebukuro for short directed shopping raids on my own, and got around ok, if not exactly on the routes I had planned beforehand and as short as I had expected.
  • The stations for the speaker hotel (Villa Fontaine Kudanshita) were/are Jimbocho (around the corner, closest entry, longest walking around underground, long staircase with no escalator at the exit), Suidobashi (in my experience, most pleasant to use) and Kudanshita.
  • The station for the venue is Iidabashi south-west end (that's one of the two-stop stations), but from the speaker hotel it's a rather pleasant walk mostly along little streets not noticeably longer than getting to and from the stations.
  • Budgeting a daily allowance for food: I had heard that Tokyo was very expensive, so expected around 100 Euro a day. This is seriously off on the high end, very nice (and plentiful) dinners were 20-30 Euro/person. Also, during the conference proper, if you attend the social, lunch and dinner are covered - there's basically no time to spend money, except if you go to a bar after dinner.
  • For the trip home, time-budget the Narita Express to not be running due to weather conditions. The ordinary express train to the airport leaves from the same platform and will accept a ticket for a cancelled Narita Express, but will take closer to 1:45 for the trip due to more frequent stops and will start at a time offset, obviously. I had planned to be at the airport two and a half hours before boarding time to make sure I didn't miss my plane due to train delays, and just made still acceptable baggage drop and pass-the-controls time; since my gate was at the tip of the terminal, I didn't get to sit down to wait for boarding - shaving it a bit close for my taste.

Tokyo: Observations and Experiences

Visiting a city where you are effectively illiterate and don't speak a word of the language, plus manners and body language are different is an intimidating idea. Fortunately for me, Tokyo is pretty accommodating to visitors who (only) read Latin script and speak English, and while I would not expect to be able to make best possible time between two random points of the Tokyo subway map, I am now confident that I would be able to get from point A to B whatever they are (especially: to get to the hotel or venue) with a bit of extra time and wandering around to find something labelled in English, with zero preparation whatsoever.

Crowds in Tokyo seem to be amazingly pulsed. For me respectively in my experience, body language is off enough to make the automatic evasion algorithms fail, i.e. when I walked through an oncoming crowd I evaded to the same side as the person coming towards me frequently, whereas "at home" this barely ever happens without me even taking notice. Fortunately, when I am in a touristy setting I can just step aside and let the wave pass, and not be a mobile source of turbulence in the flow. When in a hurry, picking a person going the same way and trailing them like a duckling works pretty well - same, obviously, when following a guide. :)

Japan drives on the left side of the street. On escalators, stand on the left.

Mind the 110V line voltage. Get an adapter for a two-pronged socket, there may not be any three-pronged sockets in the hotel room.

Pedestrian traffic lights for street crossings of one or two lanes in total seem to be considered purely advisory by the locals; I picked up their cues (check and cross if there's no cars) without ill effect.

Car drivers seem to be very aware and considerate of pedestrians. A pedestrian giving up right of way for a car that's starving at a crossing seems to be unexpected, just slowing down noticeably and nodding at the driver doesn't seem enough cue.

Street population density, in general: walking around in Akihabara on a Saturday afternoon was about on par with walking between Stachus and Marienplatz off the touristy seasons on a Saturday afternoon, full but not reaching annoying levels, same with Ikebukuro on a Friday afternoon.

Another strong (and pretty immediate) impression I got is that Tokyo is what you get if you take an ordinary large city, and then compress it by a factor of four, while keeping the width of the thoroughfares. Then set another city next to it, repeat a few times.
Some of that compression is achieved by making buildings higher. Also, there are shops on other levels than the ground floor in places that are not something like malls.

Attention, weird people crossing? less goths or punks, instead people (well, women and girls) in neon-colored tulle or furs. About as many women in kimono (I did not notice any men in traditional garb) as you'd expect women in Dirndl in Munich outside of Oktoberfest season; I was told that it was a graduation day for students and that was celebration finery.

Less women in sensible shoes, instead pumps or sneakers (and the latter obviously not to business clothes). Walking in very small steps seems to be considered feminine and some execute it even if not forced by a ridiculously tight skirt.

The canonic length of skirt seems to be "a bit shorter than the hollow of the knee", which makes sense if you see how women sit (when not on chairs). Generally, sitting .. I was taught as a girl to not sit on the floor, it's bad for you (more likelihood of bladder infections for females), it's just not being done. Obviously, in Japan one does sit on the floor (inside, on a cushion, but still). Also, my jeans (any of them) turned out rather not fit to fold up my legs at a significantly acute angle, with the result that when I tried to sit at table, my feet went to sleep in turns due to lack of circulation. If going out to dinner with Japanese hosts, it seems a good idea to either warn them that you have issues sitting down on a cushion (the variant with the hollow under the table obviously just requires being able to get down on the floor, only a potential problem for the elderly or infirm, or seriously tight jeans), or get distinctly wider trousers or a skirt. Not going to wear such a short one though. :)

I've loved most of the Japanese food I got around to trying, yet. I've cheated and been eating at Sushi restaurants most work Fridays for a while, so I can handle chopsticks adequately well. I can imagine learning Japanese to the skill level I have for French: say good morning, good night, please and thank you, and everything that is likely to appear on a menu. Due to the remarkable (and very practical) drinks ordering system, being able to read the words for water, apple juice and grapefruit juice as well as cold tea would be very useful. And I didn't even get around to eating a bowl of soup with udon (which is one of my favorite dishes at home).

Akihabara (if you get out on the right end of the station and actually find the right area) is lots of little shops with electronics, many of them featuring used goods. About Schillerstrasse times ten. From my by necessity cursory inspection, the selection of actual electronics by and large is about the same as available in Munich; the selection of accessories is huge, variable, and including the utterly ridiculous. :) Definitely a sight to see. I got myself a mouse pad with a glittering-big-cat-spots pattern as a souvenir.
Also, prices for a lot of stuff are surprisingly cheap. Others, quite the opposite.

My excursion to Ikebukuro was to buy a toy or two to bring for my cats. I get the distinct impression that keeping a cat (or two) in Tokyo is a luxury not afforded by many (in Germany, a fifth of the households has cats). I picked toys and snacks not available at home (that being the point), and the shiny-bug-on-a-glass-fiber-spring toy is very successful and making even the old cat jump around like a kitten. :) I'd expect a similar item to be half the price in Munich, though, and I went to a department store with a pet section; there seem to be more boutiques selling art with cats on it (if such a shop exists in Munich I've not noticed it) than shops selling supplies for cats. That seems to be a symptom of rather severe cat deprivation.

On speaking English with Japanese (by necessity: I don't speak a word of Japanese and would be shy to try phrases lest I talk about eels in hovercrafts by mispronunciation): Japanese sounds distinctly percussive to me, and the rate of syllables a Japanese speaker can produce is impressive to frightening. Alas, parsing audio input at that rate is a learned skill that I didn't have time to develop, so while talking to (or rather understanding) relaxed (and slow-speaking) Japanese worked rather well, in other instances I had serious trouble following speech even though, in retrospect, it probably consisted of the appropriate words with the appropriate pronunciation, just in rapid fire.
The English skills encountered were as expected, rather well developed with the conference attendants I talked to, understanding-a-lot-better-than-speaking with the random ticket clerks I interacted with. Given the larger difficulty of learning English for Japanese speakers than German speakers, this is actually pretty impressive.

Regarding manners, either the people I interacted with are too used to non-Japanese to bat an eye at mine, were too polite to twitch enough for me to notice or I didn't blunder regarding the major differences between expected behavior that badly. My experience was pleasant, I hope my hosts' experience was too.

The hotel room was well appointed, small but (compared to European hotel rooms I've staid at) not unusually so, and entirely adequate for sleep, freshen up, look at mail, go out schedules like a town visit or a conference. Instead of hotel wifi, a wired ethernet port and two power sockets flush mounted in the top of the desk; an ethernet cable was supplied. There also was a large TV that I didn't turn on once. The blow-dryer was a useful model, not the useless heat-but-no-wind model most European hotels sport due to regulations limiting air throughput. That was fortunate, since the blow-dryer I typically travel with only does 220V (so I had left it at home). The soap dispenser produced bergamot-scented foam, very nice. The fixtures were "two valves, hot and cold, one outlet", no handling problems for me there.

The toilet experience is funny. :) Unless the toilet (room) was unheated (which was not true at any of the places I used), the heated seat seems a bit pointless, though. The "shower" setting might come in handy on occasion, the "bidet" setting for me does not end up anywhere useful.

I'm used to a mattress with at least 15cm give. The bed in the hotel room, true to local custom, has about 5cm. The first morning I woke up with lower back pain from a warped spine (men may not run into that problem due to usually not having wide hips), the second night I seem to have learned to pick a better sleeping position and that problem didn't reoccur. But enough on the TMI section.

The Conference

I fought with stage nerves and spent most of Friday fiddling with my slides, adding illustrations and examples which were partially culled again. Thankfully, my talk was early, in the second slot on Saturday, so I was able to enjoy the rest of the conference. Feedback to my talk was that it was ok, it would be useful to also receive criticism, especially how useful the distribution of talking and slide points was to attendants with less familiarity with spoken English.

As usual, breakfast, lunch, dinner and breaks were the most valuable parts of the conference. I picked up some ideas from the talks I attended, as well. They are all in the "time-consuming" quarter of Things To Do, so we'll see if and how and when I get around to them.

I quite liked the 10min talks format. Since it allowed to talk about uncooked eggs as well, it was rather information-dense -and- news.

AsiaBSDcon gender distribution is quite the familiar, aka slightly depressing.

The number of Germans, OTOH, was amazing.

EuroBSDcons manage to produce input overflow for me, this AsiaBSDcon was worse in that respect.

I think I met half the NetBSD developers at the conference, talked to a quarter, and will be able to put face and name together for about 2/3 of who I consciously met. Time definitely was too short :) Also, if I manage next year, I'll try to get t-shirt colors and sizes via mail beforehand; this year the flu I had three weeks before the conference seriously impacted plans, and getting the talk and slides done had to take precedence. Jörgs tip that the .jp NetBSD developers tended to "long and thin" and M and L were most useful sizes mostly played out, so those t-shirts I managed to pack found good new homes.


It was fun. I want to do it again (just not this week, or next, and with a bit more preparation time next time. Mercy!). It was exhausting. The latter would get better with repetition, since the sheer amount of new people, new places, new ways to interact would lessen.

spz: (Default)
2013-01-26 10:24 am
Entry tags:

zu #aufschrei

Als ich 10 war, fingen Männer an mich mit sexuellen Anzüglichkeiten und Grapschereien einzuschüchtern; ich dachte das wäre mein Fehler, weil es anderen Mädchen ja nicht passierte, schämte mich und sprach nicht davon.

Als ich 20 war, habe ich Diffamierung (Frauen sind automatisch dumm und nutzlos und können keine Technik & Wissenschaft, sind nur als Dekoration gut, etc) geschluckt und darauf geschoben, daß ich typischerweise die einzige Frau und "nicht ganz richtig" war, und extra hart gearbeitet um zu zeigen daß zumindest ich nicht unfähig bin.

Als ich 30 war, war ich bissig und hinreichend getarnt, daß ich persönlich zumindest von Bekannten nicht mehr krumm angegangen wurde, und ich konnte das Grundrauschen an Frauen-Diffamierung ignorieren.

Vor ein paar Jahren habe ich gelernt, daß ich nicht der einzige fast-Teenager war, der belästigt wurde, nicht die einzige Frau mit Interesse and Wissenschaft und Technik (nur etwas dickhäutiger und sturer als die, die sich vertreiben ließen), und daß die Dauer-Diffamierungs-Berieselung sich in konkreten Nachteilen für alle Frauen niederschlägt, vor allem aber für die jungen, die sich ihren Platz erst suchen müssen und deren Chancen systematisch beschnitten werden.

Ich erinnere mich, wie es sich anfühlt im wesentlichen verteidigungslos und unverteidigt mit Belästigung, Benachteiligung, Diffamierung und Ungerechtigkeit zurechtkommen zu müssen. Ich bin nicht mehr in dem Ausmaß selbst betroffen, aber das heißt im wesentlichen daß ich Unrecht ansprechen kann ohne selbst wesentliche Nachteile erwarten zu müssen, und deswegen tue ich es auch. Damit die Mädchen und jungen Frauen heute nicht allein damit zurande kommen müssen, damit Männer es merken daß ihre Sprüche nicht fair sind, damit die frauenfeindlichen Sprücheklopfer nicht nur Wackeldackel um sich haben.

Es gibt auch Ungerechtigkeiten die Männer betreffen. Ich begrüße es wenn Männer diese ansprechen, sofern sie dabei Fairness walten lassen. Beispiele sind Gewalt gegen Männer (sexuelle und andere), Reaktion des Arbeitgebers und der Umwelt auf den Versuch, Vater und nicht bloß Erzeuger zu sein, Sorgerecht, Generalverdacht bzgl Mißbrauchs von Kindern (wo es sich lohnen würde auch Frauen besser auf die Finger zu schauen), und nicht "gender-konformes" Verhalten.

Nicht fair hingegen sind Männer, die sich finanziell von ihrer Freundin ausgenommen fühlen ("alle Frauen sind Parasiten die nur hinter dem Geld des Mannes her sind") und als Beweis anführen, daß ihre Freundin darauf besteht daß sie einmal die Woche zum Essen ausgehen und der Mann zahlt, dabei aber geflissentlich vergessen daß sie die restlichen 6 Tage die Woche bei der Freundin essen (weil sich so ein Kühlschrank ja auch selber füllt, ohne daß es wen was kostet, und Arbeit von Frauen ja grundsätzlich nicht zählt - wohingegen ein Handgriff eines Mannes zwei Wochen gelobt werden muß). Die darauf bestehen, daß ihre Freundin sich schick macht und gut aussieht, damit sie mit ihr angeben können, aber sich beklagen, daß modische Kleidung Geld und ausgefeilte Kosmetik Zeit kostet. Die Kinder haben wollen, aber doch bitte nicht die Arbeit und Verantwortung, die mit Kinderversorgung verbunden sind. Die erwarten, daß man sie bemitleidet, weil eine Partnerin sie nicht rundumversorgt und ihnen in jeder Hinsicht den Hintern hinterherträgt, wie es ihre Mutter getan hat als sie 6 Jahre alt waren. Wer mit diesen Problemen kommt, darf mit Spott heimgehen.

spz: (Default)
2012-05-01 07:44 pm

in Memory of a Cat

The cat I use as an icon lives no more.

He wasn't my child; that would deny his felinity. The death of a child would hurt quite differently.

But he was a member of my household and of my immediate family for 16 years, and he is leaving a cat-shaped hole in my life and my heart, and that of my husband. The other cat seems to miss him too.

He essentially died of old age, although we helped the process along when it was clear there was only suffering left. In retrospect, it is awful how little of life, of his joys, of his places and activities was left to him in the last months before his death, although he seemed to still be appreciating the little he had left until very shortly before the end. Thus, I do not grieve his death at the very end so much as the loss of the cat he once was, and the loss of hope that he would get better (slim as it was).

He used to be a very temperamental and active cat; scared of the vacuum and the outside of the flat, but standing up to and battling cats twice his size (and winning by being more spirited, too). He used to try any food offered to him, and we used to joke that his true name was food, in good times. Also in good times, you never had to dangle a string or throw a ball for long, he would be galloping after it or jumping on it all fours at once. He loved scritches and petting up until the very end.

He was sent to sleep, after 2 days of not eating or drinking (and refusing even water dribbled into his mouth), and I think also not really sleeping, when he became too weak to walk but still felt the need to wander around, while being held on the arm of my husband, and me petting him. I hope his last sensations were of the pains finally going away, and his household (including his feline companion) being there for him.

Goodbye, Farley.

spz: (Default)
2010-08-23 07:36 am

prejudice is difficult to get rid of

(old) SMBC saying sexism was on the Y chromosome

I wished. If all women suddenly stopped being sexist, even just being sexist to the detriment of women, that would already be a huge step towards a fairer world. But getting a grip on ones prejudices (even those one knows to be wrong by being a counter example, and even those that bite oneself) is lots harder than it should be.

I'm not particularly happy with myself when I catch myself thinking of someone else as their stereotype, the only consolation is that it beats not even noticing when you do it. Because when I notice, I can kick myself and tell me sternly "don't do that". :}
spz: (Default)
2010-08-19 10:10 am

'evolutionary' psych

So there is this expectation that in prehistoric times, all the women gathered and never hunted, and all the men hunted and never gathered.

It seems to me that people who hold these opinions have a blatant lack of knowledge of, eg, Greek and Roman mythology, and need to read up on who the god of the hunt was (hint: 'Diana/Artemis').
Also, it is daft to assume that hungry hunters would pass a bush full of ripe berries or not pick the edible mushrooms they happened by.
spz: (Default)
2010-07-28 03:48 pm
Entry tags:

eben auf irc

<valle> .oO( Ist jemand mit viel Holz vor der Hütte nicht prädestiniert dazu, ein guter Hacker zu werden? )

Dem kann ich nur beipflichten. :)
spz: (Default)
2010-04-14 08:43 am
Entry tags:

why is C easier than plain English?

you get a near unlimited number of retries without anyone/anything being mad at you or disgusted with you if you didn't get it quite right. Also, getting it not quite right at first is considered normal.
spz: (Default)
2010-03-24 10:13 pm

short Ada Lovelace day post: Lynne Jolitz

Without her (and her husband) there would not have been a BSD kernel.

Thanks :)

Lynne Jolitz did lots of other neat stuff since, but starting off BSD as an actual operating system instead of additions to AT&Ts Unix is what I appreciate most, personally.
spz: (Default)
2010-03-20 09:55 am

Google Summer of Code 2010

Google Summer of Code is a program where Google is employing students for a summer job that consists of the student working on an open source programming project.

My organization, NetBSD, is taking part as a mentoring organization, like we did in previous years, and I am this years main organization administrator for NetBSD.

If you are a student, at least 18 years old, have nothing planned yet for the summer break, know some Unix and can passably program in C, look at our suggested projects page.

You do not have to be a programming god to take part in GSoC; any projects on our list up to medium can be done by someone who knows the basics, has an idea what the project is about, and is willing to work hard on it. You are not going to be left alone with your project, you will have a mentor who will tell you what you need to learn and research and who'll help you if you get stuck.

If you find something that appeals to you, talk to the listed contacts, and go ahead and apply for it if it continues to appeal. More than one application is entirely acceptable, as long as you did your homework on the projects you are applying for.

If you don't find any project that appeals to you with NetBSD (eg because your programming language of choice is anything but C), look if you find something that does hit the sweet spot here.

You will hardly ever get a better jumpstart into high quality programming than by taking part in this program. In most of the lesser difficulty projects on the NetBSD list, the mentor could do the project in less time alone than they'll spend mentoring you; while a finished product is definitely a vital goal, the more important goal is getting you across the initial hurdles of not daring to take part and not knowing how to take part in an open source project, and to teach you good practical programming habits.

While there are programming gods (NetBSD has a few), the project would not work with them alone. And the remainder of the people are just cooking with water and breathing air. And, you know? with a little bit of initial prodding, you might grow to be a programming god eventually.

PS: if you already are a programming god, put your teeth into a high difficulty project. :-)
spz: (Default)
2010-02-28 11:26 am
Entry tags:
spz: (Default)
2009-11-12 01:23 pm
Entry tags:

Geistige Umnachtung

Ein Kollege fragte: Ist jeder der ein Blog pflegt ein Blogwart?
spz: (Default)
2009-11-02 05:08 pm

some thoughts on feminism

It's all damned-colonials fault. :P
Hers and the fault of the other people at the GeekFeminism blog, that made me revisit the 'feminism' issue again.

I don't agree with all that is written there, but I agree even less with "lalala, there are no problems". Most of the problems are not big bombs you can send a TV crew to cover, but one little personal slight after another, undermining self-esteem and trust in the decency of men.

So, is there sexism? of course there is, and it cuts men too, every time a guy wants to do something and gets mocked away from it because it's not 'manly' enough.

Is it all the mens fault? No, I don't think so, in fact I think one of the worst aspects of cultural sexism is that it gets wielded by women on women, too. I studied physics once upon a time; I never got told by my male fellow students, let alone my professors I wasn't a proper girl for doing that, but by quite a few women, both my age then and older. Just like men police men into their alotted gender role, so do women to women with the slogan "unfeminine".

I disagree on the common demand that women should be able to remain as they are (i.e. fully conforming to the current gender stereotype brainwashing) and get handed half of everything. I also disagree that rights get granted; they get claimed, together with their responsibilities tacked on, not the least of which is to defend them. You cannot sit on your butt and wait for men to bring you presents and not be a dependent. You cannot be Dad's spoiled little princess and an emancipated adult at the same time. Flipping don't pick up his socks, do something more important instead, he does; he'll remember to collect his socks himself eventually if you manage not to train him to laziness, he's likely an adult and won't die of the heavy lifting.

I think there is a sizable amount of women who had internalized the "be pretty and men will look after you, thinking is not sexy and hard work too" really well; so they were pretty and sexy and didn't bother with thinking a whole lot when they were teens and twens, and now they are forty-plus, and find that they can't make men jump through hoops any more, and all they became was a housewife, not rich, famous and glamorous, so now they are disillusioned, bitter, and complaining [1]. But the habit of not thinking is still going strong, and of course doing engineering is unthinkable for a woman to the point that women engineers on the net (even those with a feminist agenda) must be secretly men (or stupid girls writing down what their boyfriend dictates to them), especially if they speak out against treating men grossly unfair for the sin of being male, or tell them the world is not as they imagine and the laws of physics won't keel over because someone throws a tantrum, and things don't actually change just because someone gives them a different name.[2]

One thing I agree with is that there is a lack of visibility of just-ordinary-people technical women (i.e. the step between Marie Curie and Lise Meitner and Emmy Noether and the first year student without claim to first-rate genius, just 'good average'). I used to let people assume I was male online because I neither enjoyed the wannafucks (send pix! etc .. yes boy, I'm old enough to be your mother, now please settle down and let's keep to the topic of the channel, and that's not a/s/l) nor being treated as a technical idiot by a newbie with delusions of competence, only letting slip I was female when they knew I was competent (and enough of a member of whatever community to not be too stupidly importunate). I've decided to be more visible, and am quite smug to find members of 'my' pet project giving newbies that go "omgod there are GIRLS here!" a rap on the knuckles with the clue stick without any need for prompting, discussion or drama. I love being in the company of smart people. :-P

[1] Not saying here that housewives are stupid; it's not for me but if your calling is to have 8 children and bring them up well, more power to you. It's just that that may be a path to happiness, but rather rarely to glamor and riches.
[2] I guess one really needs to have read the German feminist magazine Emma at least once to understand what I'm referring to here.
spz: (Default)
2009-08-22 10:59 pm
Entry tags:

SPQR Blues is alive again

SPQR Blues has updates. Squeeeeeeeeeee! :)