How To: Monitor Your Internet Bandwidth Usage
Knowing how many gigabytes a month you’re using can be important if you have a metered internet connection, or your ISP measures your bandwidth and charges you if you go over. I know many Universities in the US have implemented bandwidth-overage charges (which students decry as unfair and stifling) to help combat bittorrent P2P filesharing, which will sap even a wide broadband connection. So, whatever your reason, you may want to see what applications are using bandwidth on your PC. The following instructions are for Windows XP / Vista.
The solution is to download and install NetLimiter 2 Monitor, a free application for bandwidth monitoring. If you like it, and want the ability to shape your internet traffic (limit the bandwidth used per application), you’ll need to pony up and buy the full version. Note that it uses the Win PCAP libraries to capture internet traffic, you may need to install them if you don’t already have them.

The main monitoring tab shows you how much you’ve uploaded and downloaded per application, in real time. For example, in my screenshot I refreshed the firefox tab I was working on, so you see Firefox using 99% of the activity. Steam, a gaming platform from Valve, is always chittering to their servers, so you see a .01 kbs from them.

The statistics tab is where it gets useful, telling me I’ve downloaded 95 GB this month, and uploaded 49 GB. You can also click on an application or time period and get detailed statistics across either of those dimensions. Fantastic!
New Facebook Design Preview
If you hurry over to new.facebook.com you can see a Beta version of their new design (Pulse says they took it down, but they haven’t for me). It’s interesting, because while it’s definitely going in the right direction, it’s nowhere near complete or solid. It is unusual for a company to publicly “try out” their design work, but Facebook is the first of a new breed. Anyway, here’s my take on things, starting with the new “home page”, your wall:

The new wall page, the first page you see when logging in
- The new “All Posts / Wall Posts / Posts by Me” filters are nice.
- Only three posted items in the right bar? It should have at least 10.
- Posted items have a thumbnail and text; without the text, they are mostly blank space.
- There is a ton of blank space between the footer and chat bar!

The new info profile page, tells you about you
- The edit information button renders wrong.
- The “fan pages” have too much blank space with the vertical layout!

The photos page has the best layout
- The photos page is perfect, the spacing is great. There’s little wasted space here!
Note also that on a wide monitor, there is just a huge amount of blank space to the sides of each page. Also, Mashable has their own “New Facebook” review; they conclude stuff isn’t “working as I’d expect.”
Black Diversity in IT and Computer Science
If you haven’t had a chance to read Why Black Nerds are Unpopular by David Adewumi, you should run over there right now. It gives an interesting cultural explanation for why the author believes we don’t see many African Americans in IT / Computer Science. It’s the inspiration for this post, a sort of state of the world of black diversity in IT. In his article, David writes how few of his black friends are “nerds:”
I would say, as a young black male, there is a strong inverse correlation between being a nerd and black, and being popular. I’ve seen many black friends who are fairly intelligent that were mediocre students in high school, and either failed out or were equally mediocre at the University level. Why? Popularity is, as Paul mentions, often times a choice of priorities — some sacrifice intelligence for popularity — and for blacks, this probably happens for 9 out of every 10.
I would go so far as to say that the lack of black nerds is probably a cause for major concern, but within the scope of this writing, possibly too large a problem to properly address, although certainly an interesting one.
After some Googling, I was able to find data from the National Science Foundation (NSF), Science and Engineering Degrees, by Race/Ethnicity of Recipients: 1995-2004, with information about degree recipients partitioned by self-identified race:

In 2004, 5,934 black students out of 57,405 total (10.33%) received undergraduate degrees in computer science. Overall, among all degrees, 4.84% of black students chose a degree in Computer Science as opposed to just 3.15% of white students. I don’t have enough personal or intellectual background to discuss these figures, but to my uninformed eye, they look quite promising. More blacks (by percentage) are choosing to study Computer Science than whites (our baseline majority in the US). And, while at 8.4% black undergraduate students feel underrepresented, the news indicates graduation rates are improving.
America needs to moving forward on providing excellent education to all Americans, not just the privileged majority. Perhaps our next President–who looks to be Barack Obama–will be tougher on education than his “no child left behind” predecessor and we’ll see these numbers get even better.
Mint.com Review: Personal Finance Manager
I signed up for Mint.com, a personal finance manager, and I thought I’d post my reactions here. First, let’s walk through the process. You fill in your email address and passwords, and then almost immediately begin filling in sign-in information for the online banking service you use. The GUI is fast and intuitive:

Within minutes, Mint has pulled the most recent 132 transaction from four credit cards, a checking account, and paypal. They support hundreds of different accounts, from banking checking and savings, credit cards, macys and other store cards, as well as investment accounts. In the near future, they will support student loan accounts as well!
Yes, this is scary, but Mint claims they can keep you safe by not storing your banking login information themselves:
We ask for your online banking user name and passwords, but we do not see or store that information. That means no one at Mint, and no potential hackers of Mint.com, can access your banking credentials. Your online banking credentials are stored only with these institutions enabling Mint to automatically and securely update your transactions and saving you from updating, syncing or uploading financial information manually. All communication between Mint and its online financial service providers is encrypted using 128–bit SSL encryption, the financial industry standard for data protection.
The next step is to classify and review your transactions. Mint lets you put them in buckets–and naturally it will get a few wrong to start with–but you can set up rules to classify new transactions how you like. For example, I set one that sets any cheques with the amount of my rent to go into the rent bucket:

By doing this, you let them do some analysis on your spending or earning trends. Note, the trends feature appears to update daily, not in real time, so if you classify a bunch of transactions, it won’t update the trends page with your new categorization for some time. This is unfortunate, but probably necessary. This lets them make, say, a graph of your spending v.s. the average NY spender:


I guess I need to spend more money at Amazon and Best Buy to fit in these days. Lastly, there is their “ways to save” page, which is basically targeted affiliate ads with various banks. This is their revenue stream–getting you to sign up for new credit cards and open new accounts–so don’t trust anything it says:

The verdict? I love it, and I think it’s only going to get better. This is the new world, and services like Mint can make our lives infinitely easier! Please share your opinions about Mint.com, if you’ve ever experienced fraud after signing up, etc, below.
Update: There are some good reviews out there, too. PC Magazine says “Mint.com is a useful, intelligent, and free financial Web service that’s simple to set up and tracks your monetary life with little intervention on your part,” while Viewpoints has a single review which calls it “One of the best free money trackers on the Internet” and Girls Just Wanna Have Funds praises it for costing $50 less than MS Money.
How To Analyze Windows XP BSOD Minidump Files
If you’ve been getting a lot of BSOD (Blue Screen Of Death) in Windows XP, the Windows debugging tools can help you find out what’s wrong with your computer. In this guide, we’ll walk you through what you need to do to analyze the minidump files that DrWatson leaves behind when Windows crashes.
First, you need to turn on debugging information in Windows. Right click on My Computer, select Properties, and click on the Advanced tab, and click on the Settings button under Startup and Recovery. You’ll see a screen like this:

You want to have the “Small Memory Dump” and “Small dump directory” fields filled in. If they’re already setup that way, great. If not, change them, restart, and wait for a BSOD stop error to occur so that you can investigate the problem.
Second, now that you have the memory dump files in C:\WINDOWS\Minidump\Mini???????-??.dmp, you need software from Microsoft to read and interpret them. Download:
- WinDbg - A windows debugger
- Windows XP SP2 Symbols - A system “dictionary”
Some people try to debug their system might get an error like this:
d -z Mini062808-01.dmp
Microsoft (R) Windows Debugger Version 6.9.0003.113 X86
Copyright (c) Microsoft Corporation. All rights reserved.Loading Dump File [Mini062808-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are availableSymbol search path is: *** Invalid ***
****************************************************************************
* Symbol loading may be unreliable without a symbol search path. *
* Use .symfix to have the debugger choose a symbol path. *
* After setting your symbol path, use .reload to refresh symbol locations. *
****************************************************************************
Executable search path is:
*********************************************************************
* Symbols can not be loaded because symbol path is not initialized. *
* *
* The Symbol Path can be set by: *
* using the _NT_SYMBOL_PATH environment variable. *
* using the -yargument when starting the debugger. *
* using .sympath and .sympath+ *
*********************************************************************
Unable to load image ntoskrnl.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
*** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe
Windows XP Kernel Version 2600 (Service Pack 2) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS Personal
Kernel base = 0×804d8000 PsLoadedModuleList = 0×8055b620
Debug session time: Sat Jun 28 22:05:53.137 2008 (GMT-4)
System Uptime: 0 days 4:01:15.706
This error can be fixed by installing the Windows XP SP2 symbols pack above, or another Microsoft symbols pack.
Third, open up WinDbg by clicking Start, Programs, Debugging Tools for Windows (x86), and then WinDbg. You need to set the symbol path to wherever you installed the Windows symbols in the last step. You can do this from File then Symbol File Path, where you want to paste SRV*c:\windows\symbols*http://msdl.microsoft.com/download/symbols:

Finally, you just need to open a dump file from File, Open Crash Dump, and at the prompt type !analyze -v. You’ll then see output like the following:
!analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pageable (or completely invalid) address at an interrupt request level (IRQL) that is too high. This is usually caused by drivers using improper addresses. If a kernel debugger is available get the stack backtrace.Arguments:
Arg1: f78ab980, memory referenced
Arg2: 00000002, IRQL
Arg3: 00000001, bitfield :
bit 0 : value 0 = read operation, 1 = write operation
bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
Arg4: 804dab68, address which referenced memoryDebugging Details:
——————
WRITE_ADDRESS: f78ab980
CURRENT_IRQL: 2FAULTING_IP:
nt!memcpy+130
804dab68 89448ffc mov dword ptr [edi+ecx*4-4],eaxCUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0xA
PROCESS_NAME: iexplore.exe
LAST_CONTROL_TRANSFER: from b0d2a3be to 804dab68STACK_TEXT:
f78a9dc4 b0d2a3be f78ab980 8a1f8107 00000006 nt!memcpy+0×130
WARNING: Stack unwind information not available. Following frames may be wrong.
f78aa29c b0d2a640 8a204000 8a1f8008 8a1f800e w70n51+0×2a3be
f78aac00 b0d0b11a 8a204000 89cd6fd8 89cd628c w70n51+0×2a640
f78aae30 b0d20abe 89cd6000 f78aae44 8a01c3a0 w70n51+0xb11a
f78aae4c b0d1d037 89cd6000 89b7e000 00000001 w70n51+0×20abe
f78aaf3c b0d1c77b 8a060658 89f328d0 f78aaf84 w70n51+0×1d037
f78aaf90 b0d1dcf6 89cd6000 f78aafab f78aafd0 w70n51+0×1c77b
f78aafac b0d1de4b 89cd6000 f78aafd0 f7445f09 w70n51+0×1dcf6
f78aafb8 f7445f09 89cd6000 8a127528 8a12778c w70n51+0×1de4b
f78aafd0 804dcbd4 89cd62a0 89cd628c 00000000 NDIS!ndisMDpcX+0×21
f78aaff4 804dc89e b11bfd54 00000000 00000000 nt!KiRetireDpcList+0×46
f78aaff8 b11bfd54 00000000 00000000 00000000 nt!KiDispatchInterrupt+0×2a
804dc89e 00000000 00000009 bb835675 00000128 0xb11bfd54STACK_COMMAND: kb
FOLLOWUP_IP:
w70n51+2a3be
b0d2a3be ?? ???SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: w70n51+2a3be
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: w70n51
IMAGE_NAME: w70n51.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 3ee71b51
FAILURE_BUCKET_ID: 0xA_W_w70n51+2a3be
BUCKET_ID: 0xA_W_w70n51+2a3be
Followup: MachineOwner
———
In this particular case, we’re debugging a Dell Inspiron 5150 which has been recently having sporadic hard crashes. The bluescreen message it got, Stop 0×0000000A or IRQL_NOT_LESS_OR_EQUAL, is almost always an indication of a driver error. Googling for w70n51.sys (from the crash dump) shows it to be Intel PRO/Wireless LAN 2100 3B Mini PCI adapter software, which should be updated to resolve the bluescreens.
