Just about everyone who reads tech blogs has run into a title like “Essential Apps for Your New PC” or “These Apps Will Save Your Life”. The purpose of a netbook is to run light applications and use the web for most productivity. However, there are other offline uses like: ebook reader, journal,sketch book, media player, etc, etc. What I wasn’t able to find, when actually looking, however, was a list of lightweight, practical, free (preferably open source) and “cloudless” applications for a netbook running Windows XP. As far as I know, these apps will also run on Vista and Windows 7, the exceptions being the XP-specific programs at the bottom.
Here is my list and some notes.
These are all you need for basic office applications. They are free, lightweight and highly customizable. They are a word processor, a spread sheet application, a mind mapping software, a PDF reader and a Notepad replacement. Downloaded, they’re less than 50 MB—very impressive when compared to just about any office suite.
For media! MPlayer will handle anything you throw at it and has plenty of plugins to boot. MagicDisc allows you to mount any .ISO file as though you have a CD/DVD player on your netbook. Many netbooks don’t actually have an optical drive, so it’s very helpful.
Play safe online and use a free antivirus application that doesn’t bog down your machine. Of course, only use Home Edition for personal use. 7-Zip is an all-around useful archiving tool that makes opening archives of any type a snap. I originally mentioned universal uninstaller, but I think 7-zip is more reliable and is a more active project.
When you do go online, use these apps to make your life easier. Firefox and Thunderbird have a ton of addons to customize browsing and email just as you like it. If you use IE, though, IE7Pro is a great tool to customize it and block ads. Pidgin is your one stop shop for instant messaging. It can handle AIM, ICQ, Google Talk, Jabber/XMPP, MSN Messenger, Yahoo! and more out of the box. It can also do Facebook chat and others with the aid of plugins.
Need to do some image editing without large, bulky software? Paint.net is a really robust application with a small footprint. Gadwin PrintScreen adds just enough extra to Windows’ builtin printscreen command to make it worth your while—without getting in the way or using extra resources.
What if something goes wrong on your netbook, or things are running slowly? Belarc Advisor and TinyResMeter are great trouble shooting tools. Only install Belarc for personal use.
And tools that should have been included in XP by default but were not:
I hope these suggestions help someone outfit their netbook and keep it running trim!
I am a little obsessed about maps, and it’s all my Dad’s fault. One of my earliest memories is how he turned my least favorite meals into a geography game. He would cut my food into the shapes of different states, and would then ask me if I could eat, for example, the whole state of Connecticut. After stuffing that piece of food into my mouth, I’d laugh hysterically at the thought of eating an entire state, forgetting that I’d just eaten the food I hated most.
Luckily for me, this obsession has helped me professionally, since I’ve ended up working with Geographic Information Systems (GIS). This technology can be a powerful tool for helping people visualize large amounts of data by presenting the data as a map. The technology can improve the quality of spatial data, and can help determine where things should be located to accomplish real-world objectives.
GIS provides ”topology rules” to ensure that the location of something makes sense in relation to other things. A house can’t be located within an ocean. Each salesperson for a particular company should have an exclusive sales territory. Driveways connect to streets. And so on.
Microsoft provides a suite of tools for enforcing topology rules using SQL Server Spatial, which has been available since SQL Server 2008. Much to my surprise, this technology provides even more power and flexibility in defining topology rules than ESRI’s ArcSDE 9.3 product. And using ESRI’s Data Interoperability extension, ESRI products can read and write directly from SQL Server Spatial.
Using SQL Server Spatial and its topology rules, I was able to solve a challenging problem involving the placement of vessel moorings to eliminate vessel collisions. Vessels move around their moorings due to tides and winds, and the pattern of movement depends on factors including the length of chains and the length of the vessel, as well as whether the vessel is attached to one or two moorings.
The first step to solve this problem was to calculate the potential swing areas for each vessel based on the current information in the database. For the geeks out there, I did this using a user-defined function that returns a geography data type.
The second step to solve this problem was to create topology rules that identify and prevent potential collisions between vessels. A small overlap in vessel swing areas is not a problem, because similar boats will swing in similar directions at the same time – if there are winds from the North, for example, all the vessels will typically be found at the southern end of their swing areas. But significant overlaps in swing areas are definitely a problem. Using SQL Server’s spatial functions, we can determine the percentage overlap between each set of swing areas, and can create a topology rule that the moorings cannot be placed if the overlap percentage is too high. This ability to implement a topology rule based on a quantifiable measurement is very powerful. For comparison, ESRI’s SDE topology rules allow you to prevent overlaps or require overlaps, but they don’t allow you to allow a certain degree of overlap.
Using SQL Server Spatial, you also have significant flexibility in handling data that violate your topology rules. On the stricter end of the spectrum, you can prevent bad data from being stored in the database at all. On the looser end of the spectrum, you can allow storage of the “bad” data and create a query that identifies topology violations. In the middle of the spectrum, you could warn about topology violations during the update process but allow overrides.
In summary, SQL Server Spatial has a powerful arsenal of tools to help validate and optimize the location of objects. It is definitely worth exploring to see if it might meet your needs.
P.S. Now that I’m a father myself, I tried cutting my daughter’s least favorite foods into the shape of various states. It hasn’t worked at all. She must be a lot smarter than I was at her age.
Brad Hurley
Server Load Balancers (SLB) and Network Load Balancers (NLB) have been implemented in nearly every organization with more than three servers over the past fifteen years. In the beginning, the software based solutions were slow and immature and quickly gave way to hardware based giants like Cisco and F5. For the past few years the likes of Microsoft, Fatpipe, and SonicWALL have commoditized the decision by adding the basic features into the enhanced versions of their products. The world order seemed complete. The technical community is well trained and can implement the appropriate level of SLB or NLB required for a client of any size and shape with the established players.
But the 7 layer ISO model – you remember, Layer 3 is Network and so NLB is handled in routers and servers play in Layer 4 and 5, but Layers 6, 7 (6 is presentation software and 7 is the application layer) are now growing in sophistication and want to be able to control elements of load balancing due to software based situations. Application determines that the maximum number of users are active in the first instance of the Application, launch a second instance of the application and load balance. Enter Application Distribution Controllers (ADC).
Features of ADCs:
Content Transformation
Selective Compression
Bi-directional Application Proxy
Application Decision Trees for XML Rules and Transforms
So it’s easy, now we shift to software based ADC (think Citrix Netscalar technology) (yes, we do that!) The Netscaler handles the layer 4-7 ADC functionality and scales very well in large remote user communities. Still need router level NLB?
Not so fast say our engineers!
This seems like the logical next step from the network load balancing that we’ve done in the past and had good success. The F5 solution offers the NLB, SLB and the ADC functionality all in one unit already! And in addition to site failover, it has a host of other available bells and whistles. So the hardware based old guard is not going away. Some of the case studies have the F5 ADC well ranked against the competition.
The hardware based solutions scale well for many clients. The trick is to know when solution A or B is right for the particular application. (Yes, we can help you with that too!)
And the final issue with ADC technology is that the full potential is when the application, for the first time, is actively reporting to the load balancer metrics that only the application would know. This requires software engineers to help integrate these metric responses to the ADC within the code. Anytime an application solution is asked to work intricately with one or many applications it becomes a challenge to implement and support. Our Solutions Development team is poised to support the total installation package.
This is a burgeoning market technology and when applied correctly will optimize the quality of your end user experience.
Happy Load Balancing!
John W. Boyd, Jr.
Because I work with a lot a of Windows guys, I tend to describe Puppet as Group Policy for Linux. The basic idea is to centralize your host and service configurations, so that you don’t have to waste time configuring the same things over and over again. Once you have a set of standard templates, you can simply apply them to the desired hosts and let Puppet do all the configuring for you. This article is not meant to be an in-depth Puppet tutorial (you can find that elsewhere), but more of a high-level overview of how to design a flexible Puppet infrastructure.
Zones and Roles
The first thing we did was organize our hosts and services into “zones” and “roles” (similar to the Example (42) Infrastructure Design Guidelines). A “zone” says something about where a particular host lives (e.g., which network it’s on or which customer it belongs to), while a “role” says something about what the host does (e.g., serves web pages, routes email messages, etc.). Note that Puppet has no built-in concept of zones and roles. This is just a method of organization that worked well for us.
Modules
Once our zones and roles were defined, we needed to create the “modules” that make up our various roles. A “module” is simply a way to group related configuration options together. For example, we have modules with names like “apache,” “bind,” “mysql,” and “postfix.” Each module contains the scripts and files needed to apply the appropriate configuration for a given service.
Module Example
Here is an example of a module that we use to manage the SSH service on some of our servers:
class openssh::server {
package { "openssh":
name => "openssh-server",
ensure => installed,
}
file { "sshd_config":
path => "/etc/ssh/sshd_config",
owner => "root",
group => "root",
mode => "600",
source => "puppet:///openssh/sshd_config",
require => Package["openssh"],
}
service { "openssh":
name => "sshd",
enable => true,
ensure => running,
hasstatus => true,
require => Package["openssh"],
subscribe => File["sshd_config"],
}
}I don’t want to go into a lot of detail here, but you should notice three distinct sections in this module—”package,” “file,” and “service.” In Puppet lingo, these are called “resources,” and are the basic building blocks of every Puppet configuration. Puppet resources allow you to focus on what you want to do, and let Puppet handle the platform-specific details of how it gets done. In this example, we tell Puppet to do the following:
Role Example
Now that you know what a module looks like, let’s look at how roles are built up from modules:
class role_default {
include openssh::server
}
class role_lamp {
include role_default
include apache::ssl
include apache::php
include mysql::server
}There are two roles here; role_default (the role we apply to all hosts) and role_lamp (for Linux/Apache/MySQL/PHP servers). Notice that our example openssh::server module is assigned to role_default, and role_lamp includes role_default, as well as three other modules. This demonstrates how complex roles can be built up from smaller roles.
Zone Example
At Fandotech, we typically use zones to set variables that override the default behavior of certain modules. In other words, a given module may configure things differently depending on what zone the target host is in. In this example, we set a variable to allow the “LinuxAdmins” group to log on to hosts that live in the zone_fandotech zone:
node zone_fandotech {
$accessconf_rules = ["+ : LinuxAdmins : ALL"]
}Node Example – Tying it all Together
Nodes are the individual hosts managed by Puppet, and are what tie everything together. Let’s look at one final example:
node default {
include role_default
}
node 'example.fandotech.com' inherits zone_fandotech {
include role_lamp
}In this example, we have a special “default” node, which refers to any puppet-managed host that does not have explicit node configuration. We also have a node called “example.fandotech.com” which lives in the zone_fandotech zone and gets all the configuration options from the role_lamp role.
Conclusion
Puppet promotes efficiency by making it possible for a single administrator to configure hundreds (or possibly even thousands) of Linux machines without having to log on to a single one. It also helps ensure standards compliance, and if your Puppet configuration is stored in a source code repository (which it should be), then you have a built-in audit history of every change made to your systems.
The bottom line is that if you’re still trying to manage Linux machines without a configuration management system (like Puppet), then you’re doing it wrong.
Michael Conigliaro
So Microsoft (the afore mentioned “Evil Empire”) has upped the ante in the marketing department. After so many missteps (they couldn’t even make Jerry Seinfeld funny), Microsoft has hit the mark and evoked an emotion in me I didn’t think was possible. I might be able to see myself using my own money to buy a PC at some point in my life.
Their current ad campaign documenting the consumer’s search for the perfect laptop is brilliant. Whether it’s true or biased or contrived is not the point. Strictly speaking about the beauty of their messaging, I appreciate this campaign for what it is.
Talking directly to the concerns of the “creative” user, their most current ad ends with the declaration, “I’m a PC and an artist.” That’s a sentiment I’ve always been conditioned against as a graphic designer. Although I use both platforms in my work, my college classrooms were lined with G4s and my professors were self-proclaimed Mac disciples and therefore the message was loud and clear. The industry standard, for artists, is Mac.
Now, as I discussed in Part 1 of my series, my current Mac is less expensive, if not exactly the same price, as a comparable PC. But, say I move on to another field, and only continue to dabble in the “creative,” would I be willing to fork over $2800 for a laptop that wasn’t going to produce billable work? No way! Especially if I could get a PC that can do “creative” things for under $2000 while still being as cool as the funky hipsters portrayed in the PC commercials. If someone was waiting in the parking lot to hand me cash for my purchase, even better!
So the conclusion is: I love my Mac and I always will. Yet Microsoft’s newest campaign has evoked a feeling in me that maybe, just maybe, I could be just as satisfied with a PC. Although I’m not convinced, nor have I crossed over to “the dark side,” the marketing professional in me cannot deny Microsoft the recognition of a job well done. At least they’re striking back.
Gillian Kenny