Sat, 26 Dec 2009
IPv6 with mcast UserModeLinux backends
I am doing some work with IPv6. (see
http://bluerose.sandelman.ca/projects/show/unstrung )
I have a test network shown at:
http://bluerose.sandelman.ca/repositories/changes/unstrung/doc/network-1.png
In automated testing I would normally use the daemon mode, with uml_netjig.
In casual use, I was using the mcast backend, because it has fewer moving
parts.... but my network interfaces kept remaining in state "tentative"
and I could not send packets.
What was the problem, I debugging for awhile through the IPv6 code,
and finally thought that it had something to do with the UserModeLinux
network interface never providing low-level LINK "UP" signal, and so it never
did Duplicate Address Discovery, and remove the tentative mark.
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 fe80::1000:ff:fedc:bcff/64 scope link tentative
valid_lft forever preferred_lft forever
6: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 fe80::1000:ff:fe64:6423/64 scope link tentative
valid_lft forever preferred_lft forever
Note that it says "tentative".
NO! DAD was occuring just fine, but it FAILS.
Why? Because it thinks it has a duplicate... finally I noticed
eth0: duplicate address detected!
eth1: duplicate address detected!
Why is this? It's because the mcast interface gets a copy of the packets that
are output. I.e. it hears itself. DAD should work even when that happens, I
think.
I need to look at whether the mcast interface should be fixed (remember it's
own packets and ignore them? Drop packets that originate from it's own MAC
address?), or should DAD be fixed?
posted at: 22:08 | path: /virualization | permanent link to this entry
Wed, 02 Dec 2009
Profit on Farmville
I'm level 14 on Facebook's Farmville. Why do I play?
Because my 4yr old likes it. Of course, I want to maximize my profit.
I only run it about once a day, so crops that wither before I can harvest
them are out, but what next? It costs 15 coins to plow the field each time.
It turns out that longer growing crops aren't worth much more.
I did a spreadsheet to work things out.
<pre>
cost sell harvest profit profit/day
wheat 35 115 3.0 65 21.7
eggplant 25 88 2.0 48 24.0
artichokes 70 204 4.0 119 29.8
daffodils 60 135 2.0 60 30.0
squash 40 121 2.0 66 33.0
soybeans 15 63 1.0 33 33.0
cotton 75 207 3.0 117 39.0
bell-peppers 75 198 2.0 108 54.0
aloe vera 56 85 0.2 14 56.0
strawberries 10 35 0.2 10 60.0
cranberries 55 98 0.4 28 67.2
pumpkin 30 68 0.3 23 69.0
rice 45 96 0.5 36 72.0
peppers 70 162 1.0 77 77.0
raspberries 20 46 0.1 11 132.0
</pre>
Raspberries take 2 hours. Sometimes worth it, but the profit margin is very
low unless you do it all day long.
Ruling out the things that take less than a day, leaves me with peppers,
bell-peppers, and cotton as the highest grossing.
Too bad that the market price didn't depend upon other factors, like how many
other people were growing it... or if you grew some things properly, you
could keep the seed.
Or maybe you have to rotate your crops. Or grow eggplants next to pumpkin
will keep away the racoons, or the blight.
posted at: 05:49 | path: /personalmba | permanent link to this entry
Wed, 25 Nov 2009
Port forwarding from something not your firewall
I have a number of web servers which want to express their port 443 to the
world. These machines also have IPv6, and that's what I hope many clients
will use. Since HTTPS servers can not do virtual hosting, and port 443 on
CREDIL's firewall is already taken, what can I do?
We have other public IPs, with other (virtual) machines that have internal
and external connections. I could use their port 443s.
I previously did this for port-119 (NNTP). I had set things up like:
iptables -A PREROUTING -d ${myexternalip}/32 -p tcp -m tcp --dport 119 -j DNAT --to-destination ${serverinternalip}:119
iptables -A POSTROUTING -d ${serverinternalip}/32 -p tcp -m tcp --dport 119 -j MASQUERADE
The first statement is relatively ordinary. Change the destination address.
The second statement is annoying. It is critical on machines when the default
route does not point at it. Basically, it changes the source IP that
connects to the ${myinternalip} to be the internal address of the firewall.
This actually necessary even on the default route: without this, internal
connections to port 119 do not work — this is because the internal machine
sees a connection originating from the internal client IP, to the internal
IP. The problem is that the internal client actually has a connection from
it's IP, to the external IP of the firewall.
The above method works fine, except.... the internal machine sees the
connection as being from the internal IP of the firewall. That really sucks
from a point of view of logging!
How to solve it? The problem is that packets with an origin of port 443
needs to go to the other machine... this is what I did:
On the gateway machine:
iptables -A PREROUTING -d ${myexternalip}/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination ${serverinternalip}:443
On the target machine:
iptables -A OUTPUT -t mangle '!' -d ${myinternalnetwork}/24 -j MARK --set-mark 443
ip rule add fwmark 443 table 443
ip route add 0.0.0.0/0 via ${myinternaliP} table 443
It's very important that you set the mark using the mangle chain.
It will not work on the NAT or the regular OUTPUT chain!
The result is now that packets with origin port 443, go via this alternate
firewall, and the web server itself will see the correct originating IP.
posted at: 18:21 | path: /howto | permanent link to this entry
Mon, 23 Nov 2009
Xmas lights with white cords
Apparently, at Canadian Tire, and online, if I want multicolour Xmas
lights (ideally LEDs), that I have to have a green cord. Only white cords
are with white LEDs.
I considered buying one of each and moving the "bulbs", but many of the
systems are not socketed.
I want Xmas lights I can put up on the house, staple in, and LEAVE there.
posted at: 18:16 | path: /howto | permanent link to this entry
Wed, 18 Nov 2009
My personal MBA
I blame Mike Charlton. I'm pretty sure it was some email of his that
suggested that I read The Goal. This was back in Winter 2008, I think.
Wait, can Amazon tell me... Yup. Ordered the book in February 1, 2008.
The Goal is a novel, in it we learn about the fate of a branch manager, who
learns that his branch, in his original home town, is going to be shutdown,
unless he can figure something out in just three months. Our hero learns the
Theory of Constraints http://en.wikipedia.org/wiki/Theory_of_Constraints and
saves the day... except that now Peter's principle gets applied to him, and
in the next book he has to save the division. A great read, and I learnt
lots that I didn't think I'd ever use. When I got the second book It's Not
Luck, Amazon suggested I get Critical Chain, and I did.
It turns out Critical Chain is about project management of all sorts,
including software. It's written ten years later (mid-1990s), and some of
it's a bit naive about things, but the essential theory is great, and
furthermore, it's very much compatible with Agile Methods.
I wanted more. I wondered how to get more. In early 2009, I started to
wonder if I business school might teach me more. I had not quite understood
part of the underlying story in Critical Chain was probably autobiological,
and that the frustrations of the business professor in the novel expressed
Goldratt's experience that it was very hard to get TOC accepted into business
schools.
I also began to understand that a difficulty I've had in many companies is
that I'm a techie, and I explain things from that point of view often. Unlike
other techies, I tend to be pretty good, given some face to face time with a
non-technical executive to explain things in terms that he can use, but I am
missing many of the shortcuts that would come form having more language in
common. It's not enough to talk about ROI, sometimes I think it might have
helped to be able to start from the CFO's terminology and relate it back to
mine. (i.e. to lead them from where they are, to where I am, instead of
having to entice them to start where I am, and discover the path back to
where they are)
I investigated executive MBAs. Ottawa U failed to impress me at all.
A meeting with the director was offered, but the whole thing just didn't feel
right. I went to a Queens executive MBA session, and they got me the
information that I wanted... yes it is expensive, yes, the content is mostly
there, but doing it in Ottawa is probably a mistake. I won't meet the people
that I really want to understand.
The Theory of Constraints does not figure prominently in either program. At
least Queens mentioned it. I started from the other end, who teaches this?
Google told me that it's popular at one university in Mumbai, at the Goldratt
Institute, and that the Harvard MBA also teaches it now. I talked to my
mother's cousin about all of this, and he pointed me at Henry Minceberg.
http://www.henrymintzberg.com/
I highly recommend reading: http://www.henrymintzberg.com/pdf/productivity2008.pdf
He hasn't got nice things to say about the MBA. I certainly agree. MBAs
should only be done as executive MBAs, you need ten years out there before
any it can make any sense. Harvard only offers the residential 2 year MBA.
Many of my colleagues and mentors quietly discouraged me from an MBA.
One of them pointed me at http://www.personalmba.com/ --- essentially a
reading list. In August, I decided, this would do, and the price was right.
So far I've read:
10 days to faster reading
Crucial Conversations: Tools for Talking When Stakes Are High
Indispensable: How To Become The Company That Your Customers Can't Live Without
Necessary But Not Sufficient: A Theory of Constraints Business Novel
I'm in the middle of reading:
Results Without Authority: Controlling a Project When the Team Doesn't Report to You, A Project Manager's Guide
The Unwritten Laws of Business
Throughput Accounting
Managing
Necessary But Not Sufficient is another novel. Set in 1998/1999, and
apparently written just after the dot-bust, it explains the dot-bust very
well, but also talks a lot about software companies, and manufacturing
companies, and ERP systems. It's supportive of Agile Methods (even though I
don't think Goldratt knows that term, it certainly wasn't coined until after
the book was in print).
More important, it basically concludes that software is best sold as a
service, not a product, and that actually there no value in the software
itself, only in how it reduces or eliminates limitations, permitting a person
or company to do more.
I take this to suggest that open source licensing of a lot of software is the
right way to go, particularly for anything which is targetted at business.
posted at: 07:12 | path: /personalmba | permanent link to this entry
Fri, 06 Nov 2009
Fido Dollars suck
Dear Fido:
Please cease telling me about my fido dollars.
(I've received two emails in the last 24 hours)
Your fido dollars have no value. Not only are they not going to keep me as a
customer --- I prefer to have an unlocked phone, and I'll pay for it.
In fact, your recent change to prevent me from spending my credits on
whatever I want means that I will look for alternate GSM providers as soon as
they appear.
I'd gladly trade my 284 fido dollars for a bluetooth headset, (now required
in Ontario), and I tried to do so a year ago. You changed your rules
without any real notice last March.
But, it's hard to pick the right headset when you can not see it. And I can
not redeem through your stores. and your web site was totally useless.
No, I do not think Fido Cares about me.
I think Fido is busy humping Ted Roger's leg.
posted at: 20:34 | path: /netneutrality | permanent link to this entry
dumping list of active services
From the shell of your rooted android phone run:
# dumpsys activity.services
Currently running services:
activity.services
-------------------------------------------------------------------------------
DUMP OF SERVICE activity.services:
Services in Current Activity Manager State:
Active services:
* ServiceRecord{43a3dca0 com.android.inputmethod.latin/.LatinIME}
intent={act=android.view.InputMethod cmp=com.android.inputmethod.latin/.LatinIME}
packageName=com.android.inputmethod.latin
processName=com.android.inputmethod.latin
permission=android.permission.BIND_INPUT_METHOD
baseDir=/system/app/LatinIME.apk/system/app/LatinIME.apk dataDir=/data/data/com.android.inputmethod.latin
app=ProcessRecord{43a3e670 660:com.android.inputmethod.latin/10002}
isForeground=false lastActivity=-296633
startRequested=false startId=0 executeNesting=0 executingStart=-296565 crashCount=0
totalRestartCount=0 restartCount=0 restartDelay=0 restartTime=-296633 nextRestartTime=-329523
* IntentBindRecord{43a3e110}:
intent={act=android.view.InputMethod cmp=com.android.inputmethod.latin/.LatinIME}
binder=android.os.BinderProxy@4392a698
requested=true received=true hasBound=true doRebind=false
* Client AppBindRecord{43a3e288 ProcessRecord{439c0190 572:system/1000}}
Per-process Connections:
ConnectionRecord{43a3e400 com.android.inputmethod.latin/.LatinIME:@43a3da60}
All Connections:
ConnectionRecord{43a3e400 com.android.inputmethod.latin/.LatinIME:@43a3da60}
Connection bindings to services:
* ConnectionRecord{43a3e400 com.android.inputmethod.latin/.LatinIME:@43a3da60}
binding=AppBindRecord{43a3e288 com.android.inputmethod.latin/.LatinIME:system}
conn=android.app.ActivityThread$PackageInfo$ServiceDispatcher$InnerConnection@43a3da60 flags=0x1
If you run it without any arguments, you get a big huge dump of all sorts of
interesting things. I do not yet know how to get it to give me a list of
just the services that have registered themselves, or are actively running.
posted at: 13:46 | path: /android | permanent link to this entry
Sun, 25 Oct 2009
The pitchfork is skeptical about plan
Over at:
http://thepitchfork.blogspot.com/2009/10/time-for-trusteeship-were-you-shocked.html
Citizen Ellie wonders if we are shocked by the $2.1B price tag for the tunnel.
My answer is no. It's really important to understand that the consultants
that do the actual work for the city, are not interested in light
rail. That's not their product: their product is busways. McCormick Rankin
sells busways worldwide, and Ottawa is their reference city.
McCormick Rankin rewarded former City of Ottawa planning staff Helen Gault
and Peter Steacey with plum positions. It's a good reward after decades of
throwing consulting work their way, even hiring them to creat a evaluation
system system called "TRANS", that only they have experience with,
guaranteeing that future contracts could be answered only by them.
It would be very embarassing for McCormick Rankin to loose their reference
city. That's why there is the mantra amount staff and some councillors that
we "have to complete the transitway". That's why the 2006 NSLRT plan did not
have any transfer stations, and why it terminated at Ottawa U (a dead end),
rather than continue to Hurdman (which would have turned it into a downtown
system).
But, light rail is in the air, and sometimes you can not fight it, even if
former regional chair, and continuing bus-freak Andy Haydon (anyone ever seen
HIM on the bus?) keep talking about bus tunnels.
Since you can not fight some kind of light rail, and Ottawa already has a
massively successful 5 station system (the O-Train), with 5 stations, and
10,000 riders/day, what can you do? Well, busways are designed (we have been
told many times), to be turned into LRT if you need to grow. So, do not
fight light rail, but it's gotta be more expensive than bus rapid transit.
If LRTs cheaper than BRT (to build), then why build BRT first? In Houston,
they found that it was cheaper to just build the LRT first. This is very
much accute if you actually do a full system cost (i.e. include operating
costs, such as labour and diesel), and not just capital costs.
That's why we have to have a tunnel. It's not because it's better, it's
because it costs more. That's why we have to have the "cross-country"
option, rather than the cheaper cut&cover option. That's why we have to
convert the Hurdman/Blair part of the transitway, because that part was among
the most expensive part of the system, and the cost of it was never properly
justified.
What would a sane system look like? We (Friends of the O-Train) presented
the base of a system in 2006. It would have 3-car trains from Hurdman to
Tunney's Pasture. It would have major developments at Lebreton/Bayview and
Hurdman, where transfers would occur to transitway bus, and also to NSLRT
(O-train), connecting people to South Keys and across the Prince of Wales
bridge to Terasse de la Chaudiere, and the Casino. (And it could continue all
the way out old Gatineau if STO was interested)
It would cost $400M for the expensive downtown electric system, and an
additional $39M would extend O-train-style LRT to Kanata, Barrhaven
("Barrhaven Bullet"), and to a new Earl-Armstrong Park'n'Ride in the South.
All of this would take about 2 construction seasons. It could have been
ready NOW if we had started in December 2006, when council wisely shelved
the broken plan. The work could have been done by Siemens/PCL, using the
same vehicles we had already contracted to buy. No lawsuit, no $37 penalty.
The first expansion would have been to (South) Orleans along the cooridoor
reserved for it. An extension from Hurdman through the General Hospital
complex, behind the Pearly Hospital, and out Innes Rd. It would be quiet,
electric, light rail. It would occupy less than 10m width of space, and
people could walk dogs or ride bikes next to it without getting $55 fines
from transit-cops.
We can still do this.
All that we need to do is tell our councillors to stop the insanity.
The plans we have proposed have are well researched, and have been examined
by multiple professional engineers (unlike the city's plans, which have never
been signed off by a professional engineer).
posted at: 15:11 | path: /otrain | permanent link to this entry
Tue, 20 Oct 2009
T42p laptop booted with 2.6.31.4
In case this helps anyone.
<pre>
Linux version 2.6.31.4 (mcr@marajade.sandelman.ca) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #1 PREEMPT Mon Oct 19 15:36:45 EDT 2009
KERNEL supported cpus:
Intel GenuineIntel
AMD AuthenticAMD
NSC Geode by NSC
Cyrix CyrixInstead
Centaur CentaurHauls
Transmeta GenuineTMx86
Transmeta TransmetaCPU
UMC UMC UMC UMC
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000005ff60000 (usable)
BIOS-e820: 000000005ff60000 - 000000005ff77000 (ACPI data)
BIOS-e820: 000000005ff77000 - 000000005ff79000 (ACPI NVS)
BIOS-e820: 000000005ff80000 - 0000000060000000 (reserved)
BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
DMI present.
last_pfn = 0x5ff60 max_arch_pfn = 0x100000
MTRR default type: uncachable
MTRR fixed ranges enabled:
00000-9FFFF write-back
A0000-BFFFF uncachable
C0000-CFFFF write-protect
D0000-DBFFF uncachable
DC000-DFFFF write-back
E0000-FFFFF write-protect
MTRR variable ranges enabled:
0 base 000000000 mask FC0000000 write-back
1 base 040000000 mask FE0000000 write-back
2 base 05FF80000 mask FFFF80000 uncachable
3 disabled
4 disabled
5 disabled
6 disabled
7 disabled
Warning only 895MB will be used.
Use a HIGHMEM enabled kernel.
initial memory mapped : 0 - 01c00000
init_memory_mapping: 0000000000000000-0000000037fe2000
0000000000 - 0000400000 page 4k
0000400000 - 0037c00000 page 2M
0037c00000 - 0037fe2000 page 4k
kernel direct mapping tables up to 37fe2000 @ 7000-c000
ACPI: RSDP 000f6d70 00024 (v02 IBM )
ACPI: XSDT 5ff6a672 0004C (v01 IBM TP-1R 00003230 LTP 00000000)
ACPI: FACP 5ff6a700 000F4 (v03 IBM TP-1R 00003230 IBM 00000001)
ACPI Warning: 32/64X length mismatch in Gpe1Block: 0/32 20090521 tbfadt-527
ACPI Warning: Optional field Gpe1Block has zero address or length: 000000000000102C/0 20090521 tbfadt-558
ACPI: DSDT 5ff6a8e7 0C530 (v01 IBM TP-1R 00003230 MSFT 0100000E)
ACPI: FACS 5ff78000 00040
ACPI: SSDT 5ff6a8b4 00033 (v01 IBM TP-1R 00003230 MSFT 0100000E)
ACPI: ECDT 5ff76e17 00052 (v01 IBM TP-1R 00003230 IBM 00000001)
ACPI: TCPA 5ff76e69 00032 (v01 IBM TP-1R 00003230 PTL 00000001)
ACPI: BOOT 5ff76fd8 00028 (v01 IBM TP-1R 00003230 LTP 00000001)
895MB LOWMEM available.
mapped low ram: 0 - 37fe2000
low ram: 0 - 37fe2000
node 0 low ram: 00000000 - 37fe2000
node 0 bootmap 00008000 - 0000f000
(6 early reservations) ==> bootmem [0000000000 - 0037fe2000]
[0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000]
[0001000000 - 00018bc708] TEXT DATA BSS ==> [0001000000 - 00018bc708]
[000009f000 - 0000100000] BIOS reserved ==> [000009f000 - 0000100000]
[00018bd000 - 00018c4128] BRK ==> [00018bd000 - 00018c4128]
[0000007000 - 0000008000] PGTABLE ==> [0000007000 - 0000008000]
[0000008000 - 000000f000] BOOTMAP ==> [0000008000 - 000000f000]
Zone PFN ranges:
DMA 0x00000000 -> 0x00001000
Normal 0x00001000 -> 0x00037fe2
Movable zone start PFN for each node
early_node_map2 active PFN ranges
0: 0x00000000 -> 0x0000009f
0: 0x00000100 -> 0x00037fe2
On node 0 totalpages: 229249
free_area_init_node: node 0, pgdat c17fd05c, node_mem_map c18c5000
DMA zone: 32 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 3967 pages, LIFO batch:0
Normal zone: 1760 pages used for memmap
Normal zone: 223490 pages, LIFO batch:31
ACPI: PM-Timer IO Port: 0x1008
PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
PM: Registered nosave memory: 00000000000a0000 - 00000000000dc000
PM: Registered nosave memory: 00000000000dc000 - 0000000000100000
Allocating PCI resources starting at 60000000 (gap: 60000000:9f800000)
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 227457
Kernel command line:
PID hash table entries: 4096 (order: 12, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
Memory: 899940k/917384k available (5206k kernel code, 16964k reserved, 3007k data, 408k init, 0k highmem)
virtual kernel memory layout:
fixmap : 0xfffe4000 - 0xfffff000 ( 108 kB)
vmalloc : 0xf87e2000 - 0xfffe2000 ( 120 MB)
lowmem : 0xc0000000 - 0xf7fe2000 ( 895 MB)
.init : 0xc1806000 - 0xc186c000 ( 408 kB)
.data : 0xc1515892 - 0xc18056fc (3007 kB)
.text : 0xc1000000 - 0xc1515892 (5206 kB)
Checking if this processor honours the WP bit even in supervisor mode...Ok.
Hierarchical RCU implementation.
NR_IRQS:16
Extended CMOS year: 2000
Fast TSC calibration using PIT
Detected 1698.634 MHz processor.
Console: colour VGA+ 80x25
console [tty0] enabled
Calibrating delay loop (skipped), value calculated using timer frequency.. 3397.26 BogoMIPS (lpj=6794536)
Mount-cache hash table entries: 512
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 2048K
mce: CPU supports 5 MCE banks
CPU: Intel(R) Pentium(R) M processor 1.70GHz stepping 06
Checking 'hlt' instruction... OK.
ACPI: Core revision 20090521
ACPI: setting ELCR to 0200 (from 0800)
Booting paravirtualized kernel on bare hardware
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfd8d6, last bus=15
PCI: Using configuration type 1 for base access
bio: create slab <bio-0> at 0
ACPI: EC: EC description table is found, configuring boot EC
ACPI: EC: non-query interrupt received, switching to interrupt mode
ACPI: Interpreter enabled
ACPI: (supports S0 S3 S4 S5)
ACPI: Using PIC for interrupt routing
ACPI: EC: GPE = 0x1c, I/O: command/status = 0x66, data = 0x62
ACPI: EC: driver started in interrupt mode
ACPI: Power Resource [PUBS] (on)
ACPI: ACPI Dock Station Driver: 3 docks/bays found
ACPI: PCI Root Bridge [PCI0] (0000:00)
pci 0000:00:00.0: reg 10 32bit mmio: [0xd0000000-0xdfffffff]
pci 0000:00:1d.0: reg 20 io port: [0x1800-0x181f]
pci 0000:00:1d.1: reg 20 io port: [0x1820-0x183f]
pci 0000:00:1d.2: reg 20 io port: [0x1840-0x185f]
pci 0000:00:1d.7: reg 10 32bit mmio: [0xc0000000-0xc00003ff]
pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
pci 0000:00:1d.7: PME# disabled
pci 0000:00:1f.0: quirk: region 1000-107f claimed by ICH4 ACPI/GPIO/TCO
pci 0000:00:1f.0: quirk: region 1180-11bf claimed by ICH4 GPIO
pci 0000:00:1f.1: reg 10 io port: [0x00-0x07]
pci 0000:00:1f.1: reg 14 io port: [0x00-0x03]
pci 0000:00:1f.1: reg 18 io port: [0x00-0x07]
pci 0000:00:1f.1: reg 1c io port: [0x00-0x03]
pci 0000:00:1f.1: reg 20 io port: [0x1860-0x186f]
pci 0000:00:1f.1: reg 24 32bit mmio: [0x000000-0x0003ff]
pci 0000:00:1f.3: reg 20 io port: [0x1880-0x189f]
pci 0000:00:1f.5: reg 10 io port: [0x1c00-0x1cff]
pci 0000:00:1f.5: reg 14 io port: [0x18c0-0x18ff]
pci 0000:00:1f.5: reg 18 32bit mmio: [0xc0000c00-0xc0000dff]
pci 0000:00:1f.5: reg 1c 32bit mmio: [0xc0000800-0xc00008ff]
pci 0000:00:1f.5: PME# supported from D0 D3hot D3cold
pci 0000:00:1f.5: PME# disabled
pci 0000:00:1f.6: reg 10 io port: [0x2400-0x24ff]
pci 0000:00:1f.6: reg 14 io port: [0x2000-0x207f]
pci 0000:00:1f.6: PME# supported from D0 D3hot D3cold
pci 0000:00:1f.6: PME# disabled
pci 0000:01:00.0: reg 10 32bit mmio: [0xe0000000-0xe7ffffff]
pci 0000:01:00.0: reg 14 io port: [0x3000-0x30ff]
pci 0000:01:00.0: reg 18 32bit mmio: [0xc0100000-0xc010ffff]
pci 0000:01:00.0: reg 30 32bit mmio: [0x000000-0x01ffff]
pci 0000:01:00.0: supports D1 D2
pci 0000:00:01.0: bridge io port: [0x3000-0x3fff]
pci 0000:00:01.0: bridge 32bit mmio: [0xc0100000-0xc01fffff]
pci 0000:00:01.0: bridge 32bit mmio pref: [0xe0000000-0xe7ffffff]
pci 0000:02:00.0: reg 10 32bit mmio: [0xb0000000-0xb0000fff]
pci 0000:02:00.0: supports D1 D2
pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:02:00.0: PME# disabled
pci 0000:02:00.1: reg 10 32bit mmio: [0xb1000000-0xb1000fff]
pci 0000:02:00.1: supports D1 D2
pci 0000:02:00.1: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:02:00.1: PME# disabled
pci 0000:02:01.0: reg 10 32bit mmio: [0xc0240000-0xc025ffff]
pci 0000:02:01.0: reg 14 32bit mmio: [0xc0200000-0xc020ffff]
pci 0000:02:01.0: reg 18 io port: [0x8000-0x803f]
pci 0000:02:01.0: reg 30 32bit mmio: [0x000000-0x00ffff]
pci 0000:02:01.0: PME# supported from D0 D3hot D3cold
pci 0000:02:01.0: PME# disabled
pci 0000:02:02.0: reg 10 32bit mmio: [0xc0210000-0xc021ffff]
pci 0000:02:03.0: supports D1 D2
pci 0000:00:1e.0: transparent bridge
pci 0000:00:1e.0: bridge io port: [0x4000-0x9fff]
pci 0000:00:1e.0: bridge 32bit mmio: [0xc0200000-0xcfffffff]
pci 0000:00:1e.0: bridge 32bit mmio pref: [0xe8000000-0xefffffff]
pci 0000:09:01.0: reg 10 io port: [0x9020-0x9027]
pci 0000:09:01.0: reg 14 io port: [0x9014-0x9017]
pci 0000:09:01.0: reg 18 io port: [0x9018-0x901f]
pci 0000:09:01.0: reg 1c io port: [0x9010-0x9013]
pci 0000:09:01.0: reg 20 io port: [0x9000-0x900f]
pci 0000:09:01.0: supports D1 D2
pci 0000:09:02.0: reg 10 32bit mmio: [0xb2000000-0xb2000fff]
pci 0000:09:02.0: supports D1 D2
pci 0000:09:02.0: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:09:02.0: PME# disabled
pci 0000:09:02.1: reg 10 32bit mmio: [0xb3000000-0xb3000fff]
pci 0000:09:02.1: supports D1 D2
pci 0000:09:02.1: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:09:02.1: PME# disabled
pci 0000:02:03.0: transparent bridge
pci 0000:02:03.0: bridge io port: [0x00-0xfff]
pci 0000:02:03.0: bridge 32bit mmio: [0x000000-0x0fffff]
pci 0000:02:03.0: bridge 32bit mmio pref: [0x000000-0x0fffff]
pci_bus 0000:00: on NUMA node 0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI1._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI1.DOCK._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 9 10 *11)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 10 *11)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 *11)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 9 10 *11)
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
pci 0000:02:03.0: BAR 7: can't allocate resource
pci 0000:02:03.0: BAR 8: can't allocate resource
pci 0000:02:03.0: BAR 9: can't allocate resource
Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp: PnP ACPI: found 12 devices
ACPI: ACPI bus type pnp unregistered
system 00:00: iomem range 0x0-0x9ffff could not be reserved
system 00:00: iomem range 0xc0000-0xc3fff could not be reserved
system 00:00: iomem range 0xc4000-0xc7fff could not be reserved
system 00:00: iomem range 0xc8000-0xcbfff could not be reserved
system 00:00: iomem range 0xcc000-0xcffff could not be reserved
system 00:00: iomem range 0xdc000-0xdffff could not be reserved
system 00:00: iomem range 0xe0000-0xe3fff could not be reserved
system 00:00: iomem range 0xe4000-0xe7fff could not be reserved
system 00:00: iomem range 0xe8000-0xebfff could not be reserved
system 00:00: iomem range 0xec000-0xeffff could not be reserved
system 00:00: iomem range 0xf0000-0xfffff could not be reserved
system 00:00: iomem range 0x100000-0x5fffffff could not be reserved
system 00:00: iomem range 0xfec00000-0xffffffff could not be reserved
system 00:02: ioport range 0x1000-0x107f has been reserved
system 00:02: ioport range 0x1180-0x11bf has been reserved
system 00:02: ioport range 0x15e0-0x15ef has been reserved
system 00:02: ioport range 0x1600-0x162f has been reserved
system 00:02: ioport range 0x1632-0x167f has been reserved
system 00:02: ioport range 0x1630-0x1631 has been reserved
pci 0000:00:01.0: PCI bridge, secondary bus 0000:01
pci 0000:00:01.0: IO window: 0x3000-0x3fff
pci 0000:00:01.0: MEM window: 0xc0100000-0xc01fffff
pci 0000:00:01.0: PREFETCH window: 0xe0000000-0xe7ffffff
pci 0000:02:00.0: CardBus bridge, secondary bus 0000:10
pci 0000:02:00.0: IO window: 0x005000-0x0050ff
pci 0000:02:00.0: IO window: 0x005400-0x0054ff
pci 0000:02:00.0: PREFETCH window: 0xe8000000-0xebffffff
pci 0000:02:00.0: MEM window: 0xc4000000-0xc7ffffff
pci 0000:02:00.1: CardBus bridge, secondary bus 0000:14
pci 0000:02:00.1: IO window: 0x005800-0x0058ff
pci 0000:02:00.1: IO window: 0x005c00-0x005cff
pci 0000:02:00.1: PREFETCH window: 0xec000000-0xefffffff
pci 0000:02:00.1: MEM window: 0xc8000000-0xcbffffff
pci 0000:09:02.0: CardBus bridge, secondary bus 0000:0a
pci 0000:09:02.0: IO window: 0x004000-0x0040ff
pci 0000:09:02.0: IO window: 0x004400-0x0044ff
pci 0000:09:02.0: PREFETCH window: 0x6c000000-0x6fffffff
pci 0000:09:02.0: MEM window: 0x64000000-0x67ffffff
pci 0000:09:02.1: CardBus bridge, secondary bus 0000:0e
pci 0000:09:02.1: IO window: 0x004800-0x0048ff
pci 0000:09:02.1: IO window: 0x004c00-0x004cff
pci 0000:09:02.1: PREFETCH window: 0x70000000-0x73ffffff
pci 0000:09:02.1: MEM window: 0x68000000-0x6bffffff
pci 0000:02:03.0: PCI bridge, secondary bus 0000:09
pci 0000:02:03.0: IO window: 0x4000-0x4fff
pci 0000:02:03.0: MEM window: 0x64000000-0x6bffffff
pci 0000:02:03.0: PREFETCH window: 0x6c000000-0x73ffffff
pci 0000:00:1e.0: PCI bridge, secondary bus 0000:02
pci 0000:00:1e.0: IO window: 0x4000-0x9fff
pci 0000:00:1e.0: MEM window: 0xc0200000-0xcfffffff
pci 0000:00:1e.0: PREFETCH window: 0xe8000000-0xefffffff
pci 0000:00:1e.0: setting latency timer to 64
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
pci 0000:02:00.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
pci 0000:02:00.1: PCI INT B -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
pci 0000:09:02.0: PCI INT A -> Link[LNKC] -> GSI 11 (level, low) -> IRQ 11
pci 0000:09:02.1: PCI INT A -> Link[LNKC] -> GSI 11 (level, low) -> IRQ 11
pci_bus 0000:00: resource 0 io: [0x00-0xffff]
pci_bus 0000:00: resource 1 mem: [0x000000-0xffffffff]
pci_bus 0000:01: resource 0 io: [0x3000-0x3fff]
pci_bus 0000:01: resource 1 mem: [0xc0100000-0xc01fffff]
pci_bus 0000:01: resource 2 pref mem [0xe0000000-0xe7ffffff]
pci_bus 0000:02: resource 0 io: [0x4000-0x9fff]
pci_bus 0000:02: resource 1 mem: [0xc0200000-0xcfffffff]
pci_bus 0000:02: resource 2 pref mem [0xe8000000-0xefffffff]
pci_bus 0000:02: resource 3 io: [0x00-0xffff]
pci_bus 0000:02: resource 4 mem: [0x000000-0xffffffff]
pci_bus 0000:10: resource 0 io: [0x5000-0x50ff]
pci_bus 0000:10: resource 1 io: [0x5400-0x54ff]
pci_bus 0000:10: resource 2 pref mem [0xe8000000-0xebffffff]
pci_bus 0000:10: resource 3 mem: [0xc4000000-0xc7ffffff]
pci_bus 0000:14: resource 0 io: [0x5800-0x58ff]
pci_bus 0000:14: resource 1 io: [0x5c00-0x5cff]
pci_bus 0000:14: resource 2 pref mem [0xec000000-0xefffffff]
pci_bus 0000:14: resource 3 mem: [0xc8000000-0xcbffffff]
pci_bus 0000:09: resource 0 io: [0x4000-0x4fff]
pci_bus 0000:09: resource 1 mem: [0x64000000-0x6bffffff]
pci_bus 0000:09: resource 2 pref mem [0x6c000000-0x73ffffff]
pci_bus 0000:09: resource 3 io: [0x4000-0x9fff]
pci_bus 0000:09: resource 4 mem: [0xc0200000-0xcfffffff]
pci_bus 0000:09: resource 5 pref mem [0xe8000000-0xefffffff]
pci_bus 0000:09: resource 6 io: [0x00-0xffff]
pci_bus 0000:09: resource 7 mem: [0x000000-0xffffffff]
pci_bus 0000:0a: resource 0 io: [0x4000-0x40ff]
pci_bus 0000:0a: resource 1 io: [0x4400-0x44ff]
pci_bus 0000:0a: resource 2 pref mem [0x6c000000-0x6fffffff]
pci_bus 0000:0a: resource 3 mem: [0x64000000-0x67ffffff]
pci_bus 0000:0e: resource 0 io: [0x4800-0x48ff]
pci_bus 0000:0e: resource 1 io: [0x4c00-0x4cff]
pci_bus 0000:0e: resource 2 pref mem [0x70000000-0x73ffffff]
pci_bus 0000:0e: resource 3 mem: [0x68000000-0x6bffffff]
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
NET: Registered protocol family 1
kvm: no hardware support
has_svm: not amd
kvm: no hardware support
Simple Boot Flag at 0x35 set to 0x1
IBM machine detected. Enabling interrupts during APM calls.
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
apm: overridden by ACPI.
HugeTLB registered 4 MB page size, pre-allocated 0 pages
fuse init (API version 7.12)
msgmni has been set to 1757
alg: No test for cipher_null (cipher_null-generic)
alg: No test for ecb(cipher_null) (ecb-cipher_null)
alg: No test for digest_null (digest_null-generic)
alg: No test for compress_null (compress_null-generic)
alg: No test for stdrng (krng)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
pci 0000:01:00.0: Boot video device
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
decode_hpp: Could not get hotplug parameters. Use defaults
acpiphp: Slot 1 registered
acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
radeonfb 0000:01:00.0: power state changed by ACPI to D0
radeonfb 0000:01:00.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11
radeonfb: Retrieved PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=6) Memory=320.00 Mhz, System=210.00 MHz
radeonfb: PLL min 20000 max 35000
radeonfb: Monitor 1 type DFP found
radeonfb: EDID probed
radeonfb: Monitor 2 type CRT found
radeonfb: EDID probed
Display is GTF capable
radeonfb: Dynamic Clock Power Management enabled
radeonfb: IBM Thinkpad T42 detected, enabling workaround
Console: switching to colour frame buffer device 210x65
Switched to high resolution mode on CPU 0
radeonfb (0000:01:00.0): ATI Radeon 4e50 "NP"
uvesafb: failed to execute /sbin/v86d
uvesafb: make sure that the v86d helper is installed and executable
uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)
uvesafb: vbe_init() failed with -22
uvesafb: probe of uvesafb.0 failed with error -22
ACPI: AC Adapter [AC] (on-line)
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
ACPI: Power Button [PWRF]
input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input1
ACPI: Lid Switch [LID]
input: Sleep Button as /devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input2
ACPI: Sleep Button [SLPB]
input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A03:00/device:02/device:03/input/input3
ACPI: Video Device [VID] (multi-head: yes rom: no post: no)
Marking TSC unstable due to TSC halts in idle
ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3])
processor LNXCPU:00: registered as cooling_device0
ACPI: Processor [CPU0] (supports 8 throttling states)
thermal LNXTHERM:01: registered as thermal_zone0
ACPI: Thermal Zone [THM0] (48 C)
ACPI: Battery Slot [BAT0] (battery present)
intel_rng: FWH not detected
Linux agpgart interface v0.103
agpgart-intel 0000:00:00.0: Intel 855PM Chipset
agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized radeon 1.31.0 20080528 for 0000:01:00.0 on minor 0
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A
00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A
serial 0000:00:1f.6: PCI INT B -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
serial 0000:00:1f.6: PCI INT B disabled
floppy0: no floppy controllers found
brd: module loaded
loop: module loaded
usbcore: registered new interface driver ub
Uniform Multi-Platform E-IDE driver
piix 0000:00:1f.1: IDE controller (0x8086:0x24ca rev 0x01)
pci 0000:00:1f.1: enabling device (0005 -> 0007)
pci 0000:00:1f.1: PCI INT A -> Link[LNKC] -> GSI 11 (level, low) -> IRQ 11
piix 0000:00:1f.1: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x1860-0x1867
ide1: BM-DMA at 0x1868-0x186f
Probing IDE interface ide0...
hda: FUJITSU MHT2060AH, ATA DISK drive
hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
hda: UDMA/100 mode selected
Probing IDE interface ide1...
hdc: TOSHIBA MK4018GAP, ATA DISK drive
hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO4
hdc: UDMA/100 mode selected
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
cmd64x 0000:09:01.0: IDE controller (0x1095:0x0648 rev 0x01)
pci 0000:09:01.0: PCI INT A -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
cmd64x 0000:09:01.0: 100% native mode on irq 11
ide2: BM-DMA at 0x9000-0x9007
ide3: BM-DMA at 0x9008-0x900f
Probing IDE interface ide2...
hde: HL-DT-STCD-RW/DVD DRIVE GCC-4242N, ATAPI CD/DVD-ROM drive
hde: host max PIO5 wanted PIO255(auto-tune) selected PIO4
hde: UDMA/33 mode selected
Probing IDE interface ide3...
ide2 at 0x9020-0x9027,0x9016 on irq 11
ide3 at 0x9018-0x901f,0x9012 on irq 11
ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISA IDE ports
ide-gd driver 1.18
hda: max request size: 128KiB
hda: 117210240 sectors (60011 MB) w/8192KiB Cache, CHS=65535/16/63
hda: cache flushes supported
hda: hda1 hda2 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 hda12 hda13 hda14 >
hdc: max request size: 128KiB
hdc: 78140160 sectors (40007 MB), CHS=65535/16/63
hdc: cache flushes supported
hdc: hdc2 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 >
ide-cd driver 5.00
ide-cd: hde: ATAPI 24X DVD-ROM CD-R/RW drive, 2048kB Cache
Uniform CD-ROM driver Revision: 3.20
SCSI Media Changer driver v0.25
Intel(R) PRO/1000 Network Driver - version 7.3.21-k3-NAPI
Copyright (c) 1999-2006 Intel Corporation.
e1000 0000:02:01.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11
e1000: 0000:02:01.0: e1000_probe: (PCI:33MHz:32-bit) 00:0d:60:fa:7f:03
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k2
e1000e: Copyright (c) 1999-2008 Intel Corporation.
Intel(R) Gigabit Ethernet Network Driver - version 1.3.16-k2
Copyright (c) 2007-2009 Intel Corporation.
Intel(R) Virtual Function Network Driver - version 1.0.0-k0
Copyright (c) 2009 Intel Corporation.
pcnet32.c:v1.35 21.Apr.2008 tsbogend@alpha.franken.de
arlan: No Arlan devices found
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
NET: Registered protocol family 24
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
usbcore: registered new interface driver asix
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver zaurus
orinoco 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al)
orinoco_cs 0.15 (David Gibson <hermes@gibson.dropbear.id.au>, Pavel Roskin <proski@gnu.org>, et al)
orinoco_plx 0.15 (Pavel Roskin <proski@gnu.org>, David Gibson <hermes@gibson.dropbear.id.au>, Daniel Barlow <dan@telent.net>)
orinoco_pci 0.15 (Pavel Roskin <proski@gnu.org>, David Gibson <hermes@gibson.dropbear.id.au> & Jean Tourrilhes <jt@hpl.hp.com>)
orinoco_tmd 0.15 (Joerg Dorchain <joerg@dorchain.net>)
spectrum_cs 0.15 (Pavel Roskin <proski@gnu.org>, David Gibson <hermes@gibson.dropbear.id.au>, et al)
airo(): Probing for PCI adapters
airo(): Finished probing for PCI adapters
Loaded prism54 driver, version 1.2
yenta_cardbus 0000:02:00.0: CardBus bridge found [1014:0552]
yenta_cardbus 0000:02:00.0: Using INTVAL to route CSC interrupts to PCI
yenta_cardbus 0000:02:00.0: Routing CardBus interrupts to PCI
yenta_cardbus 0000:02:00.0: TI: mfunc 0x01d21b22, devctl 0x64
yenta_cardbus 0000:02:00.0: ISA IRQ mask 0x04f8, PCI irq 11
yenta_cardbus 0000:02:00.0: Socket status: 30000086
pci_bus 0000:02: Raising subordinate bus# of parent bus (#02) from #0f to #13
yenta_cardbus 0000:02:00.0: pcmcia: parent PCI bridge I/O window: 0x4000 - 0x9fff
pcmcia_socket pcmcia_socket0: cs: IO port probe 0x4000-0x9fff: clean.
yenta_cardbus 0000:02:00.0: pcmcia: parent PCI bridge Memory window: 0xc0200000 - 0xcfffffff
yenta_cardbus 0000:02:00.0: pcmcia: parent PCI bridge Memory window: 0xe8000000 - 0xefffffff
yenta_cardbus 0000:02:00.1: CardBus bridge found [1014:0552]
yenta_cardbus 0000:02:00.1: Using INTVAL to route CSC interrupts to PCI
yenta_cardbus 0000:02:00.1: Routing CardBus interrupts to PCI
yenta_cardbus 0000:02:00.1: TI: mfunc 0x01d21b22, devctl 0x64
yenta_cardbus 0000:02:00.1: ISA IRQ mask 0x04f8, PCI irq 11
yenta_cardbus 0000:02:00.1: Socket status: 30000086
pci_bus 0000:02: Raising subordinate bus# of parent bus (#02) from #13 to #17
yenta_cardbus 0000:02:00.1: pcmcia: parent PCI bridge I/O window: 0x4000 - 0x9fff
pcmcia_socket pcmcia_socket1: cs: IO port probe 0x4000-0x9fff: clean.
yenta_cardbus 0000:02:00.1: pcmcia: parent PCI bridge Memory window: 0xc0200000 - 0xcfffffff
yenta_cardbus 0000:02:00.1: pcmcia: parent PCI bridge Memory window: 0xe8000000 - 0xefffffff
yenta_cardbus 0000:09:02.0: CardBus bridge found [1014:0148]
yenta_cardbus 0000:09:02.0: Using INTVAL to route CSC interrupts to PCI
yenta_cardbus 0000:09:02.0: Routing CardBus interrupts to PCI
yenta_cardbus 0000:09:02.0: TI: mfunc 0x00001002, devctl 0x66
yenta_cardbus 0000:09:02.0: ISA IRQ mask 0x04f8, PCI irq 11
yenta_cardbus 0000:09:02.0: Socket status: 30000006
yenta_cardbus 0000:09:02.0: pcmcia: parent PCI bridge I/O window: 0x4000 - 0x4fff
pcmcia_socket pcmcia_socket2: cs: IO port probe 0x4000-0x4fff: clean.
yenta_cardbus 0000:09:02.0: pcmcia: parent PCI bridge Memory window: 0x64000000 - 0x6bffffff
yenta_cardbus 0000:09:02.0: pcmcia: parent PCI bridge Memory window: 0x6c000000 - 0x73ffffff
yenta_cardbus 0000:09:02.0: pcmcia: parent PCI bridge I/O window: 0x4000 - 0x9fff
yenta_cardbus 0000:09:02.0: pcmcia: parent PCI bridge Memory window: 0xc0200000 - 0xcfffffff
yenta_cardbus 0000:09:02.0: pcmcia: parent PCI bridge Memory window: 0xe8000000 - 0xefffffff
yenta_cardbus 0000:09:02.1: CardBus bridge found [1014:0148]
yenta_cardbus 0000:09:02.1: Using INTVAL to route CSC interrupts to PCI
yenta_cardbus 0000:09:02.1: Routing CardBus interrupts to PCI
yenta_cardbus 0000:09:02.1: TI: mfunc 0x00001002, devctl 0x66
yenta_cardbus 0000:09:02.1: ISA IRQ mask 0x04f8, PCI irq 11
yenta_cardbus 0000:09:02.1: Socket status: 30000006
yenta_cardbus 0000:09:02.1: pcmcia: parent PCI bridge I/O window: 0x4000 - 0x4fff
pcmcia_socket pcmcia_socket3: cs: IO port probe 0x4000-0x4fff: clean.
yenta_cardbus 0000:09:02.1: pcmcia: parent PCI bridge Memory window: 0x64000000 - 0x6bffffff
yenta_cardbus 0000:09:02.1: pcmcia: parent PCI bridge Memory window: 0x6c000000 - 0x73ffffff
yenta_cardbus 0000:09:02.1: pcmcia: parent PCI bridge I/O window: 0x4000 - 0x9fff
yenta_cardbus 0000:09:02.1: pcmcia: parent PCI bridge Memory window: 0xc0200000 - 0xcfffffff
yenta_cardbus 0000:09:02.1: pcmcia: parent PCI bridge Memory window: 0xe8000000 - 0xefffffff
usbmon: debugfs is not available
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
uhci_hcd: USB Universal Host Controller Interface driver
uhci_hcd 0000:00:1d.0: power state changed by ACPI to D0
uhci_hcd 0000:00:1d.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, low) -> IRQ 11
uhci_hcd 0000:00:1d.0: setting latency timer to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:1d.0: irq 11, io base 0x00001800
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: UHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.31.4 uhci_hcd
usb usb1: SerialNumber: 0000:00:1d.0
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
uhci_hcd 0000:00:1d.1: power state changed by ACPI to D0
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
uhci_hcd 0000:00:1d.1: PCI INT B -> Link[LNKD] -> GSI 11 (level, low) -> IRQ 11
uhci_hcd 0000:00:1d.1: setting latency timer to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.1: irq 11, io base 0x00001820
usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: UHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.31.4 uhci_hcd
usb usb2: SerialNumber: 0000:00:1d.1
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
uhci_hcd 0000:00:1d.2: PCI INT C -> Link[LNKC] -> GSI 11 (level, low) -> IRQ 11
uhci_hcd 0000:00:1d.2: setting latency timer to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.2: irq 11, io base 0x00001840
usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: UHCI Host Controller
usb usb3: Manufacturer: Linux 2.6.31.4 uhci_hcd
usb usb3: SerialNumber: 0000:00:1d.2
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
usbcore: registered new interface driver usblp
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-usbat
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for Belkin / Peracom / GoHubs USB Serial Adapter
usbcore: registered new interface driver belkin
belkin_sa: v1.2:USB Belkin Serial converter driver
USB Serial support registered for Reiner SCT Cyberjack USB card reader
usbcore: registered new interface driver cyberjack
cyberjack: v1.01 Matthias Bruestle
cyberjack: REINER SCT cyberJack pinpad/e-com USB Chipcard Reader Driver
USB Serial support registered for Digi 2 port USB adapter
USB Serial support registered for Digi 4 port USB adapter
usbcore: registered new interface driver digi_acceleport
digi_acceleport: v1.80.1.2:Digi AccelePort USB-2/USB-4 Serial Converter driver
USB Serial support registered for Edgeport 2 port adapter
USB Serial support registered for Edgeport 4 port adapter
USB Serial support registered for Edgeport 8 port adapter
USB Serial support registered for EPiC device
usbcore: registered new interface driver io_edgeport
io_edgeport: v2.7:Edgeport USB Serial Driver
USB Serial support registered for Edgeport TI 1 port adapter
USB Serial support registered for Edgeport TI 2 port adapter
usbcore: registered new interface driver io_ti
io_ti: v0.7mode043006:Edgeport USB Serial Driver
USB Serial support registered for empeg
usbcore: registered new interface driver empeg
empeg: v1.2:USB Empeg Mark I/II Driver
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
USB Serial support registered for PocketPC PDA
usbcore: registered new interface driver ipaq
ipaq: v0.5:USB PocketPC PDA driver
usb 1-1: new full speed USB device using uhci_hcd and address 2
USB Serial support registered for IR Dongle
usbcore: registered new interface driver ir-usb
ir_usb: v0.4:USB IR Dongle driver
USB Serial support registered for Keyspan PDA
USB Serial support registered for Keyspan PDA - (prerenumeration)
USB Serial support registered for Xircom / Entregra PGS - (prerenumeration)
usbcore: registered new interface driver keyspan_pda
keyspan_pda: v1.1:USB Keyspan PDA Converter driver
USB Serial support registered for KL5KUSB105D / PalmConnect
usbcore: registered new interface driver kl5kusb105d
kl5kusb105: v0.3a:KLSI KL5KUSB105 chipset USB->Serial Converter driver
USB Serial support registered for KOBIL USB smart card terminal
usbcore: registered new interface driver kobil
kobil_sct: 21/05/2004:KOBIL USB Smart Card Terminal Driver (experimental)
USB Serial support registered for MCT U232
usbcore: registered new interface driver mct_u232
mct_u232: z2.1:Magic Control Technology USB-RS232 converter driver
USB Serial support registered for ZyXEL - omni.net lcd plus usb
usbcore: registered new interface driver omninet
omninet: v1.1:USB ZyXEL omni.net LCD PLUS Driver
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
USB Serial support registered for Handspring Visor / Palm OS
USB Serial support registered for Sony Clie 3.5
USB Serial support registered for Sony Clie 5.0
usbcore: registered new interface driver visor
visor: USB HandSpring Visor / Palm OS driver
usbcore: registered new interface driver emi26 - firmware loader
PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
rtc_cmos 00:06: RTC can wake from S4
rtc_cmos 00:06: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram
usb 1-1: New USB device found, idVendor=04b3, idProduct=4481
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
usb 1-1: configuration #1 chosen from 1 choice
Driver for 1-wire Dallas network protocol.
hub 1-1:1.0: USB hub found
hdaps: inverting axis (0) readings.
hdaps: IBM ThinkPad T42 detected.
hub 1-1:1.0: 4 ports detected
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
hdaps: initial latch check good (0x01).
hdaps: device successfully initialized.
input: hdaps as /devices/platform/hdaps/input/input5
hdaps: driver successfully loaded.
md: linear personality registered for level -1
md: raid0 personality registered for level 0
md: raid1 personality registered for level 1
md: multipath personality registered for level -4
md: faulty personality registered for level -5
device-mapper: ioctl: 4.15.0-ioctl (2009-04-01) initialised: dm-devel@redhat.com
device-mapper: multipath: version 1.1.0 loaded
device-mapper: multipath round-robin: version 1.0.0 loaded
cpuidle: using governor ladder
cpuidle: using governor menu
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.20.
Intel ICH 0000:00:1f.5: PCI INT B -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
Intel ICH 0000:00:1f.5: setting latency timer to 64
usb 1-1.3: new full speed USB device using uhci_hcd and address 3
IBM TrackPoint firmware: 0x0e, buttons: 3/3
usb 1-1.3: New USB device found, idVendor=05e3, idProduct=0608
usb 1-1.3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
usb 1-1.3: Product: USB2.0 Hub
usb 1-1.3: configuration #1 chosen from 1 choice
input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/input/input6
hub 1-1.3:1.0: USB hub found
hub 1-1.3:1.0: 4 ports detected
usb 1-1.3.4: new low speed USB device using uhci_hcd and address 4
usb 1-1.3.4: New USB device found, idVendor=046d, idProduct=c03d
usb 1-1.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.3.4: Product: USB-PS/2 Optical Mouse
usb 1-1.3.4: Manufacturer: Logitech
usb 1-1.3.4: configuration #1 chosen from 1 choice
input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4:1.0/input/input7
generic-usb 0003:046D:C03D.0001: input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1d.0-1.3.4/input0
intel8x0_measure_ac97_clock: measured 55455 usecs (2672 samples)
intel8x0: clocking to 48000
usbcore: registered new interface driver snd-usb-audio
usbcore: registered new interface driver snd-usb-usx2y
ALSA device list:
Intel 82801DB-ICH4 with AD1981B at irq 11
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (14334 buckets, 57336 max)
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
ip_tables: (C) 2000-2006 Netfilter Core Team
ClusterIP Version 0.8 loaded successfully
arp_tables: (C) 2002 David S. Miller
TCP westwood registered
TCP vegas registered
TCP veno registered
TCP illinois registered
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
tunl0: Disabled Privacy Extensions
Mobile IPv6
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
sit0: Disabled Privacy Extensions
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
CCID: Activated CCID 2 (TCP-like)
CCID: Activated CCID 3 (TCP-Friendly Rate Control)
lib80211: common routines for IEEE802.11 drivers
lib80211_crypt: registered algorithm 'NULL'
lib80211_crypt: registered algorithm 'WEP'
lib80211_crypt: registered algorithm 'CCMP'
lib80211_crypt: registered algorithm 'TKIP'
TIPC: Activated (version 1.6.4 compiled Oct 19 2009 15:35:24)
NET: Registered protocol family 30
TIPC: Started in single node mode
Installing 9P2000 support
P-state transition latency capped at 20 uS
PM: Checking image partition hda11
PM: Resume from disk failed.
rtc_cmos 00:06: setting system clock to 2009-10-19 22:04:02 UTC (1255989842)
BIOS EDD facility v0.16 2004-Jun-25, 2 devices found
md: Waiting for all devices to be available before autodetect
md: If you don't use raid, use raid=noautodetect
md: Autodetecting RAID arrays.
md: Scanned 0 and added 0 devices.
md: autorun ...
md: ... autorun DONE.
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly on device 3:5.
Freeing unused kernel memory: 408k freed
Write protecting the kernel text: 5208k
Write protecting the kernel read-only data: 2580k
Clocksource tsc unstable (delta = -271773305 ns)
pcmcia_socket pcmcia_socket1: cs: IO port probe 0x100-0x4ff: excluding 0x4d0-0x4d7
pcmcia_socket pcmcia_socket1: cs: IO port probe 0x800-0x8ff: clean.
pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x4ff: excluding 0x4d0-0x4d7
pcmcia_socket pcmcia_socket0: cs: IO port probe 0x800-0x8ff: clean.
pcmcia_socket pcmcia_socket2: cs: IO port probe 0x100-0x4ff: excluding 0x4d0-0x4d7
pcmcia_socket pcmcia_socket3: cs: IO port probe 0x100-0x4ff: excluding 0x4d0-0x4d7
pcmcia_socket pcmcia_socket3: cs: IO port probe 0x800-0x8ff: clean.
pcmcia_socket pcmcia_socket1: cs: IO port probe 0xc00-0xcff: clean.
pcmcia_socket pcmcia_socket1: cs: IO port probe 0xa00-0xaff: clean.
pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcff: clean.
pcmcia_socket pcmcia_socket2: cs: IO port probe 0x800-0x8ff: clean.
pcmcia_socket pcmcia_socket2: cs: IO port probe 0xc00-0xcff: clean.
pcmcia_socket pcmcia_socket3: cs: IO port probe 0xc00-0xcff: clean.
pcmcia_socket pcmcia_socket3: cs: IO port probe 0xa00-0xaff: clean.
pcmcia_socket pcmcia_socket0: cs: IO port probe 0xa00-0xaff: clean.
pcmcia_socket pcmcia_socket2: cs: IO port probe 0xa00-0xaff: clean.
Adding 979924k swap on /dev/hda11. Priority:0 extents:1 across:979924k
EXT3 FS on hda5, internal journal
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda12, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda8, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda9, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda6, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on dm-1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on dm-0, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on dm-2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on dm-4, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on dm-3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 1048568k swap on /dev/mapper/MaraUltraBay-UltraBaySwap. Priority:0 extents:1 across:1048568k
warning: `miredo' uses 32-bit capabilities (legacy support in use)
teredo: Disabled Privacy Extensions
ADDRCONF(NETDEV_UP): eth0: link is not ready
e1000: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
ADDRCONF(NETDEV_UP): eth0: link is not ready
e1000: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-5, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-13, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-10, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-16, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
EXT3 FS on dm-14, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-9, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
EXT3 FS on dm-8, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-12, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on dm-15, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
agpgart-intel 0000:00:00.0: AGP 2.0 bridge
agpgart-intel 0000:00:00.0: putting AGP V2 device into 4x mode
radeonfb 0000:01:00.0: putting AGP V2 device into 4x mode
[drm] Setting GART location based on new memory map
[drm] Loading R300 Microcode
[drm] Num pipes: 1
[drm] writeback test succeeded in 1 usecs
...
</pre>
posted at: 21:39 | path: /oss | permanent link to this entry
Split-DNS no longer a panacea
Split-DNS (or Split-horizon DNS) is a technique that has been around for
nearly 20 years of firewalls. It used to be an absolutely required mechanism
of deployment. When I designed the Milkyway Networks Blackhole back in 1994,
specific support was put into place to support and encourage easy
configuration of split-DNS.
Here are some more links to what it is:
http://www.isaserver.org/tutorials/You_Need_to_Create_a_Split_DNS.html
http://en.wikipedia.org/wiki/Split-horizon_DNS
http://wiki.zimbra.com/index.php?title=Split_dns
And while split-DNS worked great in 1995, when all sites had a single
upstream firewall, and there was no remote users, or mobile laptops that
could move in out, it is no longer such a great thing.
As soon as you have multiple sites (with or without VPN), then you have
to make sure that ALL the sites all use the same internal DNS.
That means that every site has a recursive internal name server. That's not
always easy when you have a lot of sites, or if some of them are small, or
have not got much in the way of infrastructure.
Then you need to realize that everyone's laptop may well be a site, if
it can move around. And sometimes laptops move to another organizations'
Intranet, and then they need two (or more) internal views!!! Which one to
pick?
Split-DNS can be made to work if you set up recursive DNS server on every
laptop as a stealth secondary for the internal zone, and always use 127.0.0.1
in "/etc/resolv.conf". All of this is easy to do on a *NIX laptop, but
how can you do it on a windows laptop? Yeah, you can install the NT version
of bind9, and this isn't a bad idea for a lot of other reasons.
What if you need have a VPN/RemoteAccess system on the laptop that won't
bring up the VPN until packets flow... so you can't resolve a name until the
VPN is up, but you won't bring the DNS up until the name is resolved...
Having the names locally also helps for that as well.
With the rise of virtual corporations, where in fact there is no office, just
a lot of nomadic laptops with a few central servers, and maybe a cabinet
(bay) of servers with VPNs to access things, it can become a major pain to
mainitain.
But, it's worth stepping and asking yourself: is it really worth it?
What did split-DNS really buy you?
Split-DNS was a way to keep private IP addresses out of the public
DNS. To have privacy, and to avoid confusion, because someone else has
10.1.2.3 as their internal mail server too!!!
A subdomain (i.e. 'intra.example.com') mostly works just as well to avoid the
confusion. Put "intra.example.com" into people's domain search order, and
most of the issues go away.
And the reason for the privacy was because it was belt-and-suspenders on the
proper operation of the firewall. Today, firewalls are irrelevant --- they
mostly work, and the real concern is compromised Windows PCs... those PCs, if
inside, already have access to the internal DNS.... so why make it harder to
manage by having split-DNS (or no internal DNS), when that front has already
been lost?
And then there is IPv6, coming VERY SOON. (Many of us already use it daily)
IPv6 has no RFC1918, so you'll never have confusion. But, where do you put
the AAAA records? You have hosts which are "inside", and you may have IPv6
firewalls that prevent most access to these hosts. Part of the whole point
of IPv6 is that you can now directly address those hosts, and you can
selectively permit access to them via firewall or access control lists.
(Remember the client machines are now also directly addressable, and so ACLs
work very well now).
Do you put these AAAA records in the internal DNS, or the external one?
Now, add DNSSEC to the equation --- how will you trust the internal zone? It
does not have any link to the outside world. Once your external zone is
secured, your internal "trusted" zone will look insecure!!! That's another
reason to actually make your internal zone (even if you implement it with
split-DNS), a sub-zone of your external zone.
posted at: 19:31 | path: /colo | permanent link to this entry
Tue, 29 Sep 2009
DomainsAtCost.ca only supports Microsoft Windows
I was told by customer support that domainsatcost.ca supports Firefox and IE,
but only on Windows. Lots of things worked, but "DomainMove" (to transfer a
zone to another domainsatcost.ca account) does not, and they are not
interested in fixing their system at this time.
I will be switching to another registrar. One with a clue. Suggestions
welcome.
posted at: 15:00 | path: /defectivebydesign | permanent link to this entry
Mon, 24 Aug 2009
Canadian Blood Services new interview system a failure
On Friday there was a plea from Canadian Blood Services (CBS) for donations.
I had deferred/cancelled in the spring because I had a cold, and I didn't
reschedule, so I called and made an appointment today for 8:35am.
After they pic my finger, and have me wait ten minutes so that I can have an
interview room so that I can answer 58 questions (yet again), I get into the
room. I noticed my printout did not have the questions on the back, and I was
given a touch screen to answer on. Interesting.
First thing I notice is that there is a Start menu on the lower right, and
some icons in the lower right. Huh? The nurse tells me that I can not
answer the question (Yes/No/Back/Skip/Replay are the buttons) until it
finishes talking. There is a printer in the corner, and the PC is bolted to
the bottom of the table, in a nice position so that I can get to all the
wires in the back. There is a blue network cable connecting the PC into the
wall.
I had my laptop, my N800, and I think I had my DamnSmallLinux USB boot key in
my bag too. This is just what I carry on my regular way to work. I also had
a projector in a bag, which I was returning to my office. I have to carry it
all, since I'm on transit. Sometimes I have a USB powered 5-port hub with
me too.
After 7 questions, I poke the Start menu, and see "Run" and poke that.
It flashes, but it doesn't come up. (I learn later that there is some
"security" system. But, the program did start. Lotus Notes was even
installed on the system!)
The questions continue to be read to me, and I continue to be able to answer
Yes/No, but the screen does not display the question to me. Once I finish
the questions, I read the little plasticized note table about their
"eQuestionnaire", I'm told it is going to print the result out, and I'm going
to sign them.
The top of the display had my name, birthdate on it. The nurse scan used a
bar code reader to scan my admission paper in to bring that data up, I
guess. Either it pulled it up out of their database, or the bar code has
that information encoded in it. I hope it was all self-contained, and that
the computer did not in fact have database/network access.
I go to open the door to let them know that I'm ready.
I explain that the system display froze. It continued to read me questions,
and it accepted my answers and it continued on.
The nurse is surprised and annoyed at the computer, and I explain that I do
not feel that this system is secure. She asks me to write a suggestion. She
says that someone else had commented on this too. Said it was "mickey-mouse"
She goes to get another person, and I explain again. She brings me a paper,
and I write a message about this.
She is gone for awhile, and I look at my watch. 9:25am, and they haven't even
poked my arm yet. This is ridiculous, shouldn't the computer someone speed
things up, or make them cheaper, or... ?
Why does it take 45+ minutes just to start giving blood? What is the gain of
having the computer ask me questions, possibly violate my privacy, possibly
expose the entire CBS database? The eQuestionnaire card says that my answers
will be filled in a warehouse in Ottawa. The paper copy!
Let's forget about the security aspect: why are they using XP? (is it even
cost effective?) Why do they have explorer.exe running at ALL? Why is the
cabling accessible to me, while I sit privately in a room, likely on the
inside of their "firewall"?
Let's just focus on what this project is supposed to do? How does adding a
computer save any money here? Seriously. What is the opportunity? What is
the savings? My guess is that the opportunity is not very large, thus they
do not really have much incentive to spend very much to do this
correctly. Ironically, they aren't even doing this "cheaply"
I got up, collected by donation card, left the suggestion note and left
without leaving any of my blood.
CBS, I think this is scandalous. I think you should keep the manager that
approved this --- people need to take chances and try things.
Make sure that we all know who this manager is, because they will be
contacting everyone that filled in this touch screen form and explaining that
it was their poor judgement that possibly disclosed peoples very private
answers.
I think you should fire the "IT" people that were involved. Publically. This
should affect their reputation. I don't care if they wrote you a memo that
said that you shouldn't do this: they should have refused to do this work.
posted at: 14:24 | path: /defectivebydesign | permanent link to this entry
Tue, 18 Aug 2009
Arnprior Solar Project
On my twice-summer pilgramage to Arnprior to fetch parts to fix things at the
(Charlebois) cottage, I passed the Arnprior Solar Project. It is on Galetta
(Side) Road, just east of old-Hwy 17. (is it's new name 29?)
I never heard about this before... but they were all these metal easels
sticking out of the ground with a cardboard box in front of each, waiting to
be assembled.
Some links I found:
http://globalsolartechnology.com/index.php?option=com_content&task=view&id=3233&Itemid=9
http://bcag.mybrockville.com/node/788
The company doing this is: http://www.edf-energies-nouvelles.com/ which seems
to be a French company of about 1700 people!
What amazed me is that this location is prime agricultural land.
Not something I'd want to repeat that often, but as it's the first of it's
kind in Canada, I guess it's a good experiment. I wonder how it will stand
up to snow load. I guess EDF will find out.
posted at: 00:08 | path: /environment | permanent link to this entry
Thu, 13 Aug 2009
Using mysqldump to do automated backups
One of my annoyances of MySQL is that all authentication is "password"
based. I very much prefer PostgresQL's use of Unix sockets, such that if
you login as the "postgres" user (or whatever user you are running the
cluster as), you are effectively root.
So, one has passwords for the root database user spread all over scripts when
you have a MySQL install. Very annoying.
On debian systems (including Ubuntu and JEOS), there is a special userid
created called "debian-sys-maint", the init scripts use this ID for shutting
down. The password is randomly created and is stored into
/etc/mysql/debian.cnf. Read /etc/init.d/mysql if you want details.
How do use this with mysqldump? it does not have a --config option.
Finally, after a lot of googling, I came across the page:
http://dev.mysql.com/doc/refman/5.1/en/option-files.html
it says:
defaults-extra-file The file specified with --defaults-extra-file=path,
if any
So, mysqldump can be told to read additional config files!
sudo mysqldump --defaults-extra-file=/etc/mysql/debian.cnf --database myfoo
posted at: 15:59 | path: /howto | permanent link to this entry
Wed, 15 Jul 2009
La Ronde -- montreal expo island roller coaster
I went to La Ronde last night after my http://linuxsymposium.org talk. $25
after 5pm, $20 if you buy online. (Internet at my hotel was stuffed, so I
couldn't buy online) http://www.laronde.com/
Take Metro to BERI-UQAM, and then take Yellow line south one stop to the
island, then take 167 bus "La Ronde" for 5 minutes. It's too far to
walk, alas. I got there at 7:30pm, alas. I wish I had got there earlier.
(There were plenty of buses at 9pm to deal with the people leaving when the
park closes)
I managed to ride "le Monstre" which is one of the larger wooden
roller-coasters in North America, apparently. It is fast. They had only
one of the two tracks running, otherwise, you'd be "racing" the other
track.
I also rode the Goliath, which is a metal coaster. It's not as fast
overall, but it has more up-gforces.. I.e. you get weightless as you go
over the rises. You are almost standing. I didn't get to ride the one
where you hang, and your feet are out, and you go up-side-down.
I did see, next to the Goliath, a diving pool spectacle. It's called
Y'Eau. Now I know what happens to retired Olympic divers. Very
cool... I just sat down there to finish my food before I lined up for
the Goliath... line ups on Monday were not bad... 25 minutes each...
I gotta go back.
I gotta go back with Liam when he is tall enough to ride! I hope he will be
into roller coasters.
posted at: 02:29 | path: /travel | permanent link to this entry
Amtrak trip to New York state field
It's 3:35pm. We've been sitting in a field in upstate New York State for 45
minutes. Finally, the northbound train just passed us, and we are now
proceeding. I guess this is because we were too late to get to the next
passing track.
I think we were late leave, the train bridge was under construction, so we
were slow leaving, and the border crossing at "Rousse Point" was very slow. 2
hours, I think.
PLEASE, can we not work something out so that US border guards get on the
train in Montreal, and work as the train moves?
I understand that there are issues with the US boarder guards being
armed... well, the Canadian ones are now (unfortunately, I think) now also
armed. At least, could we arrange for Canadian immigration to board at
Rousse Point, and process people while the train moves?
(Finally, at 3:50pm, after going around some more of Lake Champlain, we got
to Port Henry. I think we are 4 hours late now... Apparently there is no
train on Thursday/Friday due to track work. I hope they can improve things)
posted at: 02:29 | path: /travel | permanent link to this entry
Mon, 06 Jul 2009
Rails 2.3.x requires new test_helper
I was getting weird errors like:
.../test/test_helper.rb:11: undefined method `use_instantiated_fixtures=' for Test::Unit::TestCase:Class (NoMethodError)
When trying to run "rake test" on an application that actually had no tests
defined, (my goal is to add a few) that was built with rails 2.3.2.
It turns out that in rails 2.3 (?- maybe 2.2, my other applications are at
- 2.1), the unit test cases are now subclassed from ActiveSupport::TestCase
- instead of Test::Unit::TestCase.
This matters for both test_helper.rb and the *_test.rb files.
posted at: 23:05 | path: /ruby-on-rails | permanent link to this entry
Open proxies vs network censorship vs security issues
http://www.renesys.com/blog/2009/06/the-proxy-fight-for-iranian-de.shtml
this is a very good read as are the previous posts about Iran.
http://www.renesys.com/blog/2009/06/strange-changes-in-iranian-int.shtml
http://www.renesys.com/blog/2009/06/iran-and-the-internet-uneasy-s.shtml
The conclusion is sad, but it does remind me of various Verner Vinge books
(both Deepness in the Sky and Rainbows End) about needing little mote
sized routers....
People we talk to inside Iran say that almost no proxies are usable any
more. Freegate, a Chinese anti-censorship application that makes use of
networks of open proxies, has proven popular in Iran. But this week, it, too,
has been experiencing problems. Many popular applications, like Yahoo!
Messenger, have stopped working. The authorities are said to be using power
interruptions as a cyberweapon, causing brief outages during rallies that
cause computers to reboot, just as people are trying to upload images and
video. The net result, as Arbor's excellent analysis shows, has been a
drastic reduction in inbound traffic on filtered ports since the election.
If there's a lesson here for the rest of the world, perhaps it's this:
Install a few proxy instances on machines you control. Learn how to lock them
down properly. Swap them with your friends overseas who live in places where
the Internet is fragile. Set up your tunnels and test them. And don't wait
until the tanks are in the streets to figure this out, because by that point,
you may have already lost the proxy war.
This is why people need to be using privacy and security tools on a regular
basis. That was one of the major reasons behind the FreeS/WAN project.
posted at: 23:05 | path: /politics | permanent link to this entry
Fri, 26 Jun 2009
BBQ Pizza Recipe
My wife wrote this in a facebook post... while we were watching TV, and I
thought it was worth sharing. We first learnt this recipe from a LCBO
magazine.
In a jug with 3/4 cup warm water, dissolve 1 packet yeast and 1 teaspoon
sugar let it become frothy when it is frothy, add 1/2 Tablespoon of olive oil
(extra virgin) spoon not scoop out 1 1/4 cups Tipo 00 flour (found at Italian
shops) pour it onto a board and make a well, add a pinch of (sea) salt.
Pour the yeast mixture in to the centre bit by bit working it in moving flour
in to middle to incorporate work with flour dusted hands knead dough a few
minutes place in a flour dusted bowl & on the top of dough cover with a cloth
and let sit in a dark corner of counter 1/2 hr or so.
Divide dough into up to 3 pieces ( you can do 1, 2 or 3) and roll out to
desired thickness without it breaking. You can go very thin (2mm or so) if
you use the Tipo 00 flour.
Heat grill both sides hot. Very hot. Crank it. When my temperature gauge says
700F, it's ready. We actually had one of the (plastic) handles on the side
of our BBQ melt off.
{You will later turn one side down to low when putting pizzas with
ingredients on on to the grill}
Brush the rolled out dough with olive oil on one side, and immediately place
oil side down 60 seconds. You will have to experiment as different BBQs are
different, so have extra dough, or have a back-up meal plan.
Remove from BBQ, (pop on another dough if you have one), and oil the side
that was not oiled, (it should be already up), flip it oil down, and grill 15
seconds just to set it.
(In the original recipe, where you aren't using Tipo flour, then flip it over
to the cooler side, and let it hang there)
Remove from BBQ, when side 2 (the one currently cooking), just starts to
cook. You will finish cooking it later.
Do not flip the dough. Put on your sauce or oil on the side that is cooked
the most, the least cooked side will go back on the low heat side.
Put on your ingredients, place back onto the grill on the low heat side with
the other side on high cook until the cheese begins to melt (don't pile on a
lot) make sure crust is not burning. You need to keep the lid closed, and
you need to keep the hot side cranked to keep the heat above up.
You can cook more doughes on the hot side, but keep the lid closed as much as
possible. If you have help, have someone else open the lid just enough to
slide the new dough in/out.
posted at: 00:21 | path: /food | permanent link to this entry
Wed, 17 Jun 2009
Gizmo5 SIP client
Preferring open standards (SIP) to closed systems (Skype), I have been
trying the Gizmo Project "Gizmo5" SIP client. It didn't work for along time
due to some bugs in the Pulse/libao that were fixed upstream, but debian
never considered a bug to release a patch for etch. It started working again
in lenny.
I haven't figured out how to properly set my audio device in kphone to
be my USB headset. aplay -L says:
marajade-[~] mcr 1102 %aplay -L
front:CARD=I82801DBICH4,DEV=0
Intel 82801DB-ICH4, Intel 82801DB-ICH4
Front speakers
surround40:CARD=I82801DBICH4,DEV=0
Intel 82801DB-ICH4, Intel 82801DB-ICH4
4.0 Surround output to Front and Rear speakers
surround41:CARD=I82801DBICH4,DEV=0
Intel 82801DB-ICH4, Intel 82801DB-ICH4
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=I82801DBICH4,DEV=0
Intel 82801DB-ICH4, Intel 82801DB-ICH4
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=I82801DBICH4,DEV=0
Intel 82801DB-ICH4, Intel 82801DB-ICH4
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
null
Discard all samples (playback) or generate zero samples (capture)
front:CARD=default,DEV=0
C-Media USB Headphone Set , USB Audio
Front speakers
surround40:CARD=default,DEV=0
C-Media USB Headphone Set , USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=default,DEV=0
C-Media USB Headphone Set , USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=default,DEV=0
C-Media USB Headphone Set , USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=default,DEV=0
C-Media USB Headphone Set , USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=default,DEV=0
C-Media USB Headphone Set , USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=default,DEV=0
C-Media USB Headphone Set , USB Audio
IEC958 (S/PDIF) Digital Audio Output
but I'm unclear what to put into the kphone box, and it does not give me a
list of available devices like Gizmo does.
Well, gizmo lets me register to my office's Asterisk PBX, and it does give me
a nice list, but I just discovered two problems:
* I can not get DTMF ("Touch Tones") to work through the SIP interface. No
setting (inband) or outband (RFC2823) seem to work when I tried to call
Porter Airlines, or one of the free conference call systems.
* I started to investigate, and was surprised to see that the registration
for my extension did not come from my desktop's IP address. Rather, it
came from the GIZMO project! Specically I was registered from:
cirrus*CLI> sip show peer 403
..
DTMFmode : rfc2833
Addr->IP : 198.65.166.131 Port 5060
Useragent : LinGizmo/1.7.07 (Gizmo-s2n1)
Reg. Contact : sip:17471318555@proxy01.sipphone.com:5060
..
marajade-[~] mcr 1103 %host 198.65.166.131
131.166.65.198.in-addr.arpa domain name pointer northamerica.sipphone.com.
This really surprised me, and may well also explain the DTMF problems.
I tried to call Porter Airlines via the GIZMO project, but the call did not
complete, so I couldn't tell who was at fault.
This also concerned me because it means that GizmoProject can potentially
listen in on my company calls, as they are a registered proxy. They also may
get to see (and record?) my SIP passwords which otherwise should not be
passing in the clear. (Of course, they could do this anyway as they provided
the program I am running, but this is a new tack that I didn't realize)
I shall be building kphone from source, to see if perhaps I can figure out
how to properly set the audio I/O device properly.
posted at: 17:14 | path: /colo | permanent link to this entry
Mon, 08 Jun 2009
LeftHand networks - not a useful answer
I generally prefer freely available (in the sense of beer and speech) open
source solutions that I can tinker with, but I recognize that sometimes a
complete, well packaged and well supported solution is a win. I find it
especially nice if I know it is really well packaged open source.
As a friend says, "I do not do my own dentistry"
I came across LeftHand Networks <http://lefthandnetworks.com/> last fall, and
was excited that they were doing a sales presentation in Ottawa in March.
What they offer is a virtualized SAN. You run a special virtual machine on
each of you diskful physical machines, give them the bulk of your local disk
space and these Virtual Storage Appliances (VSA) communicate together than
present an iSCSI target. The contents of the disks are replicated (RAID'ed)
between machines, so even if one machine goes down, then disk contents
continue to be available.
You then point your virtualization infrastructure at this iSCSI target and
spin up more virtual machines as guests. This solves an annoyance about the
various "live migration" or "vMotion" facilities: you need to have a SAN to
make it possible, and the SAN is now a single point of failure, and can be
really expensive.
LeftHand supports ESX(i) at present, but my guess is that you can run
qemu-img on the vmdk files and boot the thing under XEN. It's clearly a
Linux system inside, and they might even have para-virtualization support in
(2.6.26+ kernels have that available), so it might "just work" under XEN,
even without HVM (VT/Pacifica).
You can download the appliance and run them, and then you tell two of them to
join the same group, and they can replicate disks, and you get 30 days of
demo license to do this... I'm at day 15, and it was time to find out what
the solution will cost.
I got a quote: $5839CDN. Wow. You can buy physical SANs for that price.
You can hire consultants to setup Openfiler for you for that price.
I think LeftHand/HP has missed the boat here. I expected to pay $500 to $900
per system and/or site. (I can see many licensing options here).
posted at: 17:20 | path: /colo | permanent link to this entry
Wed, 20 May 2009
Oliphant's final comments to Mulrooney
Justice Oliphant asked Mr. Mulrooney,
Mr. Mulroney, you've been on the stand for I think the longest of any
witness I have either been involved in as a lawyer or in 24 years as a
judge," Justice Jeffrey Oliphant told Mulroney at the inquiry in
Ottawa.
I want to assure myself before you leave, sir, that you feel, despite
probing questions that may have been asked, that you leave here feeling
that you've been treated fairly and with respect."
Mr. Mulrooney then replied:
The probing questions I thought were appropriate and didn't either
bother me or offend me in any way. So the answer to the question is very
much in the affirmative. And I thank you sir for your kindness."
Well, I could never be so nice. I guess that's why I'll never get to be
Prime Minister.
see http://www2.macleans.ca/2009/05/20/oh-sure-its-all-kiss-n-hug-now/
posted at: 23:30 | path: /politics | permanent link to this entry
Wed, 08 Apr 2009
building rpms out of git
My friend Michael Soulier writes at:
http://www.digitaltorque.ca/2009/04/02/building-rpms-out-of-git/
I find the need to wrap up content into a tar.gz so that I can build
it really dumb. It wasn't always like this... with the DEBIAN version the
rpm command, I can actually just do:
rpmbuild -vv --define="_topdir $(RPMTOPDIR)" --define="Version $(VERSION)" -bb pt-vnc-connector.spec
and produce an RPM directly from my source directory...
This no longer works with RHEL4/FC8/Centos5 versions of RPM, which I find
funny. I was looking at porting the debian RPM package to RPM...
So, I build my RPMs under Debian Etch/Lenny!
Michael also writes:
git clone . /var/tmp/$fullname || exit 1
rm -rf /var/tmp/$fullname/.git*
dest=$HOME/rpms/SOURCES/${fullname}.tar.gz
rm -f $dest
tar -C /var/tmp -zcvf $dest $fullname && rm -rf /var/tmp/$fullname
which I think can be replaced with:
git-archive --format=tar --prefix=$fullname/ . | gzip >$HOME/rpms/SOURCES/${fullname}.tar.gz
posted at: 19:29 | path: /oss | permanent link to this entry
Mon, 30 Mar 2009
Febrile Seizures
It's not uncommon in our house for Liam to come running into our room at
2 or 3am, and climb into bed with us. I used to wait for him to go to sleep
again, and put him back in his bed, since otherwise, he just kicks and
head-butts us all night, and we don't sleep.
Lately he doesn't stay asleep when I return him, or doesn't sleep at all.
Meaghan came up with the idea of putting his old crimb mattress under our
bed, with sheets on it, and just pulling it out for him when he comes
in. Recently, he has a need to hold hands when he goes asleep, so he is even
close enough for that.
Yesterday (Saturday), Liam was sick, fevered, and even put himself down for a
nap at 2pm. Bedtime was early, and he came into our room.
About 3:30am, after being woken by the cat barf'ing twice in the bathroom, we
awoke this morning when Meaghan heard Liam seizing. He was convulsing, teeth
going, etc.
The fact of the seizure was startling, but not entirely surprising, although
this is his first we've seen. He did spill his juice everywhere on Friday
night because what seemed like an arm spasm.
Teeth clenched, shaking, etc. wasn't a grand-mal. I've seen epileptic
seizures in adults before (among people who hadn't had them in along time.
What was surprising, and caused us to phone 911 was that he was completely
catatonic afterwards... his eyes would be open, with the eyeballs rolled up,
or pointing wrong, and he didn't respond at all.
We dialed 911 (emergency), asked for an ambulance, and ambulance dispatch
called back 1 minute later asking for details. (I'd never experienced that
before, I think. Fortunately, I don't have much experience with 911)
Liam was breathing, although with difficulty as his nose was definitely all
stuffed up, and his mouth was not open. I told Meaghan to get dressed, and
told her that she was going with him, and I'd come by Vrtucar.
I got dressed after and waited for the ambulance. After they checked him up
and hooked up the oxygen, and poked his foot to measure his blood sugar, I
went to see about a vrtucar, and found that there wasn't one that was nearby
(15 minute walk, and I'd have to swing back to get his car seat), and then I
realized that I didn't want to drive. (When your child is ill, driving is
really something you shouldn't do. Not having a car is really not that big a
deal in a medical emergency. You really don't want to anyway)
They ambulance hadn't left, so I went too. They had me ride in the front.
We arrived at 4am.
A doctor saw us finally at 8am, and ... no big deal, home by 8:30am.
I was reading online at:
http://www.ninds.nih.gov/disorders/febrile_seizures/detail_febrile_seizures.htm
and
http://en.wikipedia.org/wiki/Febrile_seizure
and there wasn't anything said about how long it takes a child to return to
normal afterwards. I asked the doctor, and she said that up to an hour of
being out of it was to be expected. Wow.
(Yes, I edited the wikipedia page)
posted at: 01:10 | path: /children | permanent link to this entry
Wed, 18 Mar 2009
Monbiot -- too late to avoid climate change?
At http://www.monbiot.com/archives/2009/03/17/a-self-fulfilling-prophecy/
Monbiot writes
Yes, it is true that mitigation has so far failed. Sabotaged by Clinton(5),
abandoned by Bush, attended half-heartedly by the other rich nations, the
global climate talks have so far been a total failure. The targets they have
set bear no relationship to the science and are negated anyway by loopholes
and false accounting. Nations like the UK which are meeting their obligations
under the Kyoto protocol have succeeded only by outsourcing their pollution
to other countries(6,7). Nations like Canada, which are flouting their
obligations, face no meaningful sanctions.
(emphasis mine)
I felt very sad and upset reading this article.
posted at: 14:13 | path: /environment | permanent link to this entry
Sun, 22 Feb 2009
Charles Stross on open standards
Charles Stross <http://www.antipope.org/charlie> writes in his book
GlassHouse, page 47:
"We know why the dark age happened. Our ancestors allowed their storage and
processing architecture to proliferate uncontrollably, and they tended to
throw away old technologies instead of virtualizing them. For reasons of
commercial advantage, some of their largest entitites deliberately created
incompatible information formats and locked up huge quantities of useful
material in them, so that when new architectures replaced old, the data
become in accessible."
"This particularly affected our records of personal and household activities
during the latter half of the dark age. Early on, for example, we have a lot
of film data captured by amateurs and home enthusiasts. They used a thing
called a cine camera, which captured images on a photochemical medium. You
could actually decode it with your eyeball. But a third of the way into the
dark age, they switched to using magnetic storage tape, which degrades
rapidly, then to digital storage, which was EVEN WORSE because for no OBVIOUS
reason they encrypted everything. The same sort of thing happened to their
audio recordings, and to text. Ironically, we know a lot more about their
culture around the beginning of the dark age, around old-style year 1950,
than about the end of the dark age, around 2040"
posted at: 19:45 | path: /standards | permanent link to this entry
Tue, 10 Feb 2009
How to train good "IT" people
Mike Charlton <mikekchar@gmail.com> said it better than I could have:
I also agree with the trade description for programming. I firmly
believe that apprenticeship is the best way to teach programmers.
In fact, I believe that University is a *bad* way to teach programmers.
What little pure theory a programmer needs can be taught on
the job IMHO.
But research in programming is very much required. And there is
a huge amount of theory that is required to advance the state of
the art (which we've touched on). If it were *actually* studied,
I suppose I wouldn't begrudge an engineering title. But as
it stands, I also highly disapprove of the engineering moniker.
I believe that Universities should exist, not to train future employees --
that's what a community college is for, but to train future researchers.
And current curricula do a piss poor job of that. As a poigniant
example of this, we get a semi-recurring plea for help from an
Indian PhD student on the ottawa-agile mailing list (must be
spamming *all* the agile lists, poor guy). He wants to do research
in the area, but lacks even the basics for which to do so. I want
to reply, but I can't think of a helpful response (other than,
"Get a new supervisor"). Unfotunately, having talked to several
other researchers in the field, his problem isn't unique.
So in the end we get badly trained programmers from Universities
and likewise badly trained researchers who don't even know the
first thing about what's important in the field. Finally, in the past
we have also gotten completely untrained "engineers" who figure
they can do programming because they are "smart". Sigh...
And as Don says, nobody is able to do the job of a Professional
Engineer in programming (ensuring that nobody comes to harm
do to mistakes made) because our field is simply not mature
enough....
But what can you do ;-)
MikeC
posted at: 15:29 | path: /agile | permanent link to this entry
Wed, 28 Jan 2009
Obama's inauguration speech
My fellow citizens:
I stand here today humbled by the task before us, grateful for the trust you
have bestowed, mindful of the sacrifices borne by our ancestors. I thank
President Bush for his service to our nation, as well as the generosity and
cooperation he has shown throughout this transition.
Forty-four Americans have now taken the presidential oath. The words have
been spoken during rising tides of prosperity and the still waters of
peace. Yet, every so often the oath is taken amidst gathering clouds and
raging storms. At these moments, America has carried on not simply because of
the skill or vision of those in high office, but because We the People have
remained faithful to the ideals of our forbearers, and true to our founding
documents.
So it has been. So it must be with this generation of Americans.
That we are in the midst of crisis is now well understood. Our nation is at
war, against a far-reaching network of violence and hatred. Our economy is
badly weakened, a consequence of greed and irresponsibility on the part of
some, but also our collective failure to make hard choices and prepare the
nation for a new age. Homes have been lost; jobs shed; businesses
shuttered. Our health care is too costly; our schools fail too many; and each
day brings further evidence that the ways we use energy strengthen our
adversaries and threaten our planet.
These are the indicators of crisis, subject to data and statistics. Less
measurable but no less profound is a sapping of confidence across our land -
a nagging fear that America's decline is inevitable, and that the next
generation must lower its sights.
Today I say to you that the challenges we face are real. They are serious and
they are many. They will not be met easily or in a short span of time. But
know this, America - they will be met.
On this day, we gather because we have chosen hope over fear, unity of
purpose over conflict and discord.
On this day, we come to proclaim an end to the petty grievances and false
promises, the recriminations and worn out dogmas, that for far too long have
strangled our politics.
We remain a young nation, but in the words of Scripture, the time has come to
set aside childish things. The time has come to reaffirm our enduring spirit;
to choose our better history; to carry forward that precious gift, that noble
idea, passed on from generation to generation: the God-given promise that all
are equal, all are free, and all deserve a chance to pursue their full
measure of happiness.
In reaffirming the greatness of our nation, we understand that greatness is
never a given. It must be earned. Our journey has never been one of
short-cuts or settling for less. It has not been the path for the
faint-hearted - for those who prefer leisure over work, or seek only the
pleasures of riches and fame. Rather, it has been the risk-takers, the doers,
the makers of things - some celebrated but more often men and women obscure
in their labor, who have carried us up the long, rugged path towards
prosperity and freedom.
For us, they packed up their few worldly possessions and traveled across
oceans in search of a new life.
For us, they toiled in sweatshops and settled the West; endured the lash of
the whip and plowed the hard earth.
For us, they fought and died, in places like Concord and Gettysburg; Normandy
and Khe Sanh.
Time and again these men and women struggled and sacrificed and worked till
their hands were raw so that we might live a better life. They saw America as
bigger than the sum of our individual ambitions; greater than all the
differences of birth or wealth or faction.
This is the journey we continue today. We remain the most prosperous,
powerful nation on Earth. Our workers are no less productive than when this
crisis began. Our minds are no less inventive, our goods and services no less
needed than they were last week or last month or last year. Our capacity
remains undiminished. But our time of standing pat, of protecting narrow
interests and putting off unpleasant decisions - that time has surely
passed. Starting today, we must pick ourselves up, dust ourselves off, and
begin again the work of remaking America.
For everywhere we look, there is work to be done. The state of the economy
calls for action, bold and swift, and we will act - not only to create new
jobs, but to lay a new foundation for growth. We will build the roads and
bridges, the electric grids and digital lines that feed our commerce and bind
us together. We will restore science to its rightful place, and wield
technology's wonders to raise health care's quality and lower its
cost. We will harness the sun and the winds and the soil to fuel our cars and
run our factories. And we will transform our schools and colleges and
universities to meet the demands of a new age. All this we can do. And all
this we will do.
Now, there are some who question the scale of our ambitions - who suggest
that our system cannot tolerate too many big plans. Their memories are
short. For they have forgotten what this country has already done; what free
men and women can achieve when imagination is joined to common purpose, and
necessity to courage.
What the cynics fail to understand is that the ground has shifted beneath
them - that the stale political arguments that have consumed us for so long
no longer apply. The question we ask today is not whether our government is
too big or too small, but whether it works - whether it helps families find
jobs at a decent wage, care they can afford, a retirement that is
dignified. Where the answer is yes, we intend to move forward. Where the
answer is no, programs will end. And those of us who manage the public's
dollars will be held to account - to spend wisely, reform bad habits, and do
our business in the light of day - because only then can we restore the vital
trust between a people and their government.
Nor is the question before us whether the market is a force for good or
ill. Its power to generate wealth and expand freedom is unmatched, but this
crisis has reminded us that without a watchful eye, the market can spin out
of control - and that a nation cannot prosper long when it favors only the
prosperous. The success of our economy has always depended not just on the
size of our Gross Domestic Product, but on the reach of our prosperity; on
our ability to extend opportunity to every willing heart - not out of
charity, but because it is the surest route to our common good.
As for our common defense, we reject as false the choice between our safety
and our ideals. Our Founding Fathers, faced with perils we can scarcely
imagine, drafted a charter to assure the rule of law and the rights of man, a
charter expanded by the blood of generations. Those ideals still light the
world, and we will not give them up for expedience's sake. And so to all
other peoples and governments who are watching today, from the grandest
capitals to the small village where my father was born: know that America is
a friend of each nation and every man, woman, and child who seeks a future of
peace and dignity, and that we are ready to lead once more.
Recall that earlier generations faced down fascism and communism not just
with missiles and tanks, but with sturdy alliances and enduring
convictions. They understood that our power alone cannot protect us, nor does
it entitle us to do as we please. Instead, they knew that our power grows
through its prudent use; our security emanates from the justness of our
cause, the force of our example, the tempering qualities of humility and
restraint.
We are the keepers of this legacy. Guided by these principles once more, we
can meet those new threats that demand even greater effort - even greater
cooperation and understanding between nations. We will begin to responsibly
leave Iraq to its people, and forge a hard-earned peace in Afghanistan. With
old friends and former foes, we will work tirelessly to lessen the nuclear
threat, and roll back the specter of a warming planet. We will not apologize
for our way of life, nor will we waver in its defense, and for those who seek
to advance their aims by inducing terror and slaughtering innocents, we say
to you now that our spirit is stronger and cannot be broken; you cannot
outlast us, and we will defeat you.
For we know that our patchwork heritage is a strength, not a weakness. We are
a nation of Christians and Muslims, Jews and Hindus - and non-believers. We
are shaped by every language and culture, drawn from every end of this Earth;
and because we have tasted the bitter swill of civil war and segregation, and
emerged from that dark chapter stronger and more united, we cannot help but
believe that the old hatreds shall someday pass; that the lines of tribe
shall soon dissolve; that as the world grows smaller, our common humanity
shall reveal itself; and that America must play its role in ushering in a new
era of peace.
To the Muslim world, we seek a new way forward, based on mutual interest and
mutual respect. To those leaders around the globe who seek to sow conflict,
or blame their society's ills on the West - know that your people will
judge you on what you can build, not what you destroy. To those who cling to
power through corruption and deceit and the silencing of dissent, know that
you are on the wrong side of history; but that we will extend a hand if you
are willing to unclench your fist.
To the people of poor nations, we pledge to work alongside you to make your
farms flourish and let clean waters flow; to nourish starved bodies and feed
hungry minds. And to those nations like ours that enjoy relative plenty, we
say we can no longer afford indifference to suffering outside our borders;
nor can we consume the world's resources without regard to effect. For
the world has changed, and we must change with it.
As we consider the road that unfolds before us, we remember with humble
gratitude those brave Americans who, at this very hour, patrol far-off
deserts and distant mountains. They have something to tell us today, just as
the fallen heroes who lie in Arlington whisper through the ages. We honor
them not only because they are guardians of our liberty, but because they
embody the spirit of service; a willingness to find meaning in something
greater than themselves. And yet, at this moment - a moment that will define
a generation - it is precisely this spirit that must inhabit us all.
For as much as government can do and must do, it is ultimately the faith and
determination of the American people upon which this nation relies. It is the
kindness to take in a stranger when the levees break, the selflessness of
workers who would rather cut their hours than see a friend lose their job
which sees us through our darkest hours. It is the firefighter's courage
to storm a stairway filled with smoke, but also a parent's willingness
to nurture a child, that finally decides our fate.
Our challenges may be new. The instruments with which we meet them may be
new. But those values upon which our success depends - hard work and honesty,
courage and fair play, tolerance and curiosity, loyalty and patriotism -
these things are old. These things are true. They have been the quiet force
of progress throughout our history. What is demanded then is a return to
these truths. What is required of us now is a new era of responsibility - a
recognition, on the part of every American, that we have duties to ourselves,
our nation, and the world, duties that we do not grudgingly accept but rather
seize gladly, firm in the knowledge that there is nothing so satisfying to
the spirit, so defining of our character, than giving our all to a difficult
task.
This is the price and the promise of citizenship.
This is the source of our confidence - the knowledge that God calls on us to
shape an uncertain destiny.
This is the meaning of our liberty and our creed - why men and women and
children of every race and every faith can join in celebration across this
magnificent mall, and why a man whose father less than sixty years ago might
not have been served at a local restaurant can now stand before you to take a
most sacred oath.
So let us mark this day with remembrance, of who we are and how far we have
traveled. In the year of America's birth, in the coldest of months, a
small band of patriots huddled by dying campfires on the shores of an icy
river. The capital was abandoned. The enemy was advancing. The snow was
stained with blood. At a moment when the outcome of our revolution was most
in doubt, the father of our nation ordered these words be read to the people:
"Let it be told to the future world...that in the depth of winter, when
nothing but hope and virtue could survive...that the city and the country,
alarmed at one common danger, came forth to meet [it]."
America. In the face of our common dangers, in this winter of our hardship,
let us remember these timeless words. With hope and virtue, let us brave once
more the icy currents, and endure what storms may come. Let it be said by our
children's children that when we were tested we refused to let this
journey end, that we did not turn back nor did we falter; and with eyes fixed
on the horizon and God's grace upon us, we carried forth that great gift
of freedom and delivered it safely to future generations.
posted at: 20:23 | path: /politics | permanent link to this entry
Pascal's wager on Climate Change
Tim O'Reilly says it clearly at:
http://feeds.feedburner.com/~r/oreilly/radar/atom/~3/517029803/pascals-wager-and-climate-change.html
In my talks I've argued that climate change provides us with a modern version
of Pascal's wager: if catastrophic global warming turns out not to happen,
the steps we'd take to address it are still worthwhile. Given that there's
even a reasonable risk of disruptive climate change, any sensible person
should decide to act. It's insurance. The risk of your house burning down is
small, yet you carry homeowner's insurance; you don't expect to total your
car, but you know that the risk is there, and again, most people carry
insurance; you don't expect catastrophic illness to strike you down, but
again, you invest in insurance.
posted at: 20:23 | path: /environment | permanent link to this entry
|