Wait... what?
I received a phone call today that went something like this. I've had these before, but this time I had some spare time to play. This is the best I can remember, the real phone call went on for nearly 15 minutes, and there was a lot more going around in circles!
Me: Hello?
(Indian) Voice: Good afternoon sir, may I speak with Mr Bootchernaan? [those who know me will recognise my name in there somewhere!]
Me: What about?
Voice: I am calling from Microsoft, and we have detected that your computer is infected with viruses from the information it is sending to us
Me: really?
Voice: yes sir, you computer is infected with viruses and trojans and ...
Me: how do you know this?
Voice: your computer sends us information...
Me: How?
Showing posts with label timewaste. Show all posts
Showing posts with label timewaste. Show all posts
Thursday, 17 March 2011
Tuesday, 28 December 2010
Internet TV... without the internet TV bit.
So I bought a 32" LED backlit (not LED pixel) LCD Samsung a couple of months ago. It's hard to compare "Internet" TVs because each brand puts their own spin on exactly what "internet" means.
The Samsung series 6 has an Ethernet port, and by default Windows (Vista and higher) detect it and ask if you want to "trust" it or not. The TV detects DLNA servers you might have easily on your network too.
But what about this "internet" claim? When I first bought it, there were some simple internet "apps" that you can choose from and install. Mostly boring stuff from a TV perspective like Google Maps, Picasa, Facebook, Youtube, etc. This is all good but not exactly what I'd call internet "TV".
The Samsung series 6 has an Ethernet port, and by default Windows (Vista and higher) detect it and ask if you want to "trust" it or not. The TV detects DLNA servers you might have easily on your network too.
But what about this "internet" claim? When I first bought it, there were some simple internet "apps" that you can choose from and install. Mostly boring stuff from a TV perspective like Google Maps, Picasa, Facebook, Youtube, etc. This is all good but not exactly what I'd call internet "TV".
Tuesday, 24 August 2010
The Principle of Least Surprise
An oldie but a goodie.
When you write / design / create, be it a building, a program, a document or something else, try and think what reaction would cause the least amount of surprise to some input (eg. if you walked down a hallway and came to a dead-end, you would probably be surprised, ergo don't design dead-ends into hallways for no reason).
Why then, does the Windows XP "ctrl + alt + del, u" always shutdown straight away, unless there happen to be 50 updates waiting to be installed? Now I'm stuck waiting for half an hour with a dead computer, because the shortcut I always use to shut down has changed from "shut down now" to "install updates and then shut down".
When you write / design / create, be it a building, a program, a document or something else, try and think what reaction would cause the least amount of surprise to some input (eg. if you walked down a hallway and came to a dead-end, you would probably be surprised, ergo don't design dead-ends into hallways for no reason).
Why then, does the Windows XP "ctrl + alt + del, u" always shutdown straight away, unless there happen to be 50 updates waiting to be installed? Now I'm stuck waiting for half an hour with a dead computer, because the shortcut I always use to shut down has changed from "shut down now" to "install updates and then shut down".
Tuesday, 4 May 2010
Unable to mount USB
We learn from history that we learn nothing from history. (You may have noticed my cynical side already).
Xorg is currently going through some changes (again). hal has been deprecated, with some small amount of confusion about what's coming next, especially if you're not running *nix, but some form of BSD for example, since udev is not for BSD'ers, unless I'm mistaken.
Also watch out for your USB media not mounting again in Gnome. If you get the error message "Unable to mount USB. Not Authorized" it may be because of the way you log in (gdm, xdm, nodm, startx) or some other random reason. Here's where to start looking to check it:
Xorg is currently going through some changes (again). hal has been deprecated, with some small amount of confusion about what's coming next, especially if you're not running *nix, but some form of BSD for example, since udev is not for BSD'ers, unless I'm mistaken.
Also watch out for your USB media not mounting again in Gnome. If you get the error message "Unable to mount USB. Not Authorized" it may be because of the way you log in (gdm, xdm, nodm, startx) or some other random reason. Here's where to start looking to check it:
Sunday, 21 March 2010
Western Digital Passport - now with 50% less hackability!
I have a Western Digital My Passport here from a friend. It's been dropped, and it's making clicking noises (uh-oh). I'm trying to see if it's recoverable, so I thought I'd remove the disk and plug it directly onto the motherboard.
Friday, 29 January 2010
How dumb is Slashdot?
OK that title is a bit provocative. I enjoy reading Slashdot as much as the next guy, and I'd always laughed at the comments about Slashdot readers being dumb, but this post got me rolling my eyes in frustration: "2 Displays and 2 Workspaces With Linux and X?"
The OP asks about buying a second monitor and setting up two screens - one large desktop or separate X screens. Firstly, I would expect a question like this from an Ubuntu noob, followed by lots of answers like RTFM, Google it, see this FAQ, etc.
However on Slashdot, there are so many people who still don't realise that one large desktop doesn't mean windows have to maximise to two screens. So few people seem to know about xinerama and yet they're still giving advice! Someone said that "Windows 7's easy dual monitor setup lets you maximise to one window - can Linux do that?" (sheesh, only for years now...)
Slashdot users have some fantastic, intersting, and informative posts. Unfortunately, unlike a regular email list where only the people who might actually know the answer reply, everybody on Slashdot wants to reply.
Quad Erat Rant-astrandum!
The OP asks about buying a second monitor and setting up two screens - one large desktop or separate X screens. Firstly, I would expect a question like this from an Ubuntu noob, followed by lots of answers like RTFM, Google it, see this FAQ, etc.
However on Slashdot, there are so many people who still don't realise that one large desktop doesn't mean windows have to maximise to two screens. So few people seem to know about xinerama and yet they're still giving advice! Someone said that "Windows 7's easy dual monitor setup lets you maximise to one window - can Linux do that?" (sheesh, only for years now...)
Slashdot users have some fantastic, intersting, and informative posts. Unfortunately, unlike a regular email list where only the people who might actually know the answer reply, everybody on Slashdot wants to reply.
Quad Erat Rant-astrandum!
Thursday, 3 December 2009
Goodbye comment spam!
I don't know whether to count myself privileged or unlucky, but spammers have now started comment spamming by blog! I guess this is one of those annoying rights-of-passage.
I noticed a trend where they first post something simple like "I really enjoyed reading this post about <random word from blog>, thankyou". Since allowing a few of thoses, I'm now getting 6 or so spams a day.
I first turned on comment verification for posts older than 14 days, but that just means I get the comment spam in my inbox.
So I've now turned on captcha's (or "word verification" as Google's blogger calls it) so let's hope that reduces the spam.
If you're interested, the setting is in "Settings > Comments" called "". Choose "yes" and save.
I noticed a trend where they first post something simple like "I really enjoyed reading this post about <random word from blog>, thankyou". Since allowing a few of thoses, I'm now getting 6 or so spams a day.
I first turned on comment verification for posts older than 14 days, but that just means I get the comment spam in my inbox.
So I've now turned on captcha's (or "word verification" as Google's blogger calls it) so let's hope that reduces the spam.
If you're interested, the setting is in "Settings > Comments" called "". Choose "yes" and save.
Tuesday, 25 August 2009
What do do with a bluetooth GPS
I received a bluetooth GPS, by TomTom, which came with TomTom Navigator 5.
It installs on my O2 Windows Mobile 5, it pairs, it works, but there are no maps for Australia. It is, after all, from 2005.
(I've made some notes on extracting and installing CAB files in Linux without ActiveSync, which you might be interested in).
I've searched for map downloads, but as far as I can tell, they're not available for Australia for this version of Navigator. Nor are TeleAtlas maps, which are supposedly compatible.
So the question is: What do I do with this bluetooth GPS? It works fine with my phone, and no doubt would work with my laptop. I don't want Google Maps, because it doesn't give voice guided directions, nor does it allow you to download maps. (You have to be within range of a 3G tower at all times).
I would have liked a voice-guided navigator for my mobile, but I can't find one. Nor do I want to hack or download the latest Tomtom Navigator, or equivalent.
Your suggestions please! The more unusual the better! Duct tape required! Perhaps a GPS-aware back to base alarm for my car? You think of something...
Ideas so far:
- Download a compatible program and create data for OpenStreetMap. (OpenStreetMap is creating a royalty free and open GPS street map of the world, but they need GPS data). I could permanently mount my GPS and phone in the car, and upload the data from time to time.
The only problem is Yahoo has provided some free data already which covers most of the city I live in...
- Sell it (no box, CD's, used condition, I might get $20USD...)
- (Waiting for idea #3)
Saturday, 11 July 2009
Broadcom BCM4306 wireless LAN without ndiswrapper
I've been updating an old laptop as you might have read.
Last night I tried to start the wireless LAN, but too many kernel upgrades had obsoleted my setup! When I first got the laptop around 2004, ndiswrapper was the only option. By now I thought there must be a better way! I settled on the b43legacy drivers. Many thanks to that great site for all the specific details.
As I write, I'm using the wireless LAN with b43legacy without problems!
But how? I'll show you the details for the specific WLAN controller in the Dell Inspiron 9100.
According to wireless.kernel.org (wko)
At wko, b43legacy is specified for revision 2, and b43 for revision 3.
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
# CONFIG_B43LEGACY_DMA_AND_PIO_MODE is not set
CONFIG_B43LEGACY_DMA_MODE=y
# CONFIG_B43LEGACY_PIO_MODE is not set
Now make, install, and reboot! The module b43_legacy was loaded automatically for my by udev.
I use wpa_supplicant to connect. Your config files may vary. Somehow you need to specify that wpa_supplicant should be started like this:
In gentoo, edit /etc/conf.d/net:
There's one final step. The BCM cards need firmware which is loaded by the proprietary windows drivers. You must download this in addition to a firware cutter called b43-fwcutter. In Gentoo, emerge b43-fwcutter. Then run these commands (thanks again to wko).
You may need to specify a different firmware directory. /lib/firmware is correct for Gentoo.
Now you should be able to start your network script. In Gentoo /etc/init.d/net.wlan0 start. syslog shows:
And that's it! Let me know how you go, especially if you have an Inspiron 9100. If not, be sure to check out the official site for more details: http://wireless.kernel.org/en/users/Drivers/b43
Last night I tried to start the wireless LAN, but too many kernel upgrades had obsoleted my setup! When I first got the laptop around 2004, ndiswrapper was the only option. By now I thought there must be a better way! I settled on the b43legacy drivers. Many thanks to that great site for all the specific details.
As I write, I'm using the wireless LAN with b43legacy without problems!
But how? I'll show you the details for the specific WLAN controller in the Dell Inspiron 9100.
According to wireless.kernel.org (wko)
If your card is a BCM4306 Rev 2, or only has 802.11b capability, it uses b43legacy. All other models use b43.As you can see, I have revision 2, so I have to use the b43legacy driver. To identify your card, type `lspci -vnn | grep 14e4`. This is my response:
The 14e4 is necessary to use any b43 driver.
Subsystem: Broadcom Corporation Device [14e4:4d64]
02:00.0 Ethernet controller [0200]: Broadcom Corporation BCM4401 100Base-T [14e4:4401] (rev 01)
02:03.0 Network controller [0280]: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [14e4:4320] (rev 02)
At wko, b43legacy is specified for revision 2, and b43 for revision 3.
Supported chip typesNow to configure your kernel. (This may be done for you). Check these options are set:
* bcm4306 (Rev. 2 uses b43legacy, Rev. 3 uses b43)
- Networking support > wireless
- Generic IEEE 802.11 Networking Stack (mac80211)
- Enable LED triggers (MAC80211_LEDS) (if you have LEDs)
- Network device support > wireless LAN
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
# CONFIG_B43LEGACY_DMA_AND_PIO_MODE is not set
CONFIG_B43LEGACY_DMA_MODE=y
# CONFIG_B43LEGACY_PIO_MODE is not set
Now make, install, and reboot! The module b43_legacy was loaded automatically for my by udev.
I use wpa_supplicant to connect. Your config files may vary. Somehow you need to specify that wpa_supplicant should be started like this:
wpa_supplicant -iwlan0 -Dwext -c/etc/wpa_supplement.conf
In gentoo, edit /etc/conf.d/net:
modules_wlan0="wpa_supplicant"
wpa_supplicant_wlan0="-Dwext"
config_wlan0="dhcp"
dhcpcd_wlan0="-L"
There's one final step. The BCM cards need firmware which is loaded by the proprietary windows drivers. You must download this in addition to a firware cutter called b43-fwcutter. In Gentoo, emerge b43-fwcutter. Then run these commands (thanks again to wko).
export FIRMWARE_INSTALL_DIR="/lib/firmware"The output looks like this:
wget http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
sudo b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_apsta-3.130.20.0.o
This file is recognised as:
ID : FW10
filename : wl_apsta.o
version : 295.14
MD5 : e08665c5c5b66beb9c3b2dd54aa80cb3
Extracting b43legacy/ucode2.fw
Extracting b43legacy/ucode4.fw
Extracting b43legacy/ucode5.fw
Extracting b43legacy/ucode11.fw
Extracting b43legacy/pcm4.fw
Extracting b43legacy/pcm5.fw
Extracting b43legacy/a0g0bsinitvals2.fw
Extracting b43legacy/b0g0bsinitvals5.fw
Extracting b43legacy/a0g0initvals5.fw
Extracting b43legacy/a0g1bsinitvals5.fw
Extracting b43legacy/a0g0initvals2.fw
Extracting b43legacy/a0g1initvals5.fw
Extracting b43legacy/b0g0bsinitvals2.fw
Extracting b43legacy/b0g0initvals5.fw
Extracting b43legacy/b0g0initvals2.fw
Extracting b43legacy/a0g0bsinitvals5.fw
You may need to specify a different firmware directory. /lib/firmware is correct for Gentoo.
Now you should be able to start your network script. In Gentoo /etc/init.d/net.wlan0 start. syslog shows:
I removed IP addresses, hostnames, and MAC addresses.
b43legacy-phy0: Loading firmware version 0x127, patch level 14 (2005-04-18 02:36:27)
b43legacy-phy0 debug: Chip initialized
b43legacy-phy0 debug: 30-bit DMA initialized
Registered led device: b43legacy-phy0:tx
Registered led device: b43legacy-phy0:rx
b43legacy-phy0 debug: Wireless interface started
b43legacy-phy0 debug: Adding Interface type 2
b43legacy-phy0 debug: Radio initialized
b43legacy-phy0: Radio turned off by software
b43legacy-phy0: Radio turned on by software
/etc/init.d/net.wlan0[12885]: WARNING: net.wlan0 has started, but is inactive
wlan0: direct probe to AP --:--:--:--:--:-- try 1
wlan0 direct probe responded
wlan0: authenticate with AP --:--:--:--:--:--
wlan0: authenticated
wlan0: associate with AP --:--:--:--:--:--
wlan0: RX AssocResp from --:--:--:--:--:-- (capab=0x431 status=0 aid=2)
wlan0: associated
wpa_cli: interface wlan0 CONNECTED
dhcpcd[13080]: wlan0: dhcpcd 4.0.13 starting
dhcpcd[13080]: wlan0: broadcasting for a lease
dhcpcd[13080]: wlan0: offered x.x.x.148 from x.x.x.1
dhcpcd[13080]: wlan0: acknowledged x.x.x.148 from x.x.x.1
dhcpcd[13080]: wlan0: checking x.x.x.148 is available on attached networks
dhcpcd[13080]: wlan0: leased x.x.x.148 for 604800 seconds
And that's it! Let me know how you go, especially if you have an Inspiron 9100. If not, be sure to check out the official site for more details: http://wireless.kernel.org/en/users/Drivers/b43
Labels:
computers,
cool,
Dell,
inspiron9100,
timesave,
timewaste,
workplace,
Workstation
Friday, 10 July 2009
Dell Inspiron 9100 Internals part 3: CPU cooling assembly
After removing the video card, the next step was to access the
CPU fan. In the picture on the right you can see the Microprocessor Thermal-Cooling Assembly starting with the CPU fan at the bottom middle, running over the northbridge copper heat transfer pipe, and finally to the CPU heatsink. This Aluminium block has two copper pipes running to the left and right fans, for extra cooling.
Once I had got this far, I suspected the blockage was after the fan, but before the Aluminium block. I removed the video card (as you saw previously) and then the four screws on the block.
The block gave a bit of resistanc
e, and then lifted. Experts would recommend you do this to a hot machine, and this is the reason why: There's the CPU nicely stuck to the block. oops! The CPU pulled right out of the closed ZIF socket! Note that you can't do this to a warm laptop, unless you're fast, as it takes time to get this far.
There's a great thread here about removing a stuck CPU. I think the dental floss is a bit over the top (and time consuming), so I used a heat gun. I placed the assembly upside-down so the CPU wouldn't fall off, and blew the heat gun (or hair dryer) on the two end fins. Stop when it's only just too hot to touch. Then only a tiny bit of pressure was required to lift the CPU. Don't apply pressure to the corner of the CPU with a screwdriver!

Here's the final shot showing no CPU or video card.
Make sure you cover the ZIF socket with something to keep it dust free. And don't touch the CPU or heat sink heat transfer surface, as your skin-oils can deter the heat transfer.
Here's the cooling assembly. You can see the thick dust covering the channel. There was also dust all through the fins. (Again, sorry for the bad photos).
Now I cleaned the CPU surface and heat sink surface with alcohol and a lint-free cloth, and applied a covering of Arctic Silver. The next two photos show why it needed cleaning:


And now it's time to reinstall! Follow the pull-apart instructions backwards.

Take careful note of where the screws go as some screws were different sizes to the ones listed in the Dell guide. Also make sure you take care with re-inserting the parts. I cracked the display bezel and one hinge because I couldn't fit the centre hinge cover properly. Nevermind, they're only about US$25!
On the right you can see a gcc compile at 100% CPU usage. The CPU has only just started to heat up at 43 degrees C. It didn't pass 58 degrees after compiling my system for hours, and the fans were all at low / medium speed.
Finally, at idle, it's now 40 degrees C. (woot).
Oh, and by the way: I suspended before taking out the CPU, and I resumed days later without any software issues!
CPU fan. In the picture on the right you can see the Microprocessor Thermal-Cooling Assembly starting with the CPU fan at the bottom middle, running over the northbridge copper heat transfer pipe, and finally to the CPU heatsink. This Aluminium block has two copper pipes running to the left and right fans, for extra cooling.Once I had got this far, I suspected the blockage was after the fan, but before the Aluminium block. I removed the video card (as you saw previously) and then the four screws on the block.
The block gave a bit of resistanc
e, and then lifted. Experts would recommend you do this to a hot machine, and this is the reason why: There's the CPU nicely stuck to the block. oops! The CPU pulled right out of the closed ZIF socket! Note that you can't do this to a warm laptop, unless you're fast, as it takes time to get this far.There's a great thread here about removing a stuck CPU. I think the dental floss is a bit over the top (and time consuming), so I used a heat gun. I placed the assembly upside-down so the CPU wouldn't fall off, and blew the heat gun (or hair dryer) on the two end fins. Stop when it's only just too hot to touch. Then only a tiny bit of pressure was required to lift the CPU. Don't apply pressure to the corner of the CPU with a screwdriver!

Here's the final shot showing no CPU or video card.
Make sure you cover the ZIF socket with something to keep it dust free. And don't touch the CPU or heat sink heat transfer surface, as your skin-oils can deter the heat transfer.
Here's the cooling assembly. You can see the thick dust covering the channel. There was also dust all through the fins. (Again, sorry for the bad photos).Now I cleaned the CPU surface and heat sink surface with alcohol and a lint-free cloth, and applied a covering of Arctic Silver. The next two photos show why it needed cleaning:


And now it's time to reinstall! Follow the pull-apart instructions backwards.

Take careful note of where the screws go as some screws were different sizes to the ones listed in the Dell guide. Also make sure you take care with re-inserting the parts. I cracked the display bezel and one hinge because I couldn't fit the centre hinge cover properly. Nevermind, they're only about US$25!
On the right you can see a gcc compile at 100% CPU usage. The CPU has only just started to heat up at 43 degrees C. It didn't pass 58 degrees after compiling my system for hours, and the fans were all at low / medium speed.
Finally, at idle, it's now 40 degrees C. (woot).
Oh, and by the way: I suspended before taking out the CPU, and I resumed days later without any software issues!
Labels:
computers,
cool,
Dell,
inspiron9100,
timesave,
timewaste,
workplace,
Workstation
Dell Inspiron 9100 Internals part 2: Video card
Part 1 of pulling-apart my laptop is here.
In this part I'm showing pictures of the video card before and after removal.
Here is the exposed shot again:
At the top left you can see two sets of cooling fins with a copper pipe running diagonally to a daughter board. This board is my ATI Mobility Radeon 9700 M10 with 64Mb RAM (woohoo!). Other options are the Mobility 9700 with 128Mb RAM, and the Mobility 9800. (I wish I had the 9800...)
Below the heat sinks on the far left is a fan. One heat sink transfers heat from the video card (furtherest back) via the copper pipe you can see. The other heat sink transfers heat from the CPU via a copper pipe that runs under the video card. You can just see it running parallel to the back edge.
Follow the Dell instructions for removing the video card (and my disclaimer) in Post 1. It looks like this:
You can see the copper transfer pipe, and the cooling fins. Copper is excellent at transferring heat! You'll see why in Part 3.
The next photo shows what the system board looks like without the video card!
You can now clearly see the CPU heat transfer pipe, as well as a third copper pipe under the video card. The third pipe looks like its attached to the northbridge heat sink. This third pipe runs diagonally to the CPU cooler, and ends in a small aluminium heat transfer block under the black plastic cover you can see.
The video card slot is visible next the the fan. Kudos to Dell and other laptop manufacturers for making laptops almost as modular as desktops, however replacement video cards are hundreds of dollars! I can't find any cheap second hand parts. If you can, let me know!
In this part I'm showing pictures of the video card before and after removal.
Here is the exposed shot again:
At the top left you can see two sets of cooling fins with a copper pipe running diagonally to a daughter board. This board is my ATI Mobility Radeon 9700 M10 with 64Mb RAM (woohoo!). Other options are the Mobility 9700 with 128Mb RAM, and the Mobility 9800. (I wish I had the 9800...)Below the heat sinks on the far left is a fan. One heat sink transfers heat from the video card (furtherest back) via the copper pipe you can see. The other heat sink transfers heat from the CPU via a copper pipe that runs under the video card. You can just see it running parallel to the back edge.
Follow the Dell instructions for removing the video card (and my disclaimer) in Post 1. It looks like this:
You can see the copper transfer pipe, and the cooling fins. Copper is excellent at transferring heat! You'll see why in Part 3.The next photo shows what the system board looks like without the video card!
You can now clearly see the CPU heat transfer pipe, as well as a third copper pipe under the video card. The third pipe looks like its attached to the northbridge heat sink. This third pipe runs diagonally to the CPU cooler, and ends in a small aluminium heat transfer block under the black plastic cover you can see.The video card slot is visible next the the fan. Kudos to Dell and other laptop manufacturers for making laptops almost as modular as desktops, however replacement video cards are hundreds of dollars! I can't find any cheap second hand parts. If you can, let me know!
Labels:
computers,
cool,
Dell,
inspiron9100,
timesave,
timewaste,
workplace,
Workstation
Dell Inspiron 9100 Internals part 1: accessing the components
So I've had my Inspiron 9100 since 2003 or 2004 - when they were quite new. Back then the 3.0GHz P4 was a super machine, and even now it beats most light laptops with boot-up time and performance.
Lately it's been under a desk as a remote server, so I haven't seen much of it. I pulled it out recently and noticed the fans were spinning quite a lot, and the CPU temp was quite high - 60 - 70 degrees.
I pulled out the two side ventilators (fans) and cleaned a large amount of fine dust from the fans and heat sink fins. This has massively reduced the fan usage, and the CPU temperature is now down to 40 degrees at idle.
However there's one more fan - the CPU fan - that I couldn't easily reach. I could hear it all the time so I assume its suffering from the same problem: dust. I finally decided to pull it apart and clean it, and here is my progress. This is also an interesting look into how a Dell laptop wears over time - not too bad in my opinion.
First, CONTINUE AT YOUR OWN RISK! The pull-apart starts easy and low risk, but as soon as you pull apart the display assembly, video card and CPU you're in the high-risk area. If you break your laptop, you can keep the change from selling the parts on eBay!
Second, follow the instructions from Dell - they're the ultimate pull-apart guide and I only found them lacking at the very last stage (CPU fan removal).
Here's a grainy shot of the left hinge cover - there's plenty of dust there. (sorry about the bad quality - it's my phone camera). See the dust near the display attachment:

Now I've taken off the keyboard and surrounds. There's more dust:

Here is a shot of the laptop from the top as you would sit at it to work, but without the display, keyboard, touchpad, etc. The CPU fan is at the bottom centre.

Here is just half of the screws I removed (I count 30 so far). Next to them is the hinge covers:

This got me to some of the system board components. In the next post I'll show the removed video card, CPU and heatsinks.
Enjoy!
Lately it's been under a desk as a remote server, so I haven't seen much of it. I pulled it out recently and noticed the fans were spinning quite a lot, and the CPU temp was quite high - 60 - 70 degrees.
I pulled out the two side ventilators (fans) and cleaned a large amount of fine dust from the fans and heat sink fins. This has massively reduced the fan usage, and the CPU temperature is now down to 40 degrees at idle.
However there's one more fan - the CPU fan - that I couldn't easily reach. I could hear it all the time so I assume its suffering from the same problem: dust. I finally decided to pull it apart and clean it, and here is my progress. This is also an interesting look into how a Dell laptop wears over time - not too bad in my opinion.
First, CONTINUE AT YOUR OWN RISK! The pull-apart starts easy and low risk, but as soon as you pull apart the display assembly, video card and CPU you're in the high-risk area. If you break your laptop, you can keep the change from selling the parts on eBay!
Second, follow the instructions from Dell - they're the ultimate pull-apart guide and I only found them lacking at the very last stage (CPU fan removal).
Here's a grainy shot of the left hinge cover - there's plenty of dust there. (sorry about the bad quality - it's my phone camera). See the dust near the display attachment:

Now I've taken off the keyboard and surrounds. There's more dust:

Here is a shot of the laptop from the top as you would sit at it to work, but without the display, keyboard, touchpad, etc. The CPU fan is at the bottom centre.

Here is just half of the screws I removed (I count 30 so far). Next to them is the hinge covers:

This got me to some of the system board components. In the next post I'll show the removed video card, CPU and heatsinks.
Enjoy!
Labels:
computers,
cool,
Dell,
inspiron9100,
timesave,
timewaste,
workplace,
Workstation
Friday, 3 July 2009
The Twouble with Tcl
From time to time I do a bit of tcl. Mostly as maintenance for existing tcl programs. I haven't made up my mind entirely about it yet - I've seen some very powerful programs in tcl, and yet occasionally I'm still "surprised" by a feature.
I spent a couple of hours today trying to figure out why a tcl program of mine wasn't running, and so I've made some notes:
In tcl, you can redifine parts of the language in tcl itself. For example if you wanted to redefine if, just write a new function:
The error looked something like this:
You can do lots of nice things in tcl without types, in a similar (but different) way to perl.
Which prints:
They have a comment command of course! And the comment command is a command that takes arguments (the comment itself) that aren't evaluated. Except that because of this, you can't have an unmatched brace in a comment:
The tcl solution?
So if you haven't yet learnt tcl, I encourage you to find a tcl hackers tcl program, and delve into it to see just how it works.
If you try to learn tcl only by writing it and not by reading others' code, then you'll learn tcl with the habits you're used to, and you will possibly miss some of the powerful features.
After all, C programmers can program C in just about any language!
I spent a couple of hours today trying to figure out why a tcl program of mine wasn't running, and so I've made some notes:
Real languages don't have reserved words
In tcl, you can redifine parts of the language in tcl itself. For example if you wanted to redefine if, just write a new function:
proc if {cond expres} {
puts "cond is $cond"
puts "expr is $expres"
}
set a 1
if {$a == 1} {
puts hello
}
Sounds neat. In fact proc itself is just a command that takes 3 arguements (name, arguements, and body). However, don't start using simple names in your tcl languages like this:proc open {} {
set ::alarm_socket [open_socket $::options(-alarm_host)]
foreach host $::options(-hosts) {
verbose "open $host"
set ::sockets($host) [open_socket $host]
# set up an event handler for when data is readable on this socket:
fileevent $::sockets($host) readable [list process $host]
# initialise socket timeout with open time
set ::socket_t($host) [clock seconds]
}
}
Because open is what you might call a reserved word. (I should have known with open, but should I really have to remember all the reserved words?)The error looked something like this:
$ ./test.tcl... and so on. Yeuch! And it was encountered with this one line:
invalid command name "::tcl::tm::UnknownHandler"
while executing
"::tcl::tm::UnknownHandler ::tclPkgUnknown msgcat 1.4"
("package unknown" script)
invoked from within
"package require msgcat 1.4"
("uplevel" body line 2)
invoked from within
"uplevel \#0 {
package require msgcat 1.4
if { $::tcl_platform(platform) eq {windows} } {
if { [catch { package require registry 1.1 }] } {
..."
(file "/usr/lib/tcl8.5/clock.tcl" line 23)
invoked from within
"source -encoding utf-8 [file join $TclLibDir clock.tcl]"
(procedure "::tcl::clock::format" line 3)
invoked from within
"clock format [clock seconds]"
(procedure "alarm_timeouts" line 3)
invoked from within
puts "$::argv0: [clock format [clock seconds]]"The problem? I redefined open, which was used internally by clock.
Real languages don't have types:
You can do lots of nice things in tcl without types, in a similar (but different) way to perl.
set a worldThis looks normal to someone used to perl and tcl. Noticed how I don't need format specifiers or concat functions. You can also do this:
puts "Hello $a" ;# prints 'Hello world'
set a 1
incr $a
puts "$a + 2" ;# prints '2 + 2'
set a pu
set b ts
$a$b "Hello World"
Which prints:
Hello World
Real languages don't have comments
They have a comment command of course! And the comment command is a command that takes arguments (the comment itself) that aren't evaluated. Except that because of this, you can't have an unmatched brace in a comment:
# if ($sometest) {
$somecode
#}The tcl solution?
if (0)blocks or the like...
Conclusion
So if you haven't yet learnt tcl, I encourage you to find a tcl hackers tcl program, and delve into it to see just how it works.
If you try to learn tcl only by writing it and not by reading others' code, then you'll learn tcl with the habits you're used to, and you will possibly miss some of the powerful features.
After all, C programmers can program C in just about any language!
Friday, 3 April 2009
Blocking port 25
I had a call from a friend complaining that they just purchased a wireless broadband stick (from Telstra using their Next-G network which is a HSDPA network using UMTS850MHz) and the could not send mail via their normal mail accounts.
A few minutes of checking found that Telstra and Bigpond block outgoing access to port 25 to anything other than their own mail servers.
The reasons are listed here [bigpond.custhelp.com] as well as at other pages. This post will list why their reasons are flawed, and how to get around them.
Flawed Reasoning
Bigpond claims they manage the use of port 25 to "to prevent spammers sending unsolicited email using [their] network." OK, that sounds fair enough at first glance, but when you realise how easy this is to get around (use a different port, for example) then this reason becomes redundant.
Bigpond claims that other ISPs are taking similar steps and that their changes have been "proven to prevent some types of spam activity". However spammers, like advertisers, attempt to stay ahead of the latest trends, and as soon as one method of spamming is blocked, they will use another. Also Internode (as an example) blocks port 25 by default, but lets you turn this feature off.
Furthermore, spammers are setting up real mail servers around the world. In conjunction with a tailored trojan that uses a different port to send mail, Bigponds efforts are useless. In fact Spam levels are back to 95% of all email traffic!
Finally, you could pay the extra money for a fixed IP address from Telstra, and they won't block the port. In my opinion, this is shameless money grabbing. Please explain why a user on a fixed IP address is not susceptible to a spam sending trojan or virus?
Perhaps the spam is purposefully malicious, and Telstra would like to know whose account to suspend? Telstra (along with most ISPs) keep detailed logs of traffic and authentications, so they can easily tell which user from a dynamic IP address was accessing which sites at any point in recent history, therefore static IP addresses are no easier to crack down on.
More Problems than Solutions
Bigpond says that you can use their Bigpond mail server to send mail, and thus get around the port block. You can in fact do this, and still have your email appear to come from you@yourhost.com (and not you@bigpond.com).
This solution is not ideal for two reasons:
1. Travelling
The frequent traveller, like my friend, is often on different networks. He must be able to use whichever network he is on and send / receive his normal email. To set up a different outgoing mail server, and perhaps a different profile (from whichever mail client he is using) for each network is both time consuming and pointless.
2. Your email looks like spam
When you send email where the FROM address is you@yourhost.com, but it goes through a different email server you@bigpond.com, the recipient's (him@friendsmail.com) mail server may block or mark your email as spam.
This is because exactly that technique (using a FROM address and mail server that do not match) is used by spammers to send spam. The recipient mail server checks the DNS records of the sender (yourhost.com), and if they don't match the originating server (bigpond.com), then your email may be deleted, rejected, or set aside.
Getting around it
OK, so what do you do to get around it? By far the best way is to authenticate with your mail server, and use a secure port. By using a secure port (usually not port 25) Bigpond won't block your outgoing mail. In fact this should work for many networks that block port 25.
You have the added advantage that your mail is probably encrypted, or at least your password will be (don't rely on this to encrypt sensitive emails though, as you can bet it will be transmitted in plain text at some stage of the process).
Is my mail server compatible?
The best thing to do is try! Different mail clients do this in different ways:
Evolution 2.24.5
Edit > Preferences > Mail Accounts > Edit > Sending Email > Use Secure Connection
Thunderbird 3.0b3
Edit > Account Settings > Outgoing Server > Edit > Connection Security
Outlook [including Express]
You have to edit your account settings from one of the main menus. You may have to then choose View or Change existing email accounts. Then select the account and choose Change; then more settings (I think) and then you should see a secure option. Note the SPA option is not what you're looking for here, although you can use it if supported.
If you get timeouts or errors sending mail, then try slightly different options (if you have a choice).
A few minutes of checking found that Telstra and Bigpond block outgoing access to port 25 to anything other than their own mail servers.
The reasons are listed here [bigpond.custhelp.com] as well as at other pages. This post will list why their reasons are flawed, and how to get around them.
Flawed Reasoning
Bigpond claims they manage the use of port 25 to "to prevent spammers sending unsolicited email using [their] network." OK, that sounds fair enough at first glance, but when you realise how easy this is to get around (use a different port, for example) then this reason becomes redundant.
Bigpond claims that other ISPs are taking similar steps and that their changes have been "proven to prevent some types of spam activity". However spammers, like advertisers, attempt to stay ahead of the latest trends, and as soon as one method of spamming is blocked, they will use another. Also Internode (as an example) blocks port 25 by default, but lets you turn this feature off.
Furthermore, spammers are setting up real mail servers around the world. In conjunction with a tailored trojan that uses a different port to send mail, Bigponds efforts are useless. In fact Spam levels are back to 95% of all email traffic!
Finally, you could pay the extra money for a fixed IP address from Telstra, and they won't block the port. In my opinion, this is shameless money grabbing. Please explain why a user on a fixed IP address is not susceptible to a spam sending trojan or virus?
Perhaps the spam is purposefully malicious, and Telstra would like to know whose account to suspend? Telstra (along with most ISPs) keep detailed logs of traffic and authentications, so they can easily tell which user from a dynamic IP address was accessing which sites at any point in recent history, therefore static IP addresses are no easier to crack down on.
More Problems than Solutions
Bigpond says that you can use their Bigpond mail server to send mail, and thus get around the port block. You can in fact do this, and still have your email appear to come from you@yourhost.com (and not you@bigpond.com).
This solution is not ideal for two reasons:
1. Travelling
The frequent traveller, like my friend, is often on different networks. He must be able to use whichever network he is on and send / receive his normal email. To set up a different outgoing mail server, and perhaps a different profile (from whichever mail client he is using) for each network is both time consuming and pointless.
2. Your email looks like spam
When you send email where the FROM address is you@yourhost.com, but it goes through a different email server you@bigpond.com, the recipient's (him@friendsmail.com) mail server may block or mark your email as spam.
This is because exactly that technique (using a FROM address and mail server that do not match) is used by spammers to send spam. The recipient mail server checks the DNS records of the sender (yourhost.com), and if they don't match the originating server (bigpond.com), then your email may be deleted, rejected, or set aside.
Getting around it
OK, so what do you do to get around it? By far the best way is to authenticate with your mail server, and use a secure port. By using a secure port (usually not port 25) Bigpond won't block your outgoing mail. In fact this should work for many networks that block port 25.
You have the added advantage that your mail is probably encrypted, or at least your password will be (don't rely on this to encrypt sensitive emails though, as you can bet it will be transmitted in plain text at some stage of the process).
Is my mail server compatible?
The best thing to do is try! Different mail clients do this in different ways:
Evolution 2.24.5
Edit > Preferences > Mail Accounts > Edit > Sending Email > Use Secure Connection
Thunderbird 3.0b3
Edit > Account Settings > Outgoing Server > Edit > Connection Security
Outlook [including Express]
You have to edit your account settings from one of the main menus. You may have to then choose View or Change existing email accounts. Then select the account and choose Change; then more settings (I think) and then you should see a secure option. Note the SPA option is not what you're looking for here, although you can use it if supported.
If you get timeouts or errors sending mail, then try slightly different options (if you have a choice).
Monday, 30 March 2009
Ba-a-a Ha-a-a Ha-a-a
LED's on sheep? Now this would have taken a long time to prepare...
This appeals to my nerdy nature! Thanks Bort for the link!
This appeals to my nerdy nature! Thanks Bort for the link!
Friday, 27 March 2009
Linux is about choice (pt 1)
I argue that Linux is about choice. You may argue that is about something else. I think that's fine, so long as we don't argue against each other, but for each other. Why? Because Linux is about different things to different people, and that's great! That's why it is so attractive and diverse.
Why then, do applications (or their developers) decide to take away that choice? Is it because they really don't see how other people may like to use their programs? Fair enough. Is it because they want to impose their ideas on how and why their program should be used? Not fair. What if you provide polite detailed examples of different use cases, and yet the response is "no thanks, we don't / won't do it that way".
You've guessed by now this is a rant. What sparked it off? Two recent applications are giving me grief. This post will look at the first, and why:
No problemo, just find the preference and turn off "automatically accept meeting requests".
The only options that look close are in "preferences > calendar":
Permissions
Free / Busy:
[ ] Allow all users to see my free/busy information
[ ] Allow these users to see my free/busy information:
[text box]
Invites:
[ ] Allow all users to invite me to meetings
[ ] Allow these users to invite me to meetings:
[text box]
So first of all, I chose "Allow these users to invite me to meetings:" and left it blank. This didn't work, in fact the behaviour was exactly the same as before.
So secondly I kept "Allow these users to invite me to meetings:" but entered my email address in the text box. Surely this would work?
Well it kind of worked. Now when people send me appointments, they only show as attachments which I can do nothing with (in Zimbra webmail). I can't even add them to my calendar. I suppose I should be happy that at least they don't get automatically accepted...
So my next solution was to try Evolution. I shared my Zimbra calendar and loaded it into Evolution. Great! There's all my appointments! However, when people send me meeting requests, I can't add them to my Zimbra calendar from Evolution. Even though Evolution asked me for the user name and password.
Then I gave up. I've deleted my Zimbra calendar and gone back to plain old Evolution.
Your thoughts, gentle reader? Am I expecting too much? Is this such an edge case that no Zimbra developer could possibly have forseen it? I think not.
Why then, do applications (or their developers) decide to take away that choice? Is it because they really don't see how other people may like to use their programs? Fair enough. Is it because they want to impose their ideas on how and why their program should be used? Not fair. What if you provide polite detailed examples of different use cases, and yet the response is "no thanks, we don't / won't do it that way".
You've guessed by now this is a rant. What sparked it off? Two recent applications are giving me grief. This post will look at the first, and why:
Zimbra webmail client
Zimbra makes a great webmail, calendaring (and others) suite. However, I noticed that since I set up my Zimbra calendar (and so did 20+ other people here) that any appointments people send me are being automatically accepted. So what? Well, from time to time I get a (usually pointless) meeting request that I don't want to accept, and yet I find Zimbra has accepted it, even when I'm not logged on.No problemo, just find the preference and turn off "automatically accept meeting requests".
The only options that look close are in "preferences > calendar":
Permissions
Free / Busy:
[ ] Allow all users to see my free/busy information
[ ] Allow these users to see my free/busy information:
[text box]
Invites:
[ ] Allow all users to invite me to meetings
[ ] Allow these users to invite me to meetings:
[text box]
So first of all, I chose "Allow these users to invite me to meetings:" and left it blank. This didn't work, in fact the behaviour was exactly the same as before.
So secondly I kept "Allow these users to invite me to meetings:" but entered my email address in the text box. Surely this would work?
Well it kind of worked. Now when people send me appointments, they only show as attachments which I can do nothing with (in Zimbra webmail). I can't even add them to my calendar. I suppose I should be happy that at least they don't get automatically accepted...
So my next solution was to try Evolution. I shared my Zimbra calendar and loaded it into Evolution. Great! There's all my appointments! However, when people send me meeting requests, I can't add them to my Zimbra calendar from Evolution. Even though Evolution asked me for the user name and password.
Then I gave up. I've deleted my Zimbra calendar and gone back to plain old Evolution.
Your thoughts, gentle reader? Am I expecting too much? Is this such an edge case that no Zimbra developer could possibly have forseen it? I think not.
Thursday, 27 November 2008
The Closest Book Meme
(better late than never!)
- Grab the nearest book.
- Open it to page 56.
- Find the fifth sentence.
- Post the text of the sentence in your journal along with these instructions.
- Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.
The British party had hoped to leave their cold-weather clothes in Hong Kong; but their rapid transit had frustrated that plan, and Neill was still carrying his waxed jacket, which was fine for Yorkshire, but not entirely suitable for Brunei.from SOS, a story about an army expedition to Borneo's "Death Valley" which went wrong and turned into a fight for survival.