Programming and general geekiness.

Posts tagged ‘windows’

Which is the best C++ variant?

It turns out that this month the Microsoft C++ compiler will turn 20 and it is probably my second favorite C++ compiler after G++. Microsoft are aiming to ship C++ 11 Beta that will, for the first time, include ARM support, Windows 8 support and better parralel computing support. At the end of the day it is still good old C++ it just happens to support a lot of extra features, but yet I still prefer G++ because most of my C++ work is on Linux and G++ produces much smaller executables on Linux compared to Windows.

Obviously some compilers automatically optimize code to a certain extent so that it is as efficient in both speed and memory usage as possible and this is generally the deciding factor in how big the produced executable is. Despite this, I reckon that how good a C++ variant is depends on how good its libraries are.

Microsoft C++ with the Microsoft Foundation Classes basically lets you do pretty much anything you could possibly want on Windows however the open source community has had to build up something similar for Linux. The GTK framework is basically fantastic and I personally prefer it to the Windows stuff because you don’t have to write as much code to build complex UIs.

The cool thing about C/C++ compilers and variants is that they are pretty much all standards compliant and have the same basic libraries. Because the languages were designed to work across multiple platforms tools such as SQLite just work without having to do complex configuration of the compiler. Ultimately at the end of the day there is no ‘best’ C++ variant because they are all pretty good, I just have a personal preference towards G++ and GTK.

Why App Stores are the greatest success of the last ten years

Including Windows 8, all of the five biggest Operating Systems on the planet have app stores: Windows (8), Mac, iOS, Android and Windows Phone. The app stores all users to easily download and purchase apps in an enclosed environment with minimal effort. It is possible to press two buttons and to have an app instantly download and install. Ten years ago it was normal to have to go somewhere (or Amazon), purchase a disk, wait for it to arrive, put the disk into your computer, wait for the installer to load, go through a complex process to install, wait for it install, reboot and then eventually use the software.

Thanks to the major change in the way we get software developers and users have had many lasting benefits. It has helped to grow the software industry – especially the mobile software industry – and has also meant that users have a stronger variety of software on their computers. Since they were invented app stores have really helped developers as well because it means they don’t have to build trials, installers, update managers or complex license control systems. Many IDEs make it a two or three minute process to get an app onto a market.

Windows will be the last of the major platforms to get an app store and this really is going to be a problem. It will certainly be a good thing for Windows and I am sure it is going to be successful however I think it is too little too late. If Microsoft had launched an app store with Windows 7 it would have been a huge success and I should imagine Windows software would be very different however they were too late getting it onto Windows 8. Obviously Windows 8 is going to be a game changer, but it relies on a decent app store. Microsoft failing to provide this would be Windows’ downfall, but on the upside it could give Microsoft a decent shot at Apple.

Seven has been Microsoft’s lucky number

I’ve been pretty neutral on Microsoft recently. I don’t like everything that they are doing with Windows 8 but some stuff they’ve done recently has actually been quite cool. Windows 7 is easily the coolest version of Windows that they’ve released and I like it a lot. Everything just works and it is quite fast. There is no doubt that it is the least criticized version of Windows (Vista wins the title of most criticized version, big time). However recently Windows Phone 7 has actually been popular.

I don’t mind the look of WP7 (I prefer iOS and Android but it isn’t bad) and I think it probably does Metro a little bit better than Windows 8 although I’ve only tried it with mouse/keyboard – touch probably adds quite a bit. With this WP7 has actually been receiving some surprising success and many critics do like it. I must admit that I don’t like it as much because of the poor HTML5 support in Internet Explorer 9 on the device and because I prefer the Android development stuff but it isn’t too bad. I have read stuff that suggests the reason for people like me going towards Android is because students prefer open-source because its cheap.

I think I like what Microsoft has done with Windows 7 and Windows Phone 7. They’ve made a couple of good systems and they’ve made them look nice. I would have no complaints if you asked me to continue using Windows 7 for a few more years but I strongly suspect that I will probably switch to Windows 8 later this year. I’ve got many concerns about Windows 8 but I hope that if it manages to stick to the principles of Windows 7 it should be OK.

Top 5 docks for Windows

I know that this is probably something that is reviewed more often than cat videos on YouTube but I’ve been experimenting with a few docks recently and it seemed like a nice idea to have a proper look through at all of them. I’ll just look at Windows based docks because OS X obviously already has a fantastic dock and there are various docks (such as Docky or Ubuntu’s built in Unity) for Linux too.

1. ObjectDock

Despite being the largest and oldest of the docks on review today, ObjectDock remains one of the best and if you have downloaded a dock for Windows before it will almost certainly be this one. ObjectDock takes most of its inspiration from OS X’s dock which isn’t a bad thing entirely however I have found that it tends to be a bit slow on older computers. The advantage of ObjectDock is that there are a variety of different themes and animations that allow your PC to look like OS X. ObjectDock is also incredibly easy to use and set up although it could come with more than just weather. I found it very easy to set up and add new icons, although it doesn’t look great anywhere on the screen except the bottom. Unlike Ticno Multibar it will automatically pop up when you move your mouse to the bottom of the screen, effectively being a true taskbar replacement.

2. Ticno Multibar

I only found at about Ticno Multibar today because it came up on Lifehacker, however it has already proven itself useful. It is relatively easy to add new icons and there’s a wide range of add-ons available. I still haven’t worked out some of the particulars but it seems to have done a good job at indexing my computer for nice quick search. Another highly useful feature is a bunch of keyboard shortcuts that let you easily select an icon. The Multibar probably works best if you are running XP or Vista because it seems to work better with the taskbars in these versions, however if you are using Windows 7 (or 8!) you’ll probably find you don’t need it.

3. RocketDock

RocketDock looks very different on its website compared with real life and for that reason I don’t really approve of it that much. It is compatible with many other docks, however when it first loaded (pictured) it didn’t come up with programs I actually used and instead came up with a few defaults such as folders. It doesn’t look as great as the others either, so therefore I can’t really recommend it.

4. CircleDock

CircleDock isn’t like the other docks on review today because it looks very different because it sits on the desktop as a circle. Whilst looking quite cool it sadly doesn’t have the feature set of some of the other docks and you have to add all the icons yourself, which is a real pain. It also requires a keyboard shortcut (default is F1) to launch it which isn’t great either. It could be better animated as well, so therefore it doesn’t score well in these tests though it is still a cool idea.

5. AquaDock

I didn’t really like AquaDock too much because it was a bit of a pain and seemed to be trying to copy everything about the Aqua Dock on Mac in Windows (hence icons). Annoyingly it doesn’t work properly on anything but XP (I had to run this in compatibility mode to get it running) and doesn’t add icons for you automatically. It hasn’t really been updated since 2004 either and frankly isn’t a great option as a dock – I wouldn’t recommend it.

The reason that ObjectDock comes out on top was that because it was able to work best with my computer and didn’t have an major bugs. It also looks the best and I would say that Ticno’s Multibar has to come second because it still isn’t perfect. The other three weren’t really that great and I can’t really recommend any of them despite being OK.

Will the professionals all end up on Linux?

Many professionals in the creative market are beginning to move away from Macs and onto PCs thanks cheap hardware, matte screens and better software availability. In recent years (after the move to Intel processors) Apple has dramatically grown in the consumer market and is making over $1 billion a month on Mac sales. People are first attracted to the iPod, iPhone and iPad and then go for the full Apple experience by buying a Mac.

Clearly Apple has realized that the consumer market will be big business for them, and so is aiming more of its software and hardware at that end of the market. This was most recently highlighted by Final Cut Pro X alienating many professional users with too simple features and lack of support for old plugins and files. Therefore, many professionals have moved all their work over to PC thanks to better professional software availability.

The problem is, Microsoft might be about to do exactly the same thing to professionals on PC with Windows 8. The new Metro interface isn’t that great on a desktop without touch and it is increasingly difficult to just work in the standard desktop mode. The OS is tablet based, and this is a major issue because a lot of design work still involves a mouse and a keyboard or a drawing device for illustration work. A tablet doesn’t really allow for this.

So if Apple and Microsoft are alienating the professionals, where does this leave them? Surely the answer is Linux, and it is perfectly reasonable for them to use Linux – there is a wealth of software available and it isn’t actually that difficult to code software for Linux as all the main development tools are incredibly well supported and open-source meaning that Windows and Mac developers are able to continue in their usual fashion. As well as languages such as C, C++ and C# other languages such as Python, Java and Objective-C are also available, making it incredibly easy to move over.

And Linux is getting better by the day with Fedora and Ubuntu both being very stable and mature operating systems – I use Ubuntu just as much as Windows because it is just as capable. All it requires is for the larger software companies that develop the design software to make the jump – and they don’t really need to change much.

Windows 8: This is going to be awesome

Windows 8 is going to change everything. I won’t do a full blog post now because by tomorrow evening I’ll be using the Preview Release. God, that is weird. There will be an App Store, cool new developer tools and really good touch. The preview release is coming tomorrow! Wow, this is going to be really good.

I think that I’ll have to reserve judgement until tomorrow, but I am still very, very excited. This is the next version of Windows.

Some peculiar things that Windows gets distributed with

Windows is a pretty big Operating System. Like, pretty big. It comfortably takes up quite a few GB and is bigger than many Linux distributions – and it doesn’t even come with an office suite or printer drivers (by comparison Ubuntu is 700MB, comes with an office suite, decent web browser, decent photo organisation program, Python and compilers). I think I know why Windows is a tiny bit bigger (or at least 84.3KB bigger): some midi files in C:\Windows\Media\. I already knew Windows came with some sound files – there is a bit of Beethoven in sample music, but I never realized that there were three rather peculiar pieces of music: flourish.mid, onestop.mid and town.mid. In total the three pieces around about seven minutes long, but they are completely and utterly random. I’ll let you enjoy them.

What is Windows 8?

Some people will look at the title to this post and think I’m mad. I think pretty much anyone would be able to work out that Windows 8 is the next version of Windows, following on from Windows 7. Windows 8 is particularly interesting because Microsoft are being very quiet about it, however they have done a few talks about it. We know for a fact that it will run on ARM processors, will have the same system requirements as Windows 7 and will include an App Store. It will also ship with Internet Explorer 10, which promises fast JavaScript acceleration and hardware accelerated graphics – aiming to help the fact that ‘Windows 8 Apps’ will run on HTML5, CSS3 and JavaScript – along with (no doubt) a load of native code too.

The reason that I am writing this blog post is because I have been thinking about Windows 8 all day after having watched (for the second or third time) the conference on Windows 8 in Taiwan introducing Windows 8. This was basically a thirty minute talk where a man from Microsoft talked a lot about Windows 8 running on almost every device be it ARM or Intel. It’ll even happily run on the same computers that Vista was launching on. The also talked about how the UI wasn’t really going to best on 4:3 screens (like 1024 by 768 – probably the most common resolution on the planet) and that manufacturers should be using 16:9 and touch. I find this interesting because I have two 5:4 screens that sit next to each other, so I’m looking forward to seeing how Windows 8 will handle these.

Interestingly enough in the talk Microsoft were showing off the new ‘Start’ menu. I suppose you could call it a ‘Start’ menu considering that it is where you start at, but frankly to me it just looks like a bunch of squares that do stuff. All are icons for stuff. Microsoft only showed  what was behind a few of these squares, or ’tiles’ to give them their proper name. The pretty much just showed Twitter, Internet Explorer, Piano, Weather, Stocks and Shares and a video. That was about it. The failed, obviously, to show us what was behind the tile named ‘Store’ with a picture of a shopping bag with the Windows logo on. I suspect that this was an early hint at the up and coming App Store – even though Microsoft only mentioned in writing in a blog post the other day.

Today I have also wondered about Internet Explorer 10. There is already a platform preview available, but this isn’t much of a gain over IE9. I wouldn’t be surprised if Microsoft fit in every last HTML5 and CSS3 standard so that developers will be able to fully use it to develop Windows 8 applications. The risk is, of course, that IE10 will actually be quite good for Windows 8 and therefore tempting not to use – I fear the day that Internet Explorer is better than Google Chrome or Firefox.

A hope that I have for Windows 8 is in its developer tools. I hope that Microsoft will allow HTML5, CSS3, JavaScript, C# and XAML to interact to build applications so that I can use the tools I am using now – and that I am comfortable with – to build amazing applications.

I’ve also thought about how Microsoft will influence the look of applications. It is very unlikely that every last Windows application is going to be converted to be ready for the new UI, however it is worth considering that Microsoft’s UI probably won’t be best for things like Word, Excel or PowerPoint. They have demoed that normal applications will just return to the normal desktop, however I am sure that they have every intention of making this as annoying as possible so developers are more likely to use the new UI. This is a pain, because I use a lot of applications on my computer and I wouldn’t be surprised if less than a third of them (which would probably be all the Microsoft applications) actually get updated. I pity the fact that some wonderful applications are going to have to change their design just to fit in with Windows, instead of looking like they did before, and how they would look on Linux and Mac too.

Windows 8 is going to be Windows 6.2 (technically) to show similarity to Windows Vista and Windows 7 in architecture. This means that it will probably be regular Windows 7 with a very dressed up UI, some new libraries and the whole thing recompiled for ARM.

Despite looking forward to it, I am worried about Windows 8. Nearly all of Microsoft’s demos so far have been touch. I don’t have touch. I don’t like it. I can work just as fast, if not faster using a regular mouse and keyboard. It is what I have used all my life and it is what I find natural. My main problem at the moment is that it looks like it is a tablet OS. It doesn’t look right on a desktop PC. If you compare it to Windows 7, Mac OS X 10.7 or any Linux distro, they all have a desktop. I wouldn’t say that Windows 8 has a desktop in the usual sense.

How many bits?

Binary really is a wonderful system. It makes computers run and allows us to handle big numbers. Binary is measured in bits, and each bit to the left has an increasing value: in a 4-bit string the first (the rightmost value) would be equal to 1, the next 2, the next 4 and the last 8. Some use the last digit to note whether it is a positive or negative integer. In the most basic system 0101 would be equal to 5. Each time you add a bit the number of possible numbers doubles. If I had 4 bits my maximum would 0-15. If I had 5 bits it would be 0-31.

Many modern devices use 32 bits. I say devices because many modern computers use 64 bits. 32 bits allows you to represent everything from − 2,147,483,648 to 2,147,483,647 which does seem like a reasonable amount of numbers, but it generally isn’t enough for big (really big) numbers. Therefore most modern computers use 64-bits because it means that they can handle everything sufficiently. The reason for this is because 32-bits can only access 3 Gigabytes of RAM because each byte in the RAM has to have a unique identifier. 64-bit computers can therefore have much more RAM installed in them.

However the maximum range for 64-bit integers is − 9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 which is frankly enough for anyone. And that is the thing. There are rumours that Microsoft Research are working on 128-bit versions of Windows but frankly there is very little point. I know that I have only personally written one program in my life that has required more than 32-bit integers (it was an image processing application, I think) and only two that have required more than one core.

Many applications don’t need to handle bigger numbers and only researchers have really got a need for 128-bits, let alone anything more than that. There are certainly 128-bit applications and processors in existence, but these are just in labs. There have rumours of 128-bit OSes for years, however neither AMD or Intel have ever really made any effort to make a 128-bit processor because there would be no point in doing so: Windows, Mac OSX or most Linux distributions have no intention of getting 128-bit support.

And here is another thing: 32bit has been around since the early 90s. Windows 95 was the first Windows OS to only be shipped as 32-bit, and Windows 8 isn’t even showing signs of ditching it. We have had 16 years of 32 bit, and I have no doubt that we will probably have another 16 years of 64bit.

If Windows 8 gets one thing right…

At the moment I am waiting for the Bing Bar uninstaller to initialize. After that I have a list of about 60 other programs to take off my computer – most are quite small, but with a few exceptions. I am doing this on a relatively average computer but I expect to be here for most of the day. The programs that I am getting rid of vary in type. Some are pointless little things I downloaded once to complete a task (I have about four unzipping programs for different file types), others are large applications that I have on other computers that run them better. The irritating ones, however, are ‘drivers’ and ‘support software’. When this computer was new it came with a very large program (4GB) with ‘support software’ for the system. The computer was made by a popular manufacturer. I have never used the software and I haven’t got a clue waht it does. Any problems I’ve had with the computer have either been solved by the 8 page problems booklet it came with or a quick Google search.

Furthermore, the router that I use came with about half a gigabyte of software detailing how to contact customer support. Again the router was made by a popular provider. I have never had any problems with it. Quite why it needs drivers when it is an ordinary Ethernet router I do not know. But ironically, it isn’t just this computer that acts like this. I have a computer with a graphics card made by a very popular manufacturer however the ‘driver’ for this is a giant complex application detailing loads of settings I’ve never needed or used. It is the same for many popular bits of hardware – they come with tonnes of rubbish.

Therefore Windows 8 really needs to change things. If there is a proper driver management system where all my drivers come from Windows Update and are lightweight, I’ll be happy. If there is a proper way of managing applications, I’ll be happy. I should be able to press one button to get rid of an application, but right now I have to wait for Windows Installer to catch up and do something. So I beg that if Windows 8 gets one thing right, it’ll be that everything is simple and easy in regard to the horror of uninstalling applications.

Here is my list of things I don’t like about uninstalling programs:

  • Having to be shown a survey after the installation has finished asking why I uninstalled (even more annoying if it has to open in IE)
  • Taking ages to load the uninstaller
  • Closing programs I am using which have nothing to do with the original program
  • Leaving programs on my computer that should have been uninstalled before hand
  • Leaving half the program on my computer claiming it is ‘preferences’ that I might like to use next time
  • Really bad estimates to how long it will take to uninstall
  • Scaring me out of the uninstaller (YOUR COMPUTER WILL NOT WORK IF YOU UNINSTALL THIS PROGRAM BECAUSE I’LL DELETE FILES FROM SYSTEM32! HA HA HA! kind of thing)
  • Progress bars that get to the very end and then restart again
  • Telling me that I can’t uninstall it because I’ve removed another component it requires – which requires it to uninstall
  • Full screen backgrounds with really disgusting gradients from the 90s.
  • Continually requesting admin permission
  • Making me restart
  • When it has finished, not taking me onto the ‘Finish’ screen automatically
Follow

Get every new post delivered to your Inbox.