Hardware How to Remove Those Old Laptop Stickers


Tired of those old stickers you adorned your laptop with? Me too. No, I don’t mean yours. I’m sure yours are fine; well, except for that Bieber Rocks! one. What were you thinking!? Anyway, here’s couple of tips on how to remove Bieber and his sticky cousins.

Screenshot showing a Lenovo laptop with numerous stickers

First, power down your laptop, unplug it, and close the lid. Try to remove as many of those old stickers by simply peeling them off. Some will come off cleanly, many won’t. Don’t worry if some of the residue is left behind. Now head to your kitchen and grab that good old no-stick cooking spray and apply liberally to a small section of the laptop surface. Don’t be stingy. The idea is to keep the area you’re working on soaked in the stuff for at least 10-15 minutes – the longer, the better though. Make sure to not let it run down the sides and creep into cooling vents, on to your keyboard, etc.

Screenshot showing a can of no-stick cooking spray

Now grab one of those plastic paint scrapers (emphasis on the word plastic here) you’d find at any big-box hardware store and start gently scraping off the remaining sticker residue, reapplying the cooking spray as necessary. Continue working your way across the surface of your laptop by applying the cooking spray, letting it soak in, then gently scraping.

Screenshot showing a plastic paint scraper

Once you’ve exhausted the capabilities of that paint scraper, any remaining residue can usually be removed with a little more cooking spray and a nylon scrubbing pad.

Screenshot showing a nylon scrubbing pad

This simple combination of cooking spray, gentle scraping and patience should remove those old stickers and any remaining residue they leave behind. If for some reason the cooking spray isn’t getting the job done for you then WD-40 or a citrus base adhesive remover like goo gone may be a good alternative. Both should be safe to use on your laptop but of course you should test these products first on someplace inconspicuous.

Screenshot showing a can of WD-40

Screenshot showing a bottle of goo gone

As a final step gently clean off the surface of the laptop using a clean wash cloth, warm water and dish washing soap, then dry using a clean cloth or paper towel.

Screenshot showing a Lenovo laptop after stickers have been removed

There you have it. A couple of tips on how to remove those old laptop stickers using materials you can easily find around the house. Do you have more tips or ideas? Leave them in the comment section.


Windows How to Install and Configure a TeamSpeak Server With a Different Voice Port


TeamSpeak is a voice communication tool for online gaming, education and training, internal business communication, and similar use cases. This post will describe how to install TeamSpeak server on the Windows operating system, configure it to listen for incoming voice connections using a non-default UDP port, and test the installation/configuration using the TeamSpeak client application. Also discussed is how to remove your TeamSpeak server from the list of publicly available servers. The versions for the software discussed in this post are as follows:

  • Windows 7 Pro x64
  • TeamSpeak Server 64-bit
  • teamSpeak Client 64-bit
  • Let’s get started…

    Install and Configure the TeamSpeak Server

    Start by downloading the TeamSpeak server and extracting the folder contained within the zip file to a location of your choice. We’ll use C:\ in our example. After the folder is extracted we should see the folder C:\teamspeak3-server_win64.

    Open this folder and create a shortcut to C:\teamspeak-3-server\ts3server_win64.exe to somewhere convenient. Right-click on the shortcut, navigate to Properties, and append createinifile=1 to C:\teamspeak3-server_win64\ts3server_win64.exe in the Target field (e.g. C:\teamspeak-3-server\ts3server_win64.exe createinifile=1) then select “OK” to save and close the window.

    Double-click on this shortcut to start the TeamSpeak server. You should see a new icon in the notification area of the windows task bar indicating that the TeamSpeak server has started. When the TeamSpeak server is started for the first time a pop-up window will appear showing the Server Query credentials and the Server Admin Token (See Figure 1). You can disregard this information for now and close the window.

    Screenshot showing the Server Query credentials and Server Admin Token after initial TeamSpeak server startup

    Figure 1

    Now open the folder C:\teamspeak3-server_win64 and you should see several new files, including ts3server.ini and ts3server.sqlitedb.

    Stop the TeamSpeak server by right-clicking on the icon in the notification tray and selecting “Exit”. Delete the file C:\teamspeak3-server_win64\ts3server.sqlitedb. Open C:\teamspeak-3-server\ts3server.ini and change the value of default_voice_port value to the port number desired. We’ll use 12010 in our example.

    Once again right-click on the shortcut, navigate to Properties. Replace createinifile=1 with inifile=ts3server.ini in the Target field (e.g., C:\teamspeak-3-server\ts3server_win64.exe inifile=ts3server.ini) then select “OK” to save and close the window.

    Restart the Teamspeak server and a new C:\teamspeak3-server_win64\ts3server.sqlitedb file will be created containing the new port number. The pop-up window showing the Server Query credentials and the Server Admin Token will again appear. This time you’ll want to copy at least the Server Admin Token somewhere as this key is needed to gain administration rights to your TeamSpeak server. I also recommend copying the Server Query credential somewhere as well. This will be needed should you ever want to use ServerQuery, a command line based administration tool supported by TeamSpeak.

    Now let’s verify that the TeamSpeak server is using the new voice port. Navigate to C:\teamspeak3-server_win64\logs and open the most recent file (e.g., ts3server_2016-03-18_11_36_31.481617_1) You should see the entry “listening on”. This confirms that new port is now in the database file c:\teamspeak3-server_win64\ts3server.sqlitedb and listening for incoming voice connections.

    Test Using the TeamSpeak Client

    Okay, now that we have the TeamSpeak server installed and configured let’s install the TeamSpeak client and test to ensure that you can connect to it.

    Download the TeamSpeak client application and install it. Start the TeamSpeak server and then start the TeamSpeak client. Once the TeamSpeak client has started select Connections->Connect (or use CTRL+s). In the Server Address field enter the host name of the Teamspeak server followed by the port number the server is listening on for incoming voice connections. These two entries should be seperated with a colon. Since our Teamspeak server is located on the same machine as the TeamSpeak client we’ll use the host name localhost. The port number will of course be the one we configured for this Teamspeak server, port 12010 (See Figure 2):

    Screenshot showing a new TeamSpeak server address and UDP port being configured in the TeamSpeak client application

    Figure 2

    Select “Connect” and you’ll will be connected to your TeamSpeak server. A window will appear indicating that this is newly created Teamspeak server and that the administrative privileges have not yet been claimed. Enter your Server Admin Token, then select OK. Note that this pop-up window will occur each time you connect to the TeamSpeak server until you’ve used the Server Admin Token. An unused Server Admin Token can be entered at any time after you’ve connected to the TeamSpeak Server by selecting Permissions->Use Public Key.

    Now that you’ve verified that you can connect to your TeamSpeak server locally, make sure to forward the correct UDP port (12010 in our example) in your NAT gateway so that, if desired, TeamSpeak clients outside of your local network can connect to your Teamspeak server.

    Generating additional Server Admin Tokens

    What if you want to add administrative privileges to another TeamSpeak client so, for example, you can administer the TeamSpeak server remotely? No problem. Using the TeamSpeak client you used previously to enter your Server Admin Token with connect to your Teamspeak server and navigate to Permissions->Privilege Keys and select “Create”. In the next window select Server Admin from among the options in the Group field. Enter a description if desired then select “Create” (See Figure 3). You can use this new Server Admin Token with another TeamSpeak client by connecting to the TeamSpeak server and selecting Permissions->Use Public Key.

    Screenshot showing where to create a new Server Admin Token

    Figure 3

    You can revoke tokens at any time by navigating to Permissions->Privilege Keys, highlighting the desired token and selecting “Remove.”

    Prevent your TeamSpeak server from appearing in the public server list

    TeamSpeak servers are automatically added to a list of publicly available servers when installed. This may not be desirable. To remove your server from this public server list connect to your server using a TeamSpeak client with administrative privileges. Right-click on your server’s name and select Edit Virtual Server. Select the Misc tab and uncheck the option “Enable reporting to server list” then select “Apply” (See Figure 4).

    Screenshot showing where to disable public server listing in the TeamSpeak server configuration

    Figure 4


    Well there you have it. A post describing how to install TeamSpeak server on the Windows operating system. The developers of TeamSpeak should make it easier for server administrators to make simple modifications like changing the default ports. Until they do this article should help you make those changes.

    Windows Run a Windows Application as a Service with srvany


    Occasionally the need arises for running an application in Windows as a service. This allows the application to run at boot time without the need for a user to be logged into the system in order for the application to start and operate. While built-in mechanisms such as Task Scheduler exist to help facilitate this, the ability to run an application as a service has certain advantages, notably the ability to prescribe certain actions be taken should the service fail. Take for example the the case where an application is listening for incoming IP connections. Being able to automatically restart the service without user intervention is desirable in order to avoid loss of service.

    This post will describe how to use the Microsoft utilities instrsrv.exe and srvany.exe to install a Windows application as a service. instrsrv.exe is used to install the service while srvany.exe acts as a wrapper around the application and handles the service events. Both utilities are available as part of Microsoft’s Windows Server 2003 Resource Kit Tools. I have successful tested instrsrv.exe and srvany.exe on Windows 7/8.1; I have not tested them on Windows 10.

    Let’s get started…

    For purposes of example, we’ll assume we have a Windows application called “foobar” that is normally started by using the binary c:\foo\foobar.exe.

    Start by downloading Microsoft’s Windows Server 2003 Resource Kit Tools and install it to a folder of your choice. Create a folder to contain the files instrsrv.exe and srvany.exe. We’ll use c:\srvany for our example. Now copy both files from the where you installed the Resource Kit tools to c:\srvany. After the files have been copied the Windows Server 2003 Resource Kit Tools may be uninstalled.

    Now open a command prompt and install foobar as a system service using the following command. You may use any name you’d like for the service:

    You should receive a response indicating that the service was successfully added.

    Next, open the Windows registry editor and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\foobar. Use the mouse or keyboard to highlight foobar and select Edit->New->Key to create a new key named Parameters. Highlight Paramters and select Edit->New->String Value to create a new string value named Application. Double-click on Application and enter the full path to foobar.exe (e.g., c:\foo\foobar.exe). That’s it. You can now close the registry editor.

    By default, the newly created service foobar is configured to run automatically when the system is restarted. To change this setting to Manual, run the Services applet by entering services.msc from a command prompt or by using WIN+R. Locate foobar from among the list of services, right-click on it and select Properties and change its Startup type to Manual. A service set to Manual can be started from within the Services applet, or by entering the following from a command prompt:

    Selecting the Recovery tab from within properties will allow you to chose what the system should do in the event if the service fails.

    You can delete the service by entering the following from a command prompt:

    There you have it. A nice simple way to register and run a non-service application as a windows service.

    Tags: ,

    News Changing Code Syntax Highlighters


    Most of the posts I author here contain code examples. To highlight these code examples I’ve been using the wordpress plugin SyntaxHighlighter Evolved. For the most part this plugin has served me, and I hope you, well. There are a few quirks, however, that continue to annoy me about this plugin. Chief among those quirks is the need to “minify” its Javascript and CSS following each update to maintain rendering performance. That and its lingering use of the Adobe Flash file format SWF for its copy-to-clipboard feature, even though that feature was deprecated.

    So I’m making a change. I’m dropping SyntaxHighlighter Evolved for Crayon Syntax Highlighter, a nice syntax highlighter built in PHP and jQuery. It’s intuitive to administer and provides some welcome relief from those aforementioned annoyances. More importantly though it offers you some nice features. For example mousing over the highlighted code results in a drop-down box where you can toggle line numbers on/off (they’ll be on by default), toggle line wrapping on/off (longer lines will wrap by default), view plain code, copy the code, or view the code in a separate browser window. You can try these features yourself in the following example:

    In the next week or so I’ll begin transitioning older posts containing code examples over to this new plugin, and of course new post will use this plugin by default. Enjoy, and please let me know if you encounter any problems.


    Networking How to Install and Configure MRTG on FreeBSD

    1 Comment

    In a previous post I described how to install and configure Tobi Oetiker’s MRTG (Multi Router Traffic Grapher) on a Ubuntu server. In this post I will describe how to install and configure it on FreeBSD. Once configured, you’ll be able to use MRTG to monitor the traffic in and out of your network using the SNMP capability in your network’s gateway/router. MRTG generates static HTML pages containing PNG images which provide a visual representation of this traffic. MRTG typically produces daily, weekly, monthly, and yearly graphs. MRTG is written in perl and works on Unix/Linux as well as Windows. MRTG is free software licensed under the GNU GPL.

    Software versions used in this post were as follows:

  • apache24 2.4.23
  • FreeBSD 11.0-RELEASE
  • mrtg-2.17.4
  • The steps discussed assume that the FreeBSD Ports Collection is installed. If not, you can install it using the following command:

    If the Ports Collection is already installed, make sure to update it:

    Okay, let’s get started. All commands are issued as user root. When building the various ports you should accept the default configuration options.

    Install a http server

    MRTG requires an http server to be installed and operating correctly. In our example, we’ll install and use the Apache http server. Navigate to the Apache port and build it:

    Once Apache has been successfully installed, Use the sysrc command to add the following line to /etc/rc.conf so that the Apache server will start automatically at system boot:

    Now let’s start Apache to make sure it works:

    Point your web browser to the host name or IP address of the FreeBSD host you’ve installed Apache on and you should see the venerable “It works!”

    Install and configure MRTG

    Now that we have an http server up and running let’s install MRTG:

    What does the MRTG port install and where is that stuff located?

    MRTG provides the example configuration file /usr/local/etc/mrtg/mrtg.cfg.sample that describes global configuration parameters as well as various configuration options for the SNMP targets you want to monitor. If you already have some experience with MRTG and SNMP you can simply copy or move this file to /usr/local/etc/mrtg/mrtg.cfg then modify it to meet your requirements. In our example, however, we’re going to create the requisite mrtg.cfg file from scratch.

    MRTG includes the script cfgmaker that will create and populate a basic mrtg.cfg file with information obtained from your gateway/router. So, before running /usr/local/bin/cfgmaker, you should activiate and configure the SNMP service in your gateway/router. This typically involves logging into the device and enabling SNMP. The default SNMP community name is typically “public.” If you change the SNMP community name to something else, make note of it. Now, let’s run cfgmaker, substituting your SNMP community name if you’ve changed it, and adding the IP address of your gateway/router:

    If you would like to add more than one device to mrtg.cfg simply append the additional URL(s) to the same mrtg.cfg file. Then, when you build the web page using the indexmaker command described below, graphs associated with each device will be displayed on the same HTML page:

    Next, open /usr/local/etc/mrtg/mrtg.cfg and, under Global Config Options, uncomment the line WorkDir: /home/http/mrtg and change it to WorkDir: /usr/local/www/apache24/data/mrtg. This is the directory from which the Apache http server will server the MRTG html pages. If you’re using something other than Apache as your http server then you’ll need to change this path.

    Next, uncomment the line Options[_]: growright, bits. By default MRTG graphs grow to the left, so the option growright specifies that the direction of the traffic visible in MRTG’s graphs flips causing the current time to be at the right edge of the graph and the history values to the left. The option bits specifies that the monitored traffic values obtained from your device is multiplied by 8 and displayed bits per second instead of bytes per second.

    MRTG includes the script indexmaker. This is what we’ll use to create the pages used to display the MRTG graphs. First, let’s create the directory from which Apache http server will serve up the pages:

    Then use indexmaker combined with our mrtg.cfg file to create and populate an index.html file in that directory:

    Now we need to add an Alias and a Directory directive to Apache’s configuration file to support MRTG. Open /usr/local/etc/apache24/httpd.conf and add the following lines in the section containing similar Directory directives, or it can simply be appended to the bottom of the file:

    And change the user and group for the following directories to mrtg:

    Finally, let’s restart the http server:

    Starting MRTG

    Okay, now that MRTG has been installed and configured let’s start it up and see what it displays. Use the sysrc command to add following line to /etc/rc.conf:

    Then start the MRTG daemon:

    The MRTG daemon will now run automatically each time FreeBSD starts.

    Now point your browser to http://your-http-server-address/mrtg and you should see a page that resembles Figure 1. You may have more or less graphs depending on the number of interfaces reported by your devices(s).

    Screenshot showing the web page generated by MRTG

    Figure 1

    You’ll see the graph starting to “grow” to the right as the traffic is monitored over time, and the Y axis displayed as bits per second. If you click on any one of these graphs you’ll be taken to differnt page showing individual graphs for 30 minute, two hour, and daily averages, along with the maximum, average, and current bit rate in and out of that particular interface. By default, these graphs will update every 5 minutes.

    Only interested in displaying one particular interface? Want to graph other SNMP data? Now that you that you have a basic mrtg.cfg file created you can modify it or incorporate some of the global and target parameter examples contained in the file /usr/local/etc/mrtg/mrtg.cfg.sample to further customize your configuration. Just remember to run indexmaker again to update the MRTG index.html file.


    This concludes the post on how to install and configure MRTG on FreeBSD. As you can see, MRTG isn’t terribly complicated and proves to be a really nice port for monitoring and graphing traffic in and out your gateway/router. For a full list of all the configuration options and other information I encourage you to visit the MRTG web site.


    Tags: ,