How cool is this blog?

Did you know that you can drag and drop the boxes in the left or right and order them as you like?

Just move your mouse over the grey box until the cursor changes, and then drag the box to the new position as you like.

Give it a try and post a comment if you like it!

Twitter Button from twitbuttons.com

Blogroll

BlogCatalog



There was a lot of buzzing (still is) around here lately about 64 bit - from processors to programming for 64 bit machines. So I decided to write a small post on this topic. There are tons of articles out there, so feel free to Yahoo or Google them and read the one you like.

First of, I don't want to write pages and pages about the subject, so consider this just a short introduction. Visit the links I post and if you still need more info, ask. I will provide if I can.

Computers work with BITs (binary digits). A BIT is either 0 (zero) or 1 (one). This basically comes from electrical circuits where you have 0 (zero, off - no electricity) or 1 (one, on - we have power!). You can think at your light switcher. When the light is on, the light bulb is in the state of "1" (on). When you turn it off, its state is 0 (off). Using this technology is similar to the Morse Code, when depending if the light is on or of, and how long it stays in that state, you can send a message on a large distance without any type of wire. Now imagine that your PC has a LOT of tiny little light bulbs that change from 0 to 1 and back, depending on the data that you want to send.

(NOTE: This is just a newbie introduction. If you want to find out How PCs work, check out http://www.howstuffworks.com/pc.htm and their entire website about computers: http://computer.howstuffworks.com/).

"32 bit computer" basically means that the PC uses 32 bits ("light bulbs") to communicate, whereas 64 bit PCs have 64 "light bulbs". You can surely imagine that by sending 64 pieces of information (32 bits x 2) instead of just 32 means (usually) half of the required time to communicate the same thing. So this is advantage number 1 - increased performance.

The second most obvious remark is that if you want to send a word that is larger than 32 characters (assuming we have 1 bit for 1 letter), you need to send more messages just to transmit 1 word. If you have 64 bits, you can send up to two 32 words in the same 64 bit word, which again means double performance. And increased word capacity - advantage number 2.

(I only hope someone will appreciate the efforts I had to put up with in order to write this newbie introduction to bits ...)

More technical part now:

There are two types of 64 bit processors: true 64 bit processors and processors that support 64 bit operations.

To make this clear from the start, all AMD64 and Intel Core2/Quad/Extreme/Xeon support 64 bit operations and you can (it's even recommended) to use a 64 bit operation system with them. There are some "true 64 bit processors" which are, of course, expensive and rare. You do not need a "true 64 bit processor" unless you are Bill Gates and have a lot of money to spend on creating new 64 bit software for your "true" machine. Some of the names of these "true 64 bit processor" (oops, did I write that again? :) ) are: Itanium and Itanium 2 from Intel , and Opteron from AMD.

What is the difference between the two ("supported 64" and "true 64")? You cannot run any 32 bit application on a "true" 64, but you have no problem running either 32 or 64 bit applications on a processor that "supports" 64 bit operations. Itanium and Opteron are heavy duty workstation processors, that will run with dedicated applications which are developed especially for them, so they are not built for running your favorite game on it.

FYI: If you want to have a 64 bit system, you must also buy 64 bit compatible hardware for your processor to work with. Elsewhere, you will just end up with a very smart brain in a much to small case...

Advantages of having a 64 bit architecture?

  1. Increased performance due to larger word length
  2. Increased performance due to larger BUS size
  3. Ability to work with larger memory blocks -> more RAM (up to 16TB) compared to up to 3GB in 32 bit systems

Disadvantages of "supported 64 bit" systems?
  1. Need to buy new hardware for it to fully function (although if you already have a Core 2/Quad/Extreme processor, you are most likely already equipped for 64 bit operations)
  2. ...

Disadvantages of "true 64 bit" systems?
  1. Very expensive
  2. Does not have 32 bit backwards compatibility
  3. Applications need to be compiled specially for those types of platforms (you need to rebuild your existing code if migrating from 32/64 to true 64)
  4. Very few application which are true 64 bit

I told you this was a long topic...

To wrap it up, some links for you to read more:
  • 64 bit in general
http://www.redbooks.ibm.com/abstracts/tips0475.html
  • 64 bit programming
http://www.gamasutra.com/features/20040603/pournelle_01.shtml
http://blogs.msdn.com/tolong/archive/2007/03/21/use-visual-studio-to-build-64-bit-application.aspx
http://msdn.microsoft.com/vstudio/tour/vs2005_guided_tour/VS2005pro/Framework/CPlusIntegrated64Bit.htm
http://blogs.msdn.com/deeptanshuv/archive/2006/04/11/573795.aspx
http://msdn.microsoft.com/library/en-us/dndotnet/html/64migrate.asp

Well, I hope we are all a little BIT wiser... All the best!






Hide Folders In Windows. - video powered by Metacafe



This is a cool trick for hiding a folder in Windows—literally. By giving a folder a blank name and blank icon, unless you're specifically looking for it, the folder's existence isn't immediately apparent. Hit the play button to see how it works.

While this might be good for low security items (embarrassing pics, perhaps?), if you want true privacy (versus security through obscurity), go with something like TrueCrypt.

Just as a summary of the video, and also a hint on how to delete the invisible folder:

1. Right click on your desktop and select New->Folder

2. When entering the name of the folder, hold the ALT key pressed and, using the num keys, type "0160". Release the ALT key and press ENTER. Your folder should not have a name anymore

3. Right click the folder you just created and select Properties->Customize->Change Icon

4. Browse and select and empty icon from the list

5. That's it!

How do you select and enter the folder? Just create a selection area around where the folder "should be"

How do you rename it and make it visible?
On Windows XP, right click and rename to "any_folder_name". Then change the icon back.
On Vista, hold the SHIFT key pressed and right click on the desktop image. Select "Open Command window here" and type:

rename "[ALT+0160]" "any_folder_name" (that means hold ALT and type 0160)


How do you delete the folder? :)

On Windows XP, select the folder (see Q1 above) and press delete.
On Vista, you need to rename it first (see Q2 above) and then you can select and delete it.

Happy hiding!



I just found out this cool tip on how to have multiple instances of Yahoo Messenger opened on the same PC. I tested it on my Windows XP and it works! You can have multiple instances opened with different user accounts (one for office and one for personal use).

Without this trick, if you already have YM open and try to open it again, it will not. Instead, it will just focus on your current instance of YM.

All you have to do to fix this behavior is add a little key in the Windows Registry, and you're set!

Open up registry editor (press the Windows Start button-> Run -> regedit). Go to (in the left tree):
HKEY_CURRENT_USER->Software->Yahoo->Pager->Test. In the right panel, right click and select New->DWORD value. Enter plural as the name of the value, then double click and set it's value to 1:



That's all! You don't even need to restart your computer. Now, when you open Yahoo the second time, it will open a new instance that you can use to login as a totally different user on the same machine!

Happy chatting!

PS: You can do a similar trick for MSN, but you need to use a tool for this purpose: MSN Polygamy 8.1

Ever wondered which program has a particular file or directory open? Now you can find out. Process Explorer shows you information about which handles and DLLs processes have opened or loaded.

The Process Explorer display consists of two sub-windows. The top window always shows a list of the currently active processes, including the names of their owning accounts, whereas the information displayed in the bottom window depends on the mode that Process Explorer is in: if it is in handle mode you'll see the handles that the process selected in the top window has opened; if Process Explorer is in DLL mode you'll see the DLLs and memory-mapped files that the process has loaded. Process Explorer also has a powerful search capability that will quickly show you which processes have particular handles opened or DLLs loaded.

The unique capabilities of Process Explorer make it useful for tracking down DLL-version problems or handle leaks, and provide insight into the way Windows and applications work.

Process Explorer works on Windows 9x/Me, Windows NT 4.0, Windows 2000, Windows XP, Server 2003, and 64-bit versions of Windows for x64 and IA64 processors, and Windows Vista.


Now here's a little extra trick you can do with the Process Explorer. You can find out what connections an application is using to communicate over LAN or Internet.

Have you ever wondered what IP address one of your YM or Skype friends has? Using Process Explorer you can now find out. Just open PE, find YM or Skype in the process list, double click on it and select the TCP/IP tab. You will now see all active connections for the process that use the TCP/IP protocol. Leave this window open and start chatting with your buddy. You will see the IP address appear (if it's not already in the list) and highlighted. While the communication is in progress, the highlight will be green, then red (communication stopped), and then it will not be highlighted anymore (might even disappear from the list).

You can use the same technique for Internet Explorer, Firefox, or any other application that creates TCP/IP connections.


Happy exploring your processes!

The Tasks application built into Pocket PCs lets you enter and organize the things you have to do. It can also remind you when they need to be done.

Tasks on touch screen Pocket PC devices

  • To create a new Task, tap Start >Programs >Tasks and then tap the New button (Windows Mobile 6: Menu >New Task). You can enter the subject, priority, start and due dates, categories, and detailed notes about the Task. When you are done, tap OK.
  • To edit an existing Task, tap it in the Tasks list and tap the Edit button. You can change any of the above-mentioned information.
  • To delete a Task, tap and hold it in the list view and select Delete Task from the pop-up menu.
  • To mark a Task as completed, tap the check box to the left of the Task name in the list view. You can also do this by editing the Task and changing the Status field.
  • To set a Task reminder, open a new Task or edit Task screen, tap the Reminder field, and select "Remind me" from the drop-down menu. By default, you will receive a reminder at 8:00 AM on the due date. You can change the date and time in this field. To set a reminder for a Task, you must first set a due date. (Time not available on pre-Windows Mobile 5 devices).
  • To change the display options, go to the Tasks list view and tap Menu >Options (pre-Windows Mobile 5: Tools >Options). Then check the appropriate boxes in this screen to show start and due dates for each Task, show the Tasks entry bar, and set reminders for every new item you enter.
  • To Sort and Filter Tasks (Windows Mobile 5 and 6), go to the Tasks list view, tap Menu, and select Sort By or Filter from the pop-up menu. Sort By lets you sort the list by status, priority, subject, start date, and due date. Filter lets you display Recently Viewed tasks, Active Tasks, Completed Tasks, and Tasks with a particular category assigned to them (see "How to set up and use Outlook Mobile categories" in the Using section).
  • To Sort and Filter Tasks (pre-Windows Mobile 5), go to the Tasks list view and tap the small sort arrow in the upper-right corner of the screen below the X button. Then select the sort options from the drop-down menu. To Filter the Tasks list, tap the small filter arrow in the upper-left corner of the screen below the title bar, and select the filtering options from the drop-down menu.
  • To display Tasks on your Today screen, go to Start >Settings >Today, select the Items tab, and make sure the Tasks entry is selected. You can further specify which Tasks are displayed by tapping on the Options button.
You can do all the above operations similar on the PC. Edit, delete, sort, filter tasks, and even assign it to somebody (via email).

Tasks on Desktop PC devices (NOTE: Tasks is an Outlook component. All the steps below assume you have Outlook installed and opened on your PC. These steps were tested on Outlook 2003)

  • To create a new Task, maximize Outlook and click on the Tasks tab in the left bar. Then, you can click on the New Task button (same spot where New Email button is in the Mail tab). You can enter the subject, priority, start and due dates, categories, and detailed notes about the Task. When you are done, click Save and Close.

The fun part about Tasks is that you can synchronize your Pocket PC with your Desktop PC. This way you can have all the information you need with you when you are not in your main office. You need Active Sync for this purpose.

That's all folks. Happy tasking!

If you're new to Internet marketing, as I am, you surely are troubled by the title of this post. So let's take it on step at a time and see what this is all about.

You heard of Google, no doubt about that. From search engine to even this blog I am using to write on, Google's offer of free and useful features is no longer a secret for anybody.

What is AdSense? Well, AdSense is a free service from Google that allows webmasters to post relevant ads on their web sites and earn a little buck or two. You can check their page to get more info about AdSense and maybe sign up for the service. As for the Google search engine, there is a Google AdSense bot that crawls your website for key words. Based on those key works, AdSense decides what ads to post on your site. As I said, this service is supposed to show only relevant ads on your page (if somebody is surfing a classic painting site, they will not care and click on any ads related to c++ programming; they might click, but it highly improbable). So, the more keywords you have on your site, the more chances of earning more money from AdSense you have.

The next component of this whole system is another service from Google called AdWords. This is the service where people pay (sometimes a lot of money) so that when somebody searches for a specific word or phrase in the Google search engine, their site will come up as the best result (higher or even first in the list). This works like a bid for a word (or keyword phrase): whomever pays more gets their site higher in the list. When the highest budget is consumed, lower bids will also get a chance to appear on the first page of results.

The same approach is used for displaying the ads using AdSense. The higher the bid for a keyword, the more chances you have that your ad will be displayed on a page showing AdSense ads.

Now, what is Mesothelioma and what does "Mesothelioma lawyers" has to do with AdSense?

Patience, my dear Watson, patience...

Before we get to that part, we need to clear one more thing. There are unlimited versions of keywords and unlimited versions of different keyword combinations. Well, virtually unlimited. But some words are more expensive than other words. If you search for "asdfghjkl" you will get (surprisingly) about 329,000 search results. But try searching for "insurance" and you will get 402,000,000 results!!! So you can imagine that the bidding for "insurance" has totally different values than "asdfghjkl" (that is, advertisers will pay more for people who want to "buy a car" than for those who want "asdfghjkl").

We're getting closer to the "Mesothelioma" part...

This is not the only criteria (number of relevant pages) that translates in cost per impression or click from Google, but the most important is: their search word statistics. The words that are searched by most people give companies the most chances that they will get sale leads.

Now that we are getting somewhere, you might start to get an idea how is Mesothelioma lawyers related to AdSense. But this is the point where I tell you how I found out about "Mesothelioma lawyers". Google offers a free service for anybody who wants to find out what are the approximated costs for biding for a given word in their search engine (AdWords). You can point your browser to https://adwords.google.com/select/KeywordToolExternal?defaultView=0 and start putting words and get the cost per click for each of them. This is how I got the amount people pay to get their sites higher on the search result page. For example, for keywords like "c++" you get max amounts of $6.88:



So, if you find a word that costs a lot and add some site content relevant to those words on a page that also has AdSense ads on it, you might get some clicks on those ads and earn more money. If somebody would click on an ad related to "c++ vector", you would earn $6.88 for one click!!!

Of course, now you are thinking as I was when I found out about this: Where can I get a list of the top paying keywords? The answer is, elementary my dear Watson, you search the Internet :P

There are people so kind that they will sell you this type of information. For a fair price, of course... Or you can keep searching until you find some words to get you started. This is how I found about "Mesothelioma lawyers", which has a cost per click of up to $87.22 (for one click)! There may be higher paying keywords, I will try to post them here (after I use them to earn millions, haha).



Ok, so what is Mesothelioma? According to Wikipedia.org,

Mesothelioma is a form of cancer that is almost always caused by previous exposure to asbestos.In this disease, malignant cells develop in the mesothelium, a protective lining that covers most of the body's internal organs. Its most common site is the pleura (outer lining of the lungs and chest cavity), but it may also occur in the peritoneum (the lining of the abdominal cavity) or the pericardium (a sac that surrounds the heart).

Most people who develop mesothelioma have worked on jobs where they inhaled asbestos particles, or have been exposed to asbestos dust and fibre in other ways, such as by washing the clothes of a family member who worked with asbestos, or by home renovation using asbestos cement products. Unlike lung cancer, there is no association between mesothelioma and smoking.


I know, it's not a cool word, and it's sad when you have to have a site with content about that. But it's a starting point and you get the idea. Just find a word that is worth well and is close to what you are trying to sell, place your AdSense ads on the page with the relevant content and you might strike gold! Good luck and happy key wording!

PS: You can get a list of high ranked keywords here: http://www.cwire.org/highest-paying-search-terms

Once upon a time, there was a nice little thing called "keyboard". Then they invented the mouse (especially the optical one, the scroll mouse was a pain in the...hand). Anyway, most people do not take advantage of all the keyboard shortcuts the newer Windows versions offer.

I remember the good old days when I had my first modem. It was an external one, that made that cute connecting noise whenever I was desperately trying to connect to my ISP. The only problem was that at that time I had a scroll mouse that needed the serial port of my computer to work, and that was exactly the port the external modem needed... So I had to choose whether I used the Internet or the mouse. So I had to learn many keyboard shortcuts to open a page, to change the focus on different links in order to navigate... Remember telnet? :) Even more frustrating was at the beginning when I did not remember some key combination to do something (like a save as). So I had to close the Internet connection, plug the mouse back, find the key combination (thanx for creating a HELP in IE) then plug the modem back and reconnect...

So we are more fortunate these days, when we have multiple USB ports, plug and play mouses and keyboards, on board LAN and no more needs for modems.

Still, some of the keyboard shortcuts below I use daily (like show Desktop - I kinda "hate" people that spend a couple of seconds to<<grab the mouse and search for that little icon in the quick launch bar ... wait, where is that? ... oh, here it is... >> instead of just pressing two buttons with the left hand - Win + D)

1. Ctrl+s - probably one of my most frequently used shortcuts, this saves your work in a program.

2. Ctrl+x - Cuts highlighted text to the clipboard to be pasted elsewhere.

3. Ctrl+v - Pastes text from the clipboard.

4. Ctrl+c - Copies text to the clipboard.

5. Win+e - Opens Windows Explorer.

6. Win+f - Opens the Find File box.

7. Win+pause - A little-known shortcut that opens the system properties window.

8. Win+m - Minimizes all your windows and shows the desktop.

9. Win+d - Same as minimize, but instead, if you press it again it pops back the windows as they were. You can call this the "BOSS" button.

10. Win+r - Opens the Run Program window.

11. Alt+F4 - Closes the program you're currently using.

12. Ctrl+F4 - Closes the current window, but not the entire program.

13. F1 - Probably the most famous shortcut, it's been around since the '80s, and it brings up Help.

14. Alt-Ctrl-Del or Ctrl-Alt-Del - Also a very famous shortcut. In DOS it reboots the computer, in Windows it brings up the Close Programs box, useful for closing hung programs. Press it again and the computer reboots.

15. Shift+del - This deletes a file permanently, bypassing the Recycle Bin. However there seems to be a little bug in Windows, and it doesn't always work first time. 80% of the time it does work however, so just keep trying it until it works.

16. Ctrl+i - Makes the text italics.

17. Ctrl+b - Makes the text bold.

18. Ctrl+u - Underlines the text.

19. Alt+double-click - Brings up the properties box of a file or folder.

20. Ctrl+z - Probably the most useful shortcut, this one undo's the last action you made. (not always available).

21. Ctrl+a - Highlights everything on a page

Internet Explorer Shortcuts

1. F5 - Refreshes the webpage.

2. Backspace - Goes back a page.

3. Alt+left arrow - Goes back a page.

4. Alt+right arrow - Goes forward a page.

5. Escape - Stops the website loading.

6. Home - Goes back to top of webpage.

7. End - Goes to end of webpage.

8. Ctrl+mousewheel-up - Decreases the size of the text in Internet Explorer.

9. Ctrl+mousewheel-down - Increases the size of text on the Internet Explorer.

10. Shift+click hyperlink - This opens the link in a new window.

11. Alt+d - Jumps to the address bar so that you can type a new address.

12. Shift+mousewheel-up - Forward a page (if over a link, it takes you to that page)

13. Shift+mousewheel-down - Back a page.

14. Ctrl+h - Brings up the history list of visited websites.

15. Ctrl+f - Find a word or phrase in the website.

16. F2 - Used when icon/folder/file is selected (highlighted). It lets you rename the icon/folder/file.

17. Ctrl+Enter - This is a great timesaver! Type google in the address bar and press ctrl-enter. You'll notice it automatically adds http://www. and the .COM. This works for any address!

18. Mousewheel click - If over a link, opens that page in a new TAB (IE 7). If over a tab, closes that tab.

19. Ctrl+t - Opens new tab.

20. Ctrl+TAB - Cycles to next opened tab.

21. Ctrl+Shift+TAB - Cycles to previous opened tab.


Firefox Shortcuts

Most of the above (IE) shortcuts work on Firefox as well. In addition:

22. Ctrl+w - closes the current tab

While in the address bar, pressing:

23. Ctrl+Shift+Enter - Type google in the address bar and press ctrl-shift-enter. You'll notice it automatically adds http://www. and the .ORG. This works for any address!

24. Alt+Shift+Enter - Type google in the address bar and press ctrl-shift-enter. You'll notice it automatically adds http://www. and the .NET. This works for any address!

There are other combinations but this list is enough to get you started. Remember that you should always try to find easier ways to access or do something because, after all, "Time is money"!

Happy keyboarding!

A packet sniffer is used to analyze the network traffic. Sometimes they are also called network analyzers, protocol analyzers or ethernet sniffers. System administrators usually use them to analyze the behavior of an application or device causing network problems. I made a list of free packet sniffer tools for Windows. The descriptions are taken from the homepage of each program. If you find a better one, let me know and I'll add it here.

Ethereal/Wireshark
Ethereal® is used by network professionals around the world for troubleshooting, analysis, software and protocol development, and education. It has all of the standard features you would expect in a protocol analyzer, and several features not seen in any other product. Its open source license allows talented experts in the networking community to add enhancements. It runs on all popular computing platforms, including Unix, Linux, and Windows.

IP Sniffer
IP Sniffer is a suite of IP Tools built around a packet sniffer. The sniffer has basic features like filter, decode, replay, parse…

PlasticSniffer
PlasticSniffer is a totally free, compact (<100k download!) and portable (thanks to .NET) packet sniffer. It supports file logging as well as filtering of ports and IP addresses.

PacketMon
AnalogX PacketMon allows you to capture IP packets that pass through your network interface - whether they originated from the machine on which PacketMon is installed, or a completely different machine on your network! Once the packet is received, you can use the built in viewer to examine the header as well as the contents, and you can even export the results into a standard comma-delimited file to importing into your favorite program. As if that’s not enough, PacketMon has a powerful rule system that allows you to narrow down the packets it captures to ensure you get EXACTLY what you’re after, without tons of unrelated information.

SmartSniff allows you to capture TCP/IP packets that pass through your network adapter, and view the captured data as sequence of conversations between clients and servers. You can view the TCP/IP conversations in Ascii mode (for text-based protocols, like HTTP, SMTP, POP3 and FTP.) or as hex dump. (for non-text base protocols, like DNS)

Sniffer.NET
Two times PlanetSourceCode.com Contest winner. Sniffer.NET is an open source Network Packet Capture and Network Monitoring Tool in VB.NET. It utilize the power of Packmon.NET Library written in VB.NET which can monitor all network traffic. Now Supports User plugins which can be written in any .Net Language till they expose the IPlugin interface. Sample Plugin is also provided with the Source.

Sniphere
Sniphere is an another network wiretapping program for Windows using winpcap. Nevertheless, Sniphere is a pretty handy program with a lot of possibilities which most of free sniffers do not have.

VisualSniffer
VisualSniffer is a powerful packet capture tool and protocol analyzer (packet sniffer or ip sniffer) for Windows system. VisualSniffer can be used by LAN administrators, and security professionals for network monitoring intrusion detection, and network traffic logging. It can also be used by network programmers for checking what the developing program has sent and received, or others to get a full picture of the network traffic.

What Is Transferring
What Is Transferring is a easy-to-use packet sniffer for Windows 2000/XP. It is able to capture TCP/IP packets that pass through your network adapter, and view the captured data in Text mode (for HTML page, e-mail) or in Hex/ASCII mode (for ZIP, JPEG, GIF). With this software, you can check if there is any unwanted connections.

I was trying to find how you can automatically increment the version number for my C++ application. Then I found this useful post on the MSDN site, so I am sharing it with you.

You can find all the needed information in the post, so I am just posting a summary for those of you who just want to get an idea of how to do it.

Basically, you need to create a Visual Studio macro and register it for the BuildFinish event. You then move the version information from resources in a separate file (to make sure the macro does not mess anything up) and tell the macro (using VB code) to edit the file containing the version number and increment it. What happens is that after each build, VS executes the macro, which modifies the text file (actually, a header file) incrementing the version number. This way, for each build you will have a new version number for the application.

Even if you do not need automatically incremented versions for each build, the MSDN tutorial is useful because it show C++ newbies (like myself) how to easily separate the version number from the rest of the resources and keep the version number in just one place.

The link to the site is: http://support.microsoft.com/kb/237870

Build it safe :)

PS: Another cool post shows how to update the version information at runtime. Thanx to CodeProject for this one: http://www.codeproject.com/KB/cpp/UpdateVersion.aspx

Subscribe to: Posts (Atom)

Feedjit

Bloglinker list