Sunday, October 20, 2013

Disabling Smart Scopes in Ubuntu 13.10

To disable smart scopes in Ubuntu 13.10, go to Settings, Security and Privacy, Search, and flip the switch for the setting Include online search results.

To disable specific scopes, go to the Applications scope (Windows/Super key + A), go to the Dash Plugins section and click on See more results. Click on the scope you want to disable and click the Disable button.

For more tweaks that you can do to your Ubuntu 13.10 setup, take a look at:
http://www.noobslab.com/2013/10/tweaksthings-to-do-after-install-of.html

Windows RT 8.1 Withdrawn From Store

The Windows RT 8.1 update has been withdrawn from the Microsoft Store because of reports of users being unable to boot their devices after the update. The error code reported on attempting to boot up on affected devices is 0xc000000d. The Windows 8.1 update, however, continues to remain available to users.

Thursday, October 17, 2013

Windows: Network Interface Information

You can easily look up the metric that Windows assigns to your network interfaces by typing the following on a command line:
netsh int ipv4 show interfaces
Windows displays an index, metric, maximum transmission unit, state, and interface name.

While ipconfig is a common way to determine the IP address(es) of you computer, another way to get the IP address is to run:
netsh int ipv4 show ipaddresses

Figuring out which name server you are using is simple too, with the following command:
netsh int ipv4 show dnsservers

For information about IPv6 instead of IPv4, simply replace the '4' with a '6' in the above commands.

ICQ: Where's Its Target Audience?

When you hear about ICQ, you begin to think back to 1998 when you used the Internet messenger to talk to strangers, colleagues, co-workers, classmates, friends, and family. It was also a great way to send mobile text messages (SMS).

Today, ICQ is still supported in every major multi-IM client such as Adium, Pidgin, and Trillian. ICQ also has its own Windows 8 client, apart from clients for iOS, Android, Blackberry, Symbian, Bada, and MacOS. That makes you wonder - who uses ICQ?

ICQ started off as a product by the Israeli firm Mirabilis. It was then sold to America Online, which in turn sold it to a Russian firm, Digital Sky Technologies. It would be highly unlikely that you would meet someone in the US or UK, or even Dubai or India, who uses ICQ. However, ICQ has a lot of users from Russia and Eastern Europe. GoogleTalk, Skype, WhatsApp, and FaceBook Chat may be the current favorites for IM and chat, but ICQ is far from being a has-been in some parts of the world.

Tuesday, October 15, 2013

2 Days To 'Saucy Salamander' Release

With 2 days left to the Ubuntu 13.10 release, which is named Saucy Salamander, a lot of Ubuntu users wonder if it is worth the hassle to upgrade. The new Ubuntu 13.10 comes with smart scopes to provide better searches across the disk, Wikipedia, Amazon, FaceBook, Google Drive and anything else that you have a scope setup for. Ubuntu 13.10 will also feature Click format packages, which have the benefit of including all required dependencies, unlike deb packages.

Fixing Windows 8 WiFi Off Issue

When using Windows 8, the WiFi can turn itself off when switching back and forth from Airplane mode. Disabling Airplane mode does not turn the WiFi back on. When such a problem occurs, press the Windows key and I at the same time (Win+I) to go to the settings, click on Change PC Settings, and go to the Wireless tab. This settings page provides an interface to turn on WiFi adapters.

The following screenshots will guide you through the process:

Step 1: Win+I or Settings from the right side swipe menu



Step 2: Click on Change PC Settings


Step 3: Click on the Wireless settings page


Step 4: Turn On the wireless interfaces


Monday, October 14, 2013

Ubuntu 13.04 Remixes: The Feeling of 'Old' With 13.10 Around The Corner

The release of WattOS last week didn't really get much attention, with the distribution based on Ubuntu 13.04. It may be a stable operating system but with Ubuntu 13.10 just around the corner, having to work with something that is based on Ubuntu 13.04 just gives a feeling of working with old, legacy technology, something that many information technology professionals would like to avoid.

Having said that, there are programmers who still have to deal with Visual Basic 6 source code because of maintenance contracts that were formed by the firms that they work for so there is little that they can do to get away from the drudgery. There still are programmers out there whose primary skill is COBOL programming and every day they get to their offices, they hook up to a mainframe and get started with work.

There are some folk in the I.T. world who still have not given up on old technologies because they didn't want to make the shift. Windows 7 users, Gnome 2 users, and Python 2 programmers are only some of the information technology professionals who decided that they didn't want to adopt an entirely different approach to the way they have been doing things.

Wednesday, October 2, 2013

SQL Server 2012 Express Installation and Troubleshooting

If you have Windows 7 or Windows 8, you can install either the SQL Server 2012 Express or the SQL Server 2012 Developer Edition. The Express edition is typically all you would need, unless you plan to use reporting services and the integration service in which case SQL Server 2012 Developer edition is what you require.

The SQL Server 2012 installation performs the following checks before starting:

  • Can the updates be obtained using the Windows Update service
  • Is the Internet accessible for installing the .NET 4.0 framework
If you have the Windows Update service disabled or something else prevents the search for updates, you would get the error message:

SQL Server Setup could not search for updates through the Windows Update service. You can either check again or click Next to continue. To troubleshoot issues with your Windows Update service, view the link below, ensure you have Internet or network access, and ensure your Windows Update service can find updates interactively through the Windows Update control panel.

I have the Windows Update service disabled, so I additionally got the following:

Error 0x80070422: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. (Exception from HRESULT: 0x80070422)

You can skip this check because the updates are not mandatory. However, if you do not have the .NET 4.0 framework (or the .NET 4.5 framework) installed, you have to either provide Internet access or install the .NET 4.0 or .NET 4.5 framework before installing SQL Server. If the computer you are installing SQL Server on does not have access to the Internet, you can use the Standalone (offline) installer for the .NET 4.0 or .NET 4.5 framework.

If you choose to use the Internet to install .NET 4.0 through the SQL Server 2012 setup, ensure that the installer is able to complete the installation of the .NET 4.0 framework - that's when it would display the "Install_DotNetCore_Cpu32_Action". If the progress hangs, most likely something is preventing the download (a torrent download, slow Internet connection, or just about anything else).

At times, the installation hangs at one of these actions:
  • Install_vsshell_Cpu32_Action / Install_vsshell_Cpu64_Action
  • Install_sql_ssms_Cpu32_Action / Install_sql_ssms_Cpu64_Action
  • Install_sql_fulltext_Cpu32_Action / Install_sql_fulltext_Cpu64_Action
  • SqlEngineDBStartconfigAction_install_configrc_Cpu32 / SqlEngineDBStartconfigAction_install_configrc_Cpu64
To deal with the issue, start the installation with the minimum options selected and add-on the other features later. If you are installing SQL Server 2012 Express edition, there is little to uncheck during the installation - all you can do is leave out replication. Often, the Full-Text search and SQL Server Management Studio cause hangs, so you can install the core database, restart the computer, and then add on those components later. Running the installation on an under-powered computer can also lead to the hang (when the hang occurs, there's no CPU load, disk activity, or network activity); an alternative is to run the installation on a virtual machine on another computer, and then move the virtual machine to the computer that you want to run it on. If all else fails, try to use a different installation disc or download the setup files again, reboot the computer if Windows Updates or any other setup has executed, and try again.

Python: Why The global Statement

Often, you come across Python developers debugging a piece of code involving global variables. Sure, global variables are the devil, but when you inherit code for a previous developer, you are just going to have to live with it until there's a budget for refactoring or rewriting it. Typically, if you are referencing a global variable within a function, you would 'import' the global variable into the function scope using the global keyword like this:
film_name = "painted skin"
def film():
  global film_name
  print(film_name)
film()
Now, even when you leave out the global statement, Python is smart enough to figure out that the variable is a global variable, as in this case:
film_name = "painted skin"
def film():
  print(film_name)
film()
Suppose you perform a variable assignment within this second case, you would have code like this:
film_name = "painted skin"
def film():
  film_name="final fantasy"
  print(film_name)
film()
When you execute it, all would seem fine and dandy till you decide that you want assignment statement to occur after the print statement like this:
film_name = "painted skin"
def film():
  print(film_name)
  film_name="final fantasy"
film()
The error that you would now receive reads the following:
UnboundLocalError: local variable 'film_name' referenced before assignment
What has happened in this case and the previous is that when a variable assignment occurs, Python creates a local variable instead of using the global variable. In the case where we only printed the variable value, the global variable was referenced. This can be resolved using the global statement, as indicated in the first case.

Tuesday, October 1, 2013

Python 2 and Python 3: Two 'different' platforms

When you decide to do any Python development today, the first choice that you come across is the version of Python that you want to use. There's Python 2, the programming platform with lots of libraries that do everything except defying gravity, and then there's Python 3. Python 3 is really good as a language, but we have yet to see the programming libraries and support from the larger community. There are tools to assist in porting Python 2 code to Python 3, and vice-versa but there just has not been enough interest generated within the community to create the everything-but-the-kitchen-sink feeling among Python 3 users so the 'early adopters' (c'mon, it's been a few years since Python 3 was introduced, it isn't early any more!) don't really get all of the niceties that Python 2 users get.

The one area where you would notice a shortfall of Python 3 is in GUI application development. Most GUI libraries/frameworks are in a beta or beta-like stage and using them is like having a swinging pendulum-blade right over you. For web development, there are frameworks supporting Python 3 so if your framework of choice does not support Python 3 yet, you can simply switch over to another framework that does.

If you are a newbie who wants to learn Python, there are a couple of built-in Python modules that have been renamed so you can't follow all the examples that you see online if all you have is a Python 3 environment (or vice-versa, in which case you have a Python 3 example but all you have is Python 2 installed). I have been tinkering with Python every now and then, and when I decided to actually take the plunge and adopt Python 3 for automating some of the application configuration that I occasionally have to do, I started off with Python 3. Initially, figuring out the differences in the names of the modules took a while. Now, I don't even look back at Python 2 and hope everyone else becomes a part of the shift from Python 2 to Python 3.