Windows 8.1 may again have Start button and boot to desktop

At last, perfect replacement for Outlook Express and Windows Live Mail is available, called OE Classic - Click here to download!

According to some sources there may be hope for Windows 8 – in its latest edition currently known as Windows 8.1 (build 9364) it may be possible that Microsoft will return Start button and boot to desktop based on customer dissatisfaction. This wouldn’t be the first time they did that – as you may remember UAC (User Account Control) that was introduced in Windows Vista, initially was very annoying and only later given some common sense with the introduction of Windows 7. Microsoft seems to have a pattern of alternating good and bad versions of Windows. That’s why I personally don’t rush to every new version that has just been released.

As identified by source above, twinui.dll file holds a line of code with option called “CanSupressStartScreen” which may do just that – boot directly to desktop without showing the start screen. This and bringing back Start menu have been two of the most requested features by users of Windows 8.

If this happens, it may show that keyboard and mouse still have some advantage over the trendy touch-screen devices. As sales of Windows 8 are not gaining as much users as Microsoft would hope for and additionally some users decided to move on to MacOS or Linux, this may be a wise move on their side to bring back proven elements of the user-interface.

Slow or inaccessible network on Windows 7 or Windows Vista – these tips may help

At last, perfect replacement for Outlook Express and Windows Live Mail is available, called OE Classic - Click here to download!

If you had an issue with yellow exclamation point showing over the network icon in Windows 7 (or Windows Vista) this may be caused by certain network related technologies which this operating system enables automatically. Sometimes, they can cause issues so you may need to disable them manually.

This problem may manifest after putting a lot of load under network (like for example – downloading or uploading a lot of files at the same time). Then you may experience network slowdowns or complete inaccessibility and a yellow exclamation point could appear over the network icon indicating a problem.

Word of caution
Although these tips may help, you should exercise them with caution and only apply them if you are sure what you are doing, because you will be modifying some low-level network settings. You should modify settings if you actually experience a problem with your network. If you want to return to original settings, this is possible too and it is described below.

Running an elevated command prompt

In order to execute these commands you need to open an elevated command prompt:

  1. Click on Windows orb (or press Windows key) to open Start menu
  2. Into the Search programs and files type cmd (or command prompt)
  3. Right mouse click command prompt icon and select Run as administrator – this will run command prompt in elevated mode
Running elevated command prompt on Windows 7
Running elevated command prompt on Windows 7

Viewing current network settings

In order to know the default values of the settings you are about to modify you need to view them. Type the following into command prompt and press Enter key to execute command:

netsh interface tcp show global

This will show you all the settings as they are currently configured so you may return them to original values if something doesn’t work properly. I suggest you remember or write these down.

TIP 1 – TCP Chimney Offload

TCP Chimney Offload option releases some of the workload from your CPU to the network card, whenever possible. If the network card supports this and it works correctly, then it should be enabled. But if it doesn’t work well, you may want to disable this by entering the following command:

netsh int tcp set global chimney=disabled

In case you encounter difficulties you can return this to default value which you can view using the netsh interface tcp show global command from before. So if it was set to automatic you may return it to original value by entering the following into the command prompt:

netsh int tcp set global chimney=automatic

The same goes for all of the following options.

TIP 2 – TCP Auto Tuning

Windows can automatically optimize your network for best performance, but sometimes they may also optimize it incorrectly, causing problems. Disabling this optimization may help – type into command prompt:

netsh int tcp set global autotuninglevel=disabled

As before you can return to default value by looking at it first using the command netsh interface tcp show global and typing the displayed value back into the above command.

TIP 3 – ECN Capability

ECN or Explicit Congestion Notification improves network optimization when a lot of data is being transferred back and forth. But it is not compatible with some routers so you may need to disable it. To do so type:

netsh interface tcp set global ecncapability=disabled

If you have a router that can support this, then you may also try to enable this option to see if there are some improvements.

TIP 4 – Receive Side Scaling

Receive Side Scaling or RSS speeds up things by utilizing your dual or quad core CPU cores. Once again, it may cause issues under certain occasions. To disable it type:

netsh int tcp set global rss=disabled

Quick guide to upgrading your PC to Ivy Bridge

At last, perfect replacement for Outlook Express and Windows Live Mail is available, called OE Classic - Click here to download!

As I’ve spent much time researching current trends in PC industry and decided to upgrade (it was 4 years since my last upgrade), I thought of sharing the information I found to help you upgrade, as well as to save you a great deal of time with a quick and summarized guide, rather than long text nobody likes to read. This guide is likely to stay up-to-date until 2014 due to Intel design model and my philosophy to upgrade only after Tick (die shrink) phase. I’ve tried to make the information as accurate as possible. The time is precious, so let’s go.

The goal of my upgrade was to get as close as possible to the following configuration (considering it is a desktop machine):

  • Quick
  • Silent
  • Good value for the money (best buy)
  • Power efficient as much as possible (green)
  • As cool as possible
  • Used primarily for work (stable) and occasional gaming (fast)
  • Long lasting (to avoid spending much time and money on next upgrade)

Main processor (CPU)

Given the choice between Intel and AMD, Intel is definitely leading the game at the moment – it uses 22 nm technology based on tri-gate (so called 3D) transistors. Intel also manufactures processors based on Tick-Tock model to make the process cheaper and safer. Each Tick represents die shrink (CPU becomes smaller, more power efficient, cooler) and each Tock modifies CPU microarchitecture. Changing microarchitecture involves engineers redesigning the CPU circuits so in my opinion it is not a good time to upgrade (people introduce bugs in the microarchitecture which is fixed in subsequent versions of the CPU – these versions are called CPU stepping level). So I believe that it is safer to upgrade when microarchitecture reaches Tick stage (CPU shrinking) as no major changes to the CPU design is applied and bugs from previous versions are fixed. If you want to be completely on the safe side, do not upgrade until at least 6 months have passed since a new CPU has been introduced on the market and initial issues have been fixed.

As you may have guessed, Ivy Bridge is at a Tick stage.

Here is a list of CPUs available at the moment that use Ivy Bridge architecture for you to choose from:

List of Ivy Bridge processors

My choice was based on above criteria – a good balance between speed and price. So my choice was Intel Core i5-3470S – a power saving CPU ranging from 2.9 GHz to 3.6 GHz (based on CPU load), with integrated CPU graphics ranging from 650 MHz to 1100 MHz (once again based on load), 6 MB cache (the more the better) and 65W Thermal Design Power (the less the better). My additional goal was also to make it more compatible with “Hackintosh” system as Apple prefers Intel CPUs (if I need to build a Hackintosh) and with better support for virtual machine environment (VMWare, VirtualBox etc.) where once again Intel is a better choice than AMD.

Like I wrote above, the goal was not to get overclocked system but a stable and power saving one, while maintaining the highest speed as possible. Given the criteria, Intel Core i5-3470S is what I label the current “Best Buy”.

Motherboard for Ivy Bridge CPU

Ivy Bridge CPUs use LGA 1155 socket (also called Socket H2) so the motherboard must have this socket. Good thing is that Intel decided not to change socket design this time like they usually do so LGA 1155 can support Intel Sandy Bridge and Ivy Bridge microprocessors. To take advantage of the integrated CPU graphics it also must have a DVI (or HDMI or Display Port) connector on board. Number of USB connectors should be as high as possible, especially the USB 3 ones as most hardware today uses USB to connect to a machine. Here are also the rest of criteria I used when choosing the motherboard:

  • Power saving features
  • Supporting as many USB 3 and SATA 3 connectors
  • Supporting 4-pin PWM controlled fans (for silent fan operation when not under load)
  • Having high quality built-in sound
  • Having gigabit network connector
  • Eventual support for LucidLogix Virtu MVP (software to virtualize graphics card function and take advantage of discrete GPU (dedicated graphics card) and processor GPU working together)

Having a choice of many chipsets designed for the Ivy Bridge I needed some list of specifications for these chipsets. This list can be found here:

List of Panther Point chipsets associated with Ivy Bridge

Z77 is the most high-end chipset for Socket 1155 processors and offers the most features. Considering the price of the motherboards using it, it is not much more expensive than the other ones using chipsets with less features so I decided to go with that one. So I label Z77 as the current “Best Buy” chipset.

Chipset Comparison
Z77 Z75 H77 Z68 P67 H67
CPU Support Ivy Bridge LGA-1155 Ivy Bridge LGA-1155 Ivy Bridge LGA-1155 Sandy/Ivy Bridge LGA-1155 Sandy/Ivy Bridge LGA-1155 Sandy/Ivy Bridge LGA-1155
CPU Overclocking Yes Yes No Yes Yes No
CPU PCIe 3.0 Config 1 x16 or 2 x8 or 1 x8 + 2 x4 1 x16 or 2 x8 1 x16 1 x16 or 2 x8 or 1 x8 + 2 x4 1 x16 or 2 x8 1 x16
CPU Graphics Yes Yes Yes Yes No Yes
Intel SRT (SSD caching) Yes No Yes Yes No No
RAID Support Yes Yes Yes Yes Yes Yes
USB 2.0 Ports (3.0) 14 (4) 14 (4) 14 (4) 14 14 14
SATA Total (Max number of 6 Gbps ports) 6 (2) 6 (2) 6 (2) 6 (2) 6 (2) 6 (2)
PCIe Lanes 8 (5GT/s) 8 (5GT/s) 8 (5GT/s) 8 (5GT/s) 8 (5GT/s) 8 (5GT/s)

This well-done article lists 32 Intel Z77 motherboards tested with Ivy Bridge processors for you to consider:

32 Intel Z77 motherboards tested with Ivy Bridge processors

From the above article I went with Gigabyte GA-Z77MX-D3H motherboard. There was also a choice of Gigabyte GA-Z77-D3H which does have certain advantages, but due to much noise on stability of this board on various Internet forums, I decided to avoid it. Gigabyte GA-Z77MX-D3H doesn’t have PCI connectors (the old, white ones, 32-bit) and Intel Smart Response support but that is OK as I will go with dedicated SSD drive. So my choice of “Best Buy” motherboard is Gigabyte GA-Z77MX-D3H for system with the specifications on the top.


This was a relatively easy. Currently, the best price-to-performance ratio is on the DDR3 1600 MHz side so this is my “Best Buy” choice. Some may argue that faster memory is required for this system. However, real-world performance (and not synthetic tests) don’t make a case for anything faster than 1600 MHz. For example – WinRAR performance saves you 2 seconds from 47 second operation. Gaming performance increases maybe 1 FPS. Hardly a case for faster memory considering the extra price you pay for it. You can better spend your money by buying more memory rather than faster memory. You can see some real-world tests on following URL:

Ivy Bridge Memory Scaling

The size of the memory is another thing. Currently, Windows 7 is comfortable with 2 GB. It works very well with 4 GB. As memory price is not a big issue you can double that to 8 GB. There are very few applications that can make use of that much memory. You can go with 16 GB but I don’t believe that is necessary. If needed, it can be upgraded at later time.

So my choice is Corsair DDR3 1600MHz 8GB (2x4GB kit), XMS3. Make sure you get them in 2x kits because that way it can use dual-channel bandwidth and gain some additional speed.

Solid State Drive

One of the components that will increase your productivity the most is the Solid State Drive (SSD). Once you install one into your system and see the file operation speed increase, a normal 7200 RPM hard drive will really seem sluggish. This is probably the best upgrade you can get for your machine no matter what you will use it for. Traditionally, SSD drives have been quite expensive but I believe this is no longer the case. If you are not satisfied with their capacity then you can still use 2 drives – one for the operating system (SSD) and another for your data (traditional drive, for your work files, multimedia, games etc.).

Real world performance gives you 10-15 seconds Windows 7 boot compared to regular 1-2 minute. Even on SATA 2 system.

Some real world tests are here:

Real-World Performance – Windows And Mac Boot Times

The choice here is yours but I recommend you get a model not based on asynchronous NAND memory. These models are cheaper, but not much from their faster synchronous NAND brothers. My “Best Buy” choice – OCZ Vertex 4, 128 GB. This particular model comes (in fact whole Vertex 4 series) with the Indilix Everest 2 controller with practically no performance penalty whether you use it with compressible or non-compressible data and excellent performance with random write access. However, even if you get a cheap asynchronous memory based model it will still be considerably faster than a regular 7200 RPM hard disk.

My recommendation for the other drive (storage one) is a power-saving “green” model. 2 TB Western Digital WD Green would do nice for this purpose. Note that it spins at 5400 RPM so it is slower than non-green versions of their drives but that also means more power efficient, more silent etc.

UPDATE: Since the time of writing this post I’ve discovered that WD Green can have issues with excessive head-parking. This feature is called IntelliPark and it is designed to save power, but the way it is implemented could easily be called a design flaw – it parks head every 8 seconds by default. This could possibly lead to premature disk failure and can also have effect on disk performance under certain operating systems. WD has a tool called WDIDLE3 which you can use to disable IntelliPark but I didn’t want to bother. Instead, I would recommend Toshiba DT01ACA200 which spins at 7200 RPM and although it draws a bit more power (less than 1 W) it is also quite a bit faster. Additional problem with WD is that there are at least two versions of their 2 TB “Green” disks (WD20EZRX) – one with 3×667 GB platters and another with 2×1 TB platters and it seems that the one with 2×1 TB platters is better choice. However, there is no certain way to tell which version is it except putting it on scale and measuring its weight – definitely not a choice if you’re ordering it online. You can find more information regarding this on HDD Platter Capacity Database blog. As I couldn’t find neither of these problems with Toshiba drives (they all seem to use 1 TB platters and there is no excessive head parking) I would recommend Toshiba DT01ACA200 instead. Note that you will need more recent operating system with both of these drives as they use Advanced Format – Windows XP does not support it but Windows 7 and later do (the consequence is that the disk will run slower on Windows XP). There is a cure for that as well, at least for WD disks – it’s called WD Align Tool.


This is where this guide ends. I haven’t mentioned graphics card upgrades simply because I didn’t do any at the moment. So this has been left out of this guide (may be added at later time). I also didn’t go into details with power supply, keyboard and other minor components as it is a bit outside of the scope of this guide so you should choose those which you like the most. I hope this guide saved you some time – feel free to make a comment.

CCFL vs. LED screen backlight – is LED really better?

At last, perfect replacement for Outlook Express and Windows Live Mail is available, called OE Classic - Click here to download!

Latest models of computer and TV LCD screens use LED (light-emitting diode) backlight. But is it really better than older CCFL (cold cathode fluorescent lamp)?

But before I tell you this story, first I want to explain one common misconception – LED is not a new (nor better) form of LCD display. They are all LCD screens (apart from Plasma displays of course) but it is the backlight that makes a difference. To put it in plain terms – all LCD screens use a LCD matrix which is semi-transparent. Backlight is on the backside of the matrix. When pixels move to non-transparent position, the light is not passing through and you get black pixels. When they are in transparent position the light goes through and white pixels are born (as well as other colors). So that’s how all LCSs work – in a nutshell.

Now onto a backlight and why LED might not be better choice. When you get a new screen you obviously want to reduce brightness as factory settings are usually too bright.

Usually, there are 2 controls to do this – Brightness and Contrast. Brightness setting is the one that controls the brightness level of the backlight (LED or CCFL), while contrast makes it also dimmer but more by reducing the range how much pixels can move back and forth between two phases (transparent and non-transparent). So where is the problem?

The problem is that to reduce brightness, manufacturers usually employ a technique called PWM (pulse width modulation). Essentially, this means the backlight has an ON-time and OFF-time and it quickly flickers between those two states. So for more brightness you have more ON states and less OFF states and vice versa. CCFL does the same thing but with one difference – it does not react as quickly as LED to state change and it can have maybe about 2-3 ms lag, while LEDs do it almost instantly. So CCFL might have a small “fade out” time while LED does not – therefore it might be easier on the eyes.

Here are some images how you can test this by simply waving your hand in front of a monitor – the less strobo effect as on first image – the better.

Waving hand in front of monitor that doesn't use PWM dimming
Waving hand in front of monitor that doesn’t use PWM dimming. Hand movement is blurry and there is no visible strobe effect. This is the one you should look for.
Waving hand in front of monitor that uses CCFL with PWM dimming
Waving hand in front of monitor that uses CCFL with PWM dimming. Hand movement is blurry most of the time but there is some strobe effect in place. This is still a bit better than LED PWM dimming.
Waving hand in front of monitor that uses LED with PWM dimming
Waving hand in front of monitor that uses LED with PWM dimming. Hand movement is not blurry but instead you see strobes each time screen flashes. Effectively it is like staring at fast stroboscope. This one is the one you should avoid.

The problem is that PWM is set to too-low value of a couple hundreds of Hz (changes per second) so to more sensitive eyes it may be visible as flickering. Though you may not perceive it visually it is there and you might get a headache or eye-strain after prolonged period of staring into such screen. If it would be a couple of thousands Hz it might be better for the eyes (obviously the more continuous the light – the better). You cannot see this visually but if you record a screen through a cell-phone camera (or any other type of camera) you will see it as lines. You may also move finger or pencil quickly in front of a screen or place a rotating fan in front of it to see the effect. If you get a continuous line then the light is continuous but if instead you get a sort of flickering “frames” of fan or pencil movement then you know there is a stroboscopic effect in place which you are staring at.

The effect is illustrated in these videos (note this is NOT visible to the naked eye but most likely IS perceived by eyes and may as well have effects on the human nervous system). I am not convinced by the “experts” that claim that 100 or 200 Hz flickering is harmless for people.

But you might say – older cathode tube screens flickered at very low rate like 60 or 70 Hz. True but not entire screen was flickering at once like in the case of modern LCDs – only the part where electron beam was passing by and the rest was slowly fading to black (phosphorous used on the screen also has a delay and fade out time).

This may not be an issue for some people and can be a great deal of issue for others. In any case I suspect it will cause you more headaches and eye strain. There might be also other consequences related to flickering lights (increased seizures maybe?). All in all – not good.

So how to remedy this problem? This is a tough question.

One solution I personally use is to put brightness level to 100% and to choose CCFL monitor if possible. There is no visible flickering on my DELL U2311H when I use a fan or pencil or camera test and brightness is set to 100%. Of course, the screen is then awfully bright – but I simply reduce contrast to about 50% which does the effect of reducing brightness. This is not a perfect solution as it probably messes up monitor color-range but works quite fine for me (I am looking at text most of the time anyway). This particular model has CCFL backlight. The idea is to get a continuous light rather than stroboscope effect. If brightness is set to 100% the more backlight will bleed-through the LCD screen (black is almost never a perfect black) but at least the light is continuous. This is the reason why I choose DELL U2311H over its newer replacement DELL U2312HM (which uses LED as backlight).

Another solution might be choosing a monitor that does not employ PWM as a method of reducing brightness. These are quite rare though. One model I found (but haven’t tested myself) is HP ZR2740w. They may be hard to find but there are others too (look at links at the bottom of this post).

Some LED monitors may also not flicker at 100% – any case where the light is continuous is better than a pulse width modulated version. The easiest way to test this is to quickly move a pencil or put a fan or camera in front of the white screen and change brightness levels. Additional problem may be that some manufacturers also flicker even on 100% brightness settings.

Perhaps some future technology might give an answer to this – like OLED which might emit light continuously. But for now you should take more care when choosing your next screen or selecting its brightness settings.

And one more thing – if you plan on reading eBooks – you should prefer eBook reader like Kindle over the iPad because the former has E-Ink based display and the latter has LCD screen. It is still better to look at reflected light (like from a paper or eBook reader based on E-Ink) than directly from a light source (like from a screen) – the eyes are more used to watching reflected light than a light source directly which all monitor or TV screens are. Not to mention that E-Ink reader doesn’t flicker at all and displays images/text continuously. Of course iPad is more versatile for various other tasks like games, web etc. (not to mention eBook readers may not have color support) so this applies only for reading text and looking at static pictures.

Regardless of all of the above, your eyes still need occasional rest from screen or paper viewing (or reading) otherwise eye-strain and headaches will occur regardless.

Here are some links for further reading into this subject if you are interested:

Informing About LCDs And Luminescence

Fortschritt durch LED (German)English translation by Google

Pulse Width Modulation

Discussion on this topic as well as several monitors that don’t use PWM

2015 update:

It appears that more manufacturers are taking PWM issue into account – which is a good thing – here is what I found recently:

EIZO explains a bit about PWM flickering here

Acer Aspire S7 screen might not have screen flickering above 27% brighness level

2017 update:

Flicker Free Monitor Database – TFT central now maintains a regular list of non-flickering (PWM-free) monitors
PC Monitors – Recommendations – Recommended monitors on also feature PWM information

The Big business myth – Is bigger always better?

At last, perfect replacement for Outlook Express and Windows Live Mail is available, called OE Classic - Click here to download!

What is it with us that we are so easily impressed by the size of company someone runs? Perhaps it scares the heck of us that a company of that size is managed by a guy/gal we know. It is one of the common myths in business to size up the company by the number of employees working for it. Bigger is better and more impressive.

If you have a conversation with someone and he/she asks you: How big is your company?
Your reply might be: I have over 100 employees.
The response you would get might be – Wow, nice!
You received a form of compliment.

If, instead, you answer – I have 2 employees.
The reply might be different – Oh, that’s nice.
Just said to be polite. Not impressive at all.

However, in reality the bigger is not always better. Sure, there are cases where it really is. But it also creates unnecessary drag. For this reason alone, quite often, big companies would prefer to be smaller. Does your small company strive to get bigger for wrong reasons?

There is another thing with big companies – quite often they are disconnected from their end users and don’t entirely understand their needs.

I have example related to this in our own company – we’ve been making income just from using disadvantages of Microsoft (and a few other companies) products and filling the needs of real users in our software like yDecode and OE Classic. The thing is that the gaps we’ve been filling with our software had existed for decades and nobody in large companies ever took notice. Fixing the gap in their software would require maybe 50 lines of code – if they could notice it, that is.

That is the difference in agility of a small vs. large company. Think of small company as a small motor boat while big company could be a large cruiser. Obviously each one is better for their purposes.

What I propose here is neither of those two. The idea of perfect sized company doing work the most efficient way possible is my idea of a perfect business. Find the right size for you and stay that way. Maybe it is 5 employees, maybe it is 250 and maybe it is outsourcing the whole thing without any regular employees. It’s your choice to determine which size is perfect for your company.

So next time if someone asks you how many employees you have – be proud with your answer and don’t care about their reply. After all, you do have a business and you took responsibility of your life by running it. You’ll miss the simplicity of doing business you have now, when your business becomes big. Or even better, find the perfect size for your company and stay that way.

DuckDuckGo – new search engine that might hit jackpot

At last, perfect replacement for Outlook Express and Windows Live Mail is available, called OE Classic - Click here to download!

If you thought that in the search engine world everything is established this might be a nice little surprise for you.

There is a new player in town and it’s called Duck Duck Go – – well, not exactly new, it’s been around since April 2010.

Despite of its funny name, the interesting thing about this new search engine is that it doesn’t try to compete with Google (which is nearly impossible) but instead it hurts Google where it hurts the most – privacy issues. With increased concern about user and search privacy and new Google privacy policy recently introduced more and more people are looking for an alternative way to search. It also adds wisdom of crowds to the search results (e.g. from sites like Wikipedia) to better fulfill search requests.

Will this one hit the jackpot? We’ll have to see – according to their own public search statistics their traffic is increasing and it looks much like an exponential curve to me – see it yourself:

Did I also mention that it also gives pretty good search results? Try it out yourself and tell me what you think.

Internet safety and how to protect yourself online – proven and reliable tips

At last, perfect replacement for Outlook Express and Windows Live Mail is available, called OE Classic - Click here to download!

I am quite often asked by individuals or companies how to protect yourself and your computer online – you know, the usual stuff – avoiding viruses, spam and such things. Often, the rationale is – “If I bought the computer and service from my Internet provider – it should all work flawlessly right?”

Well – not quite, the story is a bit more complicated than that. If you are not a car mechanic you don’t service your car – you leave it to professionals. But unfortunately, the perception is not the same with computers – just because you keep them in your bedroom doesn’t mean they are any less complicated to maintain and that you can use them carelessly without knowing what you are doing. You do need to learn to drive your car, don’t you? Well, computers are zillion times more complicated than driving a car but fortunately, there are some simple rules you can apply to make them easier to handle.

As a software publisher, security to our users is of utmost importance – so we have a set of rules you can all use to be safer when connecting to Internet (but also when designing software too). Here they are in arbitrary order and in plain language without too much technobabble.

  1. Use original software – Original software at least gives you a certain level of guarantee that the program hasn’t been tampered with (software developers and virus-makers are both engineers after all) and with pirated software you cannot be that certain. This doesn’t mean original software is any more secure if the authors don’t apply the security measures themselves.
  2. Apply software patches and updates religiously – especially if computer is connected to Internet or if the software is Internet-related. In Microsoft Windows this is called Windows Update and for Microsoft Office it is called Office Update. Many other programs from less known companies also have their own update mechanisms – use them! This also applies to online-software (blog software, forum software and similar). Also to bust one more myth – people often claim that Macintosh is more secure than Windows-based PC. Not really true – in fact, there are security leaks a few months old in OS X and still not taken care of. Similar goes for iOS and sometimes for Linux too. So if you paid it more that doesn’t mean it is automatically more secure. Windows are most popular but for this reason alone their emphasis on security is at higher level. I’m not advertising the use of any of these systems, just pointing the fact that software developers do need to patch their software too as well as their users.
  3. Use latest version of your Internet browser. These days any is really good and a matter of choice – IE 9 is as good as Chrome 17 or Firefox 10 (yes, I know about Safari and Opera too). Yes, there are differences, but they are all very competitive. When using the latest version you make sure you have all the security updates all the time.
  4. Use firewall and anti-virus (anti-spyware) program. Paid or free is a choice of yours but more often, paid has more advantages – and these guys are constantly into security leaks and patches. Use their wisdom. Companies I would recommend are Kaspersky, Norton 2012 products and the one I personally use – NOD32. As for free variants I like Avira – has some quite nice features but AVG or Avast are also quite good (I did not go too much into virus-detection charts as they change all the time). Note that they can’t be used as substitute to Windows Update – you still need to have fully patched operating system. Fortunately, with Windows and antivirus software – update mechanisms are very easy to use and completely automated. Firewalls on the other hand will stop software to send outgoing data unless you permit them to and with most of them you can do this on individual program level.
  5. Quick guide to less reliable software sources – Even though you should install software from reliable sources, sometimes you might need to install something from less known manufacturer. Note that digital signature doesn’t mean software is more secure – Gator Corporation for example had fully legit digital signatures while their software was installing spyware. Good way to install unreliable software is to use Sandboxie. The solution which I use myself is virtualization – a full operating system within isolated environment such as VirtualBox or VMware Workstation. The idea here is to install software in a controlled environment and not onto your main operating system. If the software or manufacturer proves to be reliable one, you can proceed to install it onto your main system, if not, you can easily remove it or restore virtualized operating system image to starting one.
  6. Read those “Do you want to…” dialogs… for God’s sake! Don’t just click “Yes”. I am always amazed how many spyware, toolbars and similar things are installed just because user doesn’t read whatever is offered on the screen. Do not install software if you are tired.
  7. Do not use unsecured or low-security WiFi – There is always someone listening to such connections – this is probably the easiest way to steal passwords. WEP encryption is easily broken, with WPA and WPA2 you are a bit more secure. But it doesn’t hurt to add additional level of security – make sure you always use HTTPS (secure) version of web sites if available (Facebook has it and Google has it and so do many others). Make sure you always use SSL/TLS-encrypted connections (for Email access, for Usenet access, for web access) wherever possible and available.

I tried to minimize this list as much as I could but security issues are not something that should be taken lightly and you should at least do those minimal measures I’ve covered above. Of course, me – as software developer has quite a bunch of others like – checksuming (MD5, SHA1), comparing binaries by content, compiling software in an isolated environment (like virtualized operating system), making a copy of installation file before running it for testing or storing it in non-compatible environment (for example Windows binary hosted for download on Linux host – where it can’t be executed) and much more – but I don’t think these should be presented to average user that just wants to use his computer without having to worry too much – after all, software can be very complex and needs to be as easy for the end user as possible.

Another bug in Delphi PopupActionBar – Vertical menu shows no scrolling arrows

At last, perfect replacement for Outlook Express and Windows Live Mail is available, called OE Classic - Click here to download!

Today I encountered another problem with TPopupActionBar in Delphi / C++ Builder – vertical menu arrow was invisible. I was using it because it is apparently the best component to be used with ActionManager but as it seems, it is half-baked.

Here are bugs I discovered so far (with a little help from our customers):

  1. When menu is very tall, taller than screen height, PopupActionBar won’t show up/down arrows for scrolling content as first and last items, while regular PopupMenu does show them (thanks Carroll for notifying me).
  2. Furthermore, PopupActionBar is very slow and unresponsive (opening very tall menu takes visible amount of time – I did’t measure it but it looks like more than half a second) while the regular PopupMenu opens instantly. Selecting another item in PopupActionBar can sometimes be very laggy (sometimes old menu item that has subitems does not close as you move mouse over another item so you have to move around again until it updates).
  3. When menu item has subitems and it is disabled – it is still displayed as enabled during runtime.

Here is a simple C++ Builder code to generate very tall menu to demonstrate the above point 1:

for (int i=0; i<100; i++)
  TMenuItem *mi = new TMenuItem(PopupActionBar1);
  mi->Name      = "TestName_"   +IntToStr(i);
  mi->Caption   = "TestCaption_"+IntToStr(i);

And this picture show point 3 in action:

Delphi PopupActionBar Bug
Delphi PopupActionBar Bug

Obviously, we are moving away from PopupActionBar. And as it seems it is not the only thing related to ActionManager controls that has bugs – if I remember correctly – ActionToolBar also had some issues. So I might very well guess that ActionMainMenuBar might have similar problems with vertical arrows or speed.

ActionManager is very nice way to organize code but the components designed to work with it are half-finished and I wouldn’t recommend them.