MANAGING ART EDITOR
Jonni Bidwell, Matt Beilby,
Neil Bothwick, Kent Elchuk,
Matthew Hanson, Neil Mohr,
Les Pounder, Mayank Sharma,
Richard Smedley, Mihalis Tsoukalos
Building a PC isn’t difficult, but some care is needed when working with electronic components. Prepare a large working area, clear of any clutter and with a non-conductive surface. Static electricity can kill electronic components, and it can build up on your body without you noticing, until you pick up a component and zap it. You can avoid this by earthing yourself to discharge and static build up.
The simplest way to do this is to touch a grounded object, such as a central heating radiator or the kitchen sink before touching a component. You can also buy anti-static wrist straps that connect to a grounded point by flexible cable to keep you static free during your build. The computer you build will not have a warranty, but the individual components will. As long as the fault wasn’t caused by damage while fitting them, any reputable vendor will replace them.
Memory is one of the simplest ways to boost the performance of a modern computer. It enables more tasks and data to be handled at once and any memory that’s left over is used by the Linux kernel to cache disk data which, incidentally, is why your computer shows almost no memory free after it has been running for a while.[caption id="attachment_89" align="aligncenter" width="842"] Memory may seem unassuming, but it has a greater effect on the performance of your computer than many other components.[/caption]
There are three things to consider when buying memory, the physical layout, the size and the speed. The current memory standard is DDR3 and DDR4. Don’t try to fit the older DDR or DDR2 sticks into these slots, they are incompatible.
Size is obvious, and it is worth getting the most your budget allows. Check your motherboard’s manual for the maximum size for each slot because, although the spec allows for up to 16GB per DIMM, most Intel systems are limited to 8GB per unit. Motherboards usually use a dual-channel architecture for memory, so fit sticks in pairs and check the manual to see which slots go together.
This is unnecessary if you are filling all four slots, but unless you are using the maximum size stick, it is better to use two larger sticks. If you want to fit 16GB of RAM, two 8GB sticks give you the option of adding more later, four 4GB sticks does not.
It used to be that the only question to ask about a hard drive was: How big? Now we have to add: How many? And what type? The choice of type is mainly between traditional hard drives with spinning platters and solid state drives (SSDs).
(Although there are also hybrid drives that use a spinning disk with an SSD as a cache.) SSDs are much faster than hard drives but cost a lot more per gigabyte, a 256GB SSD costs about the same as a 3TB drive. So an SSD gives much faster booting and program loading but a hard drive holds much more. An SSD also uses less power and is more robust, making it the obvious choice for a laptop when you use it on your best mattress for side sleepers.
There is a document that has been floating around the internet for at least fifteen years, called ‘What if operating systems were airlines’. The entry for Linux Airlines states: “When you board the plane, you are given a seat, four bolts, a wrench and a copy of the seat-HOWTO. html”.
It’s an old joke but as Linux users we are still more accustomed to sometimes having to do things for ourselves than users of other operating systems. Not that this is necessarily a bad thing, as it means we understand our computers better. Still, at least when you want a new PC you can just go out (or online) and buy one.
So why do people build their own? Over the next few pages we will try to answer this question, as well as the more complex questions that arise when you try to do it, such as: how hard is it to do? What are the risks? What about warranties? Will it save me money? Can I build a computer with no Windows? And many more.
There are several reasons why you may want to build your own, not least of which is the satisfaction of understanding your computer that little bit more, but this information is not only useful if you want to build a new system from scratch. Much of what we cover here will also be of benefit if you are looking to upgrade an existing computer.
We will been concentrating on desktop systems, which are generally very easy to work on – we find LEGO more taxing. Laptops are another matter, but many of the points about choosing suitable Linux- compatible components still apply and we will end with a look at picking a laptop, or any other type of sealed box, such as one of the popular nettop systems. Why build your own computer?
You may be able to save money by sourcing the components yourself, but don’t bank on this. What you do get to do is pick the exact specification you want – no throwing away parts to upgrade to what you really wanted. You also get to choose the quality of components you use.
Have you ever wondered how some websites display combined data from various websites? This is a bit of trickery that can be done using a few methods, including having select database privileges from the sources, scraping data and using RSS feeds – or, in fact, any combination of these three methods.
In this tutorial we’ll focus on how to retrieve and combine data from other sources using RSS feeds. RSS, which stands for Rich Site Summary (and later Really Simple Syndication), has been around a long time – and stems from Ramanathan V. Guha’s work at the Apple Computer’s Advanced Technology Group in the mid-1990s – and you probably use them every day to display news feeds among other useful data.
RSS is generally XML files that contain data within organised tags, eg if you go to Craigslist and browse through regular listings you will see the usual list of items. This source code is HTML. But, if you look at the Craigslist RSS feed file for those same items you won’t see HTML code in your browser you’ll see an XML file that stores each listing within a parent ‘item’ tag.
Each item tag contains information for an entry such as title, date and description. Grabbing and aggregating RSS feeds with a simple PHP script is a fast and simple way to tap into your desired data and output the results you want. These RSS feeds are provided from many large classified and auction websites (such as eBay, eBay Classifieds, Monster and Craigslist etc) and many other websites, such as job websites (eg CareerBuilder and Indeed allow you to obtain XML feeds that can be parsed too).
In many instances, you can just use a specific URL to acquire RSS feeds, while at other times you’ll need to use an API with a specified publisher key in order to obtain the feeds. One example of websites that require the publisher key for the API is the popular job site, Indeed.com. Since we had to pick an example topic, we’ll explain how to aggregate RSS from the various sources we’ve mentioned above.
Our examples will show you how to narrow down a job search to location and job position or you could just as easy make this a personal RSS and XML feed aggregator to display bargains of items you want to buy from eBay, Craigslist etc. In addition to the above, the output will load in your browser on a local web server, such as a LAMP setup running on the Ubuntu distribution (distro). Installing LAMP only takes a minute or two but we’ll explain how to do that as well. When your output is shown in the web browser, it will link back to the original post and you can do what you want from there, eg inquire about the job position etc.
While everyone knows the best way to do remote access is SSH, sometimes it’s nice (and even necessary) to have access to an entire desktop.
Maybe you need to show Auntie Ethel how to change her desktop background, or how to get nmap to make a diagram of a rival knitting circle’s network.
This surfeit of graphics data presents a problem, especially for the bandwidth-challenged, which a number of technologies aim to solve. Linux favours the VNC protocol, while Windows favours the largely-closed source Remote Desktop Protocol (RDP).
There’s nothing OS-specific about either of these though. They both work directly on the framebuffer, so the underlying technology works equally well on Windows or Linux. The NX protocol used in NoMachine NX challenges both of these with advanced compression and latency reducing tricks which in Linux work on the X protocol directly (or the RDP protocol in Windows).
Since 2010 though, the client has been closed source and while once a number of projects aimed to provide open source NX solutions, development of these has largely fallen by the wayside, with the exception being X2Go . The Chrome Remote Desktop app is still in beta, but will already be of interest to some.
Ease of use
Is it easy to install and navigate?
Finding a distribution for which a Remmina package doesn’t exist is unlikely as it’s rather popular. To get VNC functionality in Remmina requires libvncserver to be installed, but most distros will sort this out for you. On Arch Linux this package was listed as an optional dependency and needed to be installed manually.
Despite the plethora of options everything in Remmina is laid out intuitively, so a straightforward connection is straightforward to set up. TigerVNC , on the other hand, can be rather tricky to locate packages for. Many distros, including Debian and Ubuntu, have opted for the older, and differing by two letters, TightVNC .
Let’s be clear about some thing: our experience of Windows 10 was plagued with bugs and annoyances. But we were testing a preview, and as such it wouldn’t be fair to give any credence to them. Bugs not withstanding, the new operating system, once installed on a suitably specified computer, is impressively quick in general use. Heeding the frustrations of so many Windows 7 users bemoaning lengthy startup and shutdown times, Microsoft has taken definitive action.[caption id="attachment_37" align="aligncenter" width="1353"] The Borderlands series is one of a growing number of AAA titles available for Linux and is in good company with the recently ported Bioshock Infinite and Shadow of Mordor incoming.[/caption]
So in Windows 8 a new trick was introduced where system processes are summarily dumped to the disk on shutdown, so that they can be speedily reloaded during the next boot. This partial hibernation means that only user processes need to be loaded from scratch, so the time it takes to get to the login screen (assuming the user is not vulgar and passwordless) is slashed.
The technique is still in evidence with Windows 10, which managed to boot from an SSD in about six seconds, which is roughly the same time as it takes to get from Grub to the SDDM login manager on a slimline Arch installation. Day-to-day browsing and poking around the (still largely unpopulated) App Store, was also swift and responsive.
The difference is that we’ve only been using the Windows install for about a week, once a few apps and a few (thousand) obscurely titled runtime libraries are installed the age-old curse of Windows decline will kick in. Our Arch Linux install has been used nearly every day for over a year, has all manner of long-forgotten packages installed, and remains blazing fast. One exception used to be playing Flash videos, which rapidly crippled the system. This was easily solved by uninstalling the Flash plugin because its entirely unnecessary nowadays and serves only as a vector for the delivery of viruses.
A modern computer is required to enjoy a smooth-running Windows 10 (see the hardware section), running it on a virtual machine proved particularly painful. By comparison pretty much any computer built in the last 10 years will happily run a lightweight desktop, such as LXQt or Mate, with no fuss whatsoever.
Add to that a slightly more modern graphics card (being one that supports at least OpenGL 1.4 and has 128MB of video memory), and it will easily manage a standard Ubuntu installation (the stated minimum requirements are 1GB or RAM and a 1GHz CPU). One of the many strange things that Windows aficionados tend to get excited about is the up and coming DirectX 12. Microsoft announced it at GDC in March last year using words including “richer scenes, more objects, and full utilization of modern GPU hardware”.
Naturally this has implications for gaming, an area where Linux continues to be trumped by Windows. The situation is getting better – there are now over 1,000 Linux games available on Steam. Many triple-A titles have been ported to Linux, and popular FPS adventure game Dying Light even saw an unprecedented Linux launch at the same time as its Windows counterpart.
The latest iteration of Windows is here, impressing, confounding and upsetting early adopters. As has become traditional, we pit the Microsoft OS mano-a-mano with Linux to determine the ultimate operating system. Of course, in reality this is comparing apples and oranges (and scoring them with bananas): One is a free codebase which can run on most any hardware imaginable, the other is a proprietary product with an undecouple-able GUI that, until recently, has run only on x86 PCs.
Our approach will be to consider features from the Windows 10 build available at press time, together with Microsoft’s own PR announcements and compare them with like-for-like equivalents from various Linux distributions. Much of the pre-release hype spoke to Windows 10 heralding a paradigm shift across the Windows landscape.
Certainly there are a lot of changes and perhaps most notable is that Windows 10 will be the operating system’s last incarnation. That doesn’t mean the end of Windows, but rather the beginning of “Windows as a Service”.
Updates will be pushed to consumers once Microsoft deems them ready, while businesses will be offered a choice of two release channels, dubbed Current and Long Term which offer more rigid release cycles. Individuals who purchase (or are entitled to a free) copy of Windows will see it supported “for the lifetime of that device.” Another intriguing development is that users of the pre-release Technical Preview who enroll in the Windows Insider Program can continue to use that and will have the privilege [pain, surely? – ED] of testing new features – and won’t have to pay.